一种光流传感器的校准方法及系统与流程

文档序号:16214392发布日期:2018-12-08 08:10阅读:1360来源:国知局
一种光流传感器的校准方法及系统与流程

本发明涉及机器人检测控制领域,具体涉及一种光流传感器的校准方法及系统。

背景技术

机器人上的摄像头在场景运动的过程中获取一系列连续变化图像,视觉slam的目标是通过这样相邻帧间的图像估计机器人的运动,进行定位和地图构建。在现有条件下,视觉slam使用光流传感器,估算相邻图像间的光流传感器上的摄像头的运动,根据每个时刻的摄像头的位置,计算出各像素对应的空间点位置。其中常用的估算光流传感器运动的方法有光流法,光流法是利用图像序列中像素强度数据的相关性来预测像素点运动的一种方法,即研究图像亮度在时间上的变化以建立目标像素点集合的运动场。光流(opticflow,亦称为图像流)是指当三维空间中的运动目标成像于二维图像平面时所产生的运动投影,这种二维投影以图像亮度“流动”的方式表现出来,称之为光流。研究光流场的目的是为了从序列图像中近似计算不能直接得到的三维空间运动场。

gibson和wallach等在上世纪50年代首次提出能够从二维平面的光流场可以恢复空间三维运动与结构参数的假设。1981年由hom和schunck提出第一种实际有效的光流计算方法,成为光流算法发展的基石。此后关于光流的研究成为计算机视觉领域的热点,产生了大量研究成果。这些方法可分为微分法、匹配法、能量法、相位法以及神经动力学法几大类。其中微分法具有较好的综合性能,计算量相对较小且效果较好,因此在实际中得到广泛的使用。它利用时变图像(视频)灰度值的时域与空域微分(梯度函数)来计算像素的速度矢量。微分法主要包括:1、horn-sehunek全局平滑法;2、lucas-kanade局部平滑法;3、nagel有向平滑法等具体算法。

现有技术中采用机器视觉的方法估计扫地机的运动关系时,先定义当前帧和参考帧,以参考帧为坐标系,当前帧与参考帧进行特征匹配。只考虑参考帧/当前帧的方式,一方面使得位姿估计过于依赖参考帧。如果参考帧质量太差,比如出现严重遮挡、光照变化的情况下,跟踪容易会丢失,使得参考帧位姿估计不准,将不可避免地出现累计漂移。在每一次估计都带有一定的误差,先前时刻的误差将传递到下一时刻,经过一段时间之后,估计的运动轨迹不再准确。比如,机器人先向左转90度,再向右转90度。由于误差,第一90度估计成89度,向右转后机器人的估计位置不是原点位置,即使之后的估计再准确,与真实值相比,都会出现-1度的误差,导致建立的地图中原本90度的直角变成歪的。

中国发明专利cn103438904b,该专利使用视觉辅助校正的惯性定位方法及系统,通过设置分开的摄像模块和定位标识;其中,摄像模块设置在校正端、并且定位标识设置在惯性传感器端,或者定位标识设置在校正端、并且摄像模块设置在惯性传感器端。然后,利用摄像模块拍摄定位标识,并根据拍摄结果计算得到校正数据;该发明专利需使用多个传感器配合校正,并对定位标识位置的设置导致测量的误差比较大,导致校正的结果准确性不高。



技术实现要素:

为了克服上述技术问题,解决光流传感器感测物体或定位过程中会出现累计漂移的误差现象,本发明提出了机器人在保持预设距离沿着同一标识物边缘行走的情况下,通过光流传感器采集标识符的校准方法及系统,其技术方案如下:

一种光流传感器的校准方法,包括以下步骤:

步骤1、机器人沿着同一标识物边缘并与之保持预设距离行走,光流传感器采集所述标识物的图像,并从所述标识物的图像中定位出标定符坐标;

步骤2、从定位到所述标识物中的一个所述标定符坐标开始,获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,进行光流运算,当定位到所述标识物图像中与之相邻的标定符坐标时结束所述光流运算,得到机器人相对所述标识物的相对速度,并通过时间维度积分计算出所述机器人的位移基准数据;

步骤3、根据所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,计算出所述机器人实际位移数据;

步骤4、将所述机器人实际位移数据与所述机器人的位移基准数据进行数据融合,校准所述光流传感器的感测数据。

进一步地,所述步骤1中,机器人沿着同一标识物的边缘行走过程中,连续采集所述标识物的图像,获取每帧图像的灰度信息i(x,y,t),其中所述灰度信息i(x,y,t)表示关于位置与时间的函数。

