货架分层方法及装置与流程

文档序号:30182465发布日期:2022-05-26 14:31阅读:486来源:国知局
货架分层方法及装置与流程

1.本技术属于智慧零售技术领域,具体涉及一种货架分层方法及装置。


背景技术:

2.随着人工智能的快速发展,智慧零售也在人工智能技术的支持下得到了快速地发展。智能机器人和智能相机等一系列人工智能设备开始涌入大型商超,为超市提供各种可视化、智能化解决方案,例如:货架缺货检测、货架陈列督查、货架商品摆放推荐、商品销售报表等等。
3.在一系列智能解决方案中,对于货架的可视化方案是必不缺少的。货架的可视化可以用于后台实时监督货架商品的摆放、销售及其数据分析。为了提高货架可视化的高效服务型,为货架进行分层变得尤为重要。货架的分层设置不仅可以提高货架可视化的视觉体验,还可以提醒销售人员对于某个货架某层的缺货商品进行及时补货。
4.目前现有的货架分层方法是先检测货架的层板的横截面,然后将横截面所在位置作为该层层板的位置,最终实现货架分层。
5.发明人在研究过程中发现现有的货架分层技术当前至少存在以下问题:货架层板横截面在实际场景下呈现出来的特征决定了层板检测的难易程度。然而,超市货架横截面在实际场景下普遍存在以下几个问题:(1)层板整体颜色较深,横截面与层板整体融为一体,最外侧横截面矩形无明显边框;(2)货架与货架之间排列紧密,导致相邻层板之间紧密结合,相邻层板之间无明显的区分性特征;(3)货架层板太薄,在图像数据采集的过程中,无法呈现出明显的外侧横截面特征;(4)受超市内部环境的影响,层板横截面可能会受灯光照射而反光、灯光照射商品后在层板横截面上呈现阴影、甚至可能存在商品遮挡层板横截面的问题。以上一系列问题均会影响层板检测的效果。


技术实现要素:

