一种数据处理方法及装置与流程

文档序号:11730323阅读:156来源:国知局
一种数据处理方法及装置与流程

本发明涉及数据处理领域,具体而言,涉及一种数据处理方法及装置。



背景技术:

目前市面上的自动售货装置很多,最常见的是自动售货机,用户根据自动售货机的指示进行对应的购买操作后,所购买的物品由自动售货机从出货口送出。虽然目前的自动售货机可以使得用户同时购买多个物品,但是现有的要么是通过预先给定的数量进行购买,要么是通过各种统计后才能获得用户所购买的物品,例如,通过实时扫描物品的标签或者是通过红外等传感器进行物品计数,再进行对用户所购买的物品进行计价。但是通过这种方式很可能使得用户所购买的物品价格大于实际价格,例如,通过扫描的方式可能会出现重复扫描现象,这使得在一定程度上用户所购买的物品的价格不等于实际价格,进而使得用户体验较大程度的降低。因此,如何解决上述问题是目前亟需解决的难题。



技术实现要素:

本发明的目的在于提供一种数据处理方法及装置,其能够改善上述问题。

本发明的实施例是这样实现的:

第一方面,本发明提供一种数据处理方法,应用于自动售货机,所述自动售货机包括多个摄像头、控制器和售货格,每个所述摄像头均与所述控制器耦合,每个摄像头均安装在所述售货格内,所述方法包括:当满足预设条件时,获取每个所述摄像头所采集到的图像信息;获取所述图像信息所携带的物品信息;获取所述物品信息所对应的物品的总价格。

第二方面,本发明提供一种数据处理装置,应用于自动售货机中的控制器,所述自动售货机还包括:多个摄像头和售货格,每个所述摄像头均与所述控制器耦合,每个摄像头均安装在所述售货格内,所述数据处理装置包括:数据采集单元,用于当满足预设条件时,获取每个所述摄像头所采集到的图像信息;数据获取单元,用于获取所述图像信息所携带的物品信息;数据处理单元,用于获取所述物品信息所对应的物品的总价格。

上述本发明提供的一种数据处理方法及装置,本发明实施例通过获取每个所述摄像头所采集到的图像信息,对所述图像信息进行处理后获取所述图像信息所携带的物品信息,从而获取所述物品信息所携带的物品种类与物品数量,并基于每类物品预设单价获取用户所购买的物品的总价,从而通过图像处理的方式使得能够对物品的种类进行精确区分以及获取准确的总价格,进而提升用户体验感。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明较佳实施例提供的一种自动售货机的结构示意图;

图2为图1所示的一种自动售货机的控制系统的结构框图;

图3是本发明第一实施例提供的一种数据处理方法的流程图;

图4为图3所示的一种数据处理方法中的空间金字塔示意图;

图5是本发明第二实施例提供的一种数据处理装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

请参照图1与图2,为本发明较佳实施例提供的一种自动售货机的结构示意图。所述自动售货机10包括:售货格20、透明挡板21和控制器25以及置于控制器25内的数据处理装置400,所述数据处理装置400包括至少一个可以软件或固件(firmware)的形式存储于存储器中或固化在所述数据处理装置400终端设备的操作系统(operatingsystem,os)中的软件功能模块。

在本实施例中,所述透明挡板21用于封缄所述售货格20所预设的开口,所述开口用于供用户拿取物品。

在本实施例中,所述透明挡板21可以是通过合页与所述售货格20连接。

在本实施例中,所述售货格20内设有多个摄像头22。每个摄像头22均与控制器25耦合。优选地,所述摄像头为双目摄像头。

在本实施例中,每个所述售货格20内安装有一个双目摄像头。

在本实施例中,所述售货格20的开口处设有检测装置23,所述检测装置23与所述控制器25耦合。

在本实施例中,所述检测装置23可以是红外传感器,所述红外传感器可以是honeywell的一款型号为se470红外传感器,也可以是honeywell的一款型号为sd440红外传感器,在此不作具体限定。

