当前汽车制造产业正朝着电动化、智能化和互联网化方向不断发展。无人驾驶汽车是通过车载的相机、激光雷达和IMU(inertial measurement unit)等传感器采集周围环境信息,利用数据融合技术实现障碍物认知、环境认知和车辆认知等并实现三维环境重构,进而自动规划行车路线并控制车辆到达预定目标[1]。在无人驾驶汽车研究领域,环境感知是该领域最基础的技术之一。没有对周围环境的感知,车辆就无法实现自主决策和控制[2]。随着传感器技术及无人驾驶技术的不断发展,激光雷达与相机已经成为了一组不可或缺的传感器组合。
激光雷达通过向周围环境发射激光束,然后接收从目标反射的回波,作适当处理后,可获得目标的距离、方位、姿态和形状等结构信息,但无法获得周围目标的色彩信息。相机可以获得丰富的色彩和特征信息,可用于对行人、树木等特征目标的检测,但易受环境因素的干扰。因此,激光雷达与相机在功能上具有良好的互补性。在无人驾驶领域,将激光雷达与相机获得的点云和图像数据进行融合处理,实现对周围环境目标的感知,使汽车自主避开障碍,防止事故的发生。而在数据融合过程中,激光雷达与相机的配准是影响数据融合效果的关键环节。
目前,在激光雷达和相机配准研究领域,国内外都已经取得了一定的进展,目前的配准方法主要有以下两类:一是基于棋盘格、3D图形等标志的点、线或形状特征集,通过建立点云与图像特征集间的对应关系,求解配准参数[3-6];二是基于点云和图像的一些共有属性,通过互信息值计算损失函数,再利用优化算法实现最佳配准[2, 7-9],但这类方法只适用于传感器间位移和旋转较小的情况。文献[10]提出了一种新的运动恢复结构(structure from motion, SFM)算法用于配准参数解算,文献[11]利用IMU提供的运动信息辅助配准,这两种配准方式对硬件条件有较高的要求。
本文提出一种基于激光雷达与相机数据中对应三维特征点集,适用于低密度激光雷达与相机的配准方法。该方法利用ArUco标签[12]辅助得到纸板角点在相机坐标系下的坐标;利用随机抽样一致算法(RANSAC)提取激光雷达点云中的纸板边缘,以边缘交点为角点,从而建立两组角点的对应关系;最后利用Kabsch算法求解最优配准参数。
1 传感器与标志本文使用Velodyne VLP16型激光雷达和KinectV2 RGB-D相机作为试验的传感器组合对提出的配准方法进行研究。Velodyne VLP16型共有16条扫描线,水平视场360°,垂直视场30°,测量距离可以达到100 m,每秒可接受30万个点云数据。KinectV2 RGB-D相机有彩色和红外两个镜头,红外镜头可以取得目标的深度信息,水平视场70°,垂直视场60°,距离检测距离0.5~4.5 m,每秒可传输30帧图像。在对激光雷达与相机进行配准前必须先对相机内参数进行标定。
1.1 相机标定RGB-D相机标定主要包括3部分:彩色镜头内参数标定、红外镜头内参数标定,以及彩色与红外镜头安置参数标定。相机镜头的内参数标定可采用张正友标定法[13]。棋盘格采用尺寸为7×9的网格,网格边长40 mm,从不同视角对棋盘板拍摄50次,拍摄原则是以不同距离不同视角拍摄,保证靶标在图像的各个区域。已知镜头内参数后,可按照双目相机标定方法解算两镜头外参数。表 1为相机内标定结果,(fu, fv, u0, v0)为内方位元素,k1、k2为径向畸变系数,p1、p2为切向畸变系数。表 2为彩色镜头和红外镜头外标定结果。
镜头名称 | u0(以像素个数计) | v0(以像素个数计) | fu(以像素个数计) | fv(以像素个数计) | k1 | k2 | p1 | p2 | 精度Δu(以像素个数计) |
深度镜头 | 249.642 1 | 209.323 0 | 367.130 9 | 367.731 3 | 0.123 7 | -0.341 9 | -0.001 7 | 0.149 5 | 0.157 2 |
彩色镜头 | 949.457 1 | 529.696 2 | 1 078.759 1 | 1 081.085 7 | 0.091 1 | -0.140 5 | -0.003 4 | 0.064 9 | 0.236 3 |
平移参数 | 旋转参数 | |||||
tx/mm | ty/mm | tz/mm | ϕ/(°) | θ/(°) | ψ/(°) | |
50.938 70 | 0.456 39 | 0.367 35 | -0.028 00 | -0.199 46 | 0.741 44 |
测量标志的选取原则:保证标志存在相机与激光雷达都能简单识别和检测到的特征。矩形纸板是一种简单有效的标志,并且可以裁成任意尺寸,重量轻,易于悬挂。由于本文使用的低密度Velodyne VLP16激光雷达只有16根扫描线,如果纸板尺寸太小或扫描距离太远会导致只有2~3根扫描线打在纸板,那么每个边缘只有2~3个点,这样在点云数据中很难拟合出纸板的边缘。因此,纸板尺寸及扫描距离必须合适。经过前期多次测试,确定了较合适的纸板尺寸和扫描距离。文中使用的是边长为50 cm的正方形纸板,扫描距离为2 m,保证有足够的扫描线打在纸板上。
2 特征点提取为了求解相机坐标系与激光雷达坐标系间的配准参数,需要两组对应的3D特征点集:一组在相机坐标系下,另一组在激光雷达坐标系下。一旦找到了这两组对应的三维特征点,就能利用算法求解两传感器间的配准参数。试验数据采集场景如图 1所示。
2.1 基于相机的特征点提取本文采用一种增强现实(AR)标签,ArUco是一种特殊的编码模式,有助于标签本身的检测和纠错,将标签用A4纸打印并粘贴在硬纸板上作为标志。在纸板尺寸和标签位置已知的情况下,纸板角点的位置可以通过计算得到。相机可以识别ArUco标签,并得到标签中心到相机坐标系的转换参数,如图 2所示,具体使用方法可参考文献[14],在标签尺寸位置已知的情况下,利用转换参数可以将角点从标签坐标系转换到相机坐标系下,从而得到角点在相机坐标系下的三维坐标。
2.2 基于激光雷达的特征点提取激光雷达扫描线是与地面平行的水平线,因此如果矩形纸板以边缘平行地面方式放置,那么激光雷达只能扫到与地面垂直的2个边缘。为了避免这种情况,将纸板以边缘与地面大约呈45°的方式悬挂,这样可以扫到4个边缘。利用RANSAC算法[15]拟合点云中的边缘线。
RANSAC算法基本假设是,数据集中包含局内点,也包含局外点,采用不断迭代的方法,寻找最优模型,并剔除不符合最优模型的局外点,构建一个仅由局内点组成的数据子集。其基本步骤如下[16]:
(1) 在点云P中随机选择p1t、p2t、p3t 3个点,根据位置构造平面Lt。
(2) 计算Lt法向量nt与{p1t, p2t, p3t}的法向量(n1t, n2t, n3t)的夹角,若夹角过大,则舍弃Lt并转步骤(1),否则继续执行。
(3) 计算点云P中其余点pi到Lt的距离di及与nt的夹角σi是否满足条件
式中,ε为阈值距离;α夹角阈值。将满足条件的点的个数,作为Lt的分数SLt。
(4) 重复执行步骤(1)~步骤(3)T次,选择出得分最高的平面Lt*。其中T由下式决定
式中,τ为Lt*局外点所占比例的估计值;Φ为T次采样后最优平面被选中的概率。
(5) 记录Lt*并在P中移除计入SLt*的点。
(6) 重复步骤(1)~步骤(5),直至无法从剩余的点中选择出一个得分至少为阈值S0的平面。
(7) 将每个平面L拟合的点投影到L上,并将区域的边界点作为边缘线的候选点集Q。
(8) 在Q中随机选择q1m、q2m两个点,根据q1m、q2m位置构造直线Im。
(9) 计算Q中其余点qj到Im的距离dj,检查是否满足条件
式中,ξ为点到直线距离阈值。将满足条件的点的个数作为Im的分数SIm。
(10) 重复步骤(8)~步骤(9)M次,选择出得分最高的直线Im*,其中M由下式确定
(11) 记录Im*并在Q中移除计入SIm*的点。
(12) 重复步骤(8)~步骤(11),直至无法从剩余点中选择出一个得分至少为阈值S′0的直线。
在拟合出纸板4条边缘线之后,可以解得4条边缘的线方程,以它们的交点作为纸板角点。若求出的边缘线方程无交点,则把两边缘线距离最短处连线的中点近似为角点。
3 配准参数求解在得到两组对应的三维特征点之后,相机坐标系与激光雷达坐标系间的转换参数可以利用Kabsch算法求解得到。同时为验证本文提出的配准方法的准确性,用本文的方法对相机与相机配准参数进行求解。
3.1 基于Kabsch算法求解配准参数Kabsch算法用于计算两个待配准点集最优旋转矩阵,利用该方法求解两点集的最优矩阵对点集旋转后可以使均方根偏差(RMSD)最小,在旋转已知的情况下,两坐标系的平移参数也可以确定。设P和Q是两个待配准点云,算法过程如下
将式(9)代入目标函数式(5)得
令X=(Pi-P),X′=RX,Y=(Qi-Q),有
由矩阵迹的性质,式(11)试可简化为
由于R是正交矩阵,即|X′i|2= |Xi|2
消去不包含R的项,得到新的目标函数
由X′=RX和迹的性质
利用奇异值分解有XYT=UDVT,式(15)等于
令M=VTRU则有
M是正交矩阵的乘积,也是正交矩阵,det(M)= +/-1,M中每个列向量的长度等于1,向量的每个分量小于或等于1。令Mii=1,其他分量为0,则有
R是一个旋转矩阵,R∈SO(3),需要确保det(R)=+1。若由式(18)得到的R,其det(R)=-1,那需要找到一个R,能使tr(YTX′)取得第二大值。
式中,d1≥d2≥d3且|Mii|≤1。
当式(19)有第二大值时M11=M22=1,M33=-1,综上则最优矩阵为
式中,C为校正矩阵
本文的主要目的是获得激光雷达与相机准确的配准参数,但由于旋转参数在实际试验过程中测量不便,为了验证本文方法解算的配准参数的准确性,利用文中的配准方法,求解两台RGB-D相机C1和C2配准参数, 配准过程如下:
(1) 执行以上配准步骤,求解C1与激光雷达(LiDAR)的配准参数TLiDAR-to-C1。
(2) 求解C2与激光雷达的配准参数TLiDAR-to-C2。
(3) 利用二者间的关系,可以得到C1到C2的配准参数
(4) 利用所求配准参数,融合点云。得到相机与相机的配准参数,利用该结果对深度相机的点云进行数据融合。如果配准参数准确,那么点云数据可以很好地对准;如果配准参数不够准确,融合结果将会出现较大偏差。
4 试验与结果分析利用Velodyne VLP16激光雷达采集的点云数据和KinectV2深度相机获取的点云数据来测试方法的可行性与准确性。相机与激光雷达的点云数据如图 3和图 4所示。
首先,验证本文配准方法的可行性,在激光雷达与相机采集数据时,确保激光雷达与相机的位置固定。为减少噪声数据对试验结果的影响,提高试验结果的精度,固定传感器位置采集多组数据求解多组配准参数,以配准参数的平均值作为最终的配准参数结果,即
式中,N为数据采集次数;ti表示第i次数据采集求得的配准参数;t为配准参数的平均值。
改变激光雷达与相机的位置,重复以上试验步骤求解配准参数,结果如图 5所示。
由图 5可以看出,平移参数的的变化率随着采集次数的增加而不断减小,最终达到一个稳定的值。当采集次数小于15次时,平移参数的变化率减小幅度较大。当采集次数大于15次时,平移参数仍有波动,但幅度很小。当采集次数大于20次时,平移参数处于一个稳定的值,将该值作为平移参数的准确值,作为最终结果。配准参数最终结果见表 3和表 4。
参数 | 人工测量 | 试验结果 | 误差 |
X/m | -0.14 | -0.121 | 0.019 |
Y/m | -0.25 | -0.263 | -0.013 |
Z/m | -0.21 | -0.190 | 0.020 |
Roll/(°) | — | -0.342 | — |
Pitch/(°) | — | 1.673 | — |
Yaw/(°) | — | -9.165 | — |
参数 | 人工测量 | 试验结果 | 误差 |
X/m | -0.66 | -0.648 | 0.012 |
Y/m | -0.46 | -0.477 | -0.017 |
Z/m | -0.12 | -0.102 | 0.018 |
Roll/(°) | — | 1.495 | — |
Pitch/(°) | — | 1.436 | — |
Yaw/(°) | — | -1.263 | — |
为了检验方法的可行性,利用卷尺人工测量激光雷达与相机的平移参数作为概略值;由于旋转参数很难人工测量,本文未测量旋转参数概略值。将试验结果与人工测量结果进行比较。由表 3、表 4可知,试验结果与人工测量结果的误差在2 cm以内,由此可知该方法是可行的;由于人工测量的参数值只是概略值,因此2 cm并不是试验结果的最终精度。
为了进一步验证该方法所求配准参数的准确性,用本文方法求解相机与相机的配准参数,将所求配准结果用于相机点云数据融合,点云融合前后分别如图 6和图 7所示。
由图 6、图 7可知,点云数据融合前,两组点云数据存在明显的偏差;利用所求配准参数对两组点云进行数据融合之后,点云数据得到很好的对准,几乎没有偏差。这说明本文方法所求的配准参数具有很好的准确性。
5 结语本文对无人驾驶技术中的激光雷达与相机的配准问题进行了研究,提出了基于3D特征点集的配准方法。在完成相机内标定和镜头外标定之后,利用ArUco标签提供的坐标系转换关系和RANSAC算法拟合标志边缘提取角点,获得角点在两传感器坐标系下的坐标,从而建立两组对应特征角点的关系,最后基于Kabsch算法求解最优配准参数。试验中,将试验结果与人工测量结果进行对比证明了方法的可行性;通过点云数据融合的质量证明了方法的准确性。结果表明本文方法可以很好地实现激光雷达与相机的配准。
[1] | 张艳辉, 徐坤, 郑春花, 等. 智能电动汽车信息感知技术研究进展[J]. 仪器仪表学报, 2017, 38(4): 794–805. DOI:10.3969/j.issn.0254-3087.2017.04.002 |
[2] | 夏鹏飞, 尹慧琳, 何艳侠. 基于最大互信息的激光雷达与相机的配准[J]. 仪器仪表学报, 2018, 39(1): 34–41. |
[3] | KASSIR A, PEYNOT T. Reliable Automatic Camera-laser Calibration[C]//Proceedings of ARAA. Brisbane: [s.n.], 2010. https://www.researchgate.net/publication/266467094_Reliable_Automatic_Camera-Laser_Calibration |
[4] | GEIGER A, MOOSMANN F, CAR Ö, et al. Automatic Camera and Range Sensor Calibration Using a Single Shot[C]//IEEE International Conference on Robotics and Automation. Saint Paul, MN, USA: IEEE, 2012: 3936-3943. https://www.researchgate.net/publication/241632769_Automatic_camera_and_range_sensor_calibration_using_a_single_shot |
[5] | VELAS M, SPANEL M, MATERNA Z, et al. Calibration of RGB Camera with Velodyne LiDAR[C]//WSCG Conference on Computer Graphics, Visualization and Computer Vision.[S.l.]: WSCG, 2014. |
[6] | CASTORENA J, KAMILOV U S, BOUFOUNOS P T. Autocalibration of LiDAR and Optical Cameras via Edge Alignment[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Shanghai: IEEE, 2016. https://www.researchgate.net/publication/304372187_Autocalibration_of_lidar_and_optical_cameras_via_edge_alignment?_sg=l_IAGm82phrDw228A0YQoowikdjOloTj0QUCvMT-BA9FFhgJvlBYxaLFlrRKuVlAALb8piCbJYufELZ2-4epdg |
[7] | LEVINSON J, THRUN S. Automatic Online Calibration of Cameras and Lasers[C]//Robotics: Science and Systems.[S.l.]: [s.n.], 2013. https://www.researchgate.net/publication/305298924_Automatic_Online_Calibration_of_Cameras_and_Lasers |
[8] | TAYLOR Z, NIETO J. Automatic Calibration of liDAR and Camera Images Using Normalized Mutual Information[C]//IEEE International Conference on Robotics and Automation.[S.l.]: IEEE, 2013. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.475.5671 |
[9] | JOHN V, LONG Q, LIU Z, et al. Automatic Calibration and Registration of LiDAR and Stereo Camera without Calibration Objects[C]//IEEE International Conference on Vehicular Electronics and Safety. Yokohama: IEEE, 2015. https://www.researchgate.net/publication/281424590_Automatic_Calibration_and_Registration_of_Lidar_and_Stereo_Camera_without_Calibration_Objects |
[10] | BOK Y, CHOI D G, KWEON I S. Generalized Laser Three-point Algorithm for Motion Estimation of Camera-laser Fusion System[C]//IEEE International Conference on Robotics and Automation. Karlsruhe: IEEE, 2013: 2880-2887. https://www.researchgate.net/publication/261416293_Generalized_laser_three-point_algorithm_for_motion_estimation_of_camera-laser_fusion_system |
[11] | NÙÑNEZ P, JR P D, ROCHA R, et al. Data Fusion Calibration for a 3D Laser Range Finder and a Camera Using Inertial Data[C]//Proceedings of European Conference on Mobile Robots. Mlini: DBLP, 2009: 31-36. https://www.researchgate.net/publication/221216117_Data_Fusion_Calibration_for_a_3D_Laser_Range_Finder_and_a_Camera_using_Inertial_Data |
[12] | JURADO S, SALINAS R, CUEVAS F J, et al. Automatic Generation and Detection of Highly Reliable Fiducial Markers Under Occlusion[J]. Pattern Recognition, 2014, 47(6): 2280–2292. DOI:10.1016/j.patcog.2014.01.005 |
[13] | ZHANG Z. A Flexible New Technique for Camera Calibration[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000, 22(11): 1330–1334. |
[14] | Detection of ArUco Markers[EB/OL].[2008-04-10].http://docs.opencv.org/3.1.0/d5/dae/tutorialarucodetection.html. |
[15] | FISCHLER M A, BOLLES R C. A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography[J]. Communications of the ACM, 1981(24). |
[16] | 李宝, 程志全, 党岗, 等. 一种基于RANSAC的点云特征线提取算法[J]. 计算机工程与科学, 2013, 35(2): 147–153. DOI:10.3969/j.issn.1007-130X.2013.02.026 |