单目视觉里程计设计及优化

2018-12-03 06:33欧明华
电子科技 2018年11期
关键词:单目里程计位姿

欧明华,李 翔

(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)

不同于GPS等卫星导航技术,视觉导航技术能够在城市信号阻塞、楼宇众多等不利环境下实现导航。视觉里程计[1](Visual Odometry,VO)已经成为智能系统导航的最佳选择,是SLAM(Simultaneous Localization and Mapping)技术[2]重要的组成部分,也是计算机视觉的一个重要应用。VO仅使用图像作为输入即可确定系统位置,不需要有关环境的任何先验知识。因此视觉导航已成为当下移动机器人导航[3]的研究热点。

现有视觉定位系统包括双目(立体)视觉系统、单目视觉系统及深度相机定位系统。主流的视觉定位系统研究主要集中在双目视觉定位,但是双目视觉系统设备安装、相机标定等环节过于繁琐;另一方面,双目系统计算量大,难以达到实时效果。单目视觉定位系统安装便捷、计算量较小,但单目有其固有缺点,即定位精度较低。基于特征点方法进行视觉运动估计是视觉SLAM的主要方法。

文献[4]提出的基于Surf的单目视觉里程计在一定程度上提高了定位精度,但是其应用于特征较为丰富的场景时会出现实时性不足的问题。文献[5]提出的视觉里程计具有一定的实时性,但缺少对定位过程的优化,导致精度不够。文献[6]提出了一种基于卷积神经网络的算法,通过优化神经网络结构,从卷积神经网络的每一层去图像描述子,进行动态环境的位置识别,在一定程度上提高了定位的准确性,但该算法时间复杂度较高、实时性不足。针对以上问题,提出一种基于ORB特征(Oriented FAST and Rotated BRIEF)[7]的单目视觉里程计及其优化方法:根据特征点重复率选取关键帧,减少特征匹配过程的计算量,通过构建李代数上的优化问题,提高视觉里程计实时性及可靠性。

1 ORB特征检测与匹配

1.1 特征检测

ORB算法是Rublee等人[7]在2011年的提出的一种特征点提取和匹配的方法,由两部分组成。ORB算法的关键点称为“Oriented FAST”,是一种改进的FA ST角点。描述子称为BRIEF(Binary Robust Independent Elementary Feature)。ORB特征的提取分为两个步骤:

(1)FAST角点提取。相对于原始FAST角点,ORB中计算了特征点的主方向,为后续的BRIEF描述子增加了旋转不变特性。特征点的主方向通过矩计算而来,图像块B的矩定义为

(1)

通过矩找到图像的质心

(2)

θ=arctan(m01/m10)

(3)

所以FAST角点就有了尺度不变性。

(2)描述子。对前一步提取出特征点的周围图像区域进行描述。BRIEF是一种二进制描述子,ORB在FAST特征点提取阶段计算了关键点的方向,利用方向信息,计算旋转之后的“Steer BRIEF”特征使ORB的描述子具有较好的旋转不变性。

1.2 特征点的帧间配准

特征匹配过程是VO的关键步骤,特征匹配是路标与路标之间的对应关系,图像与图像的准确匹配将为后续的姿态估计、优化等操作减轻大量负担。由于室内环境复杂、图像特征点较多,特征匹配过程占用了大量的计算资源。而相机采集图像的频率很高(60 frame·s-1),为了节省计算资源,达到实时效果,本文采取关键帧策略对特征点进行配准:在进行特征提取时,当特征点A、B的描述子相似度大于某个设定阈值(设定为90%),认为A、B是同一特征点;当前帧特征点与上一帧特征点重复率超过设定阈值时,则舍弃当前帧,继而采用快速近似最近邻(Fast Library for Approximate Nearest Neighbors,FLANN)[8]算法进行特征点数量较多情况下的匹配。

2 特征点误匹配剔除与运动估计

2.1 利用RANSAC算法进行剔除误匹配

提取相机运动过程中的两帧图像的特征点之后,首先进行人工筛选:对相邻两个图像的ORB特征向量进行距离判断,如果汉明距离小于既定阈值(根据工程经验,阈值设定为最小距离的两倍),那么将两者视为正确匹配的特征点。这种方法在一定程度上减少了特征误匹配,VO能够估计出相机在相邻时刻采集图像时的相对位姿。由于是单目视觉里程计,相邻图像的特征匹配点必须满足空间的对极约束。因此,在人工筛选的基础上,使用随机抽样一致性(Random Sample Consensus,RANSAC)[9]算法再次筛选,获得的特征匹配点满足空间的对极约束[10],特征匹配精度也有所提高。图1和图2分别为筛选前后的特征匹配。

图1 未经筛选的匹配

图2 筛选后的匹配

2.2 基础矩阵估计

基础矩阵F表示两幅图像的运动关系,是两幅图像几何关系的代数描述。由于相机的旋转和平移各有3个自由度,所以基础矩阵共6自由度,但由于单目的尺度等价性,F实际上5个自由度,所以用5对点对就可以求解F。根据针孔相机模型[10-15],以及对极几何约束可求得基础矩阵F

s1p1=KP,s2p2=K(RP+t)