所述控制器25用于执行存储器中存储的可执行模块,例如所述数据处理装置400包括的软件功能模块或计算机程序。

控制器25可能是一种集成电路芯片,具有信号的处理能力。上述的控制器25可以为单片机、dsp(digitalsignalprocessing,数字信号处理)、arm(advancedriscmachine,微处理器)或fpga(field-programmablegatearray,现场可编程逻辑门阵列)等其它具有数据处理功能的芯片。在本实施例中,不作具体限定。于本实施例中,优选地,该控制器25可以是stm32系列的处理器,例如stm32f103c8t6、stm32f103vet6等型号。

请参照图3,为本发明第一实施例提供的一种数据处理方法的流程图,所述方法应用于自动售货机,所述自动售货机包括多个摄像头、控制器和售货格,每个所述摄像头均与所述控制器耦合,每个摄像头均安装在所述售货格内。下面将对图3所示的具体流程进行详细阐述。

步骤s301,当满足预设条件时,获取每个所述摄像头所采集到的图像信息。

在本实施例中,所述预设条件可以是检测所述售货格的重量变化。

作为一种实施方式,当检测到所述售货格内有重量变化时,获取售货格内的物品的第一时刻的重量值;当关闭所述透明挡板时,获取售货格内的物品的第二时刻的重量值;当所述第一时刻的重量值与所述第二时刻的重量值的差值大于预设值时,获取每个所述摄像头所采集到的图像信息。

其中,所述售货格内有重量变化是指用户将售货格内的物品取走,从而使得售货格内的重量发生变化。

其中,可以通过获取售货格内的物品的第一时刻的重量值以及获取售货格内的物品的第二时刻的重量值;并将获得的所述第一时刻的重量值与所述第二时刻的重量值的差值与预设值进行比较,当差值与预设值不相等时,即为售货格内的重量发生了变化。

在本实施例中,第一时刻与第二时刻是两个连续的时间点,第一时刻是指初始状态下所对应的时刻,即所述自动售货机的透明挡板没有开启时所对应的时刻。所述第二时刻是指用户购买物品时所对应的时刻,即所述透明挡板关闭时所对应的时刻。

在本实施例中,所述预设条件可以是检测到用户的手伸入所述售货格。

例如,通过红外传感器检测到用户的手伸入所述售货格中时,返回一个检查信息给控制器,控制器基于检测信息控制位于所述售货格内的摄像头采集第一图像;当控制器检测到透明挡板关闭时,控制器控制位于所述售货格内的摄像头采集第二图像。将所述第二图像作为所述图像信息。

作为另一种实施方式,当透明挡板开启时,通过安装在自动售货机内的双目摄像头采集用户的手的移动轨迹,从而根据用户的手的移动轨迹获取用户的手具体位于哪一个售货格,从而获取位于用户的手所在的售货格内的图像信息。

步骤s302,获取所述图像信息所携带的物品信息。

其中,所述物品信息是指图像信息中所携带的物品的信息,即摄像头采集的图像中的物品的信息。所述物品信息包括物品种类与物品数量。

所述图像信息是指摄像头采集的图像的信息。

作为第一种实施方式,基于词包模型(bag-of-words)获取所述图像信息中的物品种类以及物品数量。具体地,基于方向梯度直方图算法获取所述图像信息中的图像的第一底层特征;基于超向量编码去除所述第一底层特征所携带的冗余和噪声,获取第二底层特征;基于空间金字塔匹配算法对所述第二底层特征进行特征汇聚,获得第三底层特征;基于支持向量机获取所述第三底层特征中的物品种类,当每获取一次相同的物品种类时,记录获取的次数,将所述次数作为物品数量。

其中,第一底层特征是指摄像头所采集的图像中的颜色特征、纹理特征和形状特征。具体地,通过方向梯度直方图算法将摄像头采集到的图像分成小的方格单元;然后采集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来形成第一底层特征。