进一步地,步骤1中还包括,所述从所述标识物的图像中定位出标定符坐标的方法包括,从所述光流传感器采集到的所述标识物的图像信息中找出经过标定符的两条特征直线;用直线方程拟合所述两条特征直线,得到特征直线的直线方程;求出所述两条特征直线的交点,记为所述标定符坐标。

进一步地,所述步骤2中所述光流运算包括:

获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,计算该像素点(x,y)处灰度的时间梯度:

空间梯度:

其中,i为像素点的灰度值,x、y为像素点在所述标识物的图像中的位置,t为时间;

根据所述机器人沿着所述标识物的边缘行走过程中采集同一像素点的灰度值保持不变的原则,得出像素点的光流场方程:

其中,表示x轴方向的光流,表示y轴方向的光流;

所述机器人沿着同一标识物边缘行走,根据像素点(x,y)为中心的所述标识物的图像区域内的像素点具有相同的速度u、v的局部平滑假定原则,联立多个像素点的光流方程,求出所述标识物相对于机器人的光流:

根据上述光流运算结果得到所述机器人相对所述标识物的相对速度,然后通过时间维度积分计算出所述机器人的位移基准数据。

进一步地,所述机器人相对所述标识物的相对速度是,将所述速度u、v的像素单位转换成长度单位,并通过旋转和平移变换,从图像坐标系变换到大地坐标系下得到的。

进一步地,步骤3中,依照光沿直线传播的原理,结合所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,通过相似三角形的边长成比例的方法,计算出所述机器人实际位移数据。

进一步地,步骤4中,所述光流传感器的感测数据包括所述标识物的图像的像素灰度值和所述标定符在图像坐标系下的坐标。

一种光流传感器的校准系统,该系统采用所述校准方法,该系统包括:标识物、摄像头模块、图像分析模块、计算模块和校准模块;

标识物,用于标识与标识物中心有预设位置关系的标定符,其中所述标识物中心为所述标识物水平投影面的外切几何图形的中心点;

摄像头模块,安置在机器人上,用于实时拍摄所述标识物,得到所述标识物的图像,并传给图像分析模块处理,其中所述标识物处于静止状态;

图像分析模块,用于从所述标识物的图像中识别出所述标定符,然后定位到所述标识物中的一个所述标定符坐标开始,获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,进行光流运算,当定位到所述标识物图像中与之相邻的标定符坐标时结束所述光流运算,得到机器人相对所述标识物的相对速度,并通过时间维度积分计算出所述机器人的位移基准数据;

计算模块,用于结合所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离使用相似三角形的边长成比例的方法,计算出所述机器人实际位移数据;

校准模块,用于把所述计算模块中的所述机器人实际位移数据和所述图像分析模块中的所述机器人的位移基准数据进行数据融合,校准所述光流传感器的感测数据,其中所述光流传感器的感测数据包括所述标识物的图像的像素灰度值和所述标定符在图像坐标系下的坐标。

进一步地,所述标识物上设有的两个具有固定距离的所述标定符都设置为红外led灯。

进一步地,所述预设位置关系是,所述标定符与所述标识物中心在水平投影面上的连线,与所述标定符发出的光线在同一直线方向上。

本发明公开使用基于光流传感器的光流计算方法只采集所述标识物的光强变化敏感和采样,因此输出中不包含静止的背景,极大减少了冗余信息和输出数据量,进而显著降低后端处理算法的运算时间和资源需求;

本发明结合光流计算方法,利用所述光流传感器拍摄的所述标识符计算得到机器人的基准位移,并构造几何相似图形求出所述机器人的实际位移数据,从而对光流传感器的感测数据的校正,有效规避图像像素累计漂移的影响,提高了光流传感器的精度。

附图说明

图1为本发明提供的光流传感器的校准系统的示意框图;

图2为本发明使用的光流传感器的校准方法的流程图;

图3为本发明的实施例中求取所述机器人的实际位移数据的数学模型。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。应当理解,下面所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

在机器人沿着边缘移动时,所述光流传感器感测到边缘处的图像特征块的内容基本不变,在程序上容易认为是同一个地方。而既不在角点,也不在边缘的特征点则会频繁跳动,位置不稳定,不利于光流传感器的校准。本发明实施方式中机器人沿着同一标识物边缘并与之保持预设距离行走,光流传感器采集所述标识物的图像。

本发明实施提供一种光流传感器的校准方法,适用于机器人沿着物体边缘移动的场景下进行校准。图2是本发明提供的光流传感器的校准方法的流程图。

