商品的货架层列获取方法、终端、存储装置与流程

专利2022-05-09  57


本发明涉及货架盘点技术领域,尤其涉及一种商品的货架层列获取方法、终端、存储装置。



背景技术:

商品层列计算指的是计算每个商品位于货架上的层(行)和列的位置。现有的技术是拍摄货架的层列图像,根据层列图像得到商品的检测框信息,以图像中检测框的水平方向为准搜索相邻的框并连接起来,从而形成商品摆放的货架层,再根据货架层内的顺序确定列的位置。

其中,当拍摄角度垂直于货架平面时,层列图像中同一层商品基本处于同一水平高度上,以商品检测框的水平方向为准进行搜索,可以计算商品的层列信息。现实情况是很多商品货架前方的空间小,难以在货架前方进行垂直拍摄。对货架的拍摄采取在货架侧面拍摄的方式,其拍摄方向与货架平面的夹角远小于90度。

从货架侧面拍摄时,层列图像中同一货架层的商品就保持水平,如果从水平方向为准进行搜索,就可能连接到不同层的商品。此外,由于摆放的商品大小各异,导致图像算法识别的商品检测框精确度,相邻层的商品检测框和异常的商品检测框容易会被误分到同一货架层中。因此,现有的识别方式,识别准确性差,难以获取商品的层列位置信息,不利于对商品进行盘点和管理。



技术实现要素:

为了克服现有技术的不足,本发明提出一种商品的货架层列获取方法、终端、存储装置,通过层列图像获取商品集合、价格牌集合,通过价格牌集合识别价格牌所在层,利用相同所在层的价格牌得到货架层的方向直线,并利用该方向直线确定位于相同货架层的商品,能够通过价格牌获取方向直线的方式降低了拍摄角度对商品层列信息计算的影响,并且能够通过方向直线的隔离作用避免不同层的商品被误分到同一层中,提高了商品层列位置计算的准确性,便于对商品进行盘点和管理。

为解决上述问题,本发明采用的一种商品的货架层列获取方法,所述商品的货架层列获取方法包括:s101:根据货架的层列图像获取层列对象集合,所述层列对象集合存储层列对象的位置信息、大小信息,包括价格牌集合、商品集合,所述层列对象包括价格牌、商品;s102:根据所述价格牌集合获取价格牌的相邻价格牌,根据所述价格牌与所述相邻价格牌形成的第一连接线确定第一相邻价格牌,并将所在层相同的价格牌放入同一个第一层候选集中,通过所述第一层候选集获取价格牌所在层的方向直线,其中,所述价格牌与所述第一相邻价格牌的所在层相同;s103:根据所述商品集合、方向直线获取所述商品的相邻商品,根据所述商品与所述相邻商品的第二连接线确定第一相邻商品,并将所在层相同的商品放入同一个第二层候选集中,其中,所述商品与所述第一相邻商品的所在层相同;s104:根据所述第二层候选集中商品的位置信息排序获取商品的列位置。

进一步地,所述根据货架的层列图像获取层列对象集合的步骤具体包括:识别所述层列图像中的价格牌、商品,根据识别结果形成价格牌集合、商品集合。

进一步地,所述根据所述价格牌集合获取价格牌的相邻价格牌的步骤具体包括:根据所述价格牌的位置信息确定所述价格牌的中心,通过所述中心、所述价格牌的高获取价格牌检测域,并利用所述价格牌检测域获取所述价格牌的相邻价格牌。

进一步地,所述根据所述价格牌与所述相邻价格牌形成的第一连接线确定第一相邻价格牌的步骤具体包括:判断所述第一连接线的夹角是否小于预设角度;若是,则从所述价格牌集合中移除所述价格牌;若否,则确定所述相邻价格牌为第一相邻价格牌。

进一步地,所述通过所述第一层候选集获取价格牌所在层的方向直线的步骤具体包括:通过线性回归算法识别和剔除异常价格牌,并拟合方向直线。

进一步地,所述根据所述商品集合、方向直线获取所述商品的相邻商品的步骤具体包括:根据所述商品的位置信息确定所述商品的中心,并通过距离所述中心最近的方向直线形成商品检测域,沿所述方向直线搜索所述商品的相邻商品。