在本实施例中,超向量编码是通过直接使用局部特征与最近的视觉单词的差来替换之前简单的硬投票。通过超级向量使得对每个第一底层特征进行矢量编码。从而去除第一底层特征所携带的冗余和噪声。所述噪声是指由于成像传感器噪声、相片颗粒噪声、图片在传输过程中的通道传输误差等因素会使图片上出现一些随机的、离散的、孤立的像素点。图像噪声在视觉上通常与它们相邻的像素明显不同,例如黑区域中的白点、白区域中的黑点等。其中,冗余是指图像中相邻像素间的相关性引起的空间冗余,或者是图像序列中不同帧之间存在相关性引起的时间冗余,或者是不同彩色平面或频谱带的相关性引起的频谱冗余。

在本实施例中,所述基于空间金字塔匹配算法对所述第二底层特征进行特征汇聚是指通过空间金字塔匹配算法对第二底层特征进行均与分块,然后每个区块里面单独做特征汇聚操作并将所有的特征向量拼接起来作为第三底层特征。例如,把摄像头采集到的图片做三层分割,分割的块数分别为1,4,16,它们分别对应20,22,24。对于一组n个k维的编码向量,有其中,φ(k)(xi),指第i个编码向量的第k维,z(k)指聚合得到的向量的第k维。通过选用1,4,3的分块方式,从而得到8个聚合后的编码向量,记为:z111,z211,z212,z221,z222,z311,z321,z331。那么,整幅图像可以表示为:z=(z111;z211;z212;z221;z222;z311;z321;z331)。则通过获得的z所对应的图像如图4所示。

在本实施例中,获取第三底层特征中的物品种类具体是通过先假设图像库中共有k类图像,记作t={p1,p2,p3...pk},并且有k个语义的分类器{c1,c2,c3...ck}。对于每一个支持向量机分类器,它的训练集t={(x1,y1),(x2,y2),,,(xn,yn)},其中(x1,y1)是预先给定的经过标注的样本图像,其中xi∈r2,它表示图像的特征(颜色、纹理等);yi∈{-1,1},为+1表示图像包含该语义,-1表示图像不包含该语义;使用支持向量机训练这些样本图像,获得图像的语义分类器。然后利用这些语义分类器去判别那些未标注的图像,从而从第三底层特征中获取物品种类。

在本实施例中,当每从第三底层特征中获取一次相同的物品种类时,记录获取相同物品种类的次数,将所获取的次数作为物品数量,即获取相同物品种类的次数即为该物品的数量。

作为第二种实施方式,在本实施例中,所述摄像头的数目为3个,3个所述摄像头设置在所述售货格内的不同空间位置,当售货格内只有一个物品时,获取每个摄像头采集的图像,以其中任意一个摄像头采集的图像作为基准图像,对于所述基准图像中的任一像素,利用该任一像素与每一个其他所述摄像头所采集到的图像中与所述基准图像中的所述任一像素匹配的像素分别确定一个候选的重建点,构建三维图像;当所述三维图像与预设标签库中的图像匹配时,获取所述三维图像所对应的预设物品价格;将所述物品价格作为所述物品信息。

其中,预设标签库是指根据每个售货格内的物品的图像建立标签库,即预先采集售货格内的每个物品的多视角的多张图像,例如通过3d扫描的方式获取每类物品在360度的不同角度上的颜色以及纹理等多张图像。从而通过每类物品的多张图像建立与之对应的标签,所述标签包括物品的名称与价格。

在本实施例中,当有多个售货格时,为每个售货格建立一个标签库,从而使得当有多个售货格时,通过与对应的标签库进行比对时,能够加快比对速度,从而提升用户购买效率。具体地,为每个售货格设置一个标签库,所述标签库包括售货格的标志信息、售货格内的所有物品的标签。通过每个售货格的标志信息可以获取到与所述标志信息对应的售货格,即一个售货格对应一个售货格,通过预先为每个售货格内的所有摄像头设置身份信息,使得控制器能够识别出摄像头采集的图像是哪一个售货格内的图像,从而在与标签库进行比对时,能够寻找到与售货格所对应的标签库,即所述售货格所对应的售货格所对应的标签库。