步骤1,机器人沿着同一标识物边缘并与之保持预设距离行走,光流传感器采集所述标识物的图像,并从所述标识物的图像中定位出标定符坐标;其中所述标识物在室内处于静止状态;所述机器人在本发明实施中是扫地机器人;所述标定符在本发明实施中选用红外led灯,与周围区域色差较大,能够被光流传感器拍摄的图像中被识别标记,有助于后续的光流计算处理。

步骤2,当所述光流传感器定位到所述标识物中的一个所述标定符坐标开始,对图像进行光流计算,维持定位到所述标识物图像中与之相邻的所述标定符坐标为止,在这段时间内,获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,完成光流运算,通过坐标系转换得到大地坐标系下所述机器人相对所述标识物的相对速度,并通过时间维度积分计算出所述机器人的位移数据,作为位移基准数据。

步骤3,根据所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,构建几何关系计算出所述机器人实际位移数据;

步骤4,利用步骤2得到的所述机器人的位移基准数据,与步骤3计算得到的所述机器人实际位移数据进行卡尔曼滤波、扩展卡尔曼滤波、最小二乘法等方法,从而完成位移基准数据和实际位移数据的融合处理,得到校准参数,更新所述光流传感器的感测数据,消除光流累积漂移,校正所述光流传感器的感测数据,以实现所述光流传感器的精确定位。

根据本发明的一种实施方式,所述步骤1中,机器人沿着同一标识物的边缘行走过程中,连续采集m帧所述标识物的图像,获取每帧图像的灰度信息i(x,y,t),其中所述灰度信息i(x,y,t)表示关于位置与时间的函数,变量m设置为等于或大于10,单位为帧。

根据本发明的一种实施方式,所述步骤1还包括,所述从所述标识物的图像中定位出标定符坐标的方法包括,从所述光流传感器采集到的所述标识物的图像灰度信息中找出经过标定符的两条特征直线;图像灰度信息中有许多像素点分布在所述特征直线附近区域内,使用最小二乘法求出两条拟合的直线方程,即用求出的直线方程方法拟合所述两条特征直线,得到特征直线的直线方程;所述直线方程拟合的方法包括最小二乘法;求出所述两条特征直线的交点,记为图像坐标系下所述标定符坐标,用来检测并启动后续的光流计算。本实施方式中,所述标识物由木板,塑料板,金属板或者纸板等外表面平整的薄板组成的,所述标识物上的油墨线或者拉直附着在平板外表面的毛线、丝线、胶带等能够被光流传感器的分辨率识别,即根据亮度信息从背景中区分出来的特征直线。

根据本发明的一种实施方式,所述步骤2中所述光流运算包括,获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,计算该像素点(x,y)处灰度的时间梯度:

空间梯度:

其中,i为像素点的灰度值,x、y为像素点在所述标识物的图像中的位置,t为时间;

所述机器人沿着所述标识物的边缘行走过程中,在相邻的两个所述标定符之间采集图像满足灰度不变原则,所述灰度值保持不变的原则是指同一个空间点的像素灰度值,在各个图像中是固定不变的,比如,对于t时刻位于处于的像素,在时刻,运动到处。由于灰度不变得到:

对上述左边式子进行泰勒展开,保留一阶项,根据所述机器人沿着所述标识物的边缘行走过程中采集同一像素点的灰度值保持不变的原则,得出像素点的光流场方程:

其中,表示x轴方向的光流,表示y轴方向的光流;

所述机器人沿着同一标识物边缘行走,满足局部平滑假定原则,即在获取的光流中,同一图像内的像素具有相同的运动,故以像素点(x,y)为中心的所述标识物的图像区域内的像素点具有相同的速度u、v,联立多个像素点的光流方程,求出所述标识物相对于机器人的光流:

根据上述光流运算结果得到所述机器人相对所述标识物的相对速度,然后通过时间维度积分计算出所述机器人的位移基准数据。根据本发明的一种实施方式,所述机器人相对所述标识物的相对速度是,大地坐标系下的线速度,将所述速度u、v的像素单位转换成长度单位,并通过旋转和平移变换,从图像坐标系变换到大地坐标系下得到,其表达式为

其中表示所述机器人的旋转角度。

根据本发明的一种实施方式,所述步骤3中,依照光沿直线传播的原理,结合所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,通过相似三角形的边长成比例的方法,计算出所述机器人实际位移数据。