6.本技术实施例的目的是提供一种货架分层方法和装置,能够解决目前现有技术过分依赖货架层板横截面在实际场景下呈现出来的特征,在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时影响货架分层准确性的技术问题。
7.为了解决上述技术问题,本技术是这样实现的:
8.第一方面,本技术实施例提供了一种货架分层方法,包括:
9.s101:获取货架图像;
10.s102:通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对所述货架进行分层。
11.进一步地,通过所述商品排面检测方法对所述货架进行分层,具体包括:
12.s201:通过商品排面检测算法,对所述货架中的所有商品使用检测框进行标记;
13.s202:计算各个商品检测框的中心点纵坐标;
14.s203:挑选出一个目标商品,计算目标商品检测框与剩余的商品检测框之间的中
心点纵坐标的差值,并对所述差值取绝对值;
15.s204:在某一商品检测框与所述目标商品检测框之间的中心点纵坐标的差值的绝对值小于第一阈值的情况下,确定该商品与所述目标商品处于同一货架层;
16.s205:挑选出下一个目标商品,重复上述步骤s203和s204,直至将所有商品归类到相应的货架层;
17.s206:根据每一货架层中各个商品检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第n层;
18.s207:根据每一货架层中各个商品检测框的右下角纵坐标的最小值,确定每一货架层的层划分线;
19.s208:根据各个所述层划分线对所述货架进行分层。
20.进一步地,通过所述商品价签检测方法对所述货架进行分层,具体包括:
21.s301:通过商品价签检测算法,对所述货架中的所有价签使用检测框进行标记;
22.s302:计算各个价签检测框的中心点纵坐标;
23.s303:挑选出一个目标价签,计算目标价签检测框与剩余的价签检测框之间的中心点纵坐标的差值,并对所述差值取绝对值;
24.s304:在某一价签检测框与所述目标价签检测框之间的中心点纵坐标的差值的绝对值小于第二阈值的情况下,确定该价签与所述目标价签处于同一货架层;
25.s305:挑选出下一个目标价签,重复上述步骤s303和s304,直至将所有价签归类到相应的货架层;
26.s306:根据每一货架层中各个价签检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第m层;
27.s307:根据每一货架层中各个价签检测框的中心点纵坐标的最小值,确定每一货架层的层划分线;
28.s308:根据各个所述层划分线对所述货架进行分层。
29.进一步地,通过所述条形屏检测方法对所述货架进行分层,具体包括:
30.s401:通过条形屏检测算法,对所述货架中的所有条形屏使用检测框进行标记;
31.s402:计算各个条形屏检测框的中心点纵坐标;
32.s403:根据每一货架层中各个条形屏检测框的中心点纵坐标,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第p层;
33.s404:根据每一货架层中各个条形屏检测框的中心点纵坐标,确定每一货架层的层划分线;
34.s405:根据各个所述层划分线对所述货架进行分层。
35.进一步地,通过所述商品排面检测方法与所述商品价签检测方法的组合对所述货架进行分层,具体包括:
36.s501:通过步骤s201至s208,单独使用所述商品排面检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第一列表中;
37.s502:通过步骤s301至s308,单独使用所述商品价签检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第二列表中;
38.s503:在所述第一列表中的货架层数与所述第二列表中的货架层数一致的情况
下,按照所述商品价签检测方法设置所述层划分线;
39.s504:在所述第一列表中的货架层数与所述第二列表中的货架层数不一致的情况下,以所述第一列表为基础,对所述第二列表进行匹配处理;在所述第一列表中的基础数值与所述第二列表的匹配数值之间的差值的绝对值小于第三阈值的情况下,确定所述基础数值与所述匹配数值完成匹配,所述基础数值对应的货架层与所述匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
40.s505:在某一货架层存在通过所述商品价签检测方法获得的层划分线的情况下,以所述商品价签检测方法获得的层划分线作为最终的层划分线;否则,以所述商品排面检测方法获得的层划分线作为最终的层划分线。
41.进一步地,通过所述商品排面检测方法与所述条形屏检测方法的组合对所述货架进行分层,具体包括:
42.s601:通过步骤s201至s208,单独使用所述商品排面检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第三列表中;
43.s602:通过步骤s401至s405,单独使用所述条形屏检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第四列表中;
44.s603:在所述第三列表中的货架层数与所述第四列表中的货架层数一致的情况下,按照所述条形屏检测方法设置所述层划分线;
45.s604:在所述第三列表中的货架层数与所述第四列表中的货架层数不一致的情况下,以所述第三列表为基础,对所述第四列表进行匹配处理;在所述第三列表中的基础数值与所述第四列表的匹配数值之间的差值的绝对值小于第四阈值的情况下,确定所述基础数值与所述匹配数值完成匹配,所述基础数值对应的货架层与所述匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
46.s605:在某一货架层存在通过所述条形屏检测方法获得的层划分线的情况下,以所述条形屏检测方法获得的层划分线作为最终的层划分线;否则,以所述商品排面检测方法获得的层划分线作为最终的层划分线。
47.第二方面,本技术实施例提供了一种货架分层装置,包括:
48.获取模块,用于获取货架图像;
49.分层模块,用于通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对所述货架进行分层。
50.进一步地,所述分层模块具体包括:
51.第一标记子模块,用于通过商品排面检测算法,对所述货架中的所有商品使用检测框进行标记;
52.第一计算子模块,用于计算各个商品检测框的中心点纵坐标;
53.第一差值子模块,用于挑选出一个目标商品,计算目标商品检测框与剩余的商品检测框之间的中心点纵坐标的差值,并对所述差值取绝对值;
54.第一确定子模块,用于在某一商品检测框与所述目标商品检测框之间的中心点纵坐标的差值的绝对值小于第一阈值的情况下,确定该商品与所述目标商品处于同一货架
层;
55.第一归类子模块,用于挑选出下一个目标商品,调用所述第一差值子模块和所述第一确定子模块,直至将所有商品归类到相应的货架层;
56.第一排序子模块,用于根据每一货架层中各个商品检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第n层;
57.第一划分子模块,用于根据每一货架层中各个商品检测框的右下角纵坐标的最小值,确定每一货架层的层划分线;
58.第一分层子模块,用于根据各个所述层划分线对所述货架进行分层。
59.进一步地,所述分层模块还包括:
60.第二标记子模块,用于通过商品价签检测算法,对所述货架中的所有价签使用检测框进行标记;
61.第二计算子模块,用于计算各个价签检测框的中心点纵坐标;
62.第二差值子模块,用于挑选出一个目标价签,计算目标价签检测框与剩余的价签检测框之间的中心点纵坐标的差值,并对所述差值取绝对值;
63.第二确定子模块,用于在某一价签检测框与所述目标价签检测框之间的中心点纵坐标的差值的绝对值小于第二阈值的情况下,确定该价签与所述目标价签处于同一货架层;
64.第二归类子模块,用于挑选出下一个目标价签,调用所述第二差值子模块和所述第二确定子模块,直至将所有价签归类到相应的货架层;
65.第二排序子模块,用于根据每一货架层中各个价签检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第m层;
66.第二划分子模块,用于根据每一货架层中各个价签检测框的中心点纵坐标的最小值,确定每一货架层的层划分线;
67.第二分层子模块,用于根据各个所述层划分线对所述货架进行分层。
68.进一步地,所述分层模块还包括:
69.第三标记子模块,用于通过条形屏检测算法,对所述货架中的所有条形屏使用检测框进行标记;
70.第三计算子模块,用于计算各个条形屏检测框的中心点纵坐标;
71.第三排序子模块,用于根据每一货架层中各个条形屏检测框的中心点纵坐标,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第p层;
72.第三划分子模块,用于根据每一货架层中各个条形屏检测框的中心点纵坐标,确定每一货架层的层划分线;
73.第三分层子模块,用于根据各个所述层划分线对所述货架进行分层。
74.进一步地,所述分层模块具体包括:
75.第一记录子模块,用于单独使用所述商品排面检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第一列表中;
76.第二记录子模块,用于单独使用所述商品价签检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第二列表中;
77.第一设置子模块,用于在所述第一列表中的货架层数与所述第二列表中的货架层
数一致的情况下,按照所述商品价签检测方法设置所述层划分线;
78.第一匹配子模块,用于在所述第一列表中的货架层数与所述第二列表中的货架层数不一致的情况下,以所述第一列表为基础,对所述第二列表进行匹配处理;在所述第一列表中的基础数值与所述第二列表的匹配数值之间的差值的绝对值小于第三阈值的情况下,确定所述基础数值与所述匹配数值完成匹配,所述基础数值对应的货架层与所述匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
79.第四划分子模块,用于在某一货架层存在通过所述商品价签检测方法获得的层划分线的情况下,以所述商品价签检测方法获得的层划分线作为最终的层划分线;否则,以所述商品排面检测方法获得的层划分线作为最终的层划分线。
80.进一步地,所述分层模块还包括:
81.第三记录子模块,用于单独使用所述商品排面检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第三列表中;
82.第四记录子模块,用于单独使用所述条形屏检测方法对所述货架进行分层,将每一货架层的所述层划分线的纵坐标按照从小到大的顺序记录在第四列表中;
83.第二设置子模块,用于在所述第三列表中的货架层数与所述第四列表中的货架层数一致的情况下,按照所述条形屏检测方法设置所述层划分线;
84.第二匹配子模块,用于在所述第三列表中的货架层数与所述第四列表中的货架层数不一致的情况下,以所述第三列表为基础,对所述第四列表进行匹配处理;在所述第三列表中的基础数值与所述第四列表的匹配数值之间的差值的绝对值小于第四阈值的情况下,确定所述基础数值与所述匹配数值完成匹配,所述基础数值对应的货架层与所述匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
85.第五划分子模块,用于在某一货架层存在通过所述条形屏检测方法获得的层划分线的情况下,以所述条形屏检测方法获得的层划分线作为最终的层划分线;否则,以所述商品排面检测方法获得的层划分线作为最终的层划分线。
86.在本技术实施例中,获取货架图像,通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对所述货架进行分层,货架分层依据于商品排面、商品价签以及条形屏,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
附图说明
87.图1是本技术实施例提供的一种货架分层方法的流程示意图之一;
88.图2是本技术实施例提供的一种图像具体获取方式示意图之一;
89.图3是本技术实施例提供的一种图像具体获取方式示意图之二;
90.图4是本技术实施例提供的一种图像具体获取方式示意图之三;
91.图5是本技术实施例提供的一种货架分层方法的流程示意图之二;
92.图6是本技术实施例提供的一种货架示意图之一;
93.图7是本技术实施例提供的一种货架示意图之二;
94.图8是本技术实施例提供的一种货架分层方法的流程示意图之三;
95.图9是本技术实施例提供的一种货架示意图之三;
96.图10是本技术实施例提供的一种货架示意图之四;
97.图11是本技术实施例提供的一种货架分层方法的流程示意图之四;
98.图12是本技术实施例提供的一种货架示意图之五;
99.图13是本技术实施例提供的一种货架分层方法的流程示意图之五;
100.图14是本技术实施例提供的一种货架示意图之六;
101.图15是本技术实施例提供的一种数据匹配示意图;
102.图16是本技术实施例提供的一种货架分层方法的流程示意图之六;
103.图17是本技术实施例提供的一种货架示意图之七;
104.图18是本技术实施例提供的一种货架分层装置的结构示意图。
105.本发明目的的实现、功能特点及优点将结合实施例、参照附图做进一步说明。
具体实施方式
106.为使本发明的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
107.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
108.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的货架分层方法进行详细地说明。
109.实施例一
110.参照图1,示出了本技术实施例提供的一种货架分层方法的流程示意图。
111.本技术提供的一种货架分层方法,包括:
112.s101:获取货架图像。
113.参照图2至4,示出了三种图像的具体获取方式。
114.可选地,在货架的对面设置固定相机,通过固定相机拍摄货架图像。
115.可选地,在机器人上设置摄像头,通过机器人智能化地拍摄货架图像。
116.可选地,人工通过手机摄像头拍摄货架图像。
117.本技术实施例对于获取货架图像的具体方式不做限制。
118.s102:通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对货架进行分层。其中,位置信息可以以坐标的形式进行展示。
119.其中,商品排面是指商品10在货架上的具体陈列方式;商品价签20是指标注商品名称、商品价格等信息的电子价签;条形屏30是指设置在中间货架层板上的用于显示商品
名称、商品价格等信息的条状显示屏。
120.需要说明的是,可以单独地采用商品排面检测方法、商品价签检测方法或者条形屏检测方法中任意一者对货架进行分层。避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
121.也可以采用商品排面检测方法和商品价签检测方法的组合对货架进行分层。还可以采用商品排面检测方法和条形屏检测方法的组合对货架进行分层。通过两者的组合进行货架分层时,可以在商品、商品价签、条形屏中某一者被遮挡时,利用另一者作为补充,以应当各种复杂的实际场景环境,进一步地提高货架分层的准确性。
122.参照图5,图5示出了本技术实施例提供的另一种货架分层方法。
123.单独通过商品排面检测方法对货架进行分层时,可以采用以下步骤:
124.s201:通过商品排面检测算法,对货架中的所有商品10使用检测框进行标记。
125.参照图6,图6示出了本技术实施例提供的一种货架示意图。
126.通过商品排面检测算法可以为货架上的所有商品10添加检测框。
127.可选地,检测框为商品10在货架图像中的最小外接矩形。
128.s202:计算各个商品检测框的中心点纵坐标。
129.其中,可以将货架图像中各个商品检测框的中心点纵坐标记录在统计表中以便于后续的处理。
130.s203:挑选出一个目标商品,计算目标商品检测框与剩余的商品检测框之间的中心点纵坐标的差值d1,并对差值取绝对值。
131.其中,可以通过随机的方式挑选出目标商品,也可以按照一定的顺序挑选出目标商品,具体地,可以按照从上至下、从左至右的顺序依次挑选出目标商品。
132.其中,可以根据目标商品检测框与剩余的商品检测框之间的中心点纵坐标的差值d1,判断目标商品与剩余的商品是否处于同一高度,进而判断是否位于同一货架层。
133.s204:在某一商品检测框与目标商品检测框之间的中心点纵坐标的差值d1的绝对值小于第一阈值的情况下,确定该商品与目标商品处于同一货架层。
134.其中,第一阈值的具体大小可以根据实际情况选定,在本技术实施例中不做限定。
135.在某一商品检测框与目标商品检测框之间的中心点纵坐标的差值d1的绝对值小于第一阈值的情况下,说明该商品与目标商品大致处于同一高度,进而可以确定该商品与目标商品处于同一货架层。
136.相应地,在某一商品检测框与目标商品检测框之间的中心点纵坐标的差值d1的绝对值大于或者等于第一阈值的情况下,可以确定该商品与目标商品不处于同一货架层。
137.s205:挑选出下一个目标商品,重复上述步骤s203和s204,直至将所有商品归类到相应的货架层。
138.也就是说在s205中,需要判断是否所有的商品10均已经归类到相应的货架层。在所有的商品10均已经归类到相应的货架层的情况下执行s206;否则,转而继续执行s203和s204,直至所有的商品10均已经归类到相应的货架层。
139.s206:根据每一货架层中各个商品检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第n层。
140.可选地,也根据其他的排序规则进行排序,例如可以按照从大到小对各个货架层进行排序。
141.如图6中所示,最上层的各个商品的中心点纵坐标的最小值大于中间层的各个商品的中心点纵坐标的最小值,而中间层的各个商品的中心点纵坐标的最小值大于最底层的各个商品的中心点纵坐标的最小值。此时根据从小到大的顺序进行排序时,最底层货架标记为第一层货架,中间层货架标记为第二层货架,依次类推,直至标记出第n层货架。
142.s207:根据每一货架层中各个商品检测框的右下角纵坐标的最小值,确定每一货架层的层划分线。
143.其中,商品检测框的下端更加贴近于货架中间层板,因此在商品检测框的下端选取划分点。尤其是下端的纵坐标值最小的商品检测框更加贴近于货架中间层板,因此选取每一货架层中各个商品检测框的右下角纵坐标的最小值确定每一货架层的层划分线。
144.可选地,也可以选取各个商品检测框的左下角纵坐标的最小值确定每一货架层的层划分线。
145.可选地,层划分线为一条水平线,且该水平线经过各个商品检测框的右下角中纵坐标最小的点。
146.参照图7,图7示出了本技术实施例提供的另一种货架示意图。
147.图7中,从左至右数的倒数第二个商品检测框更加贴近于货架中间层板,其商品检测框的左下角纵坐标最小,因此依据倒数第二个商品检测框的左下角确定层划分线。
148.s208:根据各个层划分线对货架进行分层。
149.具体地,将两条层划分线之间的区域划归为一个货架层。
150.采用商品排面检测方法对货架进行分层,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
151.参照图8,图8示出了本技术实施例提供的又一种货架分层方法。
152.具体地,单独通过商品价签检测方法对货架进行分层时,可以采用以下步骤:
153.s301:通过商品价签检测算法,对货架中的所有价签使用检测框进行标记。
154.参照图9,图9示出了本技术实施例提供的又一种货架示意图。
155.通过商品价签检测算法可以为货架上的所有价签20添加检测框。
156.可选地,检测框为价签20在货架图像中的最小外接矩形。
157.s302:计算各个价签检测框的中心点纵坐标。
158.其中,可以将货架图像中各个价签检测框的中心点纵坐标记录在统计表中以便于后续的处理。
159.s303:挑选出一个目标价签,计算目标价签检测框与剩余的价签检测框之间的中心点纵坐标的差值d2,并对差值取绝对值。
160.其中,可以通过随机的方式挑选出目标价签,也可以按照一定的顺序挑选出目标价签,具体地,可以按照从上至下、从左至右的顺序依次挑选出目标价签。
161.其中,可以根据目标价签检测框与剩余的价签检测框之间的中心点纵坐标的差值d2,判断目标价签与剩余的价签是否处于同一高度,进而判断是否位于同一货架层。
162.s304:在某一价签检测框与目标价签检测框之间的中心点纵坐标的差值d2的绝对
值小于第二阈值的情况下,确定该价签与目标价签处于同一货架层。
163.其中,第二阈值的具体大小可以根据实际情况选定,在本技术实施例中不做限定。
164.在某一价签检测框与目标商价签检测框之间的中心点纵坐标的差值d2的绝对值小于第二阈值的情况下,说明该价签与目标价签大致处于同一高度,进而可以确定该价签与目标价签处于同一货架层。
165.相应地,在某一价签检测框与目标价签检测框之间的中心点纵坐标的差值d2的绝对值大于或者等于第二阈值的情况下,可以确定该价签与目标价签不处于同一货架层。
166.s305:挑选出下一个目标价签,重复上述步骤s303和s304,直至将所有价签归类到相应的货架层。
167.也就是说在s305中,需要判断是否所有的价签20均已经归类到相应的货架层。在所有的价签20均已经归类到相应的货架层的情况下执行s306;否则,转而继续执行s303和s304,直至所有的价签20均已经归类到相应的货架层。
168.s306:根据每一货架层中各个价签检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第m层。
169.可选地,也根据其他的排序规则进行排序,例如可以按照从大到小对各个货架层进行排序。
170.如图9中所示,最上层的各个价签检测框的中心点纵坐标的最小值大于中间层的各个价签检测框的中心点纵坐标的最小值,而中间层的各个价签检测框的中心点纵坐标的最小值大于最底层的各个价签检测框的中心点纵坐标的最小值。此时根据从小到大的顺序进行排序时,最底层货架标记为第一层货架,中间层货架标记为第二层货架,依次类推,直至标记出第m层货架。
171.s307:根据每一货架层中各个价签检测框的中心点纵坐标的最小值,确定每一货架层的层划分线。
172.其中,价签贴在货架中间层板,因此在价签检测框的中心点用于标记货架中间层板最为准确。
173.可选地,层划分线为一条水平线,且该水平线经过各个价签检测框的中心点纵坐标最小的点。
174.参照图10,图10示出了本技术实施例提供的另一种货架示意图。
175.图10中,从左至右数的最后一个价签检测框的中心点纵坐标最小,依据最后一个价签检测框的中心点确定层划分线。
176.需要说明的是,一般电子价签在同一层货架层板上的高低位置相差不会很大,即价签检测框中心点的纵坐标相差很小,在实际应用过程中,既可以使用价签检测框的中心点纵坐标的最小值来确定层划分线,也可以使用价签检测框的中心点纵坐标的最大值来确定层划分线,本实施例采用价签检测框的中心点纵坐标的最小值来确定层划分线仅为示例。
177.s308:根据各个层划分线对货架进行分层。
178.具体地,将两条层划分线之间的区域划归为一个货架层。
179.采用商品价签检测方法对货架进行分层,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光
影响时仍然可以进行准确的货架分层。
180.具体地,参照图11,图11示出了本技术实施例提供的又一种货架分层方法。
181.具体地,单独通过条形屏检测方法对货架进行分层时,可以采用以下步骤:
182.s401:通过条形屏检测算法,对货架中的所有条形屏使用检测框进行标记。
183.参照图12,图12示出了本技术实施例提供的又一种货架示意图。
184.通过条形屏检测算法可以为货架上的所有条形屏30添加检测框。
185.可选地,检测框为条形屏30在货架图像中的最小外接矩形。
186.s402:计算各个条形屏检测框的中心点纵坐标。
187.其中,可以将货架图像中各个条形屏检测框的中心点纵坐标记录在统计表中以便于后续的处理。
188.s403:根据每一货架层中各个条形屏检测框的中心点纵坐标,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第p层。
189.可选地,也根据其他的排序规则进行排序,例如可以按照从大到小对各个货架层进行排序。
190.如图12中所示,最上层的条形屏检测框的中心点纵坐标大于中间层的条形屏检测框的中心点纵坐标,而中间层的条形屏检测框的中心点纵坐标大于最底层的各个价签检测框的中心点纵坐标。此时根据从小到大的顺序进行排序时,最底层货架标记为第一层货架,中间层货架标记为第二层货架,依次类推,直至标记出第p层货架。
191.s404:根据每一货架层中各个条形屏检测框的中心点纵坐标,确定每一货架层的层划分线。
192.其中,价签设置在货架中间层板上,因此在条形屏检测框的中心点用于标记货架中间层板最为准确。
193.可选地,如图12中,层划分线为一条水平线,且该水平线经过条形屏检测框的中心点。
194.s405:根据各个层划分线对货架进行分层。
195.具体地,将两条层划分线之间的区域划归为一个货架层。
196.采用条形屏检测方法对货架进行分层,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
197.参照图13,图13示出了本技术实施例提供的又一种货架分层方法。
198.具体地,通过商品排面检测方法与商品价签检测方法的组合对货架进行分层时,可以采用以下步骤:
199.s501:通过步骤s201至s208,单独使用商品排面检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第一列表中。
200.步骤s201至s208的详细内容可以参考上文,此处不再赘述。
201.需要说明的是,层划分线为一条水平线,通过层划分线上点的纵坐标即可确定层划分线的具体位置,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第一列表中之后,即可根据每一货架层的层划分线对货架进行分层。
202.s502:通过步骤s301至s308,单独使用商品价签检测方法对货架进行分层,将每一
货架层的层划分线的纵坐标按照从小到大的顺序记录在第二列表中。
203.步骤s301至s308的详细内容可以参考上文,此处不再赘述。
204.s503:在第一列表中的货架层数与第二列表中的货架层数一致的情况下,按照商品价签检测方法设置层划分线。
205.也就是说,优先根据商品价签的位置设置层划分线,这是因为,商品价签20设置在货架中间层板上,而商品10设置在两层中间层板形成的容置空间中,显然商品价签20的位置更能代表货架中间层板的位置。
206.s504:在第一列表中的货架层数与第二列表中的货架层数不一致的情况下,以第一列表为基础,对第二列表进行匹配处理;在第一列表中的基础数值与第二列表的匹配数值之间的差值的绝对值小于第三阈值的情况下,确定基础数值与匹配数值完成匹配,基础数值对应的货架层与匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层。
207.其中,第三阈值的具体大小可以根据实际情况选定,在本技术实施例中不做限定。
208.可选地,也可以以第二列表为基础对第一列表进行匹配处理,这与以第一列表为基础对第二列表进行匹配处理的最终结果是一致的。
209.参照图14,图14示出了本技术实施例提供的另一种货架示意图。
210.图14中显示有根据商品排面检测确定出的层划分线1以及根据商品价签检测确定出的层划分线2,如果两者之间的距离d3(即第一列表中记录的纵坐标与第二列表中记录的纵坐标的差值的绝对值)小于第三阈值,可以判定两者匹配成功,层划分线1与层划分线2代表的是同一货架中间层板。否则,则应当判定两者代表的并非同一货架中间层板,为了避免漏数应当分别计数。
211.s505:在某一货架层存在通过商品价签检测方法获得的层划分线的情况下,以商品价签检测方法获得的层划分线作为最终的层划分线;否则,以商品排面检测方法获得的层划分线作为最终的层划分线。
212.需要说明的是,同一货架中间层板存在两条相应的层划分线时,优先根据商品价签20的位置设置层划分线,这是因为,商品价签20设置在货架中间层板上,而商品10设置在两层中间层板形成的容置空间中,显然商品价签20的位置更能代表货架中间层板的位置。
213.下面通过图15详细介绍第一列表与第二列表中数据的匹配过程。
214.参照图15,图15示出了本技术实施例提供的一种数据匹配示意图。
215.第一列表中的基础数值有100、300、400、500,代表通过商品排面检测方法确定的4条层划分线;第二列表中的匹配数值有102、203、302、503,代表通过商品价签检测方法确定的4条层划分线。
216.假设第三阈值为10,此时匹配成功的数据为100与102、300与302以及500与503,优先采用价签检测的结果,因此在最终层划分列表中记录102、302以及503。而没有匹配成功的数据400以及203单独记录在最终层划分线中。
217.通过商品排面检测方法与商品价签检测方法的组合最终确定的层划分线为5条。可以在商品被遮挡时通过价签检测来补充完善数据(例如第二列表中的102),也可以在价签被遮挡时通过商品排面检测来补充完善数据(例如第一列表中的400),以应当各种复杂的实际场景环境,进一步地提高货架分层的准确性。
218.参照图16,图16示出了本技术实施例提供的又一种货架分层方法。
219.具体地,通过商品排面检测方法与条形屏检测方法的组合对货架进行分层时,可以采用以下步骤:
220.s601:通过步骤s201至s208,单独使用商品排面检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第三列表中。
221.步骤s201至s208的详细内容可以参考上文,此处不再赘述。
222.需要说明的是,层划分线为一条水平线,通过层划分线上点的纵坐标即可确定层划分线的具体位置,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第一列表中之后,即可根据每一货架层的层划分线对货架进行分层。
223.s602:通过步骤s401至s405,单独使用条形屏检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第四列表中。
224.步骤s401至s405的详细内容可以参考上文,此处不再赘述。
225.s603:在第三列表中的货架层数与第四列表中的货架层数一致的情况下,按照条形屏检测方法设置层划分线。
226.也就是说,优先根据条形屏的位置设置层划分线,这是因为,条形屏30设置在货架中间层板上,而商品10设置在两层中间层板形成的容置空间中,显然条形屏30的位置更能代表货架中间层板的位置。
227.s604:在第三列表中的货架层数与第四列表中的货架层数不一致的情况下,以第三列表为基础,对第四列表进行匹配处理;在第三列表中的基础数值与第四列表的匹配数值之间的差值的绝对值小于第四阈值的情况下,确定基础数值与匹配数值完成匹配,基础数值对应的货架层与匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层。
228.其中,第四阈值的具体大小可以根据实际情况选定,在本技术实施例中不做限定。
229.可选地,也可以以第四列表为基础对第三列表进行匹配处理,这与以第三列表为基础对第四列表进行匹配处理的最终结果是一致的。
230.参照图17,图17示出了本技术实施例提供的另一种货架示意图。
231.图17中显示有根据商品排面检测确定出的层划分线3以及根据条形屏检测确定出的层划分线4,如果两者之间的距离d4(即第三列表中记录的纵坐标与第四列表中记录的纵坐标的差值的绝对值)小于第四阈值,可以判定两者匹配成功,层划分线3与层划分线4代表的是同一货架中间层板。否则,则应当判定两者代表的并非同一货架中间层板,为了避免漏数应当分别计数。
232.s605:在某一货架层存在通过条形屏检测方法获得的层划分线的情况下,以条形屏检测方法获得的层划分线作为最终的层划分线;否则,以商品排面检测方法获得的层划分线作为最终的层划分线。
233.需要说明的是,同一货架中间层板存在两条相应的层划分线时,优先根据条形屏30的位置设置层划分线,这是因为,条形屏30设置在货架中间层板上,而商品10设置在两层中间层板形成的容置空间中,显然条形屏30的位置更能代表货架中间层板的位置。
234.具体的数据匹配过程与上文中第一列表与第二列表中的数据匹配过程类似,再此不再赘述。
235.通过商品排面检测方法与条形屏检测方法的组合最终确定的层划分线可以在商品被遮挡时通过条形屏检测来补充完善数据,也可以在条形屏被遮挡时通过商品排面检测来补充完善数据,以应当各种复杂的实际场景环境,进一步地提高货架分层的准确性。
236.在本技术实施例中,获取货架图像,通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对货架进行分层,货架分层依据于商品排面、商品价签以及条形屏,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
237.实施例二
238.参照图18,示出了本技术实施例提供的一种货架分层装置40的结构示意图。
239.货架分层装置40,包括:
240.获取模块41,用于获取货架图像;
241.分层模块42,用于通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对货架进行分层。
242.进一步地,分层模块42具体包括:
243.第一标记子模块4201,用于通过商品排面检测算法,对货架中的所有商品使用检测框进行标记;
244.第一计算子模块4202,用于计算各个商品检测框的中心点纵坐标;
245.第一差值子模块4203,用于挑选出一个目标商品,计算目标商品检测框与剩余的商品检测框之间的中心点纵坐标的差值,并对差值取绝对值;
246.第一确定子模块4204,用于在某一商品检测框与目标商品检测框之间的中心点纵坐标的差值的绝对值小于第一阈值的情况下,确定该商品与目标商品处于同一货架层;
247.第一归类子模块4205,用于挑选出下一个目标商品,调用第一差值子模块4203和第一确定子模块4204,直至将所有商品归类到相应的货架层;
248.第一排序子模块4206,用于根据每一货架层中各个商品检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第n层;
249.第一划分子模块4207,用于根据每一货架层中各个商品检测框的右下角纵坐标的最小值,确定每一货架层的层划分线;
250.第一分层子模块4208,用于根据各个层划分线对货架进行分层。
251.进一步地,分层模块42还包括:
252.第二标记子模块4209,用于通过商品价签检测算法,对货架中的所有价签使用检测框进行标记;
253.第二计算子模块4210,用于计算各个价签检测框的中心点纵坐标;
254.第二差值子模块4211,用于挑选出一个目标价签,计算目标价签检测框与剩余的价签检测框之间的中心点纵坐标的差值,并对差值取绝对值;
255.第二确定子模块4212,用于在某一价签检测框与目标价签检测框之间的中心点纵坐标的差值的绝对值小于第二阈值的情况下,确定该价签与目标价签处于同一货架层;
256.第二归类子模块4213,用于挑选出下一个目标价签,调用第二差值子模块4211和第二确定子模块4212,直至将所有价签归类到相应的货架层;
257.第二排序子模块4214,用于根据每一货架层中各个价签检测框的中心点纵坐标的最小值,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第m层;
258.第二划分子模块4215,用于根据每一货架层中各个价签检测框的中心点纵坐标的最小值,确定每一货架层的层划分线;
259.第二分层子模块4216,用于根据各个层划分线对货架进行分层。
260.进一步地,分层模块42还包括:
261.第三标记子模块4217,用于通过条形屏检测算法,对货架中的所有条形屏使用检测框进行标记;
262.第三计算子模块4218,用于计算各个条形屏检测框的中心点纵坐标;
263.第三排序子模块4219,用于根据每一货架层中各个条形屏检测框的中心点纵坐标,按照从小到大对各个货架层进行排序,依次标记为第一层、第二层、
……
、第p层;
264.第三划分子模块4220,用于根据每一货架层中各个条形屏检测框的中心点纵坐标,确定每一货架层的层划分线;
265.第三分层子模块4221,用于根据各个层划分线对货架进行分层。
266.进一步地,分层模块42具体包括:
267.第一记录子模块4222,用于单独使用商品排面检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第一列表中;
268.第二记录子模块4223,用于单独使用商品价签检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第二列表中;
269.第一设置子模块4224,用于在第一列表中的货架层数与第二列表中的货架层数一致的情况下,按照商品价签检测方法设置层划分线;
270.第一匹配子模块4225,用于在第一列表中的货架层数与第二列表中的货架层数不一致的情况下,以第一列表为基础,对第二列表进行匹配处理;在第一列表中的基础数值与第二列表的匹配数值之间的差值的绝对值小于第三阈值的情况下,确定基础数值与匹配数值完成匹配,基础数值对应的货架层与匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
271.第四划分子模块4226,用于在某一货架层存在通过商品价签检测方法获得的层划分线的情况下,以商品价签检测方法获得的层划分线作为最终的层划分线;否则,以商品排面检测方法获得的层划分线作为最终的层划分线。
272.进一步地,分层模块42还包括:
273.第三记录子模块4227,用于单独使用商品排面检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第三列表中;
274.第四记录子模块4228,用于单独使用条形屏检测方法对货架进行分层,将每一货架层的层划分线的纵坐标按照从小到大的顺序记录在第四列表中;
275.第二设置子模块4229,用于在第三列表中的货架层数与第四列表中的货架层数一致的情况下,按照条形屏检测方法设置层划分线;
276.第二匹配子模块4330,用于在第三列表中的货架层数与第四列表中的货架层数不一致的情况下,以第三列表为基础,对第四列表进行匹配处理;在第三列表中的基础数值与
第四列表的匹配数值之间的差值的绝对值小于第四阈值的情况下,确定基础数值与匹配数值完成匹配,基础数值对应的货架层与匹配数值对应的货架层为同一货架层;将没有完成匹配的基础数值对应的货架层以及没有完成匹配的匹配数值对应的货架层作为单独的货架层;
277.第五划分子模块4331,用于在某一货架层存在通过条形屏检测方法获得的层划分线的情况下,以条形屏检测方法获得的层划分线作为最终的层划分线;否则,以商品排面检测方法获得的层划分线作为最终的层划分线。
278.本技术实施例提供的货架分层装置40能够实现上述方法实施例中实现的各个过程,为避免重复,这里不再赘述。
279.在本技术实施例中,获取货架图像,通过商品排面检测方法、商品价签检测方法与条形屏检测方法中的一者或者多者的组合对货架进行分层,货架分层依据于商品排面、商品价签以及条形屏,避免了过分依赖于货架层板横截面在实际场景下呈现出来的特征,进而在货架层板无明显轮廓、排列过于紧密、过薄或者受到灯光影响时仍然可以进行准确的货架分层。
280.本技术实施例中的虚拟装置可以是装置,也可以是终端中的部件、集成电路、或芯片。
281.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1