一种移动机器人的定位方法、定位装置及移动机器人转让专利

申请号 : CN201911372349.7

文献号 : CN111136648B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡永辉郭奎赵雨佳程骏庞建新熊友军

申请人 : 深圳市优必选科技股份有限公司

摘要 :

本申请适用于机器人导航技术领域,提供了一种移动机器人的定位方法、定位装置、移动机器人及计算机可读存储介质,所述方法包括:将所述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;若基于所述目标检测的结果确定所述图像中包含有目标物体,则获取所述目标物体在所述图像中的目标框;根据所述目标框的像素坐标计算所述目标框的高度;根据所述目标框的高度、预设的焦距以及预设的所述目标物体的高度,计算目标距离。通过上述方法,可以使移动机器人在各种场景下均能精确地导航定位。

权利要求 :

1.一种移动机器人的定位方法,其特征在于,包括:将所述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;

若基于所述目标检测的结果确定所述图像中包含有目标物体,则获取所述目标物体在所述图像中的目标框;

根据所述目标框的像素坐标计算所述目标框的高度;

根据所述目标框的高度、预设的焦距以及预设的所述目标物体的高度,计算目标距离,其中,所述目标距离为所述移动机器人采集所述图像时,所述移动机器人与所述目标物体之间的距离,所述预设的焦距为采集所述图像的镜头的焦距;

其中,所述目标物体为手扶电梯的电梯口,所述获取所述目标物体在所述图像中的目标框,包括:

获取所述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;

若存在至少一个矩形框所包含的检测对象为所述目标物体,则将检测对象为所述目标物体的矩形框确定为目标框;

若不存在矩形框所包含的检测对象为所述目标物体,则从所述至少一个矩形框中获取第一类框和第二类框,其中,所述第一类框为包含的检测对象为所述目标物体的扶手的矩形框,所述第二类框为包含的检测对象为所述目标物体的阶梯的矩形框;

根据所述第一类框和第二类框计算得到目标框。

2.根据权利要求1所述的定位方法,其特征在于,在所述获取所述目标物体在所述图像中的目标框之后,还包括:

获取所述目标框的中心点的像素坐标和所述图像的中心点的像素坐标;

根据所述目标框的中心点的像素坐标和所述图像的中心点的像素坐标,计算偏离距离,其中,所述偏离距离为所述目标框的中心点和所述图像的中心点之间的距离;

基于所述偏离距离和所述焦距,利用三角函数计算偏离角度,其中,所述偏离角度为所述目标物体相对于所述移动机器人,偏离所述移动机器人的前进方向的角度。

3.根据权利要求2所述的定位方法,其特征在于,所述定位方法还包括:根据所述目标距离,在预设的至少三个距离区间中,确定所述移动机器人所处的目标距离区间;

若所述目标距离区间为安全区间,则控制所述移动机器人运动;

若所述目标距离区间为预警区间,则根据逗留时间确定是否控制所述移动机器人运动,其中,所述逗留时间为所述移动机器人处于所述预警区间内的时间;

若所述目标距离区间为危险区间,则根据所述偏离角度确定是否控制所述移动机器人运动。

4.根据权利要求3所述的定位方法,其特征在于,所述根据逗留时间确定是否控制所述移动机器人运动,包括:

将逗留时间和预设的时间阈值进行比较;

若所述逗留时间大于所述时间阈值,则控制所述移动机器人停止运动;

若所述逗留时间小于或等于所述时间阈值,则控制所述移动机器人运动。

5.根据权利要求3所述的定位方法,其特征在于,所述根据所述偏离角度确定是否控制所述移动机器人运动,包括:

将所述偏离角度和预设的角度阈值进行比较;

若所述偏离角度大于所述角度阈值,则控制所述移动机器人运动;

若所述偏离角度小于或等于所述角度阈值,则控制所述移动机器人停止运动。

