一种面向机器人的行人定位方法、装置、电子设备及介质与流程

文档序号:24411819发布日期:2021-03-26 19:40阅读:132来源:国知局
一种面向机器人的行人定位方法、装置、电子设备及介质与流程

1.本申请涉及机器人行人感知技术领域,尤其涉及一种面向机器人的行人定位方法及装置、电子设备。


背景技术:

2.行人定位技术是人机交互的基础,在机器人的应用中起着重要作用,机器人只有知道人在哪里,才能更好的服务于人类。行人具有非刚体、姿态变化快等特性,因此准确的对其进行定位是极具挑战的一项任务。现有的方法多采用基于双目视差的定位方法或基于激光雷达、深度相机的定位方法。基于双目视差的行人定位方法使用双目相机,一次处理两张图像,计算量较大;基于二维激光雷达的行人定位方法,难以准确检测出人的位置;基于三维激光雷达的行人定位方法,难以准确定位到人脸;基于深度相机的行人定位方法,定位精度不高。由此可见,低计算量、高精度的行人定位是机器人中亟待解决的问题。


技术实现要素:

3.本申请实施例的目的是提供一种面向机器人的行人定位方法及装置、电子设备,以解决相关技术中存在的定位计算量大、精度低的问题。
4.根据本申请实施例的第一方面,提供一种面向机器人的行人定位方法,包括:获取当前时刻单目彩色相机的彩色图像一帧和二维激光雷达数据一帧,所述彩色图像和激光雷达数据应做好时间同步;在所述彩色图像上进行行人检测和人脸检测,得到行人检测矩形框和人脸检测矩形框;根据所述人脸检测矩形框,计算在所述单目彩色相机坐标系下的人脸中心所在的射线方程;根据所述的人脸中心所在的射线方程,结合所述行人检测矩形框、所述激光雷达数据以及所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
5.进一步地,根据所述的人脸中心所在的射线方程,结合所述行人检测矩形框、所述激光雷达数据以及所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标,包括:
6.将所述二维激光雷达数据投影到所述彩色图像上;
7.提取位于所述行人检测矩形框内的二维激光雷达数据;
8.根据相邻点之间的距离将所述行人检测矩形框内的二维激光雷达数据分割成若干片段;
9.计算各所述片段中二维激光雷达数据的均值,取距离机器人最近的均值为人脚坐标;
10.根据所述人脚坐标、所述人脸中心所在的射线方程,结合所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
11.进一步地,将所述二维激光雷达数据投影到所述彩色图像上的投影公式为:
12.13.其中,p
c
为单目彩色图像上的像素坐标,m为单目彩色相机内参矩阵,和分别表示二维激光雷达和单目彩色相机间的旋转关系和平移关系,p
l
为二维激光雷达数据。
14.进一步地,所述人脸中心所在的射线方程计算公式为:
15.f(k)=km
‑1[u,v,1]
t
[0016]
其中k为射线参数,[u,v]
t
为人脸中心像素坐标。
[0017]
进一步地,所述人脸中心在所述激光雷达坐标系下的三维坐标计算公式为:
[0018][0019]
其中,x0和y0分别表示所述人脚坐标的横纵坐标,[x,y,z]
t
为待求解的所述人脸中心在所述激光雷达坐标系下的三维坐标。
[0020]
根据本申请实施例的第二方面,提供一种面向机器人的行人定位装置,包括:获取模块,用于获取当前时刻单目彩色相机的彩色图像一帧和二维激光雷达数据一帧,所述彩色图像和激光雷达数据应做好时间同步;检测模块,用于在所述彩色图像上进行行人检测和人脸检测,得到行人检测矩形框和人脸检测矩形框;第一计算模块,用于根据所述人脸检测矩形框,计算在所述单目彩色相机坐标系下的人脸中心所在的射线方程;第二计算模块,用于根据所述的人脸中心所在的射线方程,结合所述行人检测矩形框、所述激光雷达数据以及所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
[0021]
根据本申请实施例的第三方面,提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
[0022]
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
[0023]
本申请的实施例提供的技术方案可以包括以下有益效果:
[0024]
由上述实施例可知,本申请针对机器人中的行人定位问题,通过该方法能够得到行人人脸在机器人坐标系下的三维坐标。因上述实施例使用的是单目彩色相机,所以与基于双目视差的行人定位方法相比,计算量更小;同时,从单目彩色相机获取的彩色图像上,能准确计算出人体和人脸的位置,因此与基于激光雷达的行人定位方法相比,定位精度更高。因上述实施例使用了激光雷达,所以与基于深度相机的行人定位方法相比,定位精度更高。
[0025]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0026]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0027]
图1是根据一示例性实施例示出的一种面向机器人的行人定位方法流程图;
[0028]
图2是根据一示例性实施例示出的人脸三维坐标计算流程图;
[0029]
图3是根据一示例性实施例示出的行人检测矩形框和人脸检测矩形框;
[0030]
图4是根据一示例性实施例示出的人脸三维坐标推导过程几何示意图;
[0031]
图5是根据一示例性实施例示出的一种面向机器人的行人定位装置框图;
[0032]
图6是根据一示例性实施例示出的第二计算模块的框图。
具体实施方式
[0033]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0034]
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0035]
图1是根据一示例性实施例示出的一种面向机器人的行人定位方法的流程图,如图1所示,可以包括以下步骤:
[0036]
步骤s101:获取当前时刻单目彩色相机的彩色图像一帧和二维激光雷达数据一帧,所述彩色图像和激光雷达数据应做好时间同步。
[0037]
具体地,所述当前时刻的彩色图像是指实际运行中实时获取的彩色图像,优选的,在使用robot operating system(ros)的机器人系统中,单目相机彩色图像以ros主题的方式发布,可通过订阅图像主题的方式实时获取彩色图像。
[0038]
所述当前时刻二维激光雷达数据是指实际运行中实时获取的二维激光雷达数据,优选的,在使用ros的机器人系统中,二维激光雷达数据以ros主题的方式发布,可通过订阅激光雷达主题的方式实时获取二维激光雷达数据。
[0039]
获取的所述彩色图像和二维激光雷达数据应是同一时刻的,否则在后续的步骤中,将会产生较大的行人定位误差甚至是错误的行人定位结果。因此,本申请实施例对获取的所述彩色图像和二维激光雷达数据进行时间同步。优选的,可使用插值的方法对所述二维激光雷达数据进行插值,获得与所述彩色图像相同时刻的激光雷达数据;也可使用ros的时间同步器对订阅的图像主题和激光雷达主题进行时间同步。
[0040]
步骤s102:在所述彩色图像上进行行人检测和人脸检测,得到行人检测矩形框和人脸检测矩形框。
[0041]
具体地,本申请实施例中的行人检测和人脸检测采用计算机视觉技术,能够检测出图像中的行人和人脸,得到行人检测矩形框和人脸检测矩形框。所述行人检测和人脸检测可以是使用基于模式识别、机器学习或深度学习的计算机视觉技术。基于模式识别的计算机视觉技术在20世纪八九十年代比较流行,因其模型简单,无法应对复杂的场景,尤其是对行人等非刚性物体的检测,有很高的误检率和漏检率,现在基本弃用了这类方法。基于机器学习和深度学习的计算机视觉技术,都是以数据驱动的方法,模型拟合能力远远高于基于模式识别的方法,是如今物体检测的主流方法。
[0042]
在一个优选的例子中,采用基于深度学习的计算机视觉技术进行行人检测和人脸检测,例如,可使用yolo、ssd、mask rcnn、retinanet等方法。
[0043]
在一个示例性实施例中,如图3所示,301为所述单目彩色图像,302、303分别为所述人脸检测矩形框和行人检测矩形框。
[0044]
步骤s103:根据所述人脸检测矩形框,计算在所述单目彩色相机坐标系下的人脸中心所在的射线方程。
[0045]
具体地,仅依靠本申请实施例中的单目彩色相机,因缺少深度信息,只能得到二维彩色图像,无法准确获得人脸的三维坐标,但是根据所述单目彩色相机的内参,可以得到人脸中心所在的射线方程。在一个优选的例子中,所述人脸中心可以是所述人脸检测矩形框的中心。
[0046]
所述人脸中心所在的射线方程计算公式为:
[0047]
f(k)=km
‑1[u,v,1]
t
[0048]
其中k为射线参数,m为单目彩色相机内参矩阵,[u,v]
t
为人脸中心像素坐标。
[0049]
步骤s104:根据所述的人脸中心所在的射线方程,结合所述行人检测矩形框、所述激光雷达数据以及所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
[0050]
具体地,所述单目彩色相机的内部参数可通过标定的方式获得,优选的,可使用张正友标定法。所述单目彩色相机和二维激光雷达的外部参数可通过标定的方式获得,优选的,可使用棋盘格标定板,采用平面约束和最小二乘法进行外部参数的求解。
[0051]
可选的,可对所述人脸中心在所述激光雷达坐标系下的三维坐标进行滤波,目的是滤除噪声,得到更加平滑的三维坐标,优选的,可使用卡尔曼滤波器对人脸的三维坐标进行滤波。
[0052]
在本申请实施例中,从所述单目彩色相机中,能够计算得出人脸中心所在的射线方程,要得出人脸中心准确的三维坐标,还需要结合激光雷达数据进行计算,在一个示例性的实施例中,如图2所示,计算人脸三维坐标,包括以下子步骤:
[0053]
步骤s201:将所述二维激光雷达数据投影到所述彩色图像上。
[0054]
所述二维激光雷达数据投影到所述彩色图像上,投影公式为:
[0055][0056]
其中,p
c
为单目彩色图像上的像素坐标,m为单目彩色相机内参矩阵,和分别表示二维激光雷达和单目彩色相机间的旋转关系和平移关系,p
l
为二维激光雷达数据。
[0057]
步骤s202:提取位于所述行人检测矩形框内的二维激光雷达数据。
[0058]
步骤s203:根据相邻点之间的距离将所述行人检测矩形框内的二维激光雷达数据分割成若干片段。
[0059]
所述根据相邻点之间的距离将所述行人检测矩形框内的二维激光雷达数据分割成若干片段,可选的,可将相邻点之间的距离阈值设置为0.1米,相邻点间的距离大于该阈值的,可作为二维激光雷达片段分割的依据。
[0060]
步骤s204:计算各所述片段中二维激光雷达数据的均值,取距离机器人最近的均值为人脚坐标。
[0061]
步骤s205:根据所述人脚坐标、所述人脸中心所在的射线方程,结合所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
[0062]
记所述人脸中心,在所述激光雷达坐标系下的三维坐标为[x,y,z]
t
,将其根据所述单目彩色相机和二维激光雷达的外参转换到单目彩色相机坐标系下,又已知所述人脸中心所在的射线方程,可得如下计算公式:
[0063][0064]
其中,等式左边为所述人脸中心所在的射线方程,等式右边为所述人脸中心在所述单目彩色相机坐标系下的三维坐标。
[0065]
在一个示例性的实施例中,如图4所示,a为所述人脚坐标所在的位置,假设人的步长不超过d,则人另一只脚在以a为圆心、半径为d的半圆de内,因所述人脚是离机器人最近的点,因此oa

