智能售货柜的立体视觉检测方法、设备和存储介质
文献发布时间:2023-06-19 11:11:32
技术领域
本公开的实施例一般涉及智能售货柜技术领域,并且更具体地,涉及智能售货柜的立体视觉检测方法、设备和存储介质。
背景技术
为了使人们的生活更加便捷,近年来在地铁站、公交站和医院等场所出现的自动售货柜越来越多。自动售货柜是一种能够根据投入的钱币自动付货的机器,由于自动售货柜不受时间、地点的限制,即当有购物需求时,人们可就地进行购买,从而在很大程度上节省了人力,而且,交易过程也十分简便,是一种全新的商业零售形式。
但是,现有技术中的自动售货机柜在使用过程中,通过单目相机进行图像识别,确定商品是否被售卖,由于货品容易被遮挡,导致单目识别的检测准确率低,难免会发生错误和故障,并当发生错误和故障时,交易记录难以追溯,给经营者带来很多不必要的麻烦,同时影响消费者的用户体验。
发明内容
有鉴于此,根据本公开的实施例,提供了一种满足提高自动售货柜内货品识别准确率,进而提高用户体验的智能售货柜的立体视觉检测方案。
在本公开的第一方面,提供了一种智能售货柜的立体视觉检测方法,包括:
响应于接收到第一触发指令,采集所述智能售货柜内的第一货品图像,所述第一货品图像包括从不同的角度采集到的货品图像;
对所述第一货品图像进行处理,生成所述智能售货柜内的第一立体货品图像;
响应于接收到第二触发指令,采集所述智能售货柜内的第二货品图像,所述第二货品图像包括从不同的角度采集到的货品图像;
对所述第二货品图像进行处理,生成所述智能售货柜内的第二立体货品图像;
根据所述第一立体货品图像和所述第二立体货品图像确定所述智能售货柜内的货品的变化信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接收到第一触发指令,包括:
所述接收到第一触发指令,包括:
接收到请求打开所述智能售货柜的触发指令,或,接收到所述智能售货柜已打开的通知信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
在接收到请求打开所述智能售货柜的触发指令,或,接收到所述智能售货柜已打开的通知信息之前、之后或同时,
获取用户的身份标识信息,所述身份标识信息包括用户的面部图像信息、用户的指纹信息、以及用户的移动终端上的身份认证信息中的其中之一。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述从不同的角度采集到的货品图像,包括:
向设置在所述智能售货柜内不同角度的图像采集装置发送驱动指令,采集到的货品图像,或,
向设置在所述智能售货柜内的同一图像采集装置发送驱动指令,驱动所述图像采集装置移动至不同的预设位置,采集到的货品图像。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接收到第二触发指令,包括:
接收到所述智能售货柜的已关闭的通知信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述第一货品图像进行处理,生成所述智能售货柜内的第一立体货品图像,包括:
利用立体视觉技术对所述第一货品图像进行处理,根据所述第一货品图像中包括的从不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第一立体货品图像。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述第二货品图像进行处理,生成所述智能售货柜内的第二立体货品图像,包括:
利用立体视觉技术对所述第二货品图像进行处理,根据所述第二货品图像中包括的从不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第二立体货品图像。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述第一立体货品图像和所述第二立体货品图像确定所述智能售货柜内的货品的变化信息,包括:
对所述第一立体货品图像和所述第二立体货品图像在三维空间进行还原,分别确定所述第一立体货品图像和所述第二立体货品图像中的货品的特征点在三维空间中的位置,检测第二立体货品图像相对于第一立体货品图像增加或者缺失的特征点所对应的货品,进而确定所述智能售货柜内的货品的变化信息。
在本公开的第二方面,提供了一种智能售货柜的立体视觉检测装置,包括:
货品图像采集模块,用于响应于接收到第一触发指令,采集所述智能售货柜内的第一货品图像,所述第一货品图像包括从不同的角度采集到的货品图像;响应于接收到第二触发指令,采集所述智能售货柜内的第二货品图像,所述第二货品图像包括从不同的角度采集到的货品图像;
立体货品图像生成模块,用于对所述第一货品图像进行处理,生成所述智能售货柜内的第一立体货品图像;对所述第二货品图像进行处理,生成所述智能售货柜内的第二立体货品图像;
变化信息确定模块,用于根据所述第一立体货品图像和所述第二立体货品图像确定所述智能售货柜内的货品的变化信息。
在本公开的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
通过本公开的实施例的智能售货柜的立体视觉检测方案,能够提高自动售货柜内货品识别的准确率,进而提高用户体验。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例一的智能售货柜的立体视觉检测方法的流程图;
图2示出了本公开实施例二的智能售货柜的立体视觉检测方法的流程图;
图3示出了本公开实施例三的智能售货柜的立体视觉检测装置的结构示意图;
图4示出了本公开实施例四的智能售货柜的立体视觉检测设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
如图1所示,为本公开实施例一的智能售货柜的立体视觉检测方法的流程图。从图1中可以看出,本实施的智能售货柜的立体视觉检测方法,可以包括以下步骤:
S101:响应于接收到第一触发指令,采集所述智能售货柜内的第一货品图像,所述第一货品图像包括从不同的角度采集到的货品图像。
本实施例的方法,用于对智能售货柜的售卖货品进行检测。通过立体视觉技术对智能售货柜内的货品进行识别,判断已售卖货品的货品信息,避免因货品识别不准确引发的故障和交易错误,从而提高消费者的用户体验。
在利用本实施例的方法对智能售货柜的售卖货品进行检测的过程中,一般需要对智能售货柜内的货品进行至少两次图像采集,通过对比相邻两次采集到的图像,进而确定售卖的货品或者新添加到自动售货机内的货品。
具体地,以确定售卖的货品为例,在进行第一次图像采集时,可以是针对一个触发指令做出的动作(即第一触发指令),该触发指令例如可以是接收到由柜门传感器发送的检测到的所述智能售货柜已打开的通知信息,或者也可以是接收到用户输入的请打开所述智能售货柜的请求信息。
本实施例中,接收到所述智能售货柜已打开的通知信息,可以是由用户直接打开所述智能售货柜,柜门传感器检测到所述智能售货柜已打开后,将柜门已打开的状态信息作为通知信息发送至智能售货柜,智能售货柜进而采集所述智能售货柜内的第一货品图像。
接收到用户输入的打开所述智能售货柜的请求信息可以是用户在打开智能售货柜购买货物之前,智能售货柜提示的用户输入身份认证信息指令等,该身份认证信息指令例如可以是要求用户扫码认证,或者获取用户的面部图像,或者也可以是要求用户在对应的APP上进行点击操作等。用户在收到该身份认证信息指令时,可以按照对应的要求提供身份认证信息,智能售货柜在接收到该身份认证信息时,采集所述智能售货柜内的第一货品图像,所述第一货品图像包括从至少两个不同的角度采集到的货品图像。
在一些实施例中,在智能售货柜接收用户的身份认证信息后,可以向设置在所述智能售货柜内不同角度的多个图像采集装置发送驱动指令,采集所述第一货品图像。本实施例中,所述智能售货柜分为多层,每层用来摆放不同的货品,图像采集装置设置在每层的不同角度,例如左右两侧,或者对角位置处,以从不同角度采集货品图像。
在另一些实施例中,在智能售货柜接收用户的身份认证信息后,可以向设置在所述智能售货柜内的一个图像采集装置发送驱动指令,驱动所述图像采集装置移动至目标位置,并采集移动前和移动后的所述智能售货柜内的货品图像,以采集所述第一货品图像。本实施例中,所述智能售货柜分为多层,每层用来摆放不同的货品,每层设置一个图像采集装置,一般设置在该层的顶部,顶部设置有滑轨,该图像采集装置设置在滑轨上,并可以沿滑轨滑动,具体地,可以沿从左到右的方向滑动,或者沿一条对角线的方向滑动,以从不同角度采集货品图像。
S102:对所述第一货品图像进行处理,生成所述智能售货柜内的第一立体货品图像。
在采集到的第一货品图像后,可以利用立体视觉技术对所述第一货品图像进行检测,根据所述第一货品图像中包括的从至少两个不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第一立体货品图像,其中,第一货品图像中的货品图像为平面图像,平面图像相对于立体图像的差异是平面所成像失去了深度信息。通过从至少两个不同的角度采集的货品图像,可以利用两个角度的空间位置差异所带来的视差来恢复所成像的深度信息,进而生成所述智能售货柜内的第一立体货品图像,从所述第一立体货品图像中确定所述智能售货柜内的货品信息,能够有效避免货品的遮挡而导致的货品不能被识别。
S103:响应于接收到第二触发指令,采集所述智能售货柜内的第二货品图像,所述第二货品图像包括从不同的角度采集到的货品图像。
在本实施例中,当接收到第二触发指令后,可以进一步采集所述智能售货柜内的第二货品图像,所述第二货品图像也包括从至少两个不同的角度采集到的货品图像。本实施例中的第二触发指令,可以是用户取走货品后关闭柜门的触发指令,也可是用户完成支付的触发指令。其中,关闭柜门的触发指令可以通过各自传感器采集获取,完成支付的触发指令可以通过接收APP的支付完成信息来获取。
本实施例中的第二货品图像的具体采集方式可以参照上述的第二货品图像的采集方式,这里不再重复赘述。
S104:对所述第二货品图像进行处理,生成所述智能售货柜内的第二立体货品图像。
在采集到的第二品图像后,可以利用立体视觉技术对所述第二货品图像进行检测,根据所述第二货品图像中包括的从至少两个不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第二立体货品图像。
S105:根据所述第一立体货品图像和所述第二立体货品图像确定所述智能售货柜内的货品的变化信息。
在本实施例中,当确定所述智能售货柜内的第一立体货品图像和第二立体货品图像后,可以将所述第一立体货品图像和所述第二立体货品图像进行差分计算,从所述第一立体货品图像中确定相对于所述第二立体货品图像所述智能售货柜内缺失的货品轮廓,然后利用图像识别技术确定缺失的货品轮廓区域对应的货品,进而确定所述智能售货柜内的货品的变化信息。
具体地,可以基于至少两个不同的角度的相机在三维空间中的位置以及采集到的对应的平面图像中的货品的特征点对货品在三维空间进行还原,即对平面图像中的货品的特征点在三维空间进行还原,确定货品在三维空间中的位置。然后检测第二立体货品图像相对于第一立体货品图像增加或者缺失的特征点所对应的货品轮廓,对于相对于第一立体货品图像缺失的特征点所对应的货品轮廓,从第一立体货品图像中的对应位置处截取图像,对截取的图像进行识别,确定对应的货品的变化信息。对于相对于第一立体货品图像增加的特征点所对应的货品轮廓,从第二立体货品图像中的对应位置处截取图像,对截取的图像进行识别,确定对应的货品的变化信息。进而确定所述智能售货柜内的货品的变化信息。其中,增加或者缺失的特征点可以是缺失的货品轮廓区域内的特征点,也可以是缺失的货品轮廓线上的特征点。
本实施例的智能售货柜的立体视觉检测方案,能够提高自动售货柜内货品识别的准确率,进而提高用户体验。并且,只需要采用普通摄像头即可,无需增设景深相机,从而降低了成本。
如图2所示,为本公开实施例二的智能售货柜的立体视觉检测方法的流程图。本实施例的方法,可以包括以下步骤:
S201:接收到用户输入的打开所述智能售货柜的请求信息,向设置在所述智能售货柜内不同角度的图像采集装置发送驱动指令,采集所述第一货品图像。
S202:利用立体视觉技术对所述第一货品图像进行检测,根据所述第一货品图像中包括的从不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第一立体货品图像。
S203:接收到所述智能售货柜的关闭信息,向设置在所述智能售货柜内不同角度的图像采集装置发送驱动指令,采集所述第二货品图像。
S204:利用立体视觉技术对所述第二货品图像进行检测,根据所述第二货品图像中包括的从不同的角度采集到的货品图像对所述智能售货柜内货品进行立体还原,确定所述智能售货柜内的第二立体货品图像。
S205:将所述第一立体货品图像和所述第二立体货品图像进行差分计算,从所述第一立体货品图像中确定相对于所述第二立体货品图像所述智能售货柜内缺失的货品轮廓,进而确定所述智能售货柜内的货品的变化信息。
上述步骤的具体实现过程参见实施例一,这里不再重复赘述。此外,本本实施例相对于实施例一还包括以下步骤:
S206:获取当前时间信息,将所述当前时间信息和所述智能售货柜内的货品的变化信息进行存储。
在本实施例中,确定所述智能售货柜内的货品的变化信息可以通过图像分割和图像识别等技术,识别出训练样本中包括的货品的位置、货品数量和货品类型,然后可以进一步获取当前时间信息,将所述当前时间信息和所述智能售货柜内的货品的变化信息进行存储,此外还可以生成货品清单并输出。
具体地,可以基于至少两个不同的角度的相机在三维空间中的位置以及采集到的对应的平面图像中的货品的特征点对货品在三维空间进行还原,即对平面图像中的货品的特征点在三维空间进行还原,确定货品在三维空间中的位置。然后检测第二立体货品图像相对于第一立体货品图像增加或者缺失的特征点所对应的货品,进而确定所述智能售货柜内的货品的变化信息。其中,增加或者缺失的特征点可以是缺失的货品轮廓区域内的特征点,也可以是缺失的货品轮廓线上的特征点。然后利用预先训练的神经网络模型对检测出来的缺失的货品轮廓进行识别,输出缺失的货品的类型,同时根据缺失的货品轮廓的特征点可以确定缺失的货品的位置,在确定缺失货品的类型和位置后,可以根据历史记录确定智能售货柜内的对应类型的货品的剩余量。
在确定已售货品的位置、类型,以及剩余数量后,可以对自动售货机的货品售卖报表进行更新。具体地,该货品售卖报表可以是包括已售货品的位置、类型、剩余数量和售出时间在内的报表,对于每次生成的货品的变化信息,记录当前时间点,将所述当前时间点和所述已售货品的位置、类型,以及剩余数量整合为报表信息,并按照记录的时间点的先后顺序添加至货品售卖报表中。通过该货品售卖报表可以确定某一货品售出之前的自动售货机内的货品状态和该货品售出之后的自动售货机内的货品状态,即使发生错误,也可以通过货品售出前后的记录确定售出的货品类型、位置和售出时间,同时,结合消费者的支付信息等信息对交易记录进行追溯。
本实施例的方法,能够取得与上述实施例相类似的技术效果,这里不再重复赘述。
此外,在本公开的一些其他实施例中,所述智能售货柜内的一组对角位置处也可沿竖直方向分别设置有导轨,图像采集装置设置在导轨上,记为第一图像采集装置和第二图像采集装置,所述第一图像采集装置和所述第二图像采集装置可以沿竖直方向滑动。当接收到第一触发指令后,所述第一图像采集装置和所述第二图像采集装置从智能售货柜的顶部或者底部滑动至另一端,并按照固定频率采集智能售货柜内的图像信息,然后将对应帧的货品图像进行还原,生成对应的立体图像。同理,在接收到第二触发指令后,所述第一图像采集装置和所述第二图像采集装置在滑动至原来的位置,并将采集的货品图像进行还原,生成对应的立体图像。然后将两次生成的立体图像进行差分计算,确定所述智能售货柜内的货品的变化信息。具体地,可以对平面图像中的货品的特征点在三维空间进行还原,确定货品在三维空间中的位置。然后检测第二立体货品图像相对于第一立体货品图像增加或者缺失的特征点所对应的货品,进而确定所述智能售货柜内的货品的变化信息。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图3示出了本公开实施例三的智能售货柜的立体视觉检测装置的结构示意图。本实施例的智能售货柜的立体视觉检测方法装置,包括:
货品图像采集模块301,用于响应于接收到第一触发指令,采集所述智能售货柜内的第一货品图像,所述第一货品图像包括从不同的角度采集到的货品图像;响应于接收到第二触发指令,采集所述智能售货柜内的第二货品图像,所述第二货品图像包括从不同的角度采集到的货品图像。
立体货品图像生成模块302,用于对所述第一货品图像进行处理,生成所述智能售货柜内的第一立体货品图像;对所述第二货品图像进行处理,生成所述智能售货柜内的第二立体货品图像。
变化信息确定模块303,用于根据所述第一立体货品图像和所述第二立体货品图像确定所述智能售货柜内的货品的变化信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图4示出了本公开实施例四的智能售货柜的立体视觉检测设备的结构示意图。图4示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统包括中央处理单元(CPU)401,其可以基于存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分309经由诸如因特网的网络执行通信处理。驱动器410也基于需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,基于需要安装在驱动器410上,以便于从其上读出的计算机程序基于需要被安装入存储部分408。
特别地,基于本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的方法中限定的上述功能。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
- 智能售货柜的立体视觉检测方法、设备和存储介质
- 智能货柜撕签行为监控方法及智能货柜、计算机存储介质