应用于无人货柜的物品识别方法、装置、设备及存储介质与流程

文档序号:17928690发布日期:2019-06-15 00:37阅读:363来源:国知局
应用于无人货柜的物品识别方法、装置、设备及存储介质与流程

本申请实施例涉及计算机技术领域,特别涉及一种应用于无人货柜的物品识别方法、装置、设备及存储介质。



背景技术:

无人零售,如无人超市、无人货柜,是近期兴起的一个热门领域,拥有非常广阔的前景。

在相关技术中,无人货柜一般采用动态视觉识别方案对用户拿取的商品类别进行识别。动态视觉识别方案在货柜的柜体上布置多个摄像头,摄像头采集到识别图像后,将采集到的识别图像发送给商品检测模块,商品检测模块根据识别图像对商品类别进行识别。

然而,由于光照、摄像头角度等因素的影响,相关技术中的动态视觉识别方案在识别用户拿取的商品类别上准确率较低。



技术实现要素:

本申请实施例提供了一种应用于无人货柜的物品识别方法、装置、设备及存储介质,可用于解决相关技术在识别用户拿取的商品类别上准确率较低的问题。技术方案如下:

一方面,本申请实施例提供一种应用于无人货柜的物品识别方法,所述方法包括:

通过视觉识别技术,识别用户在所述无人货柜中执行的n次物品取放行为对应的取放物品总和,得到视觉识别结果,所述n为正整数;

检测所述视觉识别结果对应的物品重力变化值与所述无人货柜对应的总体实际重力变化值是否匹配;

若所述视觉识别结果对应的物品重力变化值与所述总体实际重力变化值不匹配,则生成所述n次物品取放行为对应的取放物品总和的多种预测结果;

计算所述多种预测结果各自对应的置信度;

将所述多种预测结果中所述置信度最大的目标预测结果,确定为所述n次物品取放行为对应的取放物品总和。

另一方面,本申请实施例提供一种应用于无人货柜的物品识别装置,所述装置包括:

结果获取模块,用于通过视觉识别技术,识别用户在所述无人货柜中执行的n次物品取放行为对应的取放物品总和,得到视觉识别结果,所述n为正整数;

重力检测模块,用于检测所述视觉识别结果对应的物品重力变化值与所述无人货柜对应的总体实际重力变化值是否匹配;

结果预测模块,用于当所述视觉识别结果对应的物品重力变化值与所述总体实际重力变化值不匹配时,生成所述n次物品取放行为对应的取放物品总和的多种预测结果;

置信度计算模块,用于计算所述多种预测结果各自对应的置信度;

结果确定模块,用于将所述多种预测结果中所述置信度最大的目标预测结果,确定为所述n次物品取放行为对应的取放物品总和。

再一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的应用于无人货柜的物品识别方法。

又一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的应用于无人货柜的物品识别方法。

又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的应用于无人货柜的物品识别方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过当视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值不匹配时,生成多种预测结果,并计算多种预测结果各自对应的置信度,选取多种预测结果中置信度最大的预测结果,作为最终的取放物品总和,保证了在识别用户拿取的物品类别上的准确率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的实施环境的示意图;

图2是本申请一个实施例提供的应用于无人货柜的物品识别方法的流程图;

图3是本申请另一个实施例提供的应用于无人货柜的物品识别方法的流程图;

图4是本申请一个实施例提供的一种图像的示意图;

图5是本申请一个实施例提供的应用于无人货柜的物品识别方法的时序图;

图6是本申请一个实施例提供的应用于无人货柜的识别装置结构的示意图;

图7是本申请另一个实施例提供的应用于无人货柜的识别装置结构的示意图;

图8是本申请一个实施例提供的计算机设备的示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

请参考图1,其示出了本申请一个实施例提供的实施环境的示意图。该实施环境可以包括:无人货柜10和计算机设备20。

无人货柜10中包括柜体101、摄像头102以及重力托盘103。摄像头102用于采集无人货柜10中物品的图像,重力托盘103用于对无人货柜10对应的总体实际重力变化值进行测量。可选地,无人货柜10为5层货柜,第一层和第三层货柜的左右两侧的柜体101上各安装有一个摄像头102,每一层货柜下方都安装有一个重力托盘103。无人货柜10支持15sku(stockkeepingunit,库存量单位),即15种物品类别的运营。

计算机设备20是指具备计算和处理能力的电子设备,例如,pc(personalcomputer,个人计算机)、服务器等。服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。