在本实施例中,所述标签库可以存储在本地,也可以存储在服务器上。所述存储在本地是指存储在自动售货机的控制器中,或者是自动售货机内的存储器中。为了提高比对速度,优选地,将标签库存储在自动售货机的控制器中或者是存储器中。

在本实施例中,构建三维图像的具体实施方式可以是:先假设摄像头共有n个(n≥3),并以该n个摄像头中的摄像头j采集到的图像作为基准图像,则对于该基准图像中的任一像素都按照该步骤的处理来选择候选的重建点。具体的,针对基准图像中的任一像素p,对于其他n-1个摄像头中的每个摄像头采集到的图像,均通过诸如特征匹配等方式在其中寻找一个匹配像素,并通过三角测距利用该匹配像素与所述像素p确定一个候选的重建点,由此对于n个摄像头可以得到n-1个候选的重建点。如果该n-1个候选的重建点之间的距离比较近,例如在一个预定范围内,则认为所确定的该n-1个候选的重建点是正确的,均指向空间中的同一个三维重建点。此时可以利用最小二乘法等本领域中各种常用处理方式基于该n-1个候选的重建点来构建对应于像素p的三维重建点。所述预定范围的大小代表对于匹配误差的容忍程度,其可以根具体需要来设定,在此不作具体限定。如果该n-1个候选的重建点之间出现了冲突,即该n-1个候选的重建点之间的距离过远,例如超出了预定范围,则认为所确定的该n-1个候选的重建点受到了高光的干扰,是不正确的,因而无法构建正确的三维重建点。此时便不基于所述n-1个候选的重建点来构建对应于像素p的三维重建点。其中,为了有效减少三维重建错误,可以通过控制光源亮度变化和摄像头的开始曝光时间,从而可以有效识别出图像中受高光影响的区域,进而能够排除高光干扰所致的像素匹配偏差导致的错误三维点,以使三维重建错误率降低。其中,光源亮度可以是售货格内预设的照明灯光的亮度,还可以是摄像头所自带的光源的亮度,在此不作具体限定。

作为第三种实施方式,优选地,所述摄像头为双目摄像头。通过所述双目摄像头获取当前售货格内的图像组,所述图像组包括所述左目摄像头所采集的左图像和所述右目摄像头采集的右图像。将所述左图像与所述图像进行融合形成目标图像组;获取所述目标图像组与预设比对图像之间的差异图像;获取所述差异图像所对应的预设物品价格;将所述物品价格作为所述物品信息。其中,所述预设比对图像是指所述售货格的透明挡板开启前所采集的图像或者是已经存储好的图像。所述差异图像是指所述目标图像组与所述预设比对图像之间存在差异的图像。将所述差异图像与预设标签库中的每个标签的图像进行比对,获取该差异图像所对应的物品信息。通过所述双目摄像头可以使得对差异图像的识别的精度更高以及更加灵敏,从而有效地减少处理时间。

步骤s303,获取所述物品信息所对应的物品的总价格。

其中,所述物品信息包括物品种类和物品数量,即每类物品的数量。通过获取到的物品种类获取预先设置的物品种类所对应的物品单价,基于每类物品的数量与物品单价获取每类物品的总价,将所有种类的物品的价格相加得到售货格内的所有物品的价格,即用户所购买的物品的价格,也就是用户所需支付的金额。

作为一种实施方式,获取所述物品信息所对应的售货格的预设标志信息;获取所述售货格所对应的所述标签库;查找所述标签库中与所述物品信息中的每类物品所对应的预设物品名称以及物品单价;基于所述物品信息中的每类物品的数量和所述物品单价获得物品总价格。

其中,所述标签库中预先存储有每个物品的所有角度的图像、物品名称以及物品单价。

