确定对象信息的方法、装置、电子设备及存储介质与流程

专利2024-05-15  75



1.本公开涉及人工智能技术领域,尤其涉及图像处理领域,更具体地,本公开提供了一种确定对象信息的方法、装置、电子设备、存储介质以及计算机程序产品。


背景技术:

2.在快消行业,可以对货架上的商品进行统计,得到商品种类和商品数量等信息,然后可以基于这些信息来确定各种商品的销售量、进货量等信息。


技术实现要素:

3.本公开提供了一种确定对象信息的方法、装置、电子设备、存储介质以及计算机程序产品。
4.根据本公开的一方面,提供了一种确定对象信息的方法,包括:根据至少两个目标图像,确定至少一个图像对,其中,图像对包括:第一图像和第二图像,并且第一图像和第二图像具有表征相同位置的重叠部;针对每个图像对,分别对第一图像和第二图像进行目标检测,得到与第一图像对应的第一对象检测框和与第二图像对应的第二对象检测框;以及对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个图像对相对应的第三对象检测框;以及根据第三对象检测框,确定与目标图像相关的对象信息。
5.根据本公开的另一方面,提供了一种确定对象信息的装置,包括:图像对确定模块用于根据至少两个目标图像,确定至少一个图像对,其中,图像对包括:第一图像和第二图像,并且第一图像和第二图像具有表征相同位置的重叠部。去重模块用于针对每个图像对,分别对第一图像和第二图像进行目标检测,得到与第一图像对应的第一对象检测框和与第二图像对应的第二对象检测框;对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个图像对相对应的第三对象检测框。信息确定模块用于根据第三对象检测框,确定与目标图像相关的对象信息。
6.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的方法。
7.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的方法。
8.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开提供的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是根据本公开实施例的确定对象信息的方法和装置的应用场景示意图;
12.图2是根据本公开实施例的确定对象信息的方法的示意流程图;
13.图3a是根据本公开实施例的一种候选移动轨迹的示意图;
14.图3b是根据本公开实施例的另一种候选移动轨迹的示意图;
15.图3c是根据本公开实施例的另一种候选移动轨迹的示意图;
16.图3d是根据本公开实施例的另一种候选移动轨迹的示意图;
17.图4是根据本公开实施例的获取多个图像的示意流程图;
18.图5a是根据本公开实施例的对上下排布的两个图像进行拼接的示意图;
19.图5b是根据本公开实施例的对左右排布的两个图像进行拼接的示意图;
20.图5c是根据本公开实施例的对左右排布的两列图像进行拼接的示意图;
21.图6a是根据本公开实施例的一种去重操作的示意原理图;
22.图6b是根据本公开实施例的一种去重操作的示意原理图;
23.图7是根据本公开实施例的确定对象信息的装置的示意结构框图;以及
24.图8是用来实施本公开实施例的确定对象信息的方法的电子设备的结构框图。
具体实施方式
25.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
26.随着图像识别能力的发展,越来越多企业会借助目标识别技术对单张图片上的商品进行识别和计数。但在货架较长,且货架间距狭窄的情况下,难以将整个货架采集为一张图像。
27.在一些技术方案中,可以对目标区域(例如摆放有商品的货架)进行多次图像采集,从而得到多个目标图像,多个目标图像可以体现货架中多个子区域所摆放的商品信息,多个目标图像的采集视角可以不同。可以使用单应矩阵来描述同一个平面的点在不同图像之间的映射关系,然后基于单应矩阵将多个目标图像拼接为一个完整图像。基于拼接后的完整图像,可以统计货架上的商品信息。
28.需要说明的是,将多个目标图像拼接为一个完整图像,存在拼接效果差的问题。由于需要基于拼接后的完整图像来统计商品信息,因此多个目标图像的拼接效果会直接影响统计结果的准确性。
29.本公开实施例旨在提出一种确定对象信息的方法,该方法无需将目标图像拼接为一个完整图像,而是通过目标检测得到目标图像包括的第一对象检测框和第二对象检测框,并对第一对象检测框和第二对象检测框进行去除,然后根据去重后的第三对象检测框来统计对象信息,从而提升统计结果的准确性。
30.以下将结合附图和具体实施例详细阐述本公开提供的技术方案。
31.图1是根据本公开实施例的确定对象信息的方法和装置的应用场景示意图。
32.需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
33.如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
34.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
35.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如对相邻图像进行拼接得到的图像、根据目标图像确定的对象信息等)反馈给终端设备。
36.需要说明的是,本公开实施例所提供的确定对象信息的方法一般可以由服务器105执行。相应地,本公开实施例所提供的确定对象信息的装置一般可以设置于服务器105中。本公开实施例所提供的确定对象信息的方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的确定对象信息的装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
37.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
38.图2是根据本公开实施例的确定对象信息的方法的示意流程图。
39.如图2所示,该确定对象信息的方法200可以包括操作s210~操作s230。
40.在操作s210,根据至少两个目标图像,确定至少一个图像对,其中,图像对包括:第一图像和第二图像,并且第一图像和第二图像具有表征相同位置的重叠部。
41.在一些实施例中,可以使用录像机等视频采集装置采集针对目标区域的视频数据,然后从视频数据中截取与目标区域中的至少两个子区域分别对应的视频帧,作为目标图像。
42.例如,目标区域可以包括摆放有对象的货架,对象可以是商品、工件、快递包裹等。子区域可以沿预定方向排布,预定方向可以包括水平方向和竖直方向中的至少一个。需要说明的是,子区域的面积、形状可以不同。
43.在另一些实施例中,可以使用相机等图像采集装置,对目标区域中的至少两个子区域进行图像采集,得到目标图像。
44.例如,可以基于目标移动轨迹对目标区域中的至少两个子区域分别进行图像采集,从而得到至少两个目标图像,目标移动轨迹在下文详细说明,在此不做赘述。在其他示例中,也可以不按照目标移动轨迹来采集图像,例如预先将目标区域划分为多至少两子区域,并且相邻子区域具有重叠区域,然后随机采集子区域的图像。
45.例如,子区域沿水平方向排布时,可以将针对位于同一行且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。
46.又例如,子区域沿竖直方向排布时,可以将针对位于同一列且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。
47.又例如,在图像采集的过程中,若要求所采集的相邻两张图像具有重叠率,则可以将基于采集顺序的相邻两个图像确定为图像对。
48.重叠部可以表示第一图像和第二图像中的针对同一物理区域的局部图像,例如,该局部图像可以表示货架中的同一区域、货架上的同一个商品等。
49.需要说明的是,不同图像对可以包括同一个目标图像,例如一个图像对包括图像pic1和图像pic2,另一个图像对包括图像pic2和图像pic3。
50.在操作s220,针对每个图像对,分别对第一图像和第二图像进行目标检测,得到与第一图像对应的第一对象检测框和与第二图像对应的第二对象检测框。对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个图像对相对应的第三对象检测框。
51.例如,可以使用目标检测模型分别对第一图像和第二图像中的对象进行目标检测,得到第一对象检测框和第二对象检测框。目标检测模型可以是yolo(you only look once)模型。第一对象检测框和第二对象检测框的数量均可以是至少一个。
52.例如,第一图像中包括第一对象检测框box11、box12、box13,第二图像中包括第二对象检测框box21、box22,其中,第一对象检测框box11和第二对象检测框box21表示同一个对象,则可以将第一对象检测框box1和第二对象检测框box2之一删除,去重后的第三对象检测框包括box12、box13、box21、box22。
53.在操作s230,根据第三对象检测框,确定与目标图像相关的对象信息。
54.例如,可以在去重操作之后,对每个图像对相对应的第三对象检测框进行统计,从而得到对象信息。对象信息可以包括对象的种类、每种对象的数量等信息。
55.在实际应用中,当目标区域是货架,并且对象是摆放在货架上的商品时,可以通过对象信息来确定商品的进货量、商品的销售量等信息,从而为商家进货提供参考。
56.根据本公开实施例提供的技术方案,通过目标检测得到目标图像包括的第一对象检测框和第二对象检测框,并对第一对象检测框和第二对象检测框进行去除,然后根据去重后的第三对象检测框来统计对象信息。由于无需将目标图像拼接为一个完整图像,并根据完整图像确定对象信息,因此可以缓解由于拼接效果差而影响对象信息统计结果的问题,从而提升对象信息的准确性。
57.图3a~3d是根据本公开实施例的候选移动轨迹的示意图。
58.上述确定对象信息的方法用于对目标图像进行处理,从而得到目标图像相关的对象信息。可以看出,在对目标图像进行处理之前,可以先采集目标图像。
59.在一些实施例中,为了方便用户采集目标图像,可以使用前端引导模块对图像采集装置的图像采集位置进行引导,前端引导模块可以是软件模块。
60.首先,可以预先设定图像采集装置的候选移动轨迹。对于单行货架,候选移动轨迹可以包括“向左”轨迹和“向右”轨迹之一。对于多行货架,候选移动轨迹可以包括图3a所示的“向下向右”轨迹、图3b所示的“向上向右”轨迹、图3c所示的“向下向左”轨迹、以及图3d所示的“向上向左”轨迹。图3a~3d中,虚线箭头表示候选移动轨迹,图像301、302、303、304表示沿着候选移动轨迹依次采集到的四个目标图像。
61.可以看出,针对多行货架采用上述候选移动轨迹,图像采集装置的运动轨迹较短,因此更容易使相邻两列图像具有重叠率。
62.其次,可以通过采集图像时的信息,从多个候选移动轨迹中确定目标移动轨迹。以下以目标区域包括多个沿预定方向排布的子区域,并且预定方向可以包括水平方向和竖直方向中的至少一个为例,对确定目标移动轨迹的过程进行说明。
63.可以检测图像采集装置由第一位置移动至第二位置的移动方向,第一位置是图像采集装置在采集第i张图像时所处的物理位置,第二位置是图像采集装置在采集第i+1张图像时所处的物理位置,i是大于等于1的整数。
64.在图像采集装置采集到第一张图像之后,图像采集装置可以向上、下、左、右中的任意方向移动,并采集第二张图像。
65.若检测到在采集第一张图像之后,图像采集装置沿水平方向(例如向左或者向右)移动并采集第二张图像,表示对单层货架进行图像采集。此时可以将首次水平移动时的移动方向作为目标移动方向。
66.若检测到在采集第一张图像之后,图像采集装置沿竖直方向(例如向上或者向下)移动并采集第二张图像,表示对多层货架进行图像采集。若竖直方向是向上,则记录第一方向是“向上”。若竖直方向是向下,则记录第一方向是“向下”。
67.若检测到在采集第i张图像之后,图像采集装置首次沿水平方向移动并采集第i+1张图像,i是大于等于2的整数,表示第一列子区域已采集完成。若水平方向是向左,则记录第二方向是“向左”。若水平方向是向右,则记录第二方向是“向右”。
68.然后,可以通过第一方向和第二方向,确定图像采集装置的目标移动轨迹。例如,第一方向是“向上”,并且第二方向是“向左”,则目标移动轨迹是图3d所示的“向上向左”轨迹。
69.此外,还可以记录图像采集装置首次出现水平移动并采集图像之前已采集到的图像数量,并将该数量作为目标数量。可以限定各列子区域对应的图像数量彼此相同。
70.接下来,前端引导模块可以通过目标移动轨迹,对图像采集装置的图像采集位置进行引导。此外,在采集图像时,若图像采集装置的移动方向与目标移动轨迹中指示的目标移动方向不同,还可以禁止采集图像。
71.本公开实施例通过前端引导模块对用户采集图像进行引导,适用于对多行货架和单行货架进行图像采集的场景,通过引导图像采集装置的移动轨迹,更容易得到重叠率满足要求的相邻图像,进而提升对目标图像进行去重的准确率。
72.图4是根据本公开实施例的获取多个图像的示意流程图。
73.如图4所示,在本实施例中,为了使基于采集顺序的相邻两张图像具有一些重叠率,获取目标图像的方法400可以包括操作s401~操作s406。
74.在操作s401,确定目标图像对应的集合中是否存在在前图像。若否,则表示未采集到第一张图像,可以执行操作s402。若是,则可以执行操作s403。
75.在操作s402,响应于接收到图像采集指令,对图像采集装置的取景位置进行图像采集,将采集到的图像添加至目标图像对应的集合中。可以看出,本操作采集的图像是集合中的第一张图像。
76.在操作s403,确定针对目标位置的当前估计图像和在前图像之间的重叠率。
77.例如,在前图像可以是集合中基于采集顺序的最后采集到的图像。可以对目标区域中的某个子区域进行取景,得到当前估计图像。
78.在一些实施例中,可以使用sift(scale-invariant feature transform,尺度不变特征变换)或者其他方式从当前估计图像和在前图像中分别提取特征。然后使用ann(artificial neural network,人工神经网络)或者其他方式对当前估计图像中的特征与在前图像中的特征进行匹配,然后根据相匹配的特征对确定当前估计图像和在前图像的单应矩阵,并基于单应矩阵确定当前估计图像和在前图像的重叠率。
79.在一些实施例中,在从当前估计图像和在前图像中分别提取特征的过程中,可以根据当前估计图像对应的图像采集区域与在前图像对应的图像采集区域的相对位置关系,从当前估计图像的局部图像和在前图像中的局部图像中分别提取特征,从而提高特征提取效率。例如,当前估计图像对应的图像采集区域位于在前图像对应的图像采集区域的左侧时,可以从当前估计图像中靠近右侧边界的局部图像中提取特征,从在前图像中靠近左侧边界的局部图像中提取特征,局部图像与完整图像的面积比值可以是0.3、0.5等。
80.此外,为了避免在移动图像采集装置的过程中,当前估计图像和在前图像的重叠部产生抖动或者突变,可以使用基于lk(lucas-kanade)光流跟踪算法对重叠部进行稳定跟踪。
81.此外,还可以在当前估计图像中,通过蒙版(mask)展示重叠部,蒙版的尺寸和展示位置会随当前估计图像取景位置的变化而变化。
82.在操作s404,确定重叠率是否小于重叠率阈值。若是,则可以执行操作s405。若否,则可以执行操作s406。
83.可以每隔预定时长确定当前的重叠率,预定时长可以是1毫秒。
84.在操作s405,生成用于指示目标移动方向的提示信息。
85.例如,重叠率小于重叠率阈值,则可以禁止采集针对目标位置的当前估计图像。还可以生成提示指令,从而提示用户沿目标移动轨迹指示的目标移动方向调整图像采集装置的取景位置,从而提高重叠率。
86.在操作s406,根据接收到的图像采集指令对目标位置进行图像采集,并将所采集的图像确定为目标图像,并添加至集合中。
87.根据本公开实施例提供的技术方案,基于采集顺序的相邻两张图像具有重叠部,因此可以缓解在采集图像的过程中遗漏目标区域中的局部区域的问题。此外,还可以使采集的相邻两张图像之间的重叠率大于等于重叠率阈值,在基于重叠部的特征来实现对象检测框去重过程中,较大的重叠率可以提升去重的准确率。
88.根据本公开另一实施例,确定对象信息的方法还可以包括以下操作:将目标图像中,针对沿预定方向相邻的两个子区域进行图像采集得到的两个目标图像进行拼接,得到拼接图像,随后输出拼接图像。响应于接收到撤销指令,根据撤销指令,将目标图像中与撤销指令对应的目标图像删除。
89.如图5a所示,预定方向可以是竖直方向,可以看出,沿预定方向相邻的两个子区域上下排布,与该两个子区域对应的两个图像可以是图5中的第一图像501和第二图像502。
90.在拼接过程中,当两个子区域上下排布,并且第一图像对应上方的子区域,第二图像对应下方的子区域时,可以从第一图像中下半部的局部图像和第二图像中上半部的局部
图像中提取特征点。
91.例如,如图5a所示,可以从第一图像501虚线框区域和第二图像502虚线框区域分别提取特征点。然后对特征点进行匹配得到特征点对,图5a中通过同一个线段连接的两个点表示相匹配的特征点对。然后可以利用特征点对确定第一图像501和第二图像502的单应矩阵,利用单应矩阵对第一图像501和第二图像502进行拼接。
92.如图5b所示,预定方向可以是水平方向,可以看出,沿预定方向相邻的两个子区域左右排布,与该两个子区域对应的两个图像可以是图5b中的第一图像503和第二图像504。
93.在拼接过程中,当两个子区域上下排布,并且第一图像对应左侧的子区域,第二图像对应右侧的子区域时,可以从第一图像的右半侧图像和第二图像的左半侧图像中提取特征点。
94.例如,如图5b所示,可以从第一图像503虚线框区域和第二图像504的虚线框区域分布提取特征点。图5b中通过同一个线段连接的两个点表示相匹配的特征点对。然后通过相匹配的特征点对确定单应矩阵,基于单应矩阵第一图像503第二图像504行拼接。
95.如图5c所示,预定方向可以包括竖直方向和水平方向,此时多个子区域阵列排布。可以将多个图像中,针对位于阵列中同一列的至少两个子区域进行图像采集得到的至少两个图像进行拼接,作为一种拼接图像。此外,还可以将相邻两列图像再次拼接,作为另一种拼接图像。
96.例如,第一子区域位于第二子区域的左侧,第三子区域位于第四子区域的左侧并且二者具有重叠部,第一子区域位于第三子区域的上方并且二者具有重叠部,第二子区域位于第四子区域的上方并且二者具有重叠部。分别对上述四个子区域进行图像采集得到图像505、506、507、508。
97.可以参考对第一图像501和第二图像502进行拼接的方式,将图像505、507拼接在一起,得到第一列拼接图像,将图像506和图像508拼接在一起,得到第二列拼接图像。还可以参考对第一图像503和第二图像504进行拼接的方式,将第一列拼接图像和第二列拼接图像拼接在一起,得到目标拼接图像。
98.例如,可以对第一列拼接图像、第二列拼接图像和目标拼接图像中的至少一个进行展示。通过展示拼接后的图像,可以使用户直观了解采集的图像是否能够对齐。若对齐效果差,用户可以通过操作触发撤销指令,将采集到的图像撤销,然后可以重新采集图像。
99.本公开实施例通过向用户展示拼接图像,可以方便用户将拼接效果较差的图像删除并重新采集图像,从而提升去重的准确性。
100.此外,本公开实施例可以仅对同一列、同一行以及相邻两列图像进行拼接,无需将多列图像拼接为一个图像。例如可以将第一列图像和第二列图像拼接在一起,可以将第二列图像和第三列图像拼接在一起,无需将第一列图像、第二列图像和第三列图像拼接在一起。因此可以简化拼接流程,节省拼接所需的资源,进而提升展示拼接图像的实时性。
101.根据本公开另一实施例,上述对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重的操作,可以包括以下操作:根据第一对象检测框和第二对象检测框,确定相匹配的特征点对,每个特征点对包括第一对象检测框中的第一特征点和第二对象检测框中的第二特征点。然后根据特征点对,确定第一图像和第二图像的单应矩阵。根据单应矩阵,确定重叠部在第一图像中的位置。然后将第一对象检测框中,处于重叠部的
第一对象检测框删除。
102.例如,为了避免周围环境影响对重叠部的判断,本实施例根据对象检测框对特征点过滤,仅基于对象检测框内部的特征点进行特征点匹配。然后根据多个相匹配的特征点对计算单应矩阵,本实施例对计算单应矩阵的方式不做限定。
103.接下来,可以基于单应矩阵将第二图像映射至第一图像上,得到第二图像在第一图像上的重叠部。若第一对象检测框完全处于重叠部,则可以将该第一对象检测框删除。若第一对象检测框的一部分处于重叠部,另一部分位于重叠部外侧,则可以将该第一对象检测框保留,也可以将该第一对象检测框删除。
104.例如,如图6a所示,在该第一图像中,灰色区域表示重叠部,可以看出,第一对象检测框601、602、605位于重叠部的外部,因此无需删除。第一对象检测框604、606位于重叠部的内部,因此可以删除第一对象检测框604、606。第一对象检测框603的一部分位于重叠部的内部,可以删除该第一对象检测框603,也可以保留。
105.本公开实施例根据对象检测框中相匹配的特征点对,确定第一图像和第二图像的重叠部的位置,然后根据重叠部的位置和对象检测框的位置进行去重,可以提升去重的准确率。
106.根据本公开另一实施例,上述对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重的操作,可以包括以下操作:确定第一对象检测框和第二对象检测框之间的匹配关系,然后根据匹配关系、第一相对位置信息以及第二相对位置信息,对第一对象检测框进行去重。第一相对位置信息指示了第一图像对应的图像采集区域和第二图像对应的图像采集区域之间的相对位置;第二相对位置信息指示了第一对象检测框在第一图像中的相对位置。
107.例如,可以在响应于检测到根据第一对象检测框和第二对象检测框确定单应矩阵的操作执行失败的情况下,执行确定匹配关系的操作。例如,可以在相匹配的特征点对的数量小于第一数量阈值的情况下,确定单应矩阵计算失败,第一数量阈值可以是4、5、10等。
108.例如,对于第一图像中的第一对象检测框di和第二图像中的第二对象检测框dj,可以计算第一对象检测框di对应的局部图像和第二对象检测框dj对应的局部图像之间的相似度,并在相似度大于等于相似度阈值的情况下,确定第一对象检测框di和第二对象检测框dj匹配。例如,相似度阈值可以设置为0.6。
109.又例如,可以先对第一对象检测框di中的特征点与第二对象检测框dj中的特征点进行匹配,若相匹配的特征点对的数量满足预定条件,则确定第一对象检测框di和第二对象检测框dj相匹配。预定条件可以包括以下中的至少一个:相匹配的特征点对的数量大于等于第二数量阈值,以及相匹配的特征点对的数量与第一对象检测框di中特征点的数量的比值大于等于比值阈值。第二数量阈值可以是2、3、8等,比值阈值可以是0.3等。
110.例如,若第一相对位置信息指示了:沿预定方向上,第一图像对应的图像采集区域位于第二图像对应的图像采集区域的后方。则可以第一对象检测框di删除,还可以将沿预定方向上位于第一对象检测框di后方的第一对象检测框删除。
111.例如,如图6b所示,第一图像包括从左至右依次排布的第一对象检测框607、608、609、610,第二图像包括从左至右依次排布的第二对象检测框609’、611、612,其中,第一对象检测框609与第二对象检测框609’相匹配。由于第一图像对应的图像采集区域位于第二
图像对应的图像采集区域的左侧,因此,可以将第一对象检测框609、610删除。
112.本公开实施例根据对象检测框中相匹配的特征点对,确定第一图像和第二图像中相匹配的对象检测框,然后基于第一相对位置信息、第二相对位置信息和匹配关系进行去重。因此,即使第一图像上的某个第一对象检测框未能与第二图像上的第二对象检测框相匹配,也可以根据第一相对位置信息和第二相对位置信息确定是否删除该第一对象检测框,从而提升去重准确率。
113.根据本公开另一实施例,上述对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重的操作,可以包括以下操作:根据第一对象检测框在第一图像中的相对位置确定第一对象序列信息,根据第二对象检测框在第二图像中的相对位置确定第二对象序列信息,然后确定第一对象序列信息和第二对象序列信息中重复的序列片段信息。然后根据第一相对位置信息和重复的序列片段信息,删除序列片段信息指示的对象检测框。第一相对位置信息指示了第一图像对应的图像采集区域和第二图像对应的图像采集区域之间的相对位置。
114.例如,可以在执行确定第一对象检测框和第二对象检测框之间的匹配关系之后,检测执行结果,并在执行结果指示第一对象检测框和第二对象检测框无法匹配的情况下,执行确定第一对象序列信息和第二对象序列信息的操作。
115.可以使用sku(stock keeping unit,库存量单位)表示对象检测框对应的对象。例如,多个对象是多个商品,并且多个商品的颜色、规格等信息不同,则多个商品的sku不同。将多个对象的sku按照对象的摆放顺序依次排列,可以得到对象序列信息。此外,还可以通过货架线确定对象处于货架的层数,并根据位于同一层货架的对象的第一对象序列信息和第二对象序列信息,确定重复的序列片段信息。
116.例如,第一对象序列信息是abcde,即第一图像中的对象包括从左至右依次排布对象a、b、c、d、e。第二对象序列信息是debca,即第二图像中的对象包括从左至右依次排布对象d、e、b、c、a。可以看出,重复的序列片段信息是bc和de。此外,第一相对位置信息指示了第一图像对应的图像采集区域位于第二图像对应的图像采集区域的左侧,因此,可以选择第一对象序列信息中靠近后端的重复序列片段信息,并将该序列片段信息指示的第一对象检测框删除,即将与de对应的两个第一对象检测框删除。
117.本公开实施例根据第一相对位置信息和重复的序列片段信息进行去重,可以提升去重的准确率。
118.在一些实施例中,还可以确定重复的序列片段信息是否包括至少两个sku。若否,则拒绝去重。若是,则执行删除序列片段信息指示的对象检测框的操作。
119.例如,货架上摆放商品的对象序列信息是abcccde,其中,第一图像采集到的第一对象序列信息是abcc,第一图像采集到的第二对象序列信息是ccde。可以看出,虽然存在重复的序列片段信息cc,但是由于重复的序列片段信息仅包括一个sku(即上述c),因此可以保留序列片段信息cc指示的对象检测框。
120.图7是根据本公开实施例的确定对象信息的装置的示意结构框图。
121.如图7所示,该确定对象信息的装置700可以包括图像对确定模块710、去重模块720和信息确定模块730。
122.图像对确定模块710用于根据至少两个目标图像,确定至少一个图像对,其中,图
像对包括:第一图像和第二图像,并且第一图像和第二图像具有表征相同位置的重叠部。
123.去重模块720用于针对每个图像对,分别对第一图像和第二图像进行目标检测,得到与第一图像对应的第一对象检测框和与第二图像对应的第二对象检测框;对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个图像对相对应的第三对象检测框。
124.信息确定模块730用于根据第三对象检测框,确定与目标图像相关的对象信息。
125.根据本公开另一实施例,去重模块包括:特征点对确定子模块、矩阵确定子模块、位置确定子模块和第一去重子模块。特征点对确定子模块用于根据第一对象检测框和第二对象检测框,确定相匹配的特征点对,其中,特征点对包括第一对象检测框中的第一特征点和第二对象检测框中的第二特征点。矩阵确定子模块用于根据特征点对,确定第一图像和第二图像的单应矩阵。位置确定子模块用于根据单应矩阵,确定重叠部在第一图像中的位置。第一去重子模块用于将第一对象检测框中,处于重叠部的第一对象检测框删除。
126.根据本公开另一实施例,去重模块包括:关系确定子模块和第二去重子模块。关系确定子模块用于确定第一对象检测框和第二对象检测框之间的匹配关系。第二去重子模块用于根据匹配关系、第一相对位置信息以及第二相对位置信息,对第一对象检测框进行去重。第一相对位置信息指示了第一图像对应的图像采集区域和第二图像对应的图像采集区域之间的相对位置。第二相对位置信息指示了第一对象检测框在第一图像中的相对位置。
127.根据本公开另一实施例,去重模块包括:第一序列确定子模块、第二序列确定子模块和第三去重子模块。第一序列确定子模块用于根据第一对象检测框在第一图像中的相对位置,确定第一对象序列信息。第二序列确定子模块用于根据第二对象检测框在第二图像中的相对位置,确定第二对象序列信息。第三去重子模块用于根据第一相对位置信息,以及第一对象序列信息和第二对象序列信息中重复的序列片段信息,将第一对象检测框中,序列片段信息指示的第一对象检测框删除。第一相对位置信息指示了第一图像对应的图像采集区域和第二图像对应的图像采集区域之间的相对位置。
128.根据本公开另一实施例,上述装置还包括:重叠率确定子模块、提示子模块和采集子模块。重叠率确定子模块用于在确定至少一个图像对之前,确定针对目标位置的当前估计图像和在前图像之间的重叠率。提示子模块用于在确定重叠率小于重叠率阈值的情况下,生成用于指示目标移动方向的提示信息。采集子模块用于在确定重叠率大于等于重叠率阈值的情况下,根据接收到的图像采集指令对目标位置进行图像采集,并将所采集的图像确定为目标图像。
129.根据本公开另一实施例,目标图像是对目标区域中的至少两个子区域进行图像采集得到的,子区域沿预定方向排布。上述装置还包括:拼接模块、输出模块和删除模块。拼接模块用于将目标图像中,针对沿预定方向相邻的两个子区域进行图像采集得到的两个目标图像进行拼接,得到拼接图像。输出模块用于输出拼接图像。删除模块用于响应于接收到撤销指令,根据撤销指令,将目标图像中与撤销指令对应的目标图像删除。
130.根据本公开另一实施例,目标图像是对目标区域中的至少两个子区域进行图像采集得到的,子区域排布为阵列。图像对确定模块包括第一确定子模块和第二确定子模块中的至少一个。第一确定子模块用于将目标图像中,针对位于阵列中同一列且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。第二确定子模块用于将目标图像
中,针对位于阵列中同一行且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。
131.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
132.在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
133.根据本公开的实施例,本公开还提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述确定对象信息的方法。
134.根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述确定对象信息的方法。
135.根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述确定对象信息的方法。
136.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
137.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
138.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
139.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如确定对象信息的方法。例如,在一些实施例中,确定对象信息的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的确定对象信息的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行确定对象信息的方法。
140.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电
路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
141.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
142.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
143.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
144.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
145.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
146.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
147.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:
1.一种确定对象信息的方法,包括:根据至少两个目标图像,确定至少一个图像对,其中,所述图像对包括:第一图像和第二图像,并且所述第一图像和所述第二图像具有表征相同位置的重叠部;针对每个所述图像对,分别对所述第一图像和所述第二图像进行目标检测,得到与所述第一图像对应的第一对象检测框和与所述第二图像对应的第二对象检测框;和对所述第一对象检测框和所述第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个所述图像对相对应的第三对象检测框;以及根据所述第三对象检测框,确定与所述目标图像相关的对象信息。2.根据权利要求1所述的方法,其中,所述对所述第一对象检测框和所述第二对象检测框中,指示同一对象的对象检测框进行去重包括:根据所述第一对象检测框和所述第二对象检测框,确定相匹配的特征点对,其中,所述特征点对包括所述第一对象检测框中的第一特征点和所述第二对象检测框中的第二特征点;根据所述特征点对,确定所述第一图像和所述第二图像的单应矩阵;根据所述单应矩阵,确定所述重叠部在所述第一图像中的位置;以及将所述第一对象检测框中,处于所述重叠部的第一对象检测框删除。3.根据权利要求1所述的方法,其中,所述对所述第一对象检测框和所述第二对象检测框中,指示同一对象的对象检测框进行去重包括:确定所述第一对象检测框和所述第二对象检测框之间的匹配关系;以及根据所述匹配关系、第一相对位置信息以及第二相对位置信息,对所述第一对象检测框进行去重;其中,所述第一相对位置信息指示了所述第一图像对应的图像采集区域和所述第二图像对应的图像采集区域之间的相对位置;所述第二相对位置信息指示了所述第一对象检测框在所述第一图像中的相对位置。4.根据权利要求1所述的方法,其中,所述对所述第一对象检测框和所述第二对象检测框中,指示同一对象的对象检测框进行去重包括:根据所述第一对象检测框在所述第一图像中的相对位置,确定第一对象序列信息;根据所述第二对象检测框在所述第二图像中的相对位置,确定第二对象序列信息;以及根据第一相对位置信息,以及所述第一对象序列信息和所述第二对象序列信息中重复的序列片段信息,将所述第一对象检测框中,所述序列片段信息指示的第一对象检测框删除;其中,所述第一相对位置信息指示了所述第一图像对应的图像采集区域和所述第二图像对应的图像采集区域之间的相对位置。5.根据权利要求1至4中任意一项所述的方法,还包括:在确定至少一个图像对之前,确定针对目标位置的当前估计图像和在前图像之间的重叠率;在确定所述重叠率小于重叠率阈值的情况下,生成用于指示目标移动方向的提示信息;以及
在确定所述重叠率大于等于所述重叠率阈值的情况下,根据接收到的图像采集指令对所述目标位置进行图像采集,并将所采集的图像确定为目标图像。6.根据权利要求5所述的方法,其中,所述目标图像是对目标区域中的至少两个子区域进行图像采集得到的,所述子区域沿预定方向排布;所述方法还包括:将所述目标图像中,针对沿所述预定方向相邻的两个子区域进行图像采集得到的两个目标图像进行拼接,得到拼接图像;输出所述拼接图像;以及响应于接收到撤销指令,根据所述撤销指令,将所述目标图像中与所述撤销指令对应的目标图像删除。7.根据权利要求1所述的方法,其中,所述目标图像是对目标区域中的至少两个子区域进行图像采集得到的,所述子区域排布为阵列;所述根据至少两个目标图像,确定至少一个图像对包括以下中的至少一个:将所述目标图像中,针对位于所述阵列中同一列且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对;以及将所述目标图像中,针对位于所述阵列中同一行且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。8.一种确定对象信息的装置,包括:图像对确定模块,用于根据至少两个目标图像,确定至少一个图像对,其中,所述图像对包括:第一图像和第二图像,并且所述第一图像和所述第二图像具有表征相同位置的重叠部;去重模块,用于针对每个所述图像对,分别对所述第一图像和所述第二图像进行目标检测,得到与所述第一图像对应的第一对象检测框和与所述第二图像对应的第二对象检测框;以及对所述第一对象检测框和所述第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个所述图像对相对应的第三对象检测框;以及信息确定模块,用于根据所述第三对象检测框,确定与所述目标图像相关的对象信息。9.根据权利要求8所述的装置,其中,所述去重模块包括:特征点对确定子模块,用于根据所述第一对象检测框和所述第二对象检测框,确定相匹配的特征点对,其中,所述特征点对包括所述第一对象检测框中的第一特征点和所述第二对象检测框中的第二特征点;矩阵确定子模块,用于根据所述特征点对,确定所述第一图像和所述第二图像的单应矩阵;位置确定子模块,用于根据所述单应矩阵,确定所述重叠部在所述第一图像中的位置;以及第一去重子模块,用于将所述第一对象检测框中,处于所述重叠部的第一对象检测框删除。10.根据权利要求8所述的装置,其中,所述去重模块包括:关系确定子模块,用于确定所述第一对象检测框和所述第二对象检测框之间的匹配关系;以及
第二去重子模块,用于根据所述匹配关系、第一相对位置信息以及第二相对位置信息,对所述第一对象检测框进行去重;其中,所述第一相对位置信息指示了所述第一图像对应的图像采集区域和所述第二图像对应的图像采集区域之间的相对位置;所述第二相对位置信息指示了所述第一对象检测框在所述第一图像中的相对位置。11.根据权利要求8所述的装置,其中,所述去重模块包括:第一序列确定子模块,用于根据所述第一对象检测框在所述第一图像中的相对位置,确定第一对象序列信息;第二序列确定子模块,用于根据所述第二对象检测框在所述第二图像中的相对位置,确定第二对象序列信息;以及第三去重子模块,用于根据第一相对位置信息,以及所述第一对象序列信息和所述第二对象序列信息中重复的序列片段信息,将所述第一对象检测框中,所述序列片段信息指示的第一对象检测框删除;其中,所述第一相对位置信息指示了所述第一图像对应的图像采集区域和所述第二图像对应的图像采集区域之间的相对位置。12.根据权利要求8至11中任意一项所述的装置,还包括:重叠率确定子模块,用于在确定至少一个图像对之前,确定针对目标位置的当前估计图像和在前图像之间的重叠率;提示子模块,用于在确定所述重叠率小于重叠率阈值的情况下,生成用于指示目标移动方向的提示信息;以及采集子模块,用于在确定所述重叠率大于等于所述重叠率阈值的情况下,根据接收到的图像采集指令对所述目标位置进行图像采集,并将所采集的图像确定为目标图像。13.根据权利要求12所述的装置,其中,所述目标图像是对目标区域中的至少两个子区域进行图像采集得到的,所述子区域沿预定方向排布;所述装置还包括:拼接模块,用于将所述目标图像中,针对沿所述预定方向相邻的两个子区域进行图像采集得到的两个目标图像进行拼接,得到拼接图像;输出模块,用于输出所述拼接图像;以及删除模块,用于响应于接收到撤销指令,根据所述撤销指令,将所述目标图像中与所述撤销指令对应的目标图像删除。14.根据权利要求8所述的装置,其中,所述目标图像是对目标区域中的至少两个子区域进行图像采集得到的,所述子区域排布为阵列;所述根据至少两个目标图像,所述图像对确定模块包括以下中的至少一个:第一确定子模块,用于将所述目标图像中,针对位于所述阵列中同一列且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对;以及第二确定子模块,用于将所述目标图像中,针对位于所述阵列中同一行且相邻的两个子区域进行图像采集得到的两个目标图像,确定为图像对。15.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述的方法。16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至7中任一项所述的方法。17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至7中任一项所述的方法。

技术总结
本公开提供了一种确定对象信息的方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及图像处理领域。具体实现方案为:根据至少两个目标图像,确定至少一个图像对,其中,图像对包括:第一图像和第二图像,并且第一图像和第二图像具有表征相同位置的重叠部;针对每个图像对,分别对第一图像和第二图像进行目标检测,得到与第一图像对应的第一对象检测框和与第二图像对应的第二对象检测框;以及对第一对象检测框和第二对象检测框中,指示同一对象的对象检测框进行去重,得到与每个图像对相对应的第三对象检测框;以及根据第三对象检测框,确定与目标图像相关的对象信息。确定与目标图像相关的对象信息。确定与目标图像相关的对象信息。


技术研发人员:倪子涵 安容巧 孙逸鹏 姚锟
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2022.06.30
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-8158.html

最新回复(0)