无人货柜10中的摄像头采集到物品的图像后,将图像发送给计算机设备20,计算机设备20对物品的图像进行识别,得到视觉识别结果。

计算机设备20可以集成于无人货柜10中,也可以独立于无人货柜10存在。无人货柜10和计算机设备20之间可以通过网络进行通信,该网络可以是有线网络,也可以是无线网络。

为了便于描述,在下述方法实施例中,仅以各步骤的执行主体为计算机设备进行说明,但对此不构成限定。

请参考图2,其示出了本申请一个实施例提供的应用于无人货柜的物品识别方法的流程图。该方法可以由计算机设备执行。该方法可以包括以下几个步骤:

步骤201,通过视觉识别技术,识别用户在无人货柜中执行的n次物品取放行为对应的取放物品总和,得到视觉识别结果,n为正整数。

视觉识别技术是指通过摄像头采集识别图像后,将采集到的识别图像发送给识别模型,由识别模型对识别图像进行识别的技术。在本申请实施例中,视觉识别技术用于识别用户在无人货柜中执行的物品取放行为对应的取放物品总和。视觉识别结果是通过视觉识别技术识别得到的取放物品结果。

用户对无人货柜中的物品进行挑选,例如,用户从无人货柜中拿了一瓶可乐和一瓶雪碧后,又把雪碧放回了无人货柜中,拿了一瓶果汁,则用户在无人货柜中执行了3次物品取放行为,3次物品取放行为对应的取放物品总和为一瓶可乐和一瓶果汁。

步骤202,检测视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值是否匹配。

视觉识别结果对应的物品重力变化值是指视觉识别结果对应的取放的所有物品的标注的重力值的总和。

无人货柜对应的总体实际重力变化值是指无人货柜中的原有物品的重力值与用户取放物品之后的无人货柜中的剩余物品的重力值的差值。可选地,无人货柜对应的总体实际重力变化值可以根据无人货柜中的重力托盘对应的测量值得到。

在一个示例中,当视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值一致时,视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值匹配。例如,视觉识别结果是用户拿取了一瓶可乐,一瓶可乐标注的重力值是5,则视觉识别对应的物品重力变化值为5。无人货柜中的原有物品的重力值为20,用户取放物品之后的无人货柜中的剩余物品的重力值为15,则无人货柜对应的总体实际重力变化值是5。视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值一致,则视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值匹配。

在另一个示例中,当视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值相差预设数值时,视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值匹配,该预设数值是物品出厂时自身允许的重力误差值。例如,视觉识别结果是用户拿取了一瓶可乐,可乐上标注的重力值是5,则视觉识别对应的物品重力变化值是5。无人货柜中的原有物品的重力值是95,用户取放物品之后的无人货柜中的剩余物品的重力值是91,则无人货柜对应的总体实际重力变化值是4。但视觉识别结果对应的一瓶可乐实际的重力值是4,与一瓶可乐标注的重力值相差1,但是这相差的值属于可乐出厂时自身允许的重力误差值,所以视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值匹配。

步骤203,若视觉识别结果对应的物品重力变化值与总体实际重力变化值不匹配,则生成n次物品取放行为对应的取放物品总和的多种预测结果。

根据视觉识别结果、总体实际重力变化值和无人货柜提供的各个物品的重力值,生成多种预测结果。上述生成的多种预测结果对应的总体重力值与总体实际重力变化值相匹配。例如,无人货柜中有可乐、雪碧和果汁,可乐的重力值是5,雪碧的重力值是4,果汁的重力值是3,视觉识别结果是用户拿取了可乐,总体实际重力变化值是9,则生成的一种预测结果是用户拿取了一瓶可乐和一瓶雪碧。

步骤204,计算多种预测结果各自对应的置信度。

置信度又可以称之为置信水平或可靠度,表示总体参数值落在样本统计值某一区间内的概率。在本申请实施例中,多种预测结果各自对应的置信度是指用户取放的物品为某一预测结果的概率。置信度越大,表明用户取放的物品为该预测结果的可能性越大。

在本申请实施例中,根据预测结果中的每一个物品各自对应的置信度,计算该预测结果对应的置信度。每一个物品各自对应的置信度是根据重力值、视觉识别特征中的至少一种得到的。可选地,对预测结果中的每一个物品对应的置信度求平均,得到预测结果对应的置信度。

步骤205,将多种预测结果中置信度最大的目标预测结果,确定为n次物品取放行为对应的取放物品总和。