例如,如图3所示,所述标识物的中心为点o,点c和点b为相邻的两个所述标定符,点a为所述光流传感器定位到点c处所述标定符坐标时所述机器人运动位置,点a1为所述光流传感器定位到点b处所述标定符坐标时所述机器人运动位置,所述机器人由位置a移动到位置a1;变量l表示在所述标定符与所述标识物的中心保持所述预设位置关系的前提下,所述标定符与过所述标识物的中心的水平线的距离,该变量是根据所述标识物的形状预先设定;变量h表示在所述机器人与所述标识物之间保持所述预设距离沿边行走的前提下,所述机器人中心与过所述标识物的中心的水平线的距离,该变量是根据所述标识物的中心与所述标定符发出的光线确定的;线段bc表示相邻两个所述标定符的固定距离,该距离可通过预先测量得到。

依照光沿直线传播的原理,通过相似三角形的边长成比例的方法,利用下述公式进行计算,以得到所述机器人实际位移数据,即图3中的线段aa1的长度:

可以理解的,还可以在所述标识物的边缘的多个位置放置两个相邻的所述标定符,进行测定计算所述机器人的第二位移基准数据和所述机器人第二实际位移数据:将两个相邻的保存所述固定距离的所述标定符和所述机器人分开设置放在第二相对位置处,并得到第二预设距离、第二预设位置关系,运用光流法计算得到所述机器人的第二位移基准数据和所述机器人第二实际位移数据,并将所述第二位移基准数据与所述位移基准数据融合得到基准数据,将所述第二实际位移数据与所述实际位移数据融合得到实际位移数据,例如,在所述机器人沿边行走的下一个位置再次校正,利用第一次的方法,从而得到更加准确的位移基准数据和实际位移数据。

根据本发明的一种实施方式,所述步骤4中,所述光流传感器的感测数据包括所述标识物的图像的像素灰度值和所述标定符在图像坐标系下的坐标。所述光流传感器的感测数据会影响所述机器人的位移基准数据,进而影响所述机器人的定位构建地图,故通过所述机器人实际位移数据对所述机器人的位移基准数据进行数据融合,消除累积漂移,校准所述光流传感器的感测数据,以实现所述机器人精确定位。

本发明的另一实施方式涉及一种光流传感器的校准系统,采用上述实施方式涉及的校准方法。如图1所示,所述校准系统包括:标识物、摄像头模块、图像分析模块、计算模块和校准模块。

标识物,用于标识与标识物中心有预设位置关系的标定符,以辅助校准所述光流传感器,其中所述标识物中心为所述标识物水平投影面的外切几何图形的中心点。

摄像头模块,安置在机器人上,与所述机器人保持相对静止,摄像头的镜头方向正对所述标识物上标识有所述标定符的一面,用于实时拍摄所述标识物,得到所述标识物的图像信息,并提取出灰度值和所述标定符坐标信息传给图像分析模块处理,其中所述标识物处于静止状态。

图像分析模块,用于从所述标识物的图像中找出经过标定符的两条特征直线,并用所述直线方程拟合的方法拟合两条特征直线的直线方程,再求所述两条特征直线的交点,识别出所述标定符,并定位所述标定符的坐标;然后定位到所述标识物中的一个所述标定符坐标开始,获取从前一帧所述标识物的图像到当前帧所述标识物的图像的光流,进行光流运算,当定位到所述标识物图像中与之相邻的标定符坐标时结束所述光流运算,根据所述灰度不变假设原则与所述局部平滑原则计算,并进行坐标转换得到所述机器人在大地坐标系(室内环境)下的速度,并通过时间维度积分计算出所述机器人在大地坐标系(室内环境)下的位移基准数据。

计算模块,用于结合所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,使用相似三角形的边长成比例的方法,计算出所述机器人实际位移数据。

校准模块,用于把所述计算模块中的所述机器人实际位移数据和所述图像分析模块中的所述机器人的位移基准数据进行数据融合,校准所述光流传感器的感测数据,其中所述光流传感器的感测数据包括所述标识物的图像的像素灰度值和所述标定符在图像坐标系下的坐标。

所述标识物上设有的两个具有固定距离的所述标定符都设置为红外led灯,其反光性更强,使得更容易被所述光流传感器辨认出来,以便进行后续的光流运算,提高所述机器人位移基准数据的准确性。

所述预设位置关系是,所述标定符与所述标识物中心在水平投影面上的连线,与所述标定符发出的光线在同一直线方向上,使得所述计算模块结合所述标识物的中心与所述标定符的预设位置关系、机器人与所述标识物之间保持的所述预设距离和相邻两个所述标定符的固定距离,依照光沿直线传播原理,构造相似三角形,计算出所述机器人实际位移数据。

由于上述涉及校准方法的实施方式与本实施方式相互对应,因此本实施方式可与上述涉及校准方法的实施方式互相配合实施。上述涉及校准方法的实施方式中提到的相关技术细节在本实施方式中依然有效,在上述涉及校准方法的实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述涉及校准方法的实施方式中。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1