(1)

x1=K-1p1,x2=K-1p2

(2)

F=K-Tt^RK-1

(3)

其中x1,x2是两个像素点的归一化平面上的坐标,^为反对称矩阵符号。K为已知相机内参,R、t为相机运动。然后通过对F奇异值分解(SVD)[16]求得R、t,也就是相机位姿。同理,对其他点对,也有类似表示。

3 优化

相机的位姿优化是一个非线性问题。相机位姿R,t的李代数[11]表示为ξ。某空间点坐标为Pi=[Xi,Yi,Zi]T,其投影像素坐标为Ui=[ui,vi]T。像素位置和空间坐标关系的齐次坐标表示如下

(4)

写成矩阵形式

siui=Kexp(ξ^)Pi

(5)

将重投影误差最小化[12],如图3所示,将位姿和三维特征点P同时优化。

图3 重投影误差示意图

由于相机位姿及观测点噪声,式(5)存在误差,将误差求和,构建最小二乘问题[13],使其最小化

(6)

利用李代数构建无约束的优化问题,需要每个误差项关于优化变量的导数,即线性化

e(x+Δx)≈e(x)+JΔx

(7)

其中,e为像素坐标误差(2维),x为相机位姿(6维),解析导数J是一个2×6的矩阵。变换到相机坐标系下的空间点坐标记为P′,取其前3维

P′=(exp(ξ^)P)1:3=[X′,Y′,Z′]

(8)

相机投影模型相对于P′为

su=KP′

(9)

展开

(10)

可以得到相机模型

(11)

对式(6)左乘扰动量δξ,然后考虑e的变化关于扰动量的导数,利用链式法则

(12)

符号“⊕”为李代数上的左乘扰动,第一项为误差关于投影点的导数,根据式(11)得

(13)

其中第2项为变换后的点关于李代数的导数,得到

(14)

根据式(8),取前3维,得到

(15)

将式(12)和式(15)相乘得到2×6的雅克比矩阵[14]

(16)

等式(16)描述了重投影误差关于相机位姿李代数的一阶变化关系。另一方面除了优化位姿还要优化特征点的空间位置。因此需要讨论e关于空间点P的导数,利用链式法则

(17)

按照定义

P′=exp(ξ^)P=BP+t

(18)

(19)

于是有

(20)

由此得到了相机观测方程关于相机位姿与特征点的导数矩阵,为优化提供了梯度方向,进而通过高斯牛顿法[13]不断迭代优化求解。

4 实验结果及分析

验证实验采用内置机载PC(处理器为i7,7500U,3.2 GHz)的BlueWhale轮式机器人。在一个4.5 m×4.5 m的室内试验,最终目的是使机器人能够进行自主定位,机器人配置单目摄像头(640×480),机器人在Ubuntu中利用机器人操作系统ROS,及用于图像处理的OpenCV库和用于实现优化算法的g2o库。

在室内场景下对本文设计的单目视觉里程计进行测试。移动机器人以0.2 m·s-1的速度在室内无规则行驶,运行状态如图4所示(左图为原始图像,右图为特征点图像),机器人底盘里程计视作标准轨迹。机器人在运行过程中,不断的检测周围环境,提取图像中的特征点,在相同配置下的PC上,特征提取及匹配时间为15 ms,有效提高了实时性。

图4 机器人运行时的图像

从实验结果图5中可以看到,在直线行驶时,由于场景特征重复性较高,视觉里程计选取关键帧较为稀疏;在曲线行驶时,由于场景特征丰富,视角重叠较小,特征点较多,视觉里程计选取关键帧较为稠密。标准轨迹与机器人定位轨迹对比如图6所示,视觉定位轨迹和标准轨迹的定位精度最大误差约为0.15 m,标准轨迹计算机器人里程约17.6 m,视觉轨迹机器人里程约为17.75 m,误差为0.85%,可见两者轨迹基本一致,误差较小。

图5 机器人视觉定位轨迹

图6 机器人定位轨迹与标准轨迹对比

5 结束语

本文提出的视觉里程计方法能够在室内较小环境下实现自定位,采用提取ORB特征点的方式,并通过检测特征点重复率的方式选取关键帧,大幅减少了运算量,保证了视觉里程计的实时性,降低了机器人对高配置的依赖。通过RANSAC算法对帧间特征点进行匹配,进而估计基础矩阵,计算机器人位姿,通过最小化重投影误差,在李代数上构建无约束的优化问题,利用图优化算法处理连续的关键帧并估计相机的运动,实现移动机器人的定位。实验中,视觉里程计与标准里程计的轨迹对比结果表明,本文设计的单目视觉里程计具有一定的鲁棒性和实用性。

猜你喜欢
单目里程计位姿
室内退化场景下UWB双基站辅助LiDAR里程计的定位方法
一种单目相机/三轴陀螺仪/里程计紧组合导航算法
基于模板特征点提取的立体视觉里程计实现方法
单目SLAM直线匹配增强平面发现方法
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
大角度斜置激光惯组与里程计组合导航方法
小型四旋翼飞行器位姿建模及其仿真
基于几何特征的快速位姿识别算法研究