可选地,将多种预测结果各自对应的置信度由大到小进行排序,选取序列中的第一个置信度对应的预测结果作为目标预测结果。

将置信度最大的预测结果作为n次物品取放行为的总和,保证了识别用户取放的物品类别的准确率。

综上所述,本申请实施例提供的技术方案中,通过当视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值不匹配时,生成多种预测结果,并计算多种预测结果各自对应的置信度,选取多种预测结果中置信度最大的预测结果,作为最终的取放物品总和,保证了在识别用户拿取的物品类别上的准确率。

经试验发现,无人货柜在应用本申请的方法后,在识别用户拿取了1种商品类别的准确率为100%,在识别用户同时拿取了2种商品类别的准确率为95%左右。

另外,本申请实施例提供的视觉识别技术不仅能识别出用户拿取的物品,而且能识别出用户放回的物品,即用户的物品取放行为都能被识别出来。

请参考图3,其示出了本申请另一个实施例提供的应用于无人货柜的物品识别方法。该方法可以包括以下几个步骤:

步骤301,通过视觉识别技术,识别用户在无人货柜中执行的n次物品取放行为对应的取放物品总和,得到视觉识别结果,n为正整数。

步骤302,检测视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值是否匹配。

步骤301至302的介绍说明可参见上文实施例,此处不再赘述。

步骤303,若视觉识别结果对应的物品重力变化值与总体实际重力变化值匹配,则将视觉识别结果确定为n次物品取放行为对应的取放物品总和。

当视觉识别结果对应的物品重力变化值与总体实际重力变化值匹配时,表明视觉识别结果是准确的,可以将视觉识别结果确定为n次物品取放行为对应的取放物品总和。

步骤304,若视觉识别结果对应的物品重力变化值与总体实际重力变化值不匹配,则检测视觉识别结果和总体实际重力变化值是否满足预设融合规则。

预设融合规则是由技术人员根据用户的行为预先设置出来的规则。技术人员可以根据以下原则设置多条预设融合规则:

1、预设融合规则之间相互不冲突。

2、执行预设融合规则后出现的错误是可以接受的,例如,可以出现物品类别猜测错误,但是猜测的物品类别与用户实际取放的物品类别价格要一致。

3、预设融合规则要越具体越好。

4、对预设融合规则设置优先级,当满足第一条预设融合规则时,就不执行第二条预设融合规则。

技术人员可以根据试验的情况添加不同的预设融合规则,从而能够快速解决物品识别过程中发生的一些不合理的情况。预设融合规则会在试验过程中不断的调整优化,从而保证最终的预设融合规则是正确的。预设融合规则可以优先从数量的角度进行设置。例如,总体实际重力变化值是视觉识别结果对应的物品重力值的m倍,m为不大于6的正整数。

步骤305,若满足预设融合规则,则根据预设融合规则得到n次物品取放行为对应的取放物品总和。

在一个示例中,预设融合规则包括总体实际重力变化值是视觉识别结果对应的物品重力变化值的整数倍。例如,视觉识别结果是用户拿取了一瓶可乐,一瓶可乐的重力值是5,总体实际重力变化值是20,20是5的四倍,则视觉识别结果和总体实际重力变化值满足预设融合规则,物品取放行为对应的取放物品总和是四瓶可乐。

在另一个示例中,预设融合规则包括当视觉识别结果对应的物品为指定物品时,视觉识别结果的对应的重力变化值为两倍的指定物品的重力值。例如,视觉识别结果是用户拿取了一瓶可乐,可乐有买一送一的活动,一瓶可乐的重力值是5,总体实际重力变化值是10,10是5的2倍,则视觉识别结果和总体实际重力变化值满足预设融合规则,物品取放行为对应的取放物品总和是两瓶可乐。

步骤306,若不满足预设融合规则,则生成n次物品取放行为对应的取放物品总和的多种预测结果。

可选地,根据视觉识别结果、总体实际重力变化值和无人货柜中提供的各个物品的重力值,生成多种预测结果。

例如,无人货柜中有可乐、雪碧、酸奶和果汁,可乐的重力值是5,雪碧的重力值是4,酸奶的重力值是4,果汁的重力值是3,视觉识别结果是用户拿取了可乐,总体实际重力变化值是9,则一种预测结果是用户拿取了一瓶可乐和一瓶雪碧,另一种预测结果是用户拿取了一瓶可乐和一瓶酸奶。