de。假设人另一只脚在c处,人脸在两只脚之间即射线bn上。射线om表示所述人脸中心所在的射线,om与bn的交点n即为人脸的位置。但是因为无法知道另一只脚(即c点)的具体位置,因此无法得到射线bn。为简化计算,假设人另一只脚在直径de上,且人直立于地面,人脸的位置由射线om与平面defg的交点m得到,且oa

defg。在一个优选的例子中,可假设地面为二维激光雷达坐标系的xy平面。记所述人脚,即a点在二维激光雷达坐标系下的坐标为[x0,y0,0]
t
,因oa

defg,可得如下计算公式:
[0066][0067]
联立上述两个计算公式,可得如下4阶线性方程组,求解即可得到所述人脸中心在所述激光雷达坐标系下的三维坐标。
[0068][0069]
与前述的一种面向机器人的行人定位方法的实施例相对应,本申请还提供了一种面向机器人的行人定位装置的实施例。
[0070]
图5是根据一示例性实施例示出的一种面向机器人的行人定位装置框图;参照图5,该装置包括:
[0071]
获取模块401,用于获取当前时刻单目彩色相机的彩色图像一帧和二维激光雷达数据一帧,所述彩色图像和激光雷达数据应做好时间同步;
[0072]
检测模块402,用于在所述彩色图像上进行行人检测和人脸检测,得到行人检测矩形框和人脸检测矩形框;
[0073]
第一计算模块403,用于根据所述人脸检测矩形框,计算在所述单目彩色相机坐标系下的人脸中心所在的射线方程;
[0074]
第二计算模块404,用于根据所述的人脸中心所在的射线方程,结合所述行人检测矩形框、所述激光雷达数据以及所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
[0075]
本实施例中,图6是根据一示例性实施例示出的第二计算模块的框图,所述第二计
算模块,可以包括以下子模块:
[0076]
投影子模块501,用于将所述二维激光雷达数据投影到所述彩色图像上;
[0077]
提取子模块502,用于提取位于所述行人检测矩形框内的二维激光雷达数据;
[0078]
分割子模块503,用于根据相邻点之间的距离将所述行人检测矩形框内的二维激光雷达数据分割成若干片段;
[0079]
第三计算子模块504,用于计算各所述片段中二维激光雷达数据的均值,取距离机器人最近的均值为人脚坐标;
[0080]
第四计算子模块505,用于根据所述人脚坐标、所述人脸中心所在的射线方程,结合所述单目彩色相机和二维激光雷达的内外参,计算得到人脸中心在所述激光雷达坐标系下的三维坐标。
[0081]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0082]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0083]
相应的,根据本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
[0084]
相应的,根据本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述方法的步骤。
[0085]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0086]
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1