机器人定位方法、装置、存储介质及机器人与流程

文档序号:33365969发布日期:2023-03-07 22:41阅读:17来源:国知局
机器人定位方法、装置、存储介质及机器人与流程

1.本发明涉及定位技术领域,尤其涉及一种机器人定位方法、装置、存储介质及机器人。


背景技术:

2.本发明是针对家庭移动机器人实现的一种室内动态场景定位方法,家庭移动机器人在构建环境地图时,如果有人员或宠物经过机器人摄像头视场内,此时对于移动的机器人而言,静态的环境相对机器人是运动的,人、宠物等动态物相对机器人也是运动的,机器人很难判断其运动关系,容易造成定位失效。本发明为解决上述问题,目前市场上家庭移动机器人需要搭配激光雷达、超声模块、tof等传感器,同时采用的是深度学习语义分割算法,但是深度学习语义分割算法复杂度较高,且传感器数量较多,这样大大增加了机器人定位的成本。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种机器人定位方法、装置、存储介质及机器人,旨在解决现有技术机器人定位的成本较高的技术问题。
5.为实现上述目的,本发明提供了一种机器人定位方法,所述机器人定位方法包括以下步骤:
6.获取待定位机器人采集的目标室内环境图像;
7.将所述目标室内环境图像划分成多个室内环境子图像;
8.计算各所述室内环境子图像和预设参考图像之间的重投影误差;
9.根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像;以及
10.根据所述目标特征图像对所述待定位机器人进行室内定位。
11.可选地,所述将所述目标室内环境图像划分成多个室内环境子图像,包括:
12.对所述目标室内环境图像进行像素标记;
13.将标记后的目标室内环境均匀划分成预设数量的正六边形图像区域;
14.根据像素标记结果确定各个正六边形图像区域对应的区域类型,以及各个正六边形图像区域中同类像素的种类数量;
15.根据所述种类数量确定各个正六边形图像区域中的种子像素;
16.根据所述种子像素对所述区域类型为非均匀区域的正六边形区域重新进行像素标记;以及
17.按照新的像素标记和所述区域类型对正六边形图像区域进行合并,以得到多个室内环境子图像。
18.可选地,所述对所述目标室内环境图像进行像素标记,包括:
19.依次从所述目标室内环境图像中任意选取一个参考像素点;
20.确定所述参考像素点对应的多个领域像素点;
21.获取所述参考像素点和各个领域像素点的亮度和色泽;
22.根据所述亮度和所述色泽计算所述参考像素点与各个领域像素点之间的像素距离;
23.根据所述像素距离对各个领域像素点进行像素标记。
24.可选地,所述获取待定位机器人采集的目标室内环境图像,包括:
25.获取待定位机器人的相机内参数、相机畸变参数以及所述待定位机器人采集的原始室内环境图像;以及
26.根据所述相机内参数和所述相机畸变参数对所述原始室内环境图像的图像点进行畸变纠正,以得到目标室内环境图像。
27.可选地,所述根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像,包括:
28.获取所述重投影误差中最大误差与最小误差之间的差值;
29.将所述差值与预设差值阈值进行比较;以及
30.根据比较结果从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像。
31.可选地,所述计算各所述室内环境子图像和预设参考图像之间的重投影误差,包括:
32.依次从所述多个室内环境子图像中去除一个室内环境子图像;以及
33.计算剩余室内环境子图像与预设参考图像之间的重投影误差。
34.可选地,所述依次从所述多个室内环境子图像中去除一个室内环境子图像之后,还包括:
35.获取被去除的室内环境子图像的图像面积;以及
36.若所述图像面积小于预设面积,则对目标室内环境图像重新进行图像区域划分。
37.此外,为实现上述目的,本发明还提出一种机器人定位装置,所述机器人定位装置包括:
38.获取模块,用于获取待定位机器人采集的目标室内环境图像;
39.划分模块,用于将所述目标室内环境图像划分成多个室内环境子图像;
40.计算模块,用于计算各所述室内环境子图像和预设参考图像之间的重投影误差;
41.筛选模块,用于根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像;
42.定位模块,用于根据所述目标特征图像对所述待定位机器人进行室内定位。
43.此外,为实现上述目的,本发明还提出一种机器人,所述机器人包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人定位程序,所述机器人定位程序配置为实现如上文所述的机器人定位方法的步骤。
44.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有机器人定位程序,所述机器人定位程序被处理器执行时实现如上文所述的机器人定位方法的步
骤。
45.本发明通过获取待定位机器人采集的目标室内环境图像;将所述目标室内环境图像划分成多个室内环境子图像;计算各所述室内环境子图像和预设参考图像之间的重投影误差;根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像;根据所述目标特征图像对所述待定位机器人进行室内定位,通过对室内环境图像进行区域分割的方式,利用分割后的室内环境子图像与预设参考图像之间的重投影误差对机器人进行室内定位,降低了计算资源,大大降低了机器人定位的成本。
附图说明
46.图1是本发明实施例方案涉及的硬件运行环境的机器人的结构示意图;
47.图2为本发明机器人定位方法第一实施例的流程示意图;
48.图3为本发明机器人定位方法第二实施例的流程示意图;
49.图4为本发明机器人定位方法第三实施例的流程示意图;
50.图5为本发明机器人定位装置第一实施例的结构框图。
51.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
52.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
53.参照图1,图1为本发明实施例方案涉及的硬件运行环境的机器人结构示意图。
54.如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
55.本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
56.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及机器人定位程序。
57.在图1所示的机器人中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在机器人中,所述电子设备通过处理器1001调用存储器1005中存储的机器人定位程序,并执行本发明实施例提供的机器人定位方法。
58.本发明实施例提供了一种机器人定位方法,参照图2,图2为本发明一种机器人定位方法第一实施例的流程示意图。
59.本实施例中,所述机器人定位方法包括以下步骤:
60.步骤s10:获取待定位机器人采集的目标室内环境图像。
61.需要说明的是,需要说明的是,本实施例的执行主体可以是机器人定位设备,机器人定位设备可以是个人电脑或服务器等电子设备,还可以为其他可实现相同或相似功能的控制器,本实施例对此不加以限制,在本实施例及下述各实施例中,以机器人定位设备为例对本发明机器人定位方法进行说明。
62.在本实施例中,需要进行室内定位的移动机器人,即待定位机器人中设置有视觉传感器,待定位机器人可以在移动的过程中通过该视觉传感器采集室内环境图像。用户可以通过移动终端向待定位机器人发送定位指令,也可以通过设置在待定位机器人上的物理按键向待定位机器人发送定位指令,在接收到定位指令时,待定位机器人根据该定位指令开始采集目标室内环境图像,还可以设置一预设时间,在检测达到预设时间时,待定位机器人自动采集目标室内环境图像进行定位,本实施例中可以根据实际定位需求选择不同的方式,本实施例对此不加以限制。
63.需要说明的是,视觉传感器是通过摄像机等成像装置获取外部环境信息,而摄像机在进行拍摄时,为了保证图像拍摄的准确性,需要对摄像机进行校正,以消除摄像机的畸变影响,本实施例中为了获取更加准确的目标室内环境图像,可以按照如下方式实现。
64.在具体实现中,本实施例中是基于相机内参数以及相机畸变参数进行相机的畸变纠正,通过相机内参数以及相机畸变参数对待定位机器人所采集到的原始室内环境图像的图像点进行畸变纠正。具体地,本实施例中可以按照如下关系式对原始室内环境图像的图像点进行径向畸变纠正和切向畸变纠正,关系式如下:
[0065][0066]
其中,相机内参数为[fx,fy,cx,cy],以及相机畸变参数[k1,k2,k3,p1,p2],r为原始室内环境图像上任意图像点到坐标系原点的距离,(x,y)为三维空间的点投影至归一化图像平面点坐标,(x
corrected
,y
corrected
)为畸变纠正后的点坐标,相机内参数为[fx,fy,cx,cy],以及相机畸变参数[k1,k2,k3,p1,p2]可以根据实际相机的性能参数确定,相机的选择可以根据实际定位需求进行相应地调整,本实施例对此不加以限制。在得到畸变纠正后的点坐标之后,再将畸变纠正后的点坐标变换至像素平面,即:
[0067][0068]
其中,(u,v)为像素平面点的坐标,变换后所得到的像素平面即为目标室内环境图像。
[0069]
步骤s20:将所述目标室内环境图像划分成多个室内环境子图像。
[0070]
在具体实施中,在获取到目标室内环境之后,本实施例中所采用的是图像分割法,利用超像素分割的思想,相比现有技术中所采用的深度学习语义分割,算法复杂程度更低,能够有效节约机器人定位时的计算资源。本实施例中在对目标室内环境图像进行划分时,可以将目标室内环境图像均匀划分成多个室内环境子图像,例如将目标室内环境图像平均划分为n个室内环境子图像。对于划分后的平坦区域可以直接进行合并,非平坦区域重新按边界进行划分。
[0071]
步骤s30:计算各所述室内环境子图像和预设参考图像之间的重投影误差。
[0072]
需要说明的是,摄像机在进行图像拍摄时,由于受到摄像机位置、拍摄角度以及摄像机的运行状态等因素的影响,导致即使是对室内环境中同一位置所拍摄到的图像也会存在差异,本实施例中是基于图像进行定位,因此为了提高定位的准确性,在得到室内环境子图像之后,会将室内环境子图像与预设参考图像进行重投影误差的计算,预设参考图像为用于参考的室内环境图像,预设参考图像可以根据实际需求进行相应地设置,本实施例中对此不加以限制。具体地,本实施例中可以通过室内环境子图像与预设参考图像上图像坐标点的转换,从而确定室内环境子图像与预设参考图像之间的重投影误差。
[0073]
步骤s40:根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像。
[0074]
需要说明的是,重投影误差是对目标室内环境图像进行分割之后得到的室内环境子图像与预设参考图像之间的重投影误差,而非整个目标室内环境图像与预设参考图像之间的重投影误差,根据该重投影误差,本实施例中可以确定将部分图像,即多个所述室内环境子图像作为目标特征图像,还是将整个图像,即目标室内环境图像作为目标特征图像,本实施例中为了提高目标特征图像筛选的准确性,可以按照如下方式实现。
[0075]
在具体实现中,本实施例中所得到的是多个重投影误差,将多个重投影误差构建误差序列,从该误差序列中筛选出最大重投影误差以及最小重投影误差,再通过相减的方式得到最大重投影误差(最大误差)以及最小重投影误差(最小误差)之间的差值,然后再将该差值与预设差值阈值之间进行大小比较,最后根据比较结果筛选出目标特征图像,其中,预设差值阈值可以根据实际需求进行相应地设置,本实施例对此不加以限制。
[0076]
在具体实施中,如果该差值大于预设差值阈值,则将最小重投影误差对应的室内环境子图像作为目标特征图像,反之,如果该差值小于或等于预设差值阈值,则将目标室内环境图像作为目标特征图像。
[0077]
步骤s50:根据所述目标特征图像对所述待定位机器人进行室内定位。
[0078]
在本实施例中,本实施例可以采用流光法从目标特征图像中追踪特征点,得到室内环境中各个场景以及物体的位置,从而确定待定位机器人在整个室内环境中所处的位置,当然本实施例中还可以采用其他方式从目标特征图像中追踪特征点,可以根据实际需求进行相应地设置,本实施例中对此不加以限制。
[0079]
本实施例通过获取待定位机器人采集的目标室内环境图像;将所述目标室内环境图像划分成多个室内环境子图像;计算各所述室内环境子图像和预设参考图像之间的重投影误差;根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像;根据所述目标特征图像对所述待定位机器人进行室内定位,通过对室内环境图像进行区域分割的方式,利用分割后的室内环境子图像与预设参考图像之间的重投影误差对机器人进行室内定位,降低了计算资源,大大降低了机器人定位的成本。
[0080]
参考图3,图3为本发明一种机器人定位方法第二实施例的流程示意图。
[0081]
基于上述第一实施例,本实施例机器人定位方法中所述步骤s20具体包括以下步骤:
[0082]
步骤s201:对所述目标室内环境图像的图像像素进行标记。
[0083]
在具体实施中,本实施例中通过像素标记的方式从目标室内环境图像中筛选出同类像素点。具体地,从目标室内环境图像中任选一个像素点作为参考像素点,确定该参考像
素点对应的多个领域像素点,也即以该参考像素点为中心的九宫格内的其他像素点为该参考像素点的8邻域像素点,然后计算该参考像素点与各个邻域像素点之间的像素距离,本实施例中是根据像素点的亮度和色泽计算像素点距离的,最后再根据该距离从邻域像素点中找出该像素点的同类像素点,距离计算公式如下:
[0084][0085]
其中,l表示亮度,值越大表示越白;a表示红绿之间的色泽;b表示黄蓝之间的色泽,色泽包括红绿之间的色泽以及黄蓝之间的色泽。然后将d
ij
与预设距离进行比较,根据比较结果进行像素标记。例如,如果d
ij
小于或等于预设距离,则将该邻域像素点作为该像素点的同类像素点,并标记c1,如果d
ij
大于预设距离,则将该邻域像素点标记为c2,在划分完该像素点的同类像素之后,继续对其他像素点的8邻域像素点进行同类像素划分,如果其他像素点的8邻域像素点中存在既不属于c1类,也不属于c2类的同类像素,则将该同类像素设置为c3类,依次类推,直至划分至cn类同类像素。
[0086]
步骤s202:将标记后的目标室内环境图像均匀划分成预设数量的正六边形区域。
[0087]
在具体实施中,在完成像素标记之后,本实施例中可以按照正六边形或者其他几何图形,将完成像素标记后的目标室内环境图像均匀划分成正六边形区域,每一个正六边形区域为一个超像素,其中,划分数量可以预设进行设置,预设数量可以根据实际需求进行相应地调整,本实施例中对此不加以限制。
[0088]
步骤s203:根据像素标记结果确定各个正六边形图像区域对应的区域类型,以及各个正六边形图像区域中同类像素的种类数量。
[0089]
需要说明的是,根据标记结果可以确定各个正六边形区域中的同类像素,然后根据同类像素的在正六边形区域中的占比确定正六边形区域的区域类型,例如当同类像素的占比超过70%,则将该区域作为均匀区域,反之,则为非均匀区域。进一步地,基于标记结果还能够确定正六边形区域中同类像素的种类数量,即正六边形区域中包含多少种类的同类像素。进一步地,根据像素标记结果可以确定各个正六边形区域内的同类像素点,从而得到同类像素点占正六边形区域内所有像素点的比例,如果该比例大于预设比例,则该正六边形区域对应的区域类型为均匀区域,反之,则该正六边形区域为非均匀区域,其中,预设比例可以设置70%,也可以根据实际情况设置为其他值,本实施例中对此不加以限制。
[0090]
步骤s204:根据所述种类数量确定各个正六边形图像区域中的种子像素。
[0091]
在具体实施中,根据种类数量的不同,采取不同的方式确定各个正六边形图像区域中的种子像素。具体地,在所述种类数量为一类时,获取相应的正六边形图像区域中各个像素与正六边形中心之间的欧式距离;从所述欧式距离中筛选出目标欧式距离,并将所述目标欧式距离对应的像素作为种子像素。欧式距离公式如:
[0092][0093]
其中,本实施例中目标欧式距离为各个像素与正六边形中心之间的最小欧式距离,种子像素即为该最小欧式距离对应的像素。
[0094]
进一步地,在所述种类数量为两类或两类以上时,计算相应的正六边形区域中各个像素对应的种子度量值;从所述种子度量值中筛选出目标种子度量值,并将所述目标种
子度量值对应的像素作为种子像素。具体地,如果存在两类或两类以上的同类像素时,则计算l,a,b通道上四个方向的二阶差商,以l为例计算如下。
[0095][0096]
将四个方向上的二阶求平均得然后再按照上述计算过程依次计算值,最后再计算种子度量值,度量值计算公式如:
[0097][0098]
基于该度量值计算公式,可以得到正六边形区域中各个像素对应的种子度量值,本实施例中的目标度量值即为最小度量值,将最小度量值对应的像素作为对应的正六边形区域的种子像素。
[0099]
步骤s205:根据所述种子像素对所述区域类型为非均匀区的正六边形区域重新进行像素标记。
[0100]
需要说明的是,对于非均匀区域的正六边形区域需要第二次像素标记,具体地,从非均匀区域任意选取一个待标记像素点,计算该待标记像素点与预设范围内的各个种子像素之间的种子距离,从该种子距离中筛选出最小种子距离,根据该最小种子距离可以确定对应的目标种子像素,将目标种子像素的像素标记作为该待标记像素点的像素标记,本实施例中以正六边形区域为例进行说明。在非均匀区中,定义一像素点p
qj
,,种子像素为su,计算像素p
qj
与种子su之间的距离,公式如下:
[0101][0102]
其中,w
1-w4为权重系数,可以根据实际需求进行相应地调整,l,a,b,u,v为归一化后的量,计算像素p
qj
与其最近邻的半径为2倍正六边形边长的圆内的种子像素之间的距离,最小距离对应的种子像素的标记作为该p
qj
像素点的标记,由此将非均匀区的像素进点行重新标记。
[0103]
步骤s206:按照新的像素标记和所述区域类型对所述正六边形区域进行合并,以得到多个室内环境子图像。
[0104]
在具体实施中,将正六边形区域进行合并,即可得到多个室内环境子图像,本实施例中是按照像素标记和区域类型进行合并,例如将像素标记相同的正六边形区域进行合并,或者将区域类型相同的正六边形区域进行合并,当然还可以采取其他方式,本实施例中
对此不加以限制。
[0105]
在具体实现中,本实施例中根据区域类型筛选出均匀区域,然后检测各个均匀区域的像素标记,将像素标记相同且相邻的均匀区域接进行合并。在剩余均匀区与非均匀区未合并的像素中,可以按照预设顺序将4邻域具有相同标签的像素合并为一个超像素,其中,预设顺序可以选择从上到下,从左到右的顺序,还可以选择其他顺序,本实施例中对此不加以限制。进一步地,若4邻域无相同标签,则单独看作一个超像素。计算各超像素的质心(x,y),依次遍历其邻域超像素,并计算该质心(x,y)与各个邻域超像素之间的距离,距离计算公式如下:
[0106][0107]
其中,w5为权重系数,可以根据实际需求进行相应地设置。当ds小于设定阈值时,将超像素合并;反之不合并。合并后重新计算超像素质心,再次循环遍历,直至超像素总数小于ns,合并停止,需要强调的是,设定阈值和ns的具体数值可以根据实际需求进行相应地设置,本实施例中对此不加以限制。
[0108]
本实施例通过对目标室内环境图像进行像素标记,然后进行均匀划分,根据像素标记结果确定正六边形区域对应的种子像素和区域类型,根据种子像素对区域类型为非均匀区的正六边形区域重新进行像素标记,最后按照新的像素标记和区域类型对正六边形区域进行合并,以得到多个室内环境子图像,使得目标室内环境图像的划分更加合理准确。
[0109]
参考图4,图4为本发明一种机器人定位方法第三实施例的流程示意图。
[0110]
基于上述第一实施例或第二实施例提出本发明一种机器人定位方法的第三实施例。
[0111]
以基于上述第一实施例为例进行说明,在本实施例中,所述步骤s30具体包括以下步骤:
[0112]
步骤s301:依次从所述多个室内环境子图像中去除一个室内环境子图像。
[0113]
需要说明的是,在计算重投影误差时,本实施例中会依次从多个室内环境子图像中随机去除一个室内环境子图像,然后用剩下的图像区域和预设参考图像之进行重投影误差的计算,例如室内环境子图像有k个,则用k-1个室内环境子图像进行重投影误差的计算,并且是依次去除,例如现有a、b以及c三个室内环境子图像,依次去除a、b以及c,用a和b、b和c以及a和c这三种剩余室内环境子图像进行重投影误差的计算。进一步需要强调的是,本实施例中会检测所去除的室内环境子图像的图像面积,如果该面积小于预设面积,则说明去除的室内环境子图像不合理,需要重新对目标室内环境图像进行划分,其中,预设面积可以根据实际需求进行相应地设置,本实施例中对此不加以限制。
[0114]
步骤s302:计算剩余室内环境子图像与预设参考图像之间的重投影误差。
[0115]
在具体实施中,设剩余室内环境子图像帧时刻为c,预设参考图像帧时刻为k,在剩余室内环境子图像帧点坐标为(uc,vc),深度为zc,则剩余室内环境子图像帧中点对应3d空间的坐标为又假设设剩余室内环境子图像帧与预设参考图像帧之间相机的旋转为平移为则当前帧中对应3d点坐标变换至预设参
考图像帧下的坐标为考图像帧下的坐标为再将pk投影至参考关键帧图像平面为uk=(z
kfx
+c
x
,z
kfy
+cy),则可以得到重投影误差为e(uk)。
[0116]
本实施例通过依次从所述多个室内环境子图像中去除一个图像区域,计算剩余图像区域与预设参考图像之间的投影误差,能够准确计算投影误差,同时获取被去除的图像区域的区域面积;若所述区域面积小于预设面积,则对目标室内环境图像重新进行图像区域划分,保证了图像区域划分的合理性。
[0117]
参照图5,图5为本发明机器人定位装置第一实施例的结构框图。
[0118]
如图5所示,本发明实施例提出的机器人定位装置包括:
[0119]
获取模块10,用于获取待定位机器人采集的目标室内环境图像。
[0120]
需要说明的是,需要说明的是,本实施例的执行主体可以是机器人定位设备,机器人定位设备可以是个人电脑或服务器等电子设备,还可以为其他可实现相同或相似功能的控制器,本实施例对此不加以限制,在本实施例及下述各实施例中,以机器人定位设备为例对本发明机器人定位方法进行说明。
[0121]
在本实施例中,需要进行室内定位的移动机器人,即待定位机器人中设置有视觉传感器,待定位机器人可以在移动的过程中通过该视觉传感器采集室内环境图像。用户可以通过移动终端向待定位机器人发送定位指令,也可以通过设置在待定位机器人上的物理按键向待定位机器人发送定位指令,在接收到定位指令时,待定位机器人根据该定位指令开始采集目标室内环境图像,还可以设置一预设时间,在检测达到预设时间时,待定位机器人自动采集目标室内环境图像进行定位,本实施例中可以根据实际定位需求选择不同的方式,本实施例对此不加以限制。
[0122]
需要说明的是,视觉传感器是通过摄像机等成像装置获取外部环境信息,而摄像机在进行拍摄时,为了保证图像拍摄的准确性,需要对摄像机进行校正,以消除摄像机的畸变影响,本实施例中为了获取更加准确的目标室内环境图像,可以按照如下方式实现。
[0123]
在具体实现中,本实施例中是基于相机内参数以及相机畸变参数进行相机的畸变纠正,通过相机内参数以及相机畸变参数对待定位机器人所采集到的原始室内环境图像的图像点进行畸变纠正。具体地,本实施例中可以按照如下关系式对原始室内环境图像的图像点进行径向畸变纠正和切向畸变纠正,关系式如下:
[0124][0125]
其中,相机内参数为[fx,fy,cx,cy],以及相机畸变参数[k1,k2,k3,p1,p2],r为原始室内环境图像上任意图像点到坐标系原点的距离,(x,y)为三维空间的点投影至归一化图像平面点坐标,(x
corrected
,y
corrected
)为畸变纠正后的点坐标,相机内参数为[fx,fy,cx,cy],以及相机畸变参数[k1,k2,k3,p1,p2]可以根据实际相机的性能参数确定,相机的选择可以根据实际定位需求进行相应地调整,本实施例对此不加以限制。在得到畸变纠正后的点坐标之后,再将畸变纠正后的点坐标变换至像素平面,即其中,(u,v)为像素平面点的坐标,变换后所得到的像素平面即为目标室内环境图像。
[0126]
划分模块20,用于将所述目标室内环境图像划分成多个室内环境子图像。
[0127]
在具体实施中,在获取到目标室内环境之后,本实施例中所采用的是图像分割法,利用超像素分割的思想,相比现有技术中所采用的深度学习语义分割,算法复杂程度更低,能够有效节约机器人定位时的计算资源。本实施例中在对目标室内环境图像进行划分时,可以将目标室内环境图像均匀划分成多个室内环境子图像,例如平均划分成n个室内环境子图像,也可以将目标室内环境图像不规则地划分成多个室内环境子图像,具体的图像划分方式可以根据实际需求进行相应地选择,本实施例中对此不加以限制。
[0128]
计算模块30,用于计算各所述室内环境子图像和预设参考图像之间的重投影误差。
[0129]
需要说明的是,摄像机在进行图像拍摄时,由于受到摄像机位置、拍摄角度以及摄像机的运行状态等因素的影响,导致即使是对室内环境中同一位置所拍摄到的图像也会存在差异,本实施例中是基于图像进行定位,因此为了提高定位的准确性,在得到室内环境子图像之后,会将室内环境子图像与预设参考图像进行重投影误差的计算,预设参考图像为用于参考的室内环境图像,预设参考图像可以根据实际需求进行相应地设置,本实施例中对此不加以限制。具体地,本实施例中可以通过室内环境子图像与预设参考图像上图像坐标点的转换,从而确定室内环境子图像与预设参考图像之间的重投影误差。
[0130]
筛选模块40,用于根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选出目标特征图像。
[0131]
需要说明的是,重投影误差是对目标室内环境图像进行分割之后得到的室内环境子图像与预设参考图像之间的重投影误差,而非整个目标室内环境图像与预设参考图像之间的重投影误差,根据该重投影误差,本实施例中可以确定将部分图像,即多个所述室内环境子图像作为目标特征图像,还是将整个图像,即目标室内环境图像作为目标特征图像,本实施例中为了提高目标特征图像筛选的准确性,可以按照如下方式实现。
[0132]
在具体实现中,本实施例中所得到的是多个重投影误差,将多个重投影误差构建误差序列,从该误差序列中筛选出最大重投影误差以及最小重投影误差,再通过相减的方式得到最大重投影误差(最大误差)以及最小重投影误差(最小误差)之间的差值,然后再将该差值与预设差值阈值之间进行大小比较,最后根据比较结果筛选出目标特征图像,其中,预设差值阈值可以根据实际需求进行相应地设置,本实施例对此不加以限制。
[0133]
在具体实施中,如果该差值大于预设差值阈值,则将最小重投影误差对应的室内环境子图像作为目标特征图像,反之,如果该差值小于或等于预设差值阈值,则将目标室内环境图像作为目标特征图像。
[0134]
定位模块50,用于根据所述目标特征图像对所述待定位机器人进行室内定位。
[0135]
在本实施例中,本实施例可以采用流光法从目标特征图像中追踪特征点,得到室内环境中各个场景以及物体的位置,从而确定待定位机器人在整个室内环境中所处的位置,当然本实施例中还可以采用其他方式从目标特征图像中追踪特征点,可以根据实际需求进行相应地设置,本实施例中对此不加以限制。
[0136]
本实施例通过获取待定位机器人采集的目标室内环境图像;将所述目标室内环境图像划分成多个室内环境子图像;计算各所述室内环境子图像和预设参考图像之间的重投影误差;根据所述重投影误差从多个所述室内环境子图像和所述目标室内环境图像中筛选
出目标特征图像;根据所述目标特征图像对所述待定位机器人进行室内定位,通过对室内环境图像进行区域分割的方式,利用分割后的室内环境子图像与预设参考图像之间的重投影误差对机器人进行室内定位,降低了计算资源,大大降低了机器人定位的成本。
[0137]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有机器人定位程序,所述机器人定位程序被处理器执行时实现如上文所述的机器人定位方法的步骤。
[0138]
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
[0139]
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0140]
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的机器人定位方法,此处不再赘述。
[0141]
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0142]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0143]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read only memory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0144]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1