在一种可能的实现方式中,当视觉识别结果对应的物品重力变化值与总体实际重力变化值不匹配时,不需要检测视觉识别结果和总体实际重力变化值是否满足预设融合规则,而是直接根据视觉识别结果、总体实际重力变化值和无人货柜中提供的各个物品的重力值,生成多种预测结果。

步骤307,对于多种预测结果中的第i种预测结果,生成第i种预测结果中包含的每一个物品对应的置信度,i为正整数。

可选地,根据以下步骤生成每一个物品对应的置信度:

1、对于第i种预测结果中包含的第j个物品,确定第j个物品所属的类别,j为正整数。

可选地,物品所属的类别有以下五种:

第一类别是指通过视觉识别技术在单次物品取放行为中识别得到的且重力匹配的物品;

第二类别是指通过视觉识别技术在单次物品取放行为中识别得到的且重力不匹配的物品;

第三类别是指在单次物品取放行为中基于重力预测得到的物品;

第四类别是指通过视觉识别技术在n次物品取放行为中识别得到的物品;

第五类别是指通过视觉识别技术在n次物品取放行为中未识别得到过的物品。

2、根据第j个物品所属的类别对应的置信度赋予规则,生成第j个物品对应的置信度。

可选地,本步骤包括以下几个子步骤:

2.1、若第j个物品属于第一类别,则将第j个物品对应的视觉识别置信度与第一阈值之和,确定为第j个物品对应的置信度;其中,第一类别是指通过视觉识别技术在单次物品取放行为中识别得到的且重力匹配的物品。

在本申请实施例中,第j个物品对应的视觉识别置信度,是指通过视觉识别技术在识别得到第j个物品时输出的置信度。

单次视觉识别结果对应的物品是物品a,且物品a的重力值与无人货柜对应的总体实际重力变化值相匹配,则物品a属于第一类别,说明用户拿取了物品a的可能性极大,因此将物品a对应的视觉识别置信度与第一阈值之和作为物品a对应的置信度。

2.2、若第j个物品属于第二类别,则将第j个物品对应的视觉识别置信度与第二阈值之差,确定为第j个物品对应的置信度;其中,第二类别是指通过视觉识别技术在单次物品取放行为中识别得到的且重力不匹配的物品。

单次视觉识别结果对应的物品是物品a,且物品a的重力值与无人货柜对应的总体实际重力变化值不匹配,则物品a属于第二类别,说明用户拿取了物品a的可能性不是很大,因此将物品a对应的视觉识别置信度与第二阈值之差作为物品a对应的置信度。

2.3、若第j个物品属于第三类别,则将第三阈值确定为第j个物品对应的置信度;其中,第三类别是指在单次物品取放行为中基于重力预测得到的物品。

视觉识别结果对应的物品是物品b,物品a的重力值与物品b的重力值之和为无人货柜对应的总体实际重力变化值,说明用户可能拿取了物品a和物品b,则物品a属于第三类别,将第三阈值作为物品a对应的置信度。

2.4、若第j个物品属于第四类别,则将第j个物品对应的视觉识别置信度,确定为第j个物品对应的置信度;其中,第四类别是指通过视觉识别技术在n次物品取放行为中识别得到过的物品。

视觉识别技术在1次物品取放行为中识别得到物品a,则物品a属于第四类别,将物品a对应的视觉识别置信度作为物品a对应的置信度。

2.5、若第j个物品属于第五类别,则将第四阈值确定为第j个物品对应的置信度;其中,第五类别是指通过视觉识别技术在n次物品取放行为中未识别得到过的物品。

视觉识别技术在1次物品取放行为中未识别得到过物品a,则物品a属于第五类别,将第四阈值作为物品a对应的置信度。

第一阈值、第二阈值、第三阈值以及第四阈值是根据多次试验得到的一个合理的数值。

步骤308,计算第i种预测结果中包含的各个物品对应的置信度的平均值,得到第i种预测结果对应的置信度。

例如,第一种预测结果中包含了雪碧和可乐,雪碧对应的置信度是0.7,可乐对应的置信度是0.5,则第一种预测结果对应的置信度是(0.7+0.5)/2=0.6。

步骤309,将多种预测结果中置信度最大的目标预测结果,确定为n次物品取放行为对应的取放物品总和。