其中,一个售货格对应一个标签库,每个售货格设有一个标志信息,因此可以根据所述标志信息找到与该标志信息所对应的标签库,从而使得能够将所获取到的物品种类与标签库中预先存储的物品种类进行比较,进而获取用户所购买的物品的实际种类,当获取到用户所购买的物品的实际种类后,通过标签库中与物品种类所对应的预设单价从而对用户所购买的物品进行计价,从而使得用户能够根据所计价的物品价格进行支付,进而实现通过图像识别的方式进行自动售货,有效地提高了该自动售货机自动售货时的识别效率以及精确度。

在本实施例中,当通过将所采集的图像与位于所述售货格内的标签库进行匹配失败时,再将所述图像与所述自动售货机内的其他售货格所对应的标签库进行匹配,从而避免用户将售货格内的物品移动到除该售货格以外的其他售货格内。

请参照图5,为本发明第二实施例提供的一种数据处理装置的结构示意图,所述数据处理装置400应用于自动售货机中的控制器,所述自动售货机还包括:多个摄像头和售货格,每个所述摄像头均与所述控制器耦合,每个摄像头均安装在所述售货格内,所述数据处理装置400包括:数据采集单元410、数据获取单元420和数据处理单元430。

数据采集单元410,用于当满足预设条件时,获取每个所述摄像头所采集到的图像信息。

其中,所述数据采集单元410还用于:当检测到所述售货格内有重量变化时,获取售货格内的物品的第一时刻的重量值;当关闭所述透明挡板时,获取售货格内的物品的第二时刻的重量值;当所述第一时刻的重量值与所述第二时刻的重量值的差值大于预设值时,获取每个所述摄像头所采集到的图像信息。

数据获取单元420,用于获取所述图像信息所携带的物品信息。

其中,所述数据获取单元420还用于:基于所述图像信息获取图像中的物品种类以及物品数量;将所述物品种类和所述物品数量作为物品信息。具体地,基于所述图像信息获取图像中的物品种类以及物品数量是指基于词包模型(bag-of-words)获取所述图像信息中的物品种类以及物品数量。即基于方向梯度直方图算法获取所述图像信息中的图像的第一底层特征;基于超向量编码去除所述第一底层特征所携带的冗余和噪声,获取第二底层特征;基于空间金字塔匹配算法对所述第二底层特征进行特征汇聚,获得第三底层特征;基于支持向量机获取所述第三底层特征中的物品种类,当每获取一次相同的物品种类时,记录获取的次数,将所述次数作为物品数量。

在本实施例中,所述摄像头的数目至少3个,所述自动售货机包括多个售货格以及与售货格对应的售货格,多个所述摄像头设置在所述售货格内的不同空间位置,当售货格内只有一个物品时,所述数据获取单元420还用于:获取每个摄像头采集的图像,以其中任意一个摄像头采集的图像作为基准图像,对于所述基准图像中的任一像素,利用该任一像素与每一个其他所述摄像头所采集到的图像中与所述基准图像中的所述任一像素匹配的像素分别确定一个候选的重建点,构建三维图像;当所述三维图像与预设标签库中的图像匹配时,获取所述三维图像所对应的预设物品价格;将所述物品价格作为所述物品信息。

数据处理单元430,用于获取所述物品信息所对应的物品的总价格。

其中,所述自动售货机包括多个售货格和控制器,所述控制器内预先存储有多个标签库,每个所述标签库对应一个售货格,每个所述标签库内存储有与所述标签库所对应的售货格内的物品种类以及每类物品的单价,所述数据处理单元430还用于:获取所述物品信息所对应的售货格的预设标志信息;基于所述标志信息获取所述售货格所对应的所述标签库;查找所述标签库中与所述物品信息中的每类物品所对应的预设物品名称以及物品单价;基于所述物品信息中的每类物品的数量和所述物品单价获得物品总价格。

综上所述,本发明提供一种数据处理方法及装置,本发明实施例通过获取每个所述摄像头所采集到的图像信息,对所述图像信息进行处理后获取所述图像信息所携带的物品信息,从而获取所述物品信息所携带的物品种类与物品数量,并基于每类物品预设单价获取用户所购买的物品的总价,从而通过图像处理的方式使得能够对物品的种类进行精确区分以及获取准确的价格,进而提升用户体验感。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1