进一步地,所述根据所述第二层候选集中商品的位置信息排序获取商品的列位置的步骤具体包括:获取所述位置信息对应的二维坐标系中与所述方向直线的夹角最小的坐标轴,根据所述第二层候选集中每个元素在所述坐标轴上的坐标值以及坐标值排序,根据所述坐标值排序确定所述商品的层列位置。

进一步地,所述根据所述第二层候选集中商品的位置信息排序获取商品的列位置的步骤之后还包括:获取元素数量小于预设阈值的第二层候选集,根据所述第二层候选集中的元素在另一个坐标轴上的坐标值进行排序,通过排序结果确定所述元素对应的商品的层位置。

基于相同的发明构思,本发明还提出一种智能终端,所述智能终端包括处理器、存储器,所述处理器与所述存储器通信连接,所述存储器存储有计算机程序,所述处理器根据所述计算机程序执行如上所述的商品的货架层列获取方法。

基于相同的发明构思,本发明还提出一种存储装置,存储装置存储有程序数据,所述程序数据被用于执行如上所述的商品的货架层列获取方法。

相比现有技术,本发明的有益效果在于:通过层列图像获取商品集合、价格牌集合,通过价格牌集合识别价格牌所在层,利用相同所在层的价格牌得到货架层的方向直线,并利用该方向直线确定位于相同货架层的商品,能够通过价格牌获取方向直线的方式降低了拍摄角度对商品层列信息计算的影响,并且能够通过方向直线的隔离作用避免不同层的商品被误分到同一层中,提高了商品层列位置计算的准确性,便于对商品进行盘点和管理。

附图说明

图1为本发明商品的货架层列获取方法一实施例的流程图;

图2为本发明商品的货架层列获取方法中价格牌的相邻价格牌搜索一实施例的流程图;

图3为本发明智能终端一实施例的结构图;

图4为本发明存储装置一实施例的结构图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

请参阅图1-2,其中,图1为本发明商品的货架层列获取方法一实施例的流程图;图2为本发明商品的货架层列获取方法中价格牌的相邻价格牌搜索一实施例的流程图。结合图1-2对本发明的商品的货架层列获取方法进行说明。

在本实施例中,执行该商品的货架层列获取方法的设备可以为电脑、服务器、控制平台以及其他能够获取价格牌集合、商品集合,根据该价格牌集合、商品集合确定商品的货架层列获取方法的智能终端。其中,商品的货架层列获取方法包括:

s101:根据货架的层列图像获取层列对象集合,层列对象集合存储层列对象的位置信息、大小信息,包括价格牌集合、商品集合,层列对象包括价格牌、商品。

在本实施例中,根据货架的层列图像获取层列对象集合的步骤具体包括:识别层列图像中的价格牌、商品,根据识别结果形成价格牌集合、商品集合。

在本实施例中,价格牌和商品的位置信息、大小信息为价格牌、商品对应的价格牌检测框、商品检测框在层列图像中的位置信息、大小信息。

在一个具体的实施例中,以层列图像左上角为原点,层列图像的横向为x轴,纵向为y轴,通过该x轴、y轴形成坐标系。并利用图像识别算法或模型识别层列图像中的价格牌、商品,将该价格牌、商品对应的价格牌检测框、商品检测框分别放入价格牌集合、商品集合中,其中,价格牌检测框包含该价格牌检测框的在坐标系中的位置信息、大小信息,商品检测框包含该商品在坐标系中的位置信息、大小信息。

s102:根据价格牌集合获取价格牌的相邻价格牌,根据价格牌与相邻价格牌形成的第一连接线确定第一相邻价格牌,并将所在层列相同的价格牌放入同一个第一层候选集中,通过第一层候选集获取价格牌所在层的方向直线,其中,价格牌与第一相邻价格牌的所在层相同。

在本实施例中,根据价格牌集合获取价格牌的相邻价格牌的步骤具体包括:根据价格牌的位置信息确定价格牌的中心,通过中心、价格牌的高获取价格牌检测域,并利用价格牌检测域获取价格牌的相邻价格牌。其中,通过价格牌对应的价格牌检测框的位置信息确定价格牌的中心的坐标。

在本实施例中,价格牌检测域的中心线穿过价格牌的中心,价格牌的中心距离价格牌检测域两边的距离为价格牌高的1.5倍。且价格牌检测域沿层列图像的水平方向延伸至价格牌的两侧。

在其他实施例中,价格牌的中心距离价格牌检测域两边的距离为价格牌高的1倍、2倍以及其他倍数。

