1.本技术涉及机器人技术领域,尤其涉及一种物体定位方法、装置、自主移动设备和存储介质。
背景技术:2.随着社会生产力需求的不断提高,机器人技术得到重视与大力发展。其中,具备空间感知能力的机器人被广泛应用于各类服务、仓储、物流等行业需求中,大大提高了各行业的工作效率。
3.为了满足自动化的物流需求,通常会通过具备视觉或扫描能力的机器人,感知空间中的物体进行搬运。现有技术在空间感知过程中,通常采用电子标签的方法来帮助机器人识别物体,但识别的精度低;或者采用激光雷达扫描物体来进行识别,但是需要预先建立对应物体的立体模型用于比对,适应性较差。
技术实现要素:4.本技术提供了一种物体定位方法、装置、自主移动设备和存储介质,以提高对目标物体的识别精度和适应性。
5.根据本技术的一方面,提供了一种物体定位方法,所述方法包括:
6.获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;
7.针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素;
8.根据非地面体素,确定目标物体的前表面图像;
9.根据前表面图像中的像素边界,对目标物体进行定位。
10.根据本技术的另一方面,提供了一种物体定位装置,包括:
11.栅格投影生成模块,用于获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;
12.非地面体素确定模块,用于针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素;
13.前表面图像确定模块,用于根据非地面体素,确定目标物体的前表面图像;
14.目标物体定位模块,用于根据前表面图像中的像素边界,对目标物体进行定位。
15.根据本技术的另一方面,提供了一种自主移动设备,所述自主移动设备包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本技术任一实施例所述的物体定位方法。
19.根据本技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本技术任一实施例所述的物体定位方法。
20.本技术实施例的技术方案,从栅格投影模型中对三维体素进行处理,确定非地面体素中的目标物体,再根据目标物体的前表面图像确定目标物体的定位。这样做能够筛出影响目标识别的点云,降低目标环境中影响因素的干扰,提高目标物体的识别准确度,而且还能够因对各种不同的目标物体识别需求,提高了目标物体定位的通用性。
21.应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1a是根据本技术实施例一提供的一种物体定位方法的流程图;
24.图1b是根据本技术实施例一提供的一种栅格投影模型的示意图;
25.图2a是根据本技术实施例二提供的一种物体定位方法的流程图;
26.图2b是根据本技术实施例二提供的一种物流托盘前表面的二值图像;
27.图2c是根据本技术实施例二提供的一种物流托盘横向像素边界的示意图;
28.图2d是根据本技术实施例二提供的一种识别物流托盘的示意图;
29.图3是根据本技术实施例三提供的一种物体定位装置的结构示意图;
30.图4是实现本技术实施例的物体定位方法的自主移动设备的结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.实施例一
34.图1a为本技术实施例一提供了一种物体定位方法的流程图,本实施例可适用于机器人识别物流托盘位置的情况,该方法可以由物体定位装置来执行,该物体定位装置可以
采用硬件和/或软件的形式实现,该物体定位装置可配置于自主移动设备中。如图1a所示,该方法包括:
35.s110、获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型。
36.其中,自主移动设备可以是任何能够在空间中按照预设程序或根据空间感知能力进行运动的设备,例如平面移动型机器人(根据应用场景不同可以是服务型机器人、物流机器人等)、agv(automated guided vehicle,自动导航车辆),也可以是在空间中进行作业同时需要进行避障的多自由度机器人,本技术实施例对自主移动设备的类型不作限定。目标空间可以是自主移动设备的作业空间,例如物流机器人工作的仓库或生产线的三维空间等。
37.三维体素可以是自主移动设备获取的空间中的点云数据转化而来的,用于保证能够维持点云形状分布的同时,减少点云的数量,节约计算资源,从而提高计算效率。栅格投影模型可以是将自主移动设备获取得到的三维体素进行垂直于水平面的投影(竖直方向投影),并设置预设栅格大小,将各三维体素投影于水平面的栅格中。
38.需要说明的是,为了方便进行理解和计算,一般采用三维体素的重心代替该三维体素进行投影和计算。自主移动设备在目标空间中运动时,实时获取运动方向上的三维体素,从而辅助判断运动方向上是否具有障碍(此处障碍应包括立体障碍物和地面凹陷等一些影响自主移动设备在地面运动的障碍)。
39.举例说明,如图1b所示为栅格处理的平面模型,自主移动设备的运动中心为原点c,r
max
为深度相机的最大拍摄距离,各栅格单元的长和宽分别为d
x
以及dy,将各三维体素的重心p(x
p
,y
p
,z
p
)按照下列公式分配至各栅格(row,col)中:
[0040][0041]
其中,rdown()为向下取整函数,输入的每个三维体素重心经过栅格化处理后均会被分配至唯一对应的栅格中,最终将所有的三维体素重心的投影点归纳在栅格中。
[0042]
在一种可选实施方式中,所述获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型,可以包括:获取自主移动设备在目标空间中运动方向上的有色点云;对有色点云进行降采样,得到三维体素;根据三维体素的重心坐标,生成栅格投影模型。
[0043]
其中,有色点云可以是带有色彩信息的点云数据,降采样可以是现有技术中任意一种降采样方法,本技术实施例对此不作限定。通过降采样处理,将所有的有色点云划分成多个三维体素,在每个三维体素内,用该三维体素的重心来代表该三维体素内的所有有色点云。降采样时需要检查所有的三维体素,以体素重心代替该三维体素内的点集,保证了点云形状的同时,减少了需要处理的点云数据的数据量,减小了计算的复杂程度。再通过建立栅格投影模型,将带有颜色信息的各三维体素的重心置于栅格投影模型中。
[0044]
s120、针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素。
[0045]
其中,非地面体素可以是再目标空间中代表着高于地面的物体的体素,例如物流/仓储机器人在仓库中对货物进行识别的时候,货物或者物流托盘等高于地面的物体对应的三维体素都属于非地面体素。
[0046]
由于三维体素的重心坐标中包括了高度信息(即竖直方向的坐标值)因此可以根据各三维体素的重心坐标确定高于地面高度的体素。
[0047]
s130、根据非地面体素,确定目标物体的前表面图像。
[0048]
其中,目标物体的前表面可以是面向自主移动设备的一面。根据前述步骤中确定的非地面体素,将这些非地面体素的重心作为处理空间中目标物体的数据,根据这些非地面体素的重心的坐标数据,生成目标物体的前表面图像。例如,可以是先对非地面体素的重心进行滤波或筛选等操作,选择出目标物体前表面的体素重心,然后生成对应的前表面图像。其中,所述滤波或筛选操作仅作说明,不应理解为对本技术实施例技术方案的限定。
[0049]
在一种可选实施方式中,所述根据非地面体素,确定目标物体的前表面图像,可以包括:对非地面体素进行点云分割,确定目标物体的前表面体素;根据前表面体素,确定前表面图像。
[0050]
其中,点云分割可以是对所有的非地面体素进行的分割筛选,从中确定目标物体的前表面体素,再通过前表面体素的重心生成目标物体前表面图像。当然,前表面图像可以是一种基于点云(体素重心)的二维图像,也可以是一种点云和实际图像融合的二维图像,本技术实施例对此不作限定。
[0051]
在一种可选实施方式中,所述对非地面体素进行点云分割,确定目标物体的前表面体素,可以包括:在栅格投影模型中对非地面体素进行预设点云分割;其中,预设点云分割包括色彩分割、聚类分割和平面分割中的至少一种;将点云分割结果映射至目标空间中,得到前表面体素。
[0052]
其中,对非地面体素的重心进行点云分割的过程可以在栅格投影模型中进行,可以理解的是,当前各体素的重心均被投影在二维平面中。由于最初获取的有色点云在进行降采样转化为体素时,将色彩信息一并赋予给了各体素,因此各体素重心也具备色彩信息。可以通过预设的色彩分割算法对非地面体素进行筛选。例如,在仓库中需要对物流托盘进行识别,可以预先对物流托盘(对应本技术实施例中的目标物品)的颜色进行确定,技术人员在试验中将获取得到的点云进行色彩空间转换,将rgb(red green blue)空间转化为hsv(hue saturation value)空间,从而更好的表征物流托盘的颜色。假设,经过大量试验后得出物流托盘的颜色的阈值范围为:90《h《110,s》153,51《v《153(一种蓝色)。通过这个预设的hsv色彩空间下的颜色阈值分割所有的非地面体素的重心,从而获取物流托盘的体素重心。
[0053]
也可以采用聚类分割的方式,聚类分割可以通过发现数据中描述对象(即目标空间中的物体)及其关联的信息,按照预设的标准将点云数据分割成不同的类或者簇,预设的标准可以由相关技术人员根据人工经验或大量试验确定。例如,采用欧式距离作为距离指标进行聚类分割。自主移动设备获取的三维的点云(体素重心)由散乱无序的海量离散点组成,可以利用现有技术中任意一种拓扑关系建立法来创建离散点之间的拓扑关系,例如八叉树或者k维树等。
[0054]
还可以采用平面分割方法,该方法也需要在栅格投影模型中实现。三维体素的重心点被投影至二维平面后,采用直线拟合方式进行平面分割。可以在算法参数中根据点云
分辨率(体素重心分辨率)设置对应的距离阈值,当某个点和被拟合直线的距离小于等于该距离阈值时,即将该点看作是被拟合直线的内点;反之,当某个点和被拟合直线的距离大于该距离阈值时,即将该点看作是被拟合直线的外点。以此确定目标物品在投影至二维平面后的点云直线。其中直线拟合方式可以采用例如ransac(random sample consensus,随机抽样一致)算法等。
[0055]
点云分割结果可以是前述各点云分割方法的计算结果。需要说明的是,由于一些分割方法需要基于栅格投影模型中的二维平面进行计算,因此在计算得到二维平面上的体素重心的分割结果后,可以将该点云分割结果映射回目标空间(三维空间)中,进而帮助确定前表面体素。例如,平面分割时获取得到在二维平面上的目标物体的前表面为一条线段。将该线段上所有的点重新映射回三维空间,即可获得目标物体的前表面体素的重心分布情况,以帮助确定前表面图片。通过点云分割和映射回三维空间的方法,好处在于能够提高目标物体的识别精度,且该方法较为通用,面对不同的目标物体均可奏效。
[0056]
s140、根据前表面图像中的像素边界,对目标物体进行定位。
[0057]
其中,像素边界可以是前述步骤中获取的前表面图像中物体点云(三维体素重心)的轮廓分界。根据像素边界可以确定目标物体的形状、与自主移动设备之间的相对距离、相对位置等,以此对目标物体进行定位。
[0058]
本技术实施例的技术方案,从栅格投影模型中对三维体素进行处理,确定非地面体素中的目标物体,再根据目标物体的前表面图像确定目标物体的定位。这样做能够筛出影响目标识别的点云,降低目标环境中影响因素的干扰,提高目标物体的识别准确度,而且还能够因对各种不同的目标物体识别需求,提高了目标物体定位的通用性。
[0059]
实施例二
[0060]
图2a为本技术实施例二提供的一种物体定位方法的流程图,本实施例是在前述实施例的基础上对目标物体的定位操作进行进一步的细化。如图2a所示,该方法包括:
[0061]
s210、获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型。
[0062]
s220、针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素。
[0063]
在一种可选实施方式中,所述针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素,可以包括:针对各栅格,根据该栅格内三维体素的重心坐标,确定该栅格内三维体素的基础属性信息;其中,基础属性信息包括重心数量、平均高度、高度方差和最大高度差中的至少一项;根据三维体素的基础属性信息,确定目标空间中的非地面体素。
[0064]
其中,基础属性信息包括重心数量、平均高度、高度方差以及最大高度差中的至少一项。重心数量是一个栅格内所投影的三维体素重心的数量。平均高度则是一个栅格内所有三维体素的重心高度的平均值。高度方差也是一个栅格内所属有三维体素的重心高度的方差。最大高度差指的是一个栅格内所有三维体素重心中高度值最高的和高度值最低的两个重心的高度差。根据上述四项指标中的至少一项,即可判断栅格内的所包括的三维体素的重心是否为非地面体素。由于目标空间中的物体的三维体素均投影至二维平面,可以理解的是,物体平行于水平面的面上的点(三维体素重心)投影至二维平面时,点的数量大致
不变;但是物体垂直于水平面的面上的点投影至二维平面时,该栅格内的点的数量比平行于水平面的点数量多。因此通过栅格内重心数量可以判断该栅格内是否存在物体的立体面的三维体素重心。
[0065]
同理,一个栅格内各三维体素的重心高度的平均值若大于地面高度(建立栅格投影模型时可设定为0)超过预设平均高度阈值,则可以判断该栅格内存在物体的立体面。预设平均高度阈值是为了防止误差,可以由相关技术人员根据人工经验或者大量试验确定。高度方差反应了一个栅格内所有三维体素的重心的高度变化,若高度方差较大,可以认为该栅格内各三维体素的重心高度起伏较明显,即可判断该栅格内存在物体的立体面;若高度方差较小,则可认为该栅格内各三维体素的重心高度没有明显起伏,则可判断该栅格内不存在物体的立体面。最大高度差同样可以表征该栅格内三维体素重心高度的起伏情况,若最大高度差超过了高度差阈值,则可以认为该栅格内各三维体素的重心高度起伏较明显,即可判断该栅格内存在物体的立体面;若最大高度差较小(例如在高度差阈值范围内)时,则可认为该栅格内各三维体素的重心高度没有明显起伏,则可判断该栅格内不存在物体的立体面。
[0066]
举例说明,可以通过计算各栅格单元中三维体素重心的基础属性信息:重心点数、平均高度、(最大)高度差和高度方差,并在其中选取合适的参数设置阈值用于滤除体素重心中的地面点,多参数的选择可以降低算法对参数值的依赖,并提高算法的实时性能。
[0067]
以i为栅格单元的行号,j为栅格单元的列号,各栅格单元可标号为ceil(i,j),将ceil(i,j)中所存储点数目记为size
ceil(i,j)
,以如下公式计算出ceil(i,j)的平均高度:
[0068][0069]
其中,k为ceil(i,j)中的某个点,zk表示为该店的高度值(即z轴方向坐标)。自主移动设备的运行环境一般为平坦地面,因此存储物体的点云(体素重心)的栅格的平均高度一般较大。
[0070]
下列公式可以用于计算ceil(i,j)中点的(最大)高度差:
[0071]zdiff
(i,j)=z
max-z
min
;
[0072]
其中,z
max
和z
min
分别代表栅格ceil(i,j)中各体素重心的z方向坐标值的最大值和最小值。与前述判断标准类似,由于自主移动设备主要在平坦地面进行移动,因此存储非地面点的栅格内一般具备较大的高度差。
[0073]
为了更好的表征各栅格中所处点云的高度分布,还可以引入栅格的高度方差,σ2(i,j)是栅格ceil(i,j)中各体素重心高度的方差:
[0074][0075]
一般情况下,存储物体立体面的体素重心的栅格内高度方差信息较大,而存储地面点的栅格内方差信息较小。结合上文所述的size
ceil(i,j)
并且综合以上的三个栅格单元属性,可以分别设置上述四个阈值也可以选取其中某些阈值设置进行地面点滤除。因分割指标较为全面,所以无需按照严格指标设置阈值参数就可以实现较好的分割效果,算法对参数的依赖也较低。
[0076]
因此,根据上述四种途径的至少一项或者自由组合,可以精确有效的判断栅格内
是否有物体的情况,提高了物体识别的精度和效率,为后续目标物体前表面的识别提供了基础。
[0077]
s230、根据非地面体素,确定目标物体的前表面图像。
[0078]
s240、根据前表面图像,确定前表面图像中目标物体的像素边界。
[0079]
其中,可以将前述步骤处理后得到的物体前表面的体素重心转化为灰度图像,在对灰度图像进行二值化处理,使物体前表面的灰度图像转化为黑白图像。例如设定分割阈值,对于灰度值小于等于该分割阈值的像素点,可以确定为图像中的背景像素点,将这些背景像素点转化为灰度值为0的黑色像素点;对于灰度值大于所述分割阈值的像素点,可以确定为目标物体的像素点,将这些目标物体像素点转化为灰度值为255的白色像素点。
[0080]
可选的,可以对黑白图像(二值图像)进行形态学处理,以确定与目标物体形状相符的像素点的集合。如图2b所示,以物流托盘的识别为例,图2b展示了物流托盘前表面的二值图像的识别结果。其中,所述形态学处理可以采用现有技术中任意一种形态学计算方法,例如可以是腐蚀膨胀法,本技术实施例对此不作限定。
[0081]
进一步的,可以对二值图像中的像素点进行轮廓计算。对整张图像中的像素点以行为单位,从上至下对每一行中的像素点从左到右进行遍历,做预设运算(例如一阶差分运算),提取出相邻点之间像素灰度值的差值为255的像素点放入集合中,即为轮廓点,从而确定目标物体和背景之间的像素边界,如图2c所示。
[0082]
s250、根据像素边界,确定目标物体的前表面中心。
[0083]
前表面中心可以是目标物体前表面的宽度中心,通过二值图像中的像素边界,对目标物体横向宽度的中心进行确定,以为自主移动设备确定目标物体的定位提供帮助。
[0084]
在一种可选实施方式中,若所述目标物体为物流托盘,则在根据像素边界,确定目标物体的前表面中心之前,所述方法还可以包括:根据像素边界的数量,确定物流托盘的托盘类型;根据托盘类型,确定物流托盘的尺寸;相应的,所述根据像素边界,确定目标物体的前表面中心,可以包括:根据物流托盘的尺寸,确定目标物体的前表面中心。
[0085]
以目标物体为物流托盘为例,前述步骤中确定了物流托盘前表面图像中的像素边界,且该像素边界重点在于横向的轮廓。可以理解的是,由于杂物、光线或者货物等干扰因素的影响,会导致轮廓点集合中存在一定的噪点,如图2d所示。对于物流托盘而言,较为稳定的且可以量化的特征即为物流托盘的立柱与空洞,因此通过像素边界的数量可以确定物流托盘具有的立柱数量和空洞数量。从而根据像素边界的数量确定物流托盘的托盘类型,例如可以包括但不限于单孔托盘和双孔托盘,单孔托盘存在4个像素边界,双孔托盘存在6个像素边界。还可以根据像素边界的形状通过预设图像处理算法,判断单孔托盘或者双孔托盘的具体型号,诸如方孔式托盘或者梯形孔式托盘等,本实施例对预设图像处理算法不作限定。此外,在判断相邻的像素边界的像素点时,可以设置一定的阈值保证同一行相邻的像素边界的像素点之间的距离不能过近或过远。
[0086]
在识别出托盘类型后,可以根据预设的托盘类型和托盘尺寸的关联关系,确定当前识别的托盘的尺寸,并根据该托盘尺寸确定物流托盘前表面的中心,以为物流托盘的定位提供基础。
[0087]
s260、根据目标物体的前表面中心,确定目标物体在目标空间中的定位。
[0088]
在前述步骤中获取得到前表面中心的参数后,根据前表面中心所对应的体素重心
(或点云数据)在目标空间中的坐标,确定目标物体的定位。
[0089]
本技术实施例的技术方案中,通过目标物体前表面图像的像素边界,对前表面中心进行确定,从而帮助自主移动设备进行物体定位。这样做的好处在于可以通过像素边界简单高效的确定物流托盘的类型、尺寸等,提高了对物流托盘识别的效率。
[0090]
实施例三
[0091]
图3为本技术实施例三提供的一种物体定位装置的结构示意图。如图3所示,该物体定位装置300包括:
[0092]
栅格投影生成模块310,用于获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;
[0093]
非地面体素确定模块320,用于针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素;
[0094]
前表面图像确定模块330,用于根据非地面体素,确定目标物体的前表面图像;
[0095]
目标物体定位模块340,用于根据前表面图像中的像素边界,对目标物体进行定位。
[0096]
本技术实施例的技术方案,从栅格投影模型中对三维体素进行处理,确定非地面体素中的目标物体,再根据目标物体的前表面图像确定目标物体的定位。这样做能够筛出影响目标识别的点云,降低目标环境中影响因素的干扰,提高目标物体的识别准确度,而且还能够因对各种不同的目标物体识别需求,提高了目标物体定位的通用性。
[0097]
在一种可选实施方式中,所述目标物体定位模块340,可以包括:
[0098]
像素边界确定单元,用于根据前表面图像,确定前表面图像中目标物体的像素边界;
[0099]
前表面中心确定单元,用于根据像素边界,确定目标物体的前表面中心;
[0100]
定位确定单元,用于根据目标物体的前表面中心,确定目标物体在目标空间中的定位。
[0101]
在一种可选实施方式中,所述物体定位装置300,还可以包括:
[0102]
托盘类型确定模块,用于根据像素边界的数量,确定物流托盘的托盘类型;
[0103]
托盘尺寸确定模块,用于根据托盘类型,确定物流托盘的尺寸;
[0104]
相应的,所述前表面中心确定单元,可以具体用于:根据物流托盘的尺寸,确定目标物体的前表面中心。
[0105]
在一种可选实施方式中,所述非地面体素确定模块320,可以包括:
[0106]
体素信息确定单元,用于针对各栅格,根据该栅格内三维体素的重心坐标,确定该栅格内三维体素的基础属性信息;其中,基础属性信息包括重心数量、平均高度、高度方差和最大高度差中的至少一项;
[0107]
非地面体素确定单元,用于根据三维体素的基础属性信息,确定目标空间中的非地面体素。
[0108]
在一种可选实施方式中,所述前表面图像确定模块330,可以包括:
[0109]
前表面体素确定单元,用于对非地面体素进行点云分割,确定目标物体的前表面体素;
[0110]
前表面图像确定单元,用于根据前表面体素,确定前表面图像。
[0111]
在一种可选实施方式中,所述前表面体素确定单元,可以包括:
[0112]
点云分割子单元,用于在栅格投影模型中对非地面体素进行预设点云分割;其中,预设点云分割包括色彩分割、聚类分割和平面分割中的至少一种;
[0113]
分割结果映射子单元,用于将点云分割结果映射至目标空间中,得到前表面体素。
[0114]
在一种可选实施方式中,所述栅格投影生成模块310,可以包括:
[0115]
有色点云获取单元,用于获取自主移动设备在目标空间中运动方向上的有色点云;
[0116]
三维体素确定单元,用于对有色点云进行降采样,得到三维体素;
[0117]
栅格投影生成单元,用于根据三维体素的重心坐标,生成栅格投影模型。
[0118]
本技术实施例所提供的物体定位装置可执行本技术任意实施例所提供的物体定位方法,具备执行各物体定位方法相应的功能模块和有益效果。
[0119]
实施例四
[0120]
图4示出了可以用来实施本技术的实施例的自主移动设备10的结构示意图。自主移动设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
[0121]
如图4所示,自主移动设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储自主移动设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0122]
自主移动设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许自主移动设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0123]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如物体定位方法。
[0124]
在一些实施例中,物体定位方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到自主移动设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的物体定位方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行物体定位方法。
[0125]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0126]
用于实施本技术的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0127]
在本技术的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0128]
为了提供与用户的交互,可以在自主移动设备上实施此处描述的系统和技术,该自主移动设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给自主移动设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0129]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0130]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的
管理难度大,业务扩展性弱的缺陷。
[0131]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本技术中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术的技术方案所期望的结果,本文在此不进行限制。
[0132]
上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。
技术特征:1.一种物体定位方法,其特征在于,所述方法包括:获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;针对各栅格,根据该栅格内所述三维体素的重心坐标,确定所述目标空间中的非地面体素;根据所述非地面体素,确定目标物体的前表面图像;根据所述前表面图像中的像素边界,对所述目标物体进行定位。2.根据权利要求1所述的方法,其特征在于,所述根据所述前表面图像中的像素边界,对所述目标物体进行定位,包括:根据所述前表面图像,确定所述前表面图像中所述目标物体的像素边界;根据所述像素边界,确定所述目标物体的前表面中心;根据所述目标物体的前表面中心,确定所述目标物体在所述目标空间中的定位。3.根据权利要求2所述的方法,其特征在于,若所述目标物体为物流托盘,则在所述根据所述像素边界,确定所述目标物体的前表面中心之前,所述方法还包括:根据所述像素边界的数量,确定所述物流托盘的托盘类型;根据所述托盘类型,确定所述物流托盘的尺寸;相应的,所述根据所述像素边界,确定所述目标物体的前表面中心,包括:根据所述物流托盘的尺寸,确定所述目标物体的前表面中心。4.根据权利要求1-3任一项所述的方法,其特征在于,所述针对各栅格,根据该栅格内所述三维体素的重心坐标,确定所述目标空间中的非地面体素,包括:针对各栅格,根据该栅格内所述三维体素的重心坐标,确定该栅格内三维体素的基础属性信息;其中,所述基础属性信息包括重心数量、平均高度、高度方差和最大高度差中的至少一项;根据所述三维体素的基础属性信息,确定所述目标空间中的非地面体素。5.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述非地面体素,确定目标物体的前表面图像,包括:对所述非地面体素进行点云分割,确定所述目标物体的前表面体素;根据所述前表面体素,确定所述前表面图像。6.根据权利要求5所述的方法,其特征在于,所述对所述非地面体素进行点云分割,确定所述目标物体的前表面体素,包括:在所述栅格投影模型中对所述非地面体素进行预设点云分割;其中,所述预设点云分割包括色彩分割、聚类分割和平面分割中的至少一种;将点云分割结果映射至所述目标空间中,得到所述前表面体素。7.根据权利要求6任一项所述的方法,其特征在于,所述获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型,包括:获取所述自主移动设备在目标空间中运动方向上的有色点云;对所述有色点云进行降采样,得到所述三维体素;根据所述三维体素的重心坐标,生成所述栅格投影模型。8.一种物体定位装置,其特征在于,包括:
栅格投影生成模块,用于获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;非地面体素确定模块,用于针对各栅格,根据该栅格内所述三维体素的重心坐标,确定所述目标空间中的非地面体素;前表面图像确定模块,用于根据所述非地面体素,确定目标物体的前表面图像;目标物体定位模块,用于根据所述前表面图像中的像素边界,对所述目标物体进行定位。9.一种自主移动设备,其特征在于,所述自主移动设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的物体定位方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的物体定位方法。
技术总结本申请公开了一种物体定位方法、装置、自主移动设备和存储介质。具体包括:获取自主移动设备在目标空间中运动方向上的三维体素,并生成包括各三维体素的栅格投影模型;针对各栅格,根据该栅格内三维体素的重心坐标,确定目标空间中的非地面体素;根据非地面体素,确定目标物体的前表面图像;根据前表面图像中的像素边界,对目标物体进行定位。本申请实施例的技术方案,能够筛出影响目标识别的点云,降低目标环境中影响因素的干扰,提高目标物体的识别准确度,而且还能够因对各种不同的目标物体识别需求,提高了目标物体定位的通用性。提高了目标物体定位的通用性。提高了目标物体定位的通用性。
技术研发人员:陆宇杭 周航 刘胜明
受保护的技术使用者:苏州艾吉威机器人有限公司
技术研发日:2022.07.21
技术公布日:2022/11/1