综上所述,本申请实施例提供的技术方案中,通过根据预测结果中包含的各个物品所属的类别对应的置信度赋予规则,生成各个物品对应的置信度,根据物品所属的类别赋予物品对应的置信度,物品对应的置信度更为合理,进而使得预测结果对应的置信度更合理,最终使得在识别用户取放物品的准确率更高。

在基于上述任一实施例提供的另一个可选实施例中,视觉识别结果可以通过如下步骤得到:

第一、通过视觉识别技术,识别用户在无人货柜中执行的单次物品取放行为对应的取放物品。

单次物品取放行为是指单次拿取物品行为或单次放回物品行为。单次物品取放行为对应的取放物品是指用户一次拿取的物品或用户一次放回的物品。例如,用户从无人货柜中拿取了一瓶可乐,通过视觉识别技术,识别出用户从无人货柜中拿取了一瓶可乐。

可选地,本步骤包括以下几个子步骤:

1、通过第一物品识别模型对无人货柜中摄像头拍摄的图像进行物品检测。

第一物品识别模型是用来识别商品类别的模型。第一物品识别模型可以通过机器学习和神经网络模型得到。向第一物品识别模型输入一张带有识别物品信息的图像,第一物品识别模型能够识别出该图像对应的物品类别。

2、若第一物品识别模型从图像中检测到物品,则通过第一物品识别模型对图像进行物品识别,得到第一识别结果以及第一识别结果对应的置信度。

假设无人货柜中有4个摄像头,每一个摄像头对应的帧率为120fps,则第一物品识别模型需要有480帧/秒的识别速率,所以当第一物品识别模型从图像中检测到物品时,才通过第一物品识别图像进行物品识别,节省了计算机设备的工作量。

可选地,通过第一物品识别模型对至少一个图像进行物品识别,得到至少一个图像各自对应的物品,以及至少一个图像各自对应的物品对应的置信度,当至少一个图像各自对应的物品不一致时,选取置信度最大的图像对应的物品作为第一识别结果,该最大的置信度作为第一识别结果对应的置信度。

3、通过第二物品识别模型对图像中的物品区域进行物品识别,得到第二识别结果以及第二识别结果对应的置信度。

第二物品识别模型是用来识别商品类别的模型,该第二物品识别模型的识别精度大于第一物品识别模型的识别精度。

可选地,通过第二物品识别模型对至少一个物品区域进行物品识别,得到至少一个物品区域各自对应的物品,以及至少一个物品区域各自对应的物品对应的置信度,当至少一个物品区域各自对应的物品不一致时,选取置信度最大的物品区域对应的物品作为第二识别结果,该最大的置信度作为第二识别结果对应的置信度。

如图4所示,其示出了本申请一个实施例提供的一种图像的示意图,图像中的物品为可乐41,第一物品识别模型是对图像40进行识别,而第二物品识别模型是对物品区域42进行识别。因此,第二物品识别模型的识别精度大于第一物品识别模型的识别精度。

除了通过第二物品识别模型对图像中的物品区域进行物品识别外,还可以通过相似检索的方式对图像中的物品区域进行物品识别。通过相似检索的方式对图像中的物品区域进行物品识别是将图像中的物品区域与预先采集好的无人货柜中的所有物品图片库进行对比,如果图像中的物品区域与所有物品图片库中的物品a的图像相似时,则认为该图像中的物品区域对应的物品为该物品a。

4、若第二识别结果对应的置信度大于第一识别结果对应的置信度,则将第二识别结果确定为单次物品取放行为对应的取放物品。

5、若第二识别结果对应的置信度小于第一识别结果对应的置信度,则将第一识别结果确定为单次物品取放行为对应的取放物品。

置信度越高,识别结果越准确,将置信度高的识别结果作为最终单次取放行为对应的取放物品,更合理。

第二、根据单次物品取放行为对应的取放物品,确定n次物品取放行为对应的取放物品总和,得到视觉识别结果。

将每一次得到的物品取放行为对应的取放物品进行累加,得到n次物品取放行为对应的取放物品总和。

例如,第一次物品取放行为对应的取放物品是一瓶可乐,第二次物品取放行为对应的取放物品是一瓶雪碧,则两次物品取放行为对应的取放物品总和是一瓶可乐和一瓶雪碧。

综上所述,本申请实施例提供的技术方案中,当第一物品识别模型从图像中检测到物品时,才对物品进行识别,减轻了计算机设备的工作量。通过对两个识别模型各自得到的识别结果对应的置信度进行比较,选取最大的置信度对应的物品作为单次物品取放行为对应的取放物品,更为合理,使得n次物品取放行为对应的取放物品总和更合理,因此最终得到的视觉识别结果更为准确。