在本实施例中,获取价格牌检测域后,沿价格牌的两侧水平搜索与价格牌检测域重叠的被搜索价格牌,并得到该被搜索价格牌在层列图像x的轴方向上与作为搜索起点的价格牌之间的距离,将价格牌两侧距离最小的被搜索价格牌作为该价格牌的相邻价格牌。

在一个具体的实施例中,在价格牌集合s中选定任意一个价格牌a作为起点。价格牌a对应的价格牌检测框的尺寸为(h,w),以该检测框的中心点(x_mid,y_mid)作为中心,(y_mid-3h/2,y_mid 3h/2)为价格牌检测域的两条边上距离中心点最近的点的坐标,从水平方向出发向左搜索,找到与该邻域有重叠并在x轴方向距离最近的相邻价格牌l;以上述方式向右搜索找到右侧相邻的价格牌r。将价格牌l和价格牌r作为价格牌a的相邻价格牌。

在本实施例中,根据价格牌与相邻价格牌形成的第一连接线确定第一相邻价格牌的步骤具体包括:判断第一连接线的夹角是否小于预设角度;若是,则从价格牌集合中移除价格牌;若否,则确定相邻价格牌为第一相邻价格牌。其中,第一连接线的夹角为价格牌与其两侧的相邻价格牌形成的夹角。将第一相邻价格牌确定为与作为起点的价格牌位于货架的同一层。

在其他实施例中,也可以在确定夹角小于预设角度时,将该价格牌放入异常价格牌对应的层候选集。

在本实施例中,预设角度为160度,在其他实施例中,预设角度也可以为150度、155度以及其他度数,在此不做限定。

在本实施例中,获取价格牌的第一相邻价格牌后,将价格牌从价格牌集合中移入第一层候选集,以第一相邻价格牌为起点,继续向水平两侧搜索价格牌集合中位于同一层的价格牌,直至搜索的相邻价格牌与作为起点的价格牌的第一连接线的夹角小于预设角度。

在一个具体的实施例中,价格牌集合为集合s,作为起点的价格牌为价格牌a,相邻价格牌为价格牌r、价格牌l,当价格牌a与l、r的连线夹角小于160度时,把a从集合s中删除,并从集合s中另选一个价格牌进行搜索。当价格牌a与l、r的连线夹角大于160度时,将a加入空的第一层候选集l。以l作为起点,向左持续搜索,直到某个价格牌与左、右相邻价格牌的连线夹角小于160度时停止,将搜索到并满足夹角条件的价格牌加入第一层候选集l;以r作为起点,以上述方式向右持续搜索直至停止,将搜索到并满足夹角条件的价格牌也加入第一层候选集l。

在本实施例中,通过第一层候选集获取价格牌所在层的方向直线的步骤具体包括:通过线性回归算法识别和剔除异常价格牌,并拟合方向直线。

其中,在通过第一层候选集获取价格牌所在的方向直线之前,还需要判断第一层候选集中的元素数量是否大于预设数值。若大于预设数值,则获取方向直线,若不大于,则继续搜索相邻价格牌以及将与第一层候选集中元素的连接线夹角小于预设角度的价格牌放入第一层候选集。

在本实施例中,预设数值为3,在其他实施例中,预设数值也可以为4、5、6以及其他数值。

在一个具体的实施例中,预设数值为3,在确定第一层候选集中的价格牌数量大于3个后,使用随机抽样一致性的线性回归算法,能够识别和剔除异常价格牌(非同一层的价格牌),并利用未被剔除的价格牌拟合出方向直线。该方向直线可以为邻近的商品所在层提供层的方向信息,并作为相邻商品所在层之间的隔离信息。

在上述实施例中,持续搜索价格牌的相邻价格牌,并将位于同一层的价格牌放入同一个第一层候选集中,直至确定价格牌候选集中的元素为零。

s103:根据商品集合、方向直线获取商品的相邻商品,根据商品与相邻商品的第二连接线确定第一相邻商品,并将所在层相同的商品放入同一个第二层候选集中,其中,商品与第一相邻商品的所在层相同。

在本实施例中,根据商品集合、方向直线获取商品的相邻商品的步骤具体包括:根据商品的位置信息确定商品的中心,并通过距离中心最近的方向直线形成商品检测域,沿方向直线搜索商品的相邻商品。

