Localization and ego-velocity estimation for vehiclebased on binocular image sequences
-
摘要: 为了确定车辆在行驶过程中的相对位置与速度,提出一种基于双目序列图像的实时测距定位及自车速度估计方法。该方法利用车载双目视觉传感器采集周围环境的序列图像,并对同一时刻的左右图像进行基于SURF(speeded up robust features)特征的立体匹配,以获取环境特征点的景深,实现车辆测距定位;同时又对相邻两帧图像进行基于SURF特征的跟踪匹配,并通过对应匹配点在相邻两帧摄像机坐标系下的三维坐标,计算出摄像机坐标系在车辆运动前后的变换参数,根据变换参数估算出车辆的行驶速度。模拟实验表明,该方法具有良好的可行性,速度计算结果比较稳定,平均误差均在6%以内。Abstract: A real-time ranging location and ego-velocity estimation method based on binocular image sequences was presented to obtain the relative location and velocity of the vehicle in the running process. This method used the vehicle-borne binocular vision sensor to collect the image sequence of the surrounding environment. Then the depth of field of environmental feature points was obtained through matching feature points of left and right images at the same time based on speeded up robust features(SURF) in order to achieve vehicle location. Meanwhile, the feature points of two adjacent frames were tracked and matched based on SURF.The transformation parameter of the camera coordinate system before and after vehicle movement was computed through the 3D coordinates of the corresponding matching points in the two adjacent frames. And the velocity of the vehicle was estimated according to the transformation parameter. The simulation experiment results show that the method is feasible, and the speed calculation results are relatively stable, the average error is less than 6%.
-
引言
车辆的相对位置与行驶速度对于行车安全是至关重要的,准确快速地获取这些运动参数能为驾驶员提供参考信息以便及时做出决策。与现有的测量方式诸如激光、雷达等相比,视觉测量具有被动性、非接触性及抗干扰的优点,在运动参数测量方面得到了广泛应用[1-2]。利用视觉技术不仅能估算车辆的运动参数,还能很容易地把这些信息融合到诸如行人检测、车辆检测的视觉算法中,这样就避免了使用其他传感器所带来的配准难题[3]。目前,视频测速已大量运用于交通监控中,但它只能在特定测速区内对车辆测速,使用不灵活; 车载视觉测速系统一般是在车辆底盘上安装单目视觉传感器,连续采集车辆行驶时的地面序列图像,再根据地面图像的跟踪匹配进而计算出车辆的行驶速度[4],但这种方法无法完成测距定位,需另加传感器以确定车辆相对于周围环境的位置。
鉴于双目立体视觉可以有效地获取物体的景深,因此可以通过双目视觉同时进行车辆的实时测距定位与自车速度估计。基于此,本文将双目视觉系统侧向安装在车辆上,连续采集车辆行驶时的周围环境图像; 并根据各个时刻左右图像的立体匹配结果,计算出车辆相对于环境的实时位置; 同时对相邻两帧图像进行特征跟踪匹配,估算出车辆相对于环境的行驶速度。
1 基于双目视觉的车辆定位与速度估计原理
本文采用光轴平行的双目视觉系统,摄像机坐标系以其瞬时成像点为原点,XC轴与车辆瞬时运动方向相同,YC轴垂直地面向下,采集序列图像时的时间间隔Δt恒定不变。
双目视觉测距的原理就是利用左右图像的视差根据三角测量方法获取物体景深。先对tk(t=1, 2, …)帧左右图像进行立体匹配以获取视差,再结合双目视觉系统的标定参数从而计算出环境特征点在左摄像机坐标系下的三维坐标,其中Z坐标值就是车辆到这些环境特征点的距离,实现了车辆在周围环境中的实时定位。
基于双目视觉的自车速度估计是依据序列图像的特征跟踪匹配进行的。图 1为车辆自车速度估计模型示意图。假定车辆在路面上做刚体运动,根据运动学和空间解析几何理论可知,相邻两帧间车辆的运动参数可以用旋转和平移来表示,而摄像机固定在车辆上,所以能够用相邻两帧间摄像机坐标系的变换参数来描述车辆的运动参数。记集合{(Pitk、Pitk+1), i=1, 2, …, N}为车辆运动前后两帧图像中对应特征匹配点对的集合,其中Pitk和Pitk+1分别代表tk时刻和tk+1时刻第i组匹配点对在前后两帧左摄像机坐标系下的三维坐标。则它们有如下关系:
$$ P_i^{{t_{k + 1}}} = \mathit{\boldsymbol{R}}P_i^{{t_k}} + \mathit{\boldsymbol{T}} $$ (1) 式中:R、T为相邻两帧左摄像机坐标系之间变换的正交旋转矩阵和平移矢量,表明了车辆在tk+1时刻相对于tk时刻的位姿变化。
根据路面的实际情况,车辆在短时间内的运动可以看着是平面刚体运动。因此本文假设在相邻两帧之间,车辆在XX-ZC平面上运动,如图 1所示,那么旋转矩阵R和平移矢量T可简化为
$$ \mathit{\boldsymbol{R}} = \left[ {\begin{array}{*{20}{c}} {{\rm{cos}}\theta \; \; \; \; 0\; \; \; \; {\rm{sin}}\theta }\\ {0\; \; \; \; \; \; 1\; \; \; \; \; 0}\\ { - {\rm{sin}}\theta \; \; \; 0\; \; \; {\rm{cos}}\theta } \end{array}} \right] $$ (2) $$ \mathit{\boldsymbol{T}}={{[{{t}_{x}}~\ \ 0\text{ }\ \ {{t}_{z}}]}^{\text{T}}}$$ (3) 式中:θ表示车辆的偏转角度。求解出旋转矩阵R和平移矢量T之后,就可以计算出车辆从tk时刻到tk+1时刻的平移速度和偏转角速度,即:
$$ \upsilon =\frac{\left\| \mathit{\boldsymbol{T}} \right\|}{\Delta t} $$ (4) $$ \omega =\frac{\theta }{\Delta t} $$ (5) 根据上述原理,车辆测距定位与自车速度估计的详细流程如图 2所示。由于Δt非常小,因此计算出的速度可以当作车辆的瞬时速度。
2 基于SURF特征的立体匹配与特征跟踪匹配
在进行图像匹配之前,首先对图像进行校正、滤波、直方图均衡化等方面的预处理。校正的目的是使图像的外极线与扫描线重合,从而将立体匹配时的搜索范围限制在一个像素行中,提高搜索效率。对校正后的图像再进行高斯滤波和直方图均衡化处理,以去除噪声和增加图像的对比度。
2.1 左右目图像立体匹配
由于车辆在运动过程中,摄像机观察周围场景的角度、环境亮度等不可避免地会发生变化,因此采集到的图像也会发生旋转、缩放及亮度等方面的变化; SURF与SIFT(scale invariant feature transform)算法一样,对图像旋转和缩放等具有鲁棒性[5-6],但它的速度比SIFT算法快很多,所以可采用SURF算法来提取特征。
在提取SURF特征后,以左目图像为基准图并选定特征点,然后在右目图像的相应搜索范围中进行匹配搜索。采用欧式距离作为立体匹配特征点相似性度量函数,即:
$$ d = \sqrt {\sum\limits_{1 \le i \le 64} {{{[{\mathit{\boldsymbol{S}}_\mathit{\boldsymbol{p}}}(i) - {\mathit{\boldsymbol{S}}_\mathit{\boldsymbol{q}}}(i)]}^2}} } $$ (6) 式中:Sp为左图中点p的特征向量; Sp为右图中点q特征向量。
鉴于图像校正算法的误差,实际图像中不能保证所有特征点都和其对应点处于同一像素行中,因此将左图中的一个特征点p的实际搜索范围限制在右图中以同一行为中心的上下3行,这样既能减少匹配时间,又能增加匹配的成功率。具体匹配过程[7]如下:在右图搜索范围中搜索与点p的特征向量欧式距离最近和次近的2个最邻近特征点q和q′,它们与p的欧式距离分别为d和d′,如果欧式距离的比值r=d/d′小于某一阈值K(推荐的阈值为0.8),则认为p和q是一对匹配点。
按上述过程匹配所有检测到的特征点,就能获得一个匹配点对集合,但在这个匹配集合中依然存在左图中多个特征点对应右图中一个特征点的情况。因此可以以右图为基准图,运用相同方法反向匹配,再获得一个匹配集合。最后将2个集合进行交集运算,求得的公共子集即为左、右双目匹配点对集合。对于得到的初始匹配点对可以采用随机抽样一致性[8] (random sample consensus, RANSAC)算法进行过滤,进一步降低误匹配率。
在完成立体匹配后,获取视差图并对其进行滤波处理,最后结合摄像机标定参数即可计算出这些匹配特征点的三维坐标。
2.2 特征跟踪匹配
特征跟踪匹配的目的是建立车辆运动前后主图像(左图像)特征点间的对应关系。当车辆运动到tk+1时刻获取双目图像后,将左图像与运动前tk时刻的左图像进行特征跟踪匹配。由于本文为估算车辆的实时速度,图像采样间隔较小,前后两帧图像之间有较大重合度,因此可以采用前述立体匹配方法进行特征跟踪匹配。
本文假设摄像机随车辆做平面刚体运动,因此后一帧图像的成像面虽然较前一帧图像的成像面发生了旋转与平移,但在垂直于运动平面的方向上并未运动,那么同一特征点在前后图像中理论上依然位于同一像素行。根据此约束条件,在前后两帧之间进行特征跟踪匹配时,其搜索范围被限制在以同一像素行为中心的上下3行。
在减少误匹配方面,可以采用以下方法:设W1、W2为前一帧图像中的两个特征点的三维坐标,W′1、W′2为它们在后一帧图像中对应匹配点的三维坐标。根据空间中任意两点之间的距离在不同坐标系下保持不变,则有:
$$ \left\| {{W^\prime }_2 - {W^\prime }_1} \right\| = {\left\| {{W_2} - {W_1}} \right\|^2}$$ (7) 令$\gamma = \frac{{\left\| {{W^\prime }_2 - {W^\prime }_1} \right\|}}{{\left\| {{W_2} - {W_1}} \right\|}}$,理论上前后两帧图像特征点准确匹配时γ的值应该为1。在实际情况中可以设定一个阈值范围,当处于这个阈值范围中时,可以认为是正确的匹配点对,否则就为误匹配。结合本文实际,选择阈值范围为0.8~1.2。
3 变换参数计算
经过图像立体匹配和特征跟踪匹配之后,可以得到车辆运动前后N组特征匹配点对的坐标集合{(Pitk、Pitk+1), i=1, 2, …, N},接下来要解决的问题就是通过这些坐标值计算出(1)式中的正交旋转矩阵R和平移矢量T,从而计算出车辆的速度。对于旋转矩阵R求解方法有奇异值分解法(SVD)、正交分解法(OD)和单位四元数分解法[9]。单位四元数分解法稳定性好,能够得到很好的数值结果。旋转矩阵R与单位四元数q=[q0, q1, q2, q3]之间的关系为
$$ \mathit{\boldsymbol{R}}=\left[ \begin{matrix} q_{0}^{2}+q_{1}^{2}-q_{2}^{2}-q_{3}^{2}\ \ 2({{q}_{1}}{{q}_{2}}-{{q}_{0}}{{q}_{3}})\ \ 2({{q}_{1}}{{q}_{3}}+{{q}_{0}}{{q}_{2}}) \\ 2({{q}_{1}}{{q}_{2}}+{{q}_{0}}{{q}_{3}})\ \ q_{0}^{2}-q_{1}^{2}+q_{2}^{2}-q_{3}^{2}\ \ 2({{q}_{2}}{{q}_{3}}-{{q}_{0}}{{q}_{1}}) \\ 2({{q}_{1}}{{q}_{3}}-{{q}_{0}}{{q}_{2}})\ \ 2({{q}_{2}}{{q}_{3}}+{{q}_{0}}{{q}_{1}})\ \ q_{0}^{2}-q_{1}^{2}-q_{2}^{2}+q_{3}^{2} \\ \end{matrix} \right] $$ (8) 本文采用单位四元数法和随机抽样一致性算法(RANSAC)相结合的方式来计算R和T。具体过程如下:先从N组特征点对集合{(Pitk、Pitk+1), i=1, 2, …, N}中随机选取3组非共线的特征点对(P1tk、P3tk+1)、(P2tk、P2tk+1)、(P3tk、P2tk+1),依据文献[10]所述的单位四元数法求解旋转矩阵Re和平移矢量Te; 然后用RANSAC法剔除这N组特征匹配点对中的误匹配[11]。将特征点对集合中的各组匹配点对的三维坐标代入(1)式中,并设置一个误差限e,若各匹配点对的误差满足:
$$ {{e}_{i}}=\left\| P_{_{i}}^{{{t}_{k+1}}}-({{\mathit{\boldsymbol{R}}}_{e}}P_{_{i}}^{{{t}_{k}}}+{{\mathit{\boldsymbol{T}}}_{e}})\le e \right\| $$ (9) 则认为这对匹配点对为内点,否则为外点。经过多次计算,选择出内点数目最多的一组,利用这些内点重新计算,得到最终的旋转矩阵R和平移矢量T,再通过(2)式就可求得θ。
4 实验及结果
为了验证所提方法的有效性,在室内进行了模拟小车实验。如图 3所示为实验所用AGV小车,其上安装的双目视觉系统为Bumblebee2,相机的分辨率为648 pixel×488 pixel,帧频为48 fps。实验中小车沿“直线-圆弧-直线”路线行驶,各阶段以给定速度大小匀速前进。
对采集到的双目序列图像首先进行极线校正、高斯滤波和直方图均衡化处理。接着对tk(k=1, 2, …, N)时刻的左右图像进行基于SURF特征的立体匹配,图 4为实验中某一帧左右图像的匹配结果。根据匹配结果计算特征点的三维坐标,其Z坐标值就是小车到该环境特征点的距离,表 1为部分特征点的三维坐标值。
表 1 某相邻两帧间部分对应环境特征点的三维坐标单位:mm Table 1. 3D coordinates of some corresponding environmental feature points between two adjacent frames特征点编号 tk时刻特征点坐标(X, Y, Z) tk+1时刻特征点坐标(X, Y, Z) 1 (8.670,19.344,566.393) (127.463,20.283,571.327) 2 (2.908,-29.373,583.549) (122.217,-28.423,588.623) 3 (10.918,2.246,571.093) (129.843,3.175,575.927) 4 (10.790,9.766,569.612) (129.677,10.689,574.461) 5 (18.595,-24.373,581.284) (137.824,-23.405,585.815) 6 (17.429,14.277,566.984) (136.228,15.205,571.607) 为了验证方法的稳定性,本文在不同车速、不同采样时间间隔的条件下,进行了3组实验。实验中,利用前述特征跟踪匹配方法对各相邻两帧左图像进行匹配,并结合相应的立体匹配结果计算特征点的三维坐标; 然后利用这些三维坐标,根据前文方法计算出小车运动前后左摄像机坐标系之间的变换参数,即旋转矩阵R和平移矢量T。最后根据(4)式和(5)式就可求得小车在相邻两帧间的平移速度和偏转角速度。实验结果如图 5和图 6所示。其中图 5为车速较低时使用不同采样间隔的实验结果; 图 6为车速较高时的实验结果。从图 5和图 6中可知,实验中各个条件下的速度计算结果整体上都比较平稳,与理论真值相比,计算结果的平均误差都在6%以内。特别是当采样间隔Δt较小及车速较低时,计算结果更趋稳定,这是因为这种情况下相邻两帧图像的重合度较高,有更多的匹配特征点,计算所用数据更多。
5 结论
针对常见的车辆定位与测速方法的不足,本文提出了一种基于双目视觉的车辆测距定位与自车速度估计方法。利用车载双目视觉传感器采集环境序列图像,再通过图像中环境特征点的立体匹配和跟踪匹配,同步获取了车辆相对于周围环境的位置与自车速度信息。模拟实验表明该方法是可行的,具有较高的精度。在下一步工作中,应该采用分辨率高、视场大的摄像机进行实车实验,进一步验证该方法的稳定性。
-
表 1 某相邻两帧间部分对应环境特征点的三维坐标
单位:mm Table 1 3D coordinates of some corresponding environmental feature points between two adjacent frames
特征点编号 tk时刻特征点坐标(X, Y, Z) tk+1时刻特征点坐标(X, Y, Z) 1 (8.670,19.344,566.393) (127.463,20.283,571.327) 2 (2.908,-29.373,583.549) (122.217,-28.423,588.623) 3 (10.918,2.246,571.093) (129.843,3.175,575.927) 4 (10.790,9.766,569.612) (129.677,10.689,574.461) 5 (18.595,-24.373,581.284) (137.824,-23.405,585.815) 6 (17.429,14.277,566.984) (136.228,15.205,571.607) -
[1] 金守峰.基于机器视觉的工程机械行走速度测量系统研究[D].西安: 长安大学, 2015: 8-13. http://cdmd.cnki.com.cn/Article/CDMD-10710-1015803584.htm Jin Shoufeng.A research on engineering machine speed detect system based on machine vision[D]. Xi'an: Chang'an University, 2015: 8-13. http://cdmd.cnki.com.cn/Article/CDMD-10710-1015803584.htm
[2] Yamaguchi K, Kato T, Ninomiya Y.Vehicle ego-motion estimation and moving object detection using a monocular camera[C]//Proceedings of the International Conference on Pattern Recognition.NJ, USA: IEEE, 2006: 610-613. https://www.researchgate.net/publication/224649636_Vehicle_Ego-Motion_Estimation_and_Moving_Object_Detection_using_a_Monocular_Camera
[3] 刘威, 魏存伟, 赵逢, 等.基于单目视觉的自车运动参数鲁棒估计[J].机器人, 2009, 31(1):20-21. doi: 10.3321/j.issn:1002-0446.2009.01.004 Liu Wei, Wei Cunwei, Zhao Feng, et al.A robust method for vehicle ego-motion estimation based on monocular vision[J]. ROBOT, 2009, 31(1):20-21. doi: 10.3321/j.issn:1002-0446.2009.01.004
[4] 刘红亮, 陈维义, 许中胜.基于序列图像匹配的车载自主测速方法[J].系统工程与电子技术, 2015, 37(4):964-965. http://d.old.wanfangdata.com.cn/Periodical/xtgcydzjs201504037 Liu Hongliang, Chen Weiyi, Xu Zhongsheng.Research on vehicle-borne autonomous velocity measurement method based on sequence image matching[J]. Systems Engineer and Electronics, 2015, 37(4):964-965. http://d.old.wanfangdata.com.cn/Periodical/xtgcydzjs201504037
[5] 纪利娥, 杨风暴, 王志社, 等.基于边缘与SURF算子的SAR与可见光图像配准方法[J].应用光学, 2013, 34(5):811-812. http://d.old.wanfangdata.com.cn/Periodical/yygx201305017 Ji Li'e, Yang Fengbao, Wang Zhishe, et al.SAR and visible image registration method based on edge and SURF algorithm[J]. Journal of Applied Optics, 2013, 34(5):811-812. http://d.old.wanfangdata.com.cn/Periodical/yygx201305017
[6] Bay H, Tuytelaars T, Gool L V.SURF:speeded up robust features[J]. Lecture Notes in Computer Science, 2006, 3951:404-407. http://d.old.wanfangdata.com.cn/Periodical/hwyjggc200901035
[7] 徐树奎.基于计算摄影的运动模糊图像清晰化技术研究[D].长沙: 国防科学技术大学, 2011: 85-86. http://cdmd.cnki.com.cn/Article/CDMD-90002-1012020578.htm Xu Shukui.Research on motion blur image deburring technology based on computational photography[D]. Changsha: National University of Defense Technology, 2011: 85-86. http://cdmd.cnki.com.cn/Article/CDMD-90002-1012020578.htm
[8] 钟灵, 章云, 许哲民.近邻点一致性的随机抽样一致性算法[J].应用光学, 2011, 32(6):1146-1148. http://www.yygx.net/CN/abstract/abstract9870.shtml Zhong Ling, Zhang Yun, Xu Zhemin.Improved random sample consensus algorithm with near point consistency[J]. Journal of Applied Optics, 2011, 32(6):1146-1148. http://www.yygx.net/CN/abstract/abstract9870.shtml
[9] 代俣西, 沈秋, 王惠南, 等.双目视觉中基于对偶四元数的三维运动估计[J].光学技术, 2015, 41(2):132-135. http://d.old.wanfangdata.com.cn/Periodical/gxjs201502009 Dai Yuxi, Shen Qiu, Wang Huinan, et al.3D motion estimation of binocular vision based on dual quaternion[J]. Optical Technique, 2015, 41(2):132-135. http://d.old.wanfangdata.com.cn/Periodical/gxjs201502009
[10] 曹凤萍, 王荣本.基于立体视觉的月球车运动估计算法[J].吉林大学学报:工学版, 2011, 41(6):1593-1595. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=jlgydxzrkxxb201106015 Cao Fengping, Wang Rongben.Stereovision based ego-motion estimation algorithm for lunar rover[J]. Journal of Jilin University:Engineering and Technology Edition, 2011, 41(6):1593-1595. http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=jlgydxzrkxxb201106015
[11] 孙大伟.基于双目视觉的月球车导航方法研究[D].哈尔滨: 哈尔滨工业大学, 2010: 46-48. http://cdmd.cnki.com.cn/article/cdmd-10213-1011261434.htm Sun Dawei.Research on navigation algorithm based on binocular vision for a lunar rover[D]. Harbin: Harbin Institute of Technology, 2010 46-48. http://cdmd.cnki.com.cn/article/cdmd-10213-1011261434.htm
-
期刊类型引用(3)
1. 舒方林,张海波,曹文冠. 基于立体视觉的交叉路口对向车辆运动状态估计. 计算机与数字工程. 2022(05): 1029-1034 . 百度学术
2. 吴青青,段红建,王璞,方帆. 小型无人侦察车远程定位系统研究. 自动化技术与应用. 2020(01): 61-64 . 百度学术
3. 张琦,胡广地,李雨生,赵鑫. 改进Fast-RCNN的双目视觉车辆检测方法. 应用光学. 2018(06): 832-838 . 本站查看
其他类型引用(18)