在本申请实施例中,物品识别模型可以由计算机设备训练得到,也可以由其他设备训练得到,再发送给计算机设备,本实施例不对物品识别模型的来源作限定。

当物品识别模型由计算机设备训练得到时,计算机设备先创建物品识别模型;再获取训练样本,该训练样本包括包含物品的图像和用于标注该图像中每个物品的类别和位置的标注信息;最后根据该训练样本对物品识别模型进行训练。

其中,计算机设备可以以任一卷积神经网络的结构模型构建物品识别模型,本实施例不作限定。在一种可能的实现方式中,计算机设备以fssd(featurefusionsingleshotmultiboxdetector,特征融合单镜头多盒检测器)算法构建物品识别模型,fssd算法能够将更多下层(low-level)的特征引入到高层,这样虽然可以获取对小目标更准确的检测,但是,会导致计算量较大。

由于要求计算机设备的计算效率较高(例如480帧/秒),所以,可以对fssd算法中某些层的通道数(channel)进行裁剪,以满足计算效率的需求。

可选地,本申请实施例还通过跟踪算法,如staple算法构建物品识别模型。staple算法是基于相关滤波进行改进的,将hog(histogramoforientedgradient,方向梯度直方图)-kcf(kernelizedcorrelationfilters,核相关滤波器)特征和color(颜色)-kcf特征进行结合来对物品进行跟踪。hog特征对形变和运动模糊比较敏感,但对颜色变化跟踪效果较好;相反,color特征对颜色比较敏感,但是对形变和运动模糊跟踪效果更好。因此,二者的融合能够解决大部分跟踪中碰到的形变、尺度变化、运动模糊、颜色变化等问题。因此,通过staple算法构建的物品识别模型还可以通过根据目标图像帧和至少一张历史图像帧生成物品的移动轨迹,确定用户行为是物品拿取行为还是物品放回行为。例如,物品的移动轨迹是从无人货柜的内部向外部,则确定用户行为是物品拿取行为;物品的移动轨迹是从无人货柜的外部向内部,则确定用户行为是物品放回行为。

如图5所示,其示出了本申请一个实施例提供的应用于无人货柜的物品识别方法的时序图。

1:通过第一物品识别模型对无人货柜中摄像头拍摄的图像进行物品检测;

2:若第一物品识别模型从图像中检测到物品,则通过第一物品识别模型对图像进行物品识别,得到第一识别结果以及第一识别结果对应的置信度;

3:通过第二物品识别模型对图像中的物品区域进行物品识别,得到第二识别结果以及第二识别结果对应的置信度;

4:若第二识别结果对应的置信度大于第一识别结果对应的置信度,则将第二识别结果确定为单次物品取放行为对应的取放物品;

5:若第二识别结果对应的置信度小于第一识别结果对应的置信度,则将第一识别结果确定为单次物品取放行为对应的取放物品;

6:根据单次物品取放行为对应的取放物品,确定n次物品取放行为对应的取放物品总和,得到视觉识别结果;

7:检测视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值是否匹配;

8:若视觉识别结果对应的物品重力变化值与总体实际重力变化值匹配,则将视觉识别结果确定为n次物品取放行为对应的取放物品总和;

9:若视觉识别结果对应的物品重力变化值与总体实际重力变化值不匹配,则检测视觉识别结果和总体实际重力变化值是否满足预设融合规则;

10:若满足预设融合规则,则根据预设融合规则得到n次物品取放行为对应的取放物品总和;

11:若不满足预设融合规则,则生成n次物品取放行为对应的取放物品总和的多种预测结果;

12:对于第i种预测结果中包含的第j个物品,确定第j个物品所属的类别,j为正整数;

13:根据第j个物品所属的类别对应的置信度赋予规则,生成第j个物品对应的置信度;

14:计算第i种预测结果中包含的各个物品对应的置信度的平均值,得到第i种预测结果对应的置信度;

15:将多种预测结果中置信度最大的目标预测结果,确定为n次物品取放行为对应的取放物品总和。