在本实施例中,根据商品与相邻商品的第二连接线确定第一相邻商品,并将所在层相同的商品放入同一个第二层候选集中的执行步骤与上文搜索第一价格牌以及将所在层相同的价格牌放入同一个第一层候选集的步骤相同,在此不做详细描述。

在一个具体的实施例中,在商品集合s中随机选择一个商品a作为起点。商品a对应的商品检测框的尺寸为(h,w),以该检测框的中心点(x_mid,y_mid)作为中心,(y_mid-3h/2,y_mid 3h/2)为商品检测域的两条边上距离中心点最近的点的坐标。选择距离该点最近的方向直线的方向作为商品检测域的延伸方法。在商品检测域范围内搜索与商品检测域重叠的相邻商品,从方向直线的方向出发向左搜索,找到与该商品检测域有重叠并在x轴方向距离最近的商品l;以上述方式向右搜索找到右侧相邻的商品r。并在商品a、l、r的第二连接线的夹角大于预设角度时,将商品a加入空的第二层候选集l。以商品l作为起点,以上述方式作为向左持续搜索,直到在商品检测范围找不到商品为止。同样,以r作为起点,以上述方式向右持续搜索直到停止。将搜索到的商品加入到层候选集。

在上述实施例中,持续搜索商品的相邻商品,并将位于同一层的商品放入同一个第二层候选集中,直至确定商品候选集中的元素为零。

s104:根据第二层候选集中商品的位置信息排序获取商品的列位置。

在本实施例中,根据第二层候选集中商品的位置信息排序获取商品的列位置的步骤具体包括:获取位置信息对应的二维坐标系中与方向直线的夹角最小的坐标轴,根据第二层候选集中每个元素在坐标轴上的坐标值以及坐标值排序,根据坐标值排序确定商品的层列位置。

在一个具体的实施例中,将第二层候选集中的商品按照商品对应的商品检测框左上角在层列图像中的x轴坐标进行排序,并将该排序结果作为同一层的商品在货架上的列位置。

在本实施例中,由于存在货架的部分层商品很少,导致该层的商品被识别为异常商品,根据第二层候选集中商品的位置信息排序获取商品的列位置的步骤之后还包括:获取元素数量小于预设阈值的第二层候选集,根据第二层候选集中的元素在另一个坐标轴上的坐标值进行排序,通过排序结果确定元素对应的商品的层位置。

在本实施例中,预设阈值可根据应用环境以及用户需求进行设置,在此不做限定。

本发明的有益效果在于:通过层列图像获取商品集合、价格牌集合,通过价格牌集合识别价格牌所在层,利用相同所在层的价格牌得到货架层的方向直线,并利用该方向直线确定位于相同货架层的商品,能够通过价格牌获取方向直线的方式降低了拍摄角度对商品层列信息计算的影响,并且能够通过方向直线的隔离作用避免不同层的商品被误分到同一层中,提高了商品层列位置计算的准确性,便于对商品进行盘点和管理。

基于相同的发明构思,本发明还提出一种智能终端,请参阅图3,图3为本发明智能终端一实施例的结构图,结合图3对本发明的智能终端进行说明。

在本实施例中,智能终端包括处理器、存储器,处理器与存储器通信连接,存储器存储有计算机程序,处理器根据该计算机程序实现如上述实施例所述的商品的货架层列获取方法。

其中,处理器用于控制该智能终端的整体操作,以完成上述的商品的货架层列获取方法中的全部或部分步骤。存储器用于存储各种类型的数据以支持在该智能终端的操作,这些数据例如可以包括用于在该智能终端上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static方向直线random方向直线access方向直线memory,简称sram),电可擦除可编程只读存储器(electrically方向直线erasable方向直线programmable方向直线read-only方向直线memory,简称eeprom),可擦除可编程只读存储器(erasable方向直线programmable方向直线read-only方向直线memory,简称eprom),可编程只读存储器(programmable方向直线read-only方向直线memory,简称prom),只读存储器(read-only方向直线memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

基于相同的发明构思,本发明还提出一种存储装置,请参阅图4,图4为本发明存储装置一实施例的结构图,结合图4对本发明的存储装置进行说明。

在本实施例中,存储装置存储有程序数据,该程序数据被用于执行如上述实施例所述的商品的货架层列获取方法。

其中,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

转载请注明原文地址:https://doc.8miu.com/read-350120.html

最新回复(0)