6.根据权利要求1‑5任意一项所述的定位方法,其特征在于,所述卷积神经网络为深度可分离卷积神经网络,所述卷积神经网络基于FocalLoss函数训练得到。

7.一种移动机器人的定位装置,其特征在于,包括:网络目标检测单元,用于将所述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;

目标框获取单元,用于若基于所述目标检测的结果确定所述图像中包含有目标物体,则获取所述目标物体在所述图像中的目标框;

目标框高度计算单元,用于根据所述目标框的像素坐标计算所述目标框的高度;

目标距离计算单元,用于根据所述目标框的高度、预设的焦距以及预设的所述目标物体的高度,计算目标距离,其中,所述目标距离为所述移动机器人采集所述图像时,所述移动机器人与所述目标物体之间的距离,所述预设的焦距为采集所述图像的镜头的焦距;

其中,所述目标物体为手扶电梯的电梯口,所述目标框获取单元包括:矩形框获取子单元,用于获取所述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;

矩形目标框获取子单元,用于若存在至少一个矩形框所包含的检测对象为所述目标物体,则将检测对象为所述目标物体的矩形框确定为目标框;

类框获取子单元,用于若不存在矩形框所包含的检测对象为所述目标物体,则从所述至少一个矩形框中获取第一类框和第二类框,其中,所述第一类框为包含的检测对象为所述目标物体的扶手的矩形框,所述第二类框为包含的检测对象为所述目标物体的阶梯的矩形框;

目标框计算子单元,用于根据所述第一类框和第二类框计算得到目标框。

8.一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至

6任一项所述的方法。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。

说明书 :

一种移动机器人的定位方法、定位装置及移动机器人

技术领域

[0001] 本申请属于机器人导航技术领域,尤其涉及一种移动机器人的定位方法、定位装置、移动机器人及计算机可读存储介质。

背景技术

[0002] 机器人导航技术一直是机器人领域的研究热点。通过导航技术,机器人可以对自身位置进行定位。现有的基于激光传感器导航的机器人在自主移动过程中依靠激光雷达朝
特定方向发射出一束光线,此束光线在遇到物体后会反弹回来并被机器人上的接收装置接
收。由于光速已知,通过计算激光雷达发射光线与接收装置接收光线之间的时间间隔,就可
以推导出机器人与物体之间的距离。
[0003] 然而,由于真实世界中存在很多无法反射光线的物体,使得基于激光传感器导航的机器人只能在特定的场景下使用。例如,当机器人发射的激光遇到玻璃制作的手扶电梯
时,激光会直接穿透玻璃而不会返回,导致机器人的导航定位功能失效。

发明内容

[0004] 有鉴于此,本申请提供了一种移动机器人的定位方法、定位装置、移动机器人及计算机可读存储介质,可以使移动机器人在各种场景下均能精确地导航定位。
[0005] 第一方面,本申请提供了一种移动机器人的定位方法,包括:
[0006] 将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
[0007] 若基于上述目标检测的结果确定上述图像中包含有目标物体,则获取上述目标物体在上述图像中的目标框;
[0008] 根据上述目标框的像素坐标计算上述目标框的高度;
[0009] 根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离,其中,上述目标距离为上述移动机器人采集上述图像时,上述移动机器人与上述目标
物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦距。
[0010] 第二方面,本申请提供了一种移动机器人的定位装置,包括:
[0011] 网络目标检测单元,用于将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
[0012] 目标框获取单元,用于若基于上述目标检测的结果确定上述图像中包含有目标物体,则获取上述目标物体在上述图像中的目标框;
[0013] 目标框高度计算单元,用于根据上述目标框的像素坐标计算上述目标框的高度;
[0014] 目标距离计算单元,用于根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离,其中,上述目标距离为上述移动机器人采集上述图像时,上
述移动机器人与上述目标物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦
距。
[0015] 第三方面,本申请提供了一种移动机器人,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如
上述第一方面所提供的方法。
[0016] 第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如第一方面所提供的方法。
[0017] 第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在移动机器人上运行时,使得移动机器人执行上述第一方面所提供的方法。
[0018] 由上可见,本申请方案中将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;若基于上述目标检测的结果确定上述图像中包含有目标物体,则获
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。

附图说明

[0019] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
[0020] 图1是本申请实施例提供的移动机器人的定位方法的流程示意图;
[0021] 图2是本申请实施例提供的手扶电梯口的示意图;
[0022] 图3是本申请实施例提供的偏离角度计算原理图;
[0023] 图4是本申请实施例提供的偏离角度示意图;
[0024] 图5是本申请实施例提供的目标距离计算原理图;
[0025] 图6是本申请实施例提供的移动机器人的定位装置的结构示意图;
[0026] 图7是本申请实施例提供的移动机器人的结构示意图。

具体实施方式

[0027] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体
细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0028] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、
步骤、操作、元素、组件和/或其集合的存在或添加。
[0029] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0030] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确
定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响
应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0031] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0032] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书
中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、
“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是
所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变
形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0033] 图1示出了本申请实施例提供的一种移动机器人的定位方法的流程图,详述如下:
[0034] 步骤101,将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
[0035] 在本申请实施例中,可以通过上述移动机器人身上安装的视觉传感器,在上述移动机器人的移动过程中实时采集上述移动机器人周围环境的图像。将该图像输入到训练后
的卷积神经网络进行目标检测。上述卷积神经网络可以识别出上述图像中的目标物体,并
对上述图像中的目标物体进行定位,得到上述目标物体在上述图像中的像素坐标。
[0036] 步骤102,若基于上述目标检测的结果确定上述图像中包含有目标物体,则获取上述目标物体在上述图像中的目标框;
[0037] 在本申请实施例中,由于上述图像是上述移动机器人在移动过程中实时采集的,所以上述图像中可能包含有上述目标物体,也可能不包含上述目标物体。当上述目标检测
的结果指示图像中不包含上述目标物体时,则舍弃该帧图像,通过上述视觉传感器采集下
一帧图像输入至上述卷积神经网络;当上述目标检测的结果指示图像中包含上述目标物体
时,则从上述目标检测的结果中获取上述目标物体在上述图像中的目标框。上述目标框中
包含有上述目标物体,上述目标框指示了上述目标物体在上述图像中的像素坐标。
[0038] 可选地,上述目标物体为手扶电梯的电梯口,上述步骤102具体包括:
[0039] A1、获取上述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;
[0040] A2、若存在至少一个矩形框所包含的检测对象为上述目标物体,则将检测对象为上述目标物体的矩形框确定为目标框;
[0041] A3、若不存在矩形框所包含的检测对象为上述目标物体,则从上述至少一个矩形框中获取第一类框和第二类框,其中,上述第一类框为包含的检测对象为上述目标物体的
扶手的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯的矩形框;
[0042] A4、根据上述第一类框和第二类框计算得到目标框。
[0043] 具体地,如图2所示,图像中包括手扶电梯的电梯口,电梯口包括两个扶手和一个阶梯,上述目标检测会在上述图像中检测扶手、阶梯以及电梯口并分别用矩形框标注出来。
需要说明的是,上述目标检测不一定能够把所有检测对象都检测出来,可能会存在漏检。当
上述目标检测的结果中包括有上述目标框时,或者当上述目标检测的结果中同时包括有上
述第一类框和上述第二类框时,则认为上述图像中包含有目标物体(手扶电梯的电梯口)。
[0044] 若确定上述图像中包含有电梯口,则获取上述目标检测的结果中包含的至少一个矩形框,每一矩形框包含有各自的检测对象。如果存在至少一个矩形框所包含的检测对象
为上述电梯口,则将检测对象为上述电梯口的矩形框确定为目标框;如果不存在矩形框所
包含的检测对象为上述电梯口,则从上述至少一个矩形框中获取第一类框和第二类框,其
中,上述第一类框为包含的检测对象为扶手的矩形框,上述第二类框为包含的检测对象为
阶梯的矩形框。根据上述第一类框的几何参数和上述第二类框的几何参数,即可计算出目
标框。
[0045] 可选地,在上述步骤102之后还包括:
[0046] B1、获取上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标;
[0047] B2、根据上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标,计算偏离距离;
[0048] B3、基于上述偏离距离和上述焦距,利用三角函数计算偏离角度。
[0049] 具体地,上述偏离距离为上述目标框的中心点和上述图像的中心点之间的距离。如图3所示,获取上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标。由于上
述图像中每个像素点的宽度可以从上述视觉传感器的出厂参数中获得,所以可以根据上述
目标框的中心点的像素坐标和上述图像的中心点的像素坐标,计算出偏离距离(图3中三角
形的短直角边)。基于上述偏离距离和上述视觉传感器的镜头的焦距(图3中三角形的长直
角边),利用三角函数 即可计算得到偏离角度,其中,θ为偏离角度,x为偏离距
离,f为焦距。
[0050] 进一步地,上述偏离角度为上述目标物体相对于上述移动机器人,偏离上述移动机器人的前进方向的角度。如图4所示,通过上述偏离角度的大小,可以判定移动机器人是
否朝向目标物体前进,为移动机器人避开目标物体提供了可能。
[0051] 步骤103,根据上述目标框的像素坐标计算上述目标框的高度;
[0052] 在本申请实施例中,根据上述目标框的最高点的像素坐标和上述目标框的最低点的坐标,可以计算得到上述目标框的高度,上述目标框的高度即为上述目标物体在上述图
像中的像高。
[0053] 步骤104,根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
[0054] 在本申请实施例中,上述目标距离为上述移动机器人采集上述图像时,上述移动机器人与上述目标物体之间的距离,上述预设的焦距为采集上述图像的视觉传感器的镜头
的焦距。设定f表示镜头的焦距,v表示图像的像距,u表示目标距离(即目标物体到移动机器
人的距离),h表示目标框的高度(即目标物体的像高),H表示目标物体的高度,目标物体的
高度预先由测量工具测量得到。根据小孔成像原理,可以得到 由于目标距离u要
远远大于像距v,所以可将目标距离u看做无穷大,即 由此得到v=f。如图5所示,
根据三角形相似原理,可以得到 又由于v=f,所以可得目标距离的计算公式
根据该计算公式,在目标框的高度、焦距以及目标物体的高度已知的情况
下,即可计算得到目标距离。
[0055] 可选地,在计算得到目标距离和偏离角度后,上述移动机器人的定位方法还包括:
[0056] C1、根据上述目标距离,在预设的至少三个距离区间中,确定上述移动机器人所处的目标距离区间;
[0057] C2、若上述目标距离区间为安全区间,则控制上述移动机器人运动;
[0058] C3、若上述目标距离区间为预警区间,则根据逗留时间确定是否控制上述移动机器人运动;
[0059] C4、若上述目标距离区间为危险区间,则根据上述偏离角度确定是否控制上述移动机器人运动。
[0060] 其中,上述逗留时间为上述移动机器人处于上述预警区间内的时间。距离区间至少设置有三个:安全区间、预警区间及危险区间。例如,危险区间为距离上述目标物体的距
离小于2米,预警区间为距离上述目标物体的距离大于或等于2米且小于2.5米,安全区间为
距离上述目标物体的距离大于2.5米。根据上述目标距离的大小,则可以确定上述移动机器
人当前处于的距离区间,将该距离区间作为上述目标距离区间。如果上述目标距离区间为
安全区间,则可以控制上述移动机器人运动。如果上述目标距离区间为预警区间,则根据上
述逗留时间确定是否控制上述移动机器人运动。在上述移动机器人每次进入到上述预警区
间时,即开始计时,得到上述逗留时间;当上述移动机器人离开上述预警区间时,则会停止
计时。如果上述目标距离区间为危险区间,则根据上述偏离角度确定是否控制上述移动机
器人运动。
[0061] 可选地,上述步骤C3具体包括:
[0062] D1、将逗留时间和预设的时间阈值进行比较;
[0063] D2、若上述逗留时间大于上述时间阈值,则控制上述移动机器人停止运动;
[0064] D3、若上述逗留时间小于或等于上述时间阈值,则控制上述移动机器人运动。
[0065] 具体地,将逗留时间和预设的时间阈值进行比较,如果上述逗留时间大于上述时间阈值,则控制上述移动机器人停止运动,以避免上述移动机器人与上述目标物体发生碰
撞。如果上述逗留时间小于或等于上述时间阈值,表示上述移动机器人不会与上述目标物
体发生碰撞,则控制上述移动机器人运动。例如,时间阈值为2秒,当上述移动机器人在上述
预警区间的逗留时间大于2秒时,则控制上述移动机器人停止运动。
[0066] 可选地,上述步骤C4具体包括:
[0067] E1、将上述偏离角度和预设的角度阈值进行比较;
[0068] E2、若上述偏离角度大于上述角度阈值,则控制上述移动机器人运动;
[0069] E3、若上述偏离角度小于或等于上述角度阈值,则控制上述移动机器人停止运动。
[0070] 具体地,将上述偏离角度和预设的角度阈值进行比较,如果上述偏离角度大于上述角度阈值,表示上述移动机器人的前进方向不是朝向上述目标物体的,上述移动机器人
不会与上述目标物体发生碰撞,则控制上述移动机器人运动。如果上述偏离角度小于或等
于上述角度阈值,表示上述移动机器人的前进方向是朝向上述目标物体的,上述移动机器
人可能会与上述目标物体发生碰撞,则控制上述移动机器人停止运动。
[0071] 可选地,上述卷积神经网络为深度可分离卷积神经网络,上述卷积神经网络基于Focal Loss函数训练得到。
[0072] 具体地,由于上述移动机器人上的硬件资源有限,本申请实施例中使用的卷积神经网络为深度可分离卷积神经网络,深度可分离卷积神经网络将标准的卷积操作分为两步
操作,即点卷积和深度卷积,大大降低了卷积神经网络的计算量。例如,输入的第一特征图
为D×D×M,输出的第二特征图为D×D×N,其中,D×D为第一特征图和第二特征图的尺寸,M
和N均为通道数,卷积核的大小为k×k。对于标准卷积,其计算量为k×k×M×N×D×D。而对
于深度可分离卷积,其计算量则为k×k×M×D×D+M×N×D×D。通过深度可分离卷积的计
算量比标准卷积的计算量可以得到: 由此可见
深度可分离卷积的计算量仅仅为标准卷积的计算量的 倍。深度可分离卷积神经网络
加快了上述目标检测的计算速度,使上述移动机器人可以实时计算出上述目标距离。
[0073] 同时,对于上述卷积神经网络的训练,由于上述移动机器人采集到的训练样本往往是正负样本比例严重不均衡,影响上述目标检测的准确率。因此,本申请实施例中用于训
练上述卷积神经网络的损失函数采用了Focal Loss函数,可有效解决由于正负样本不均衡
γ
导致的目标检测的准确率较低的问题。其中,Focal Loss函数为FL(p)=‑α(1‑p) log(p),
FL表示损失值,p表示不同类别的分类置信度,α和γ均为预设的权重值,此处设置α=0.25,
γ=2.0。
[0074] 由上可见,本申请方案中将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;若基于上述目标检测的结果确定上述图像中包含有目标物体,则获
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
[0075] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限
定。
[0076] 图6示出了本申请实施例提供的一种移动机器人的定位装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0077] 该移动机器人的定位装置600包括:
[0078] 网络目标检测单元601,用于将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
[0079] 目标框获取单元602,用于若基于上述目标检测的结果确定上述图像中包含有目标物体,则获取上述目标物体在上述图像中的目标框;
[0080] 目标框高度计算单元603,用于根据上述目标框的像素坐标计算上述目标框的高度;
[0081] 目标距离计算单元604,用于根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离,其中,上述目标距离为上述移动机器人采集上述图像时,
上述移动机器人与上述目标物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦
距。
[0082] 可选地,上述移动机器人的定位装置600还包括:
[0083] 中心点获取单元,用于获取上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标;
[0084] 偏离距离计算单元,用于根据上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标,计算偏离距离,其中,上述偏离距离为上述目标框的中心点和上述图像的中
心点之间的距离;
[0085] 偏离角度计算单元,用于基于上述偏离距离和上述焦距,利用三角函数计算偏离角度,其中,上述偏离角度为上述目标物体相对于上述移动机器人,偏离上述移动机器人的
前进方向的角度。
[0086] 可选地,上述移动机器人的定位装置600还包括:
[0087] 目标区间确定单元,用于根据上述目标距离,在预设的至少三个距离区间中,确定上述移动机器人所处的目标距离区间;
[0088] 安全控制单元,用于若上述目标距离区间为安全区间,则控制上述移动机器人运动;
[0089] 预警控制单元,用于若上述目标距离区间为预警区间,则根据逗留时间确定是否控制上述移动机器人运动,其中,上述逗留时间为上述移动机器人处于上述预警区间内的
时间;
[0090] 危险控制单元,用于若上述目标距离区间为危险区间,则根据上述偏离角度确定是否控制上述移动机器人运动。
[0091] 可选地,上述预警控制单元还包括:
[0092] 时间阈值比较子单元,用于将逗留时间和预设的时间阈值进行比较;
[0093] 时间阈值控制子单元,用于若上述逗留时间大于上述时间阈值,则控制上述移动机器人停止运动;若上述逗留时间小于或等于上述时间阈值,则控制上述移动机器人运动。
[0094] 可选地,上述危险控制单元还包括:
[0095] 角度阈值比较子单元,用于将上述偏离角度和预设的角度阈值进行比较;
[0096] 角度阈值控制子单元,用于若上述偏离角度大于上述角度阈值,则控制上述移动机器人运动;若上述偏离角度小于或等于上述角度阈值,则控制上述移动机器人停止运动。
[0097] 可选地,上述目标物体为手扶电梯的电梯口,上述目标框获取单元602还包括:
[0098] 矩形框获取子单元,用于获取上述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;
[0099] 矩形目标框获取子单元,用于若存在至少一个矩形框所包含的检测对象为上述目标物体,则将检测对象为上述目标物体的矩形框确定为目标框;
[0100] 类框获取子单元,用于若不存在矩形框所包含的检测对象为上述目标物体,则从上述至少一个矩形框中获取第一类框和第二类框,其中,上述第一类框为包含的检测对象
为上述目标物体的扶手的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯
的矩形框;
[0101] 目标框计算子单元,用于根据上述第一类框和第二类框计算得到目标框。
[0102] 由上可见,本申请方案中将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;若基于上述目标检测的结果确定上述图像中包含有目标物体,则获
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
[0103] 图7为本申请一实施例提供的移动机器人的结构示意图。如图7所示,该实施例的移动机器人7包括:至少一个处理器70(图7中仅示出一个)、存储器71以及存储在上述存储
器71中并可在上述至少一个处理器70上运行的计算机程序72,上述处理器70执行上述计算
机程序72时实现以下步骤:
[0104] 将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
[0105] 若基于上述目标检测的结果确定上述图像中包含有目标物体,则获取上述目标物体在上述图像中的目标框;
[0106] 根据上述目标框的像素坐标计算上述目标框的高度;
[0107] 根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离,其中,上述目标距离为上述移动机器人采集上述图像时,上述移动机器人与上述目标
物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦距。
[0108] 假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,在上述获取上述目标物体在上述图像中的目标框之后,还包
括:
[0109] 获取上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标;
[0110] 根据上述目标框的中心点的像素坐标和上述图像的中心点的像素坐标,计算偏离距离,其中,上述偏离距离为上述目标框的中心点和上述图像的中心点之间的距离;
[0111] 基于上述偏离距离和上述焦距,利用三角函数计算偏离角度,其中,上述偏离角度为上述目标物体相对于上述移动机器人,偏离上述移动机器人的前进方向的角度。
[0112] 在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述定位方法还包括:
[0113] 根据上述目标距离,在预设的至少三个距离区间中,确定上述移动机器人所处的目标距离区间;
[0114] 若上述目标距离区间为安全区间,则控制上述移动机器人运动;
[0115] 若上述目标距离区间为预警区间,则根据逗留时间确定是否控制上述移动机器人运动,其中,上述逗留时间为上述移动机器人处于上述预警区间内的时间;
[0116] 若上述目标距离区间为危险区间,则根据上述偏离角度确定是否控制上述移动机器人运动。
[0117] 在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述根据逗留时间确定是否控制上述移动机器人运动,包括:
[0118] 将逗留时间和预设的时间阈值进行比较;
[0119] 若上述逗留时间大于上述时间阈值,则控制上述移动机器人停止运动;
[0120] 若上述逗留时间小于或等于上述时间阈值,则控制上述移动机器人运动。
[0121] 在上述第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述根据上述偏离角度确定是否控制上述移动机器人运动,包括:
[0122] 将上述偏离角度和预设的角度阈值进行比较;
[0123] 若上述偏离角度大于上述角度阈值,则控制上述移动机器人运动;
[0124] 若上述偏离角度小于或等于上述角度阈值,则控制上述移动机器人停止运动。
[0125] 在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,
或者上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述目标物
体为手扶电梯的电梯口,上述获取上述目标物体在上述图像中的目标框,包括:
[0126] 获取上述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;
[0127] 若存在至少一个矩形框所包含的检测对象为上述目标物体,则将检测对象为上述目标物体的矩形框确定为目标框;
[0128] 若不存在矩形框所包含的检测对象为上述目标物体,则从上述至少一个矩形框中获取第一类框和第二类框,其中,上述第一类框为包含的检测对象为上述目标物体的扶手
的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯的矩形框;
[0129] 根据上述第一类框和第二类框计算得到目标框。
[0130] 在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,
或者上述第五种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述卷积神
经网络为深度可分离卷积神经网络,上述卷积神经网络基于Focal Loss函数训练得到。
[0131] 该移动机器人可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是移动机器人7的举例,并不构成对移动机器人7的限定,可以包括比图示更多
或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络
接入设备等。
[0132] 所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集
成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0133] 上述存储器71在一些实施例中可以是上述移动机器人7的内部存储单元,例如移动机器人7的硬盘或内存。上述存储器71在另一些实施例中也可以是上述移动机器人7的外
部存储设备,例如上述移动机器人7上配备的插接式硬盘,智能存储卡(Smart Media Card,
SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器71
还可以既包括上述移动机器人7的内部存储单元也包括外部存储设备。上述存储器71用于
存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如上述计
算机程序的程序代码等。上述存储器71还可以用于暂时地存储已经输出或者将要输出的数
据。
[0134] 由上可见,本申请方案中将上述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;若基于上述目标检测的结果确定上述图像中包含有目标物体,则获
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
[0135] 需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此
处不再赘述。
[0136] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0137] 本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0138] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动机器人上运行时,使得移动机器人执行上述各个方法实施例中的步骤。
[0139] 上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方
法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程
序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个
方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以
为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可
以包括:能够将计算机程序代码携带到移动机器人的任何实体或装置、记录介质、计算机存
储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access 
Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信
号。
[0140] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0141] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
[0142] 在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0143] 上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0144] 以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。