在一个实际应用场景中,以用户购买无人货柜中的物品为例。无人货柜中可以摆放多种供用户选择购买的商品,如饮料、零食、日用品等各种商品。例如,无人货柜分为多层货柜,每一层货柜上放置有售卖的商品,且每一层货柜的下方均设置有重力托盘。另外,无人货柜中安装有至少一个摄像头,无人货柜内部集成有具备计算和处理能力的计算机设备,且无人货柜的柜体上设置或显示有图形码。示例性地,一次完整的物品购买过程如下:

1、用户使用手机等终端扫描上述图形码进行身份验证,绑定用户账户,并解锁无人货柜。无人货柜在解锁之后,其柜门能够被用户打开。

2、用户打开柜门,执行至少一次物品取放行为,在无人货柜中挑选所要购买的物品。

3、在用户挑选物品的过程中,无人货柜能够通过上文介绍的视觉识别技术和重力匹配等手段,识别出用户的每一次物品取放行为是在拿取还是放回物品,且识别出拿取或放回的物品的类别,进而得出在无人货柜的柜门打开期间用户的物品取放行为对应的取放物品总和。

4、挑选完成后,用户关闭无人货柜的柜门。

5、在检测到无人货柜的柜门被关闭之后,计算机设备计算出用户拿取的所有物品的总价,并从用户账户中扣除用户拿取的所有物品的总价。

下面以无人货柜应用于无人超市中进行举例说明。无人超市中至少有一台无人货柜。无人超市设置有门禁设备,门禁设备内置摄像头,可以对用户进行人脸识别,如果用户不是该无人超市的会员,则门禁设备的面板上会显示提示信息,提示用户注册人脸成为该无人超市的会员,并开通账户免密代扣。用户注册成功后,门禁设备打开,用户进入无人超市;如果用户已经是无人超市的会员,门禁设备的摄像头对用户进行人脸识别后,门禁设备自动打开,用户进入无人超市。用户在无人货柜中挑选商品,无人货柜中集成有具备计算和处理能力的计算机设备。无人货柜通过视觉识别技术和重力匹配等手段得到用户在无人货柜中执行的物品取放行为对应的取放物品总和,将该取放物品总和发送到结算台。结算台通过摄像头识别用户人脸以及用户的确认支付手势,自动从用户账户中扣款。如果商品已经结算过,则门禁设备打开,用户可以离开无人超市。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图6,其示出了本申请一个实施例提供的应用于无人货柜的物品识别装置。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置600可以包括:结果获取模块610、重力检测模块620、结果预测模块630、置信度计算模块640和结果确定模块650。

所述结果获取模块610,用于通过视觉识别技术,识别用户在所述无人货柜中执行的n次物品取放行为对应的取放物品总和,得到视觉识别结果,所述n为正整数。

所述重力检测模块620,用于检测所述视觉识别结果对应的物品重力变化值与所述无人货柜对应的总体实际重力变化值是否匹配。

所述结果预测模块630,用于当所述视觉识别结果对应的物品重力变化值与所述总体实际重力变化值不匹配时,生成所述n次物品取放行为对应的取放物品总和的多种预测结果。

所述置信度计算模块640,用于计算所述多种预测结果各自对应的置信度。

所述结果确定模块650,用于将所述多种预测结果中所述置信度最大的目标预测结果,确定为所述n次物品取放行为对应的取放物品总和。

综上所述,本申请实施例提供的技术方案中,通过当视觉识别结果对应的物品重力变化值与无人货柜对应的总体实际重力变化值不匹配时,生成多种预测结果,并计算多种预测结果各自对应的置信度,选取多种预测结果中置信度最大的预测结果,作为最终的取放物品总和,保证了在识别用户拿取的物品类别上的准确率。

可选地,如图7所示,所述置信度计算模块640,包括:置信度生成单元641和置信度计算单元642。

所述置信度生成单元641,用于对于所述多种预测结果中的第i种预测结果,生成所述第i种预测结果中包含的每一个物品对应的置信度,所述i为正整数。

所述置信度计算单元642,用于计算所述第i种预测结果中包含的各个物品对应的置信度的平均值,得到所述第i种预测结果对应的置信度。

可选地,所述置信度生成单元641,包括:类别确定子单元6411和置信度生成子单元6412。

所述类别确定子单元6411,用于对于所述第i种预测结果中包含的第j个物品,确定所述第j个物品所属的类别,所述j为正整数。

所述置信度生成子单元6412,用于根据所述第j个物品所属的类别对应的置信度赋予规则,生成所述第j个物品对应的置信度。

可选地,所述置信度生成子单元6412,用于:

当所述第j个物品属于第一类别时,将所述第j个物品对应的视觉识别置信度与第一阈值之和,确定为所述第j个物品对应的置信度;其中,所述第一类别是指通过所述视觉识别技术在单次物品取放行为中识别得到的且重力匹配的物品;

当所述第j个物品属于第二类别时,将所述第j个物品对应的视觉识别置信度与第二阈值之差,确定为所述第j个物品对应的置信度;其中,所述第二类别是指通过所述视觉识别技术在单次物品取放行为中识别得到的且重力不匹配的物品;

当所述第j个物品属于第三类别时,将第三阈值确定为所述第j个物品对应的置信度;其中,所述第三类别是指在单次物品取放行为中基于重力预测得到的物品;

当所述第j个物品属于第四类别时,将所述第j个物品对应的视觉识别置信度,确定为所述第j个物品对应的置信度;其中,所述第四类别是指通过所述视觉识别技术在所述n次物品取放行为中识别得到过的物品;

当所述第j个物品属于第五类别时,将第四阈值确定为所述第j个物品对应的置信度;其中,所述第五类别是指通过所述视觉识别技术在所述n次物品取放行为中未识别得到过的物品;

其中,所述第j个物品对应的视觉识别置信度,是指通过所述视觉识别技术在识别得到所述第j个物品时输出的置信度。

可选地,所述结果预测模块630,用于根据所述视觉识别结果、所述总体实际重力变化值和所述无人货柜中提供的各个物品的重力值,生成所述多种预测结果。

可选地,所述结果确定模块650,包括:物品识别单元651和结果确定单元652。

所述物品识别单元651,用于通过所述视觉识别技术,识别所述用户在所述无人货柜中执行的单次物品取放行为对应的取放物品。

所述结果确定单元652,用于根据所述单次物品取放行为对应的取放物品,确定所述n次物品取放行为对应的取放物品总和,得到所述视觉识别结果。

可选地,所述物品识别单元651,用于:

通过第一物品识别模型对所述无人货柜中摄像头拍摄的图像进行物品检测;

当所述第一物品识别模型从所述图像中检测到物品时,通过所述第一物品识别模型对所述图像进行物品识别,得到第一识别结果以及所述第一识别结果对应的置信度;

通过第二物品识别模型对所述图像中的物品区域进行物品识别,得到第二识别结果以及所述第二识别结果对应的置信度;

当所述第二识别结果对应的置信度大于所述第一识别结果对应的置信度时,将所述第二识别结果确定为所述单次物品取放行为对应的取放物品;

当所述第二识别结果对应的置信度小于所述第一识别结果对应的置信度时,将所述第一识别结果确定为所述单次物品取放行为对应的取放物品。

可选地,所述装置600还包括:第一检测模块660和物品猜测模块670。

所述第一检测模块660,用于当所述视觉识别结果对应的物品重力变化值与所述总体实际重力变化值不匹配时,检测所述视觉识别结果和所述总体实际重力变化值是否满足预设融合规则。

所述物品猜测模块670,用于当满足所述预设融合规则时,根据所述预设融合规则得到所述n次物品取放行为对应的取放物品总和。

所述结果预测模块630,还用于当不满足所述预设融合规则时,生成所述n次物品取放行为对应的取放物品总和的多种预测结果。

可选地,所述结果确定模块650,还用于当所述视觉识别结果对应的物品重力变化值与所述总体实际重力变化值匹配时,将所述视觉识别结果确定为所述n次物品取放行为对应的取放物品总和。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图8,其示出了本申请一个实施例提供的计算机设备800的结构框图。该计算机设备800是指具备计算和处理能力的电子设备,例如pc、服务器等。该计算机设备800可用于实施上述实施例中提供的应用于无人货柜中的物品识别方法。

通常,计算机设备800包括有:处理器801和存储器802。

处理器801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器801可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(fieldprogrammablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器801可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器801还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器801所执行以实现本申请中方法实施例提供的应用于无人货柜的物品识别方法。

在一些实施例中,终端800还可选包括有:外围设备接口803和至少一个外围设备。处理器801、存储器802和外围设备接口803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口803相连。具体地,外围设备可以包括:显示屏804、音频电路805、通信接口806和电源807中的至少一种。

本领域技术人员可以理解,图8中示出的结构并不构成对计算机设备800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例中实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述应用于无人货柜的物品识别方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述应用于无人货柜的物品识别方法。

可选地,上述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述应用于无人货柜的物品识别方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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