文章:Online Camera-to-ground Calibration for Autonomous Driving
作者:Binbin Li, Xinyu Du, Yao Hu, Hao Yu, and Wende Zhang
编辑:点云PCL
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。
摘要
相机与地面的在线标定是一般指实时生成相机与道路平面之间的非刚体变换,现有的解决方案常常利用静态标定,在面对轮胎气压变化、车辆载重体积变化和道路表面多样性等环境变化时存在问题。其他在线解决方案利用道路元素或图像中重叠视图之间的光度一致性,这需要在道路上连续检测特定目标或借助多个摄像头来进行标定。在这项工作中提出了一种在线的单目相机与地面标定解决方案,不需要在行驶过程中使用任何特定目标。通过轮速里程计进行粗到精的地面特征提取,并通过基于滑动窗口的因子图优化来估计相机与地面的标定参数。考虑到驾驶过程中相机与地面之间的非刚性变换,我们提供了衡量标定性能的指标和停止标准,以发布我们满意的标定结果。使用真实的数据进行的广泛实验表明该算法有效,并且优于现有的技术。
介绍
现代车辆配备了各种摄像头,以获取与周围环境相关的丰富语义信息,并将特征统一在共享的鸟瞰图中,以支持可解释的运动规划任务。相机与地面的标定在确定相机坐标和地面坐标之间的特征位置的几何变换方面起着关键作用。它有助于消除相机的透视畸变,提供鸟瞰图表示空间,并且便于估算安装在车辆上的相机与地面上位置之间的距离,这在先进驾驶辅助系统(ADAS)和自动驾驶系统中被广泛应用。
在过去的几十年中,已经提出了许多相机与地面的标定方法。这些方法通常可以分为两类:
(1)静态标定;
(2)行驶过程中的在线标定。
第一类方法通常使用诸如棋盘格或手动标注的地面物体等各种模式,事先计算相机与地面之间的变换关系。然而,由于车辆在道路上行驶时,由于轮胎气压变化、车辆载荷变化、道路表面多样性和部件振动,此类变换是非刚性的。相机与地面的标定应在行驶过程中进行多次,以调整几何投影的变化。例如,由周围视图鱼眼相机捕获的图像在图1(a)中,静态标定在图1(b)中会导致BEV图像不准确。在线标定可以减小变换误差,确保适当地处理投影变化,并生成图1(c)中对齐良好的BEV图像。
图1. 在给定的环视图鱼眼相机图像(a)中,静态标定包含了大量的相机到地面估计误差,导致BEV图像不匹配(b),但是我们的方法在(c)中生成了一个对齐良好的BEV图像。
第二类现有方法应用在线标定,这需要从道路上提取出特定的几何形状,例如单目相机的消失点和周围视图相机提取的车道标线,或者多个相机之间重叠区域的光度一致性,以辅助标定调整。然而,在各种行驶环境中很难保持这些要求。在这种情况下,需要在使用单个摄像头连续图像的情况下进行相机与地面的标定,而不依赖于任何特定的标定目标。
主要内容
本文采用了一种从粗到精的方法,在车辆行驶在道路上时,通过因子图优化获取地面特征并优化相机到地面的标定参数,而无需使用任何特定的标定目标。利用图像中水平线分离地面和非地面区域,通过轮式测程法预测地面特征的位置,并使用基于几何的方法验证地面特征。对三角测量的地面特征进行平面拟合,以获取地面的法向量和相机到地面的高度,并通过因子图优化进一步改进这些参数,以确定相机到地面的变换关系。考虑到在驾驶过程中相机到地面的非刚性变换,还提出了度量标定性能的指标和停止准则,以确保标定质量。
图2展示了我们的系统框图。主要包含以下模块:首先利用运动学自车模型恢复图像关键帧之间的相对运动,以便进行相机姿态估计和地面点三角测量;其次从关键帧中提取粗糙的地面特征,通过车辆运动进行特征预测,并进一步进行优化地面特征验证过程;然后进行地面平面拟合,获取地面法向量和相机到地面的高度;然后通过因子图优化来细化相机姿态和相机到地面的变换参数,并提出了一个停止标定准则,确定何时发布相机到地面的标定结果。
图2. 系统框架
A. 通过轮速里程计测量的相机运动
利用CAN总线系统提供的连续车轮里程读数估计车辆随时间的姿态变化,并确定相机关键帧之间的相对运动,以恢复单目相机系统的尺度因子。具体公式推导查看原文。
B. 连续关键帧的地面提取
地面特征(即车辆所行驶的道路表面上的特征)在相机与地面标定中起着重要作用。在城市/郊区环境中,大多数地面特征位于具有相似纹理的混凝土或沥青道路表面上,这些特征很难提取和匹配。提出了一种新颖的粗到细的地面特征提取架构,用于稳健的相机与地面标定,首先,我们引入地平线提取方法,通过车辆运动预测地面特征的位置,以便进行特征匹配。然后,我们利用几何方法来验证地面特征,并进行地面平面拟合,以获得地面法线向量和相机中心到地面的高度。在进行标定时,选择以稳定速度行驶时的关键帧,这样可以在不同的图像帧之间获得较小的相机姿态变化,有利于标定过程的稳定性,关键帧是指在时间序列中选择的一帧图像,通常表示为时间间隔的起点。从选择的关键帧开始,通过KLT稀疏光流算法提取图像中的角点特征,并进行跟踪。然后通过水平线分割图像,可以筛选位于水平线以下的特征点来选择地面特征,并利用车辆的运动信息进一步预测地面特征在下一个关键帧中的位置,这样,我们可以有效地提取和跟踪地面特征,为后续的相机到地面标定和场景理解提供重要的信息。
图3. 通过车辆运动进行特征预测,这里,Ok是关键帧Ik的相机中心。
图4. 粗糙的地面特征提取,对于每个特征,通过车辆运动预测其在下一个关键帧中的位置(a)。因此,与没有任何预测的KLT跟踪器中的特征相比,在(b)中我们有更多的、质量更高的匹配特征对。进一步在(d)中从(b)中均匀采样/选择特征以进行计算优化。这里,红色线段的端点表示关键帧Ik和Ik+1之间的匹配特征,绿色线是地平线。
C. 跨关键帧地面优化
采用基于滑动窗口的因子图优化方法来优化相机姿态、地面法向量和相机中心到地面的高度。通过使用单应性变换矩阵,可以将当前关键帧的特征点投影到上一关键帧的图像中。然后,我们通过最小化重投影误差来优化相机姿态和地面参数,以确保在上一关键帧中的特征点与当前关键帧中的投影点之间的一致性。具体来说,我们首先计算从当前关键帧到上一关键帧的相机姿态变换。然后,根据相机姿态变换将当前关键帧的特征点投影到上一关键帧的图像平面上。接下来,我们计算投影点与上一关键帧中的特征点之间的重投影误差,并将其作为优化问题的目标函数。通过最小化这个目标函数,我们可以同时调整相机姿态、地面法向量和相机中心到地面的高度,从而得到更准确的地面参数。通过这种跨关键帧的地面优化方法,可以更好地优化相机姿态和地面参数,提高相机到地面的标定精度,并为后续的路径规划和场景感知任务提供更准确的地面信息。
实验
在各种驾驶场景下使用乘用车实现了我们的算法并进行了大量实验,车辆安装了由四个向下朝向的鱼眼摄像机组成的全景摄像系统(参见图1(a)中的示例),这些摄像机与车轮编码器数据同步。摄像机的帧率为33 Hz,图像分辨率调整为812×540。我们收集了来自不同区域的长序列连续数据,以分析我们算法的效率和鲁棒性(参见表I)。这些数据涵盖了从平坦的铺装地面(FPG)到城市、郊区和农村等不同天气、光照和驾驶条件下的公共道路,FPG数据来自极其平坦的沥青路面,用于验证我们动态标定的基准性能。表I的最后一列表示车辆行驶而不是停车的时间百分比。
图6 我们的方法在具有挑战性的驾驶场景中表现良好,图中的标签与表格I从上到下对应。
将我们的方法与现有的最先进方法进行比较,从而定性地检验性能,包括Liu等人[23]、OECS[24]和ROECS[25]在我们的数据集上的性能。首先比较了在FPG数据上的标定性能,并在表II中总结了结果。与我们的对手一样,我们的方法在车辆行驶在FPG上时能够生成连续稳定的相机到地面的标定。因此,我们显示了与地面真实(GT)标定的欧拉角差的平均值,并评估绝对变化量δr、δp和δy。这里,δr、δp和δy分别表示滚转角、俯仰角和偏航角的变化量。表II中的δh列是相机中心到地面的高度位移。在表II中,即使在图像上没有可辨别纹理的混凝土路面上,我们的在线方法也取得了更好的性能。例如,我们的方法在俯仰角、偏航角和高度估计方面分别获得了显著的绝对增益,分别为44.4%、50.0%和71.2%。
为了展示我们提出的方法的优越性,我们在图7中呈现了(11)和(12)的误差直方图。在图7中获得了不同区间的误差差异,作为我们相对于最先进工作的性能提升的总和。我们的方法在不同水平下具有相对较小的特征转移误差f,并且误差保持在0.83像素以内,这在不同数据序列中保持一致。我们的方法在郊区数据上获得了最低的性能增益44.2%,在城市数据上获得了最高的性能增益67.6%。在从城市到农村地区的公共道路驾驶数据中,与最先进方法相比,我们的方法在误差p方面表现更好。误差p在0.75像素以内变化,并且90.9%的误差在0.67像素以内。在考虑平坦道路条件的情况下,性能提高了12.7%,在郊区数据中获得了最高得分,而在FPG数据中获得了最低得分,为1.59%。
图7. 表I中数据序列的性能直方图。水平轴的值对应于(11)和(12)中的误差,垂直轴是概率密度。请放大查看详细信息。
图8展示了在车辆以高速直行时不同方法生成的鸟瞰图像的视觉结果。我们的方法不依赖于不同摄像头之间的重叠区域或特定物体,获得了较小的特征残差误差,并生成了更好对齐的鸟瞰图像,原因如下:
(1)直行车道标线与车辆行驶方向平行,
(2)摄像头之间的车道标线互相重叠,
(3)道路上的混凝土裂缝在相邻摄像头鸟瞰图像的重叠区域上连接在一起。
图8. 在行驶过程中城市I数据的示例结果。我们展示了(a)我们的结果,(b)ROECS [25],(c)OECS [24]和(d)Liu等人的结果。
总结
我们提出了一种在线相机到地面无目标标定方法,用于在行驶过程中生成相机坐标与地面坐标之间的非刚体变换。采用了一种新颖的粗到精的架构来选择地面特征,并通过基于几何的方法进行验证。对三角化的地面特征进行平面拟合,以获得地面法向量和相机到地面的高度,然后通过滑动窗口的因子图优化对其进行优化。通过旋转平均确定相机到地面的变换,并提供停止标准来广播满足标定结果的情况。使用从不同天气和驾驶条件下收集的真实数据对我们的算法进行了广泛测试,结果显示我们的方法是有效的,并且优于最先进的技术。在未来,我们将减少因子图优化的运行时间复杂度,并进行可观测性分析,以识别帮助丢弃不需要用于标定计算的姿态和地面特征的退化场景。
更多详细内容后台发送“知识星球”加入知识星球查看更多。
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于光流的运动物体检测
基于语义分割的相机外参标定
综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍
高速场景下自动驾驶车辆定位方法综述
Patchwork++:基于点云的快速、稳健的地面分割方法
PaGO-LOAM:基于地面优化的激光雷达里程计
多模态路沿检测与滤波方法
多个激光雷达同时校准、定位和建图的框架
动态的城市环境中杆状物的提取建图与长期定位
非重复型扫描激光雷达的运动畸变矫正
快速紧耦合的稀疏直接雷达-惯性-视觉里程计
基于相机和低分辨率激光雷达的三维车辆检测
用于三维点云语义分割的标注工具和城市数据集
ROS2入门之基本介绍
固态激光雷达和相机系统的自动标定
激光雷达+GPS+IMU+轮速计的传感器融合定位方案
基于稀疏语义视觉特征的道路场景的建图与定位
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
用于三维点云语义分割的标注工具和城市数据集
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
TOF相机原理介绍
TOF飞行时间深度相机介绍
结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案
开源又优化的F-LOAM方案:基于优化的SC-F-LOAM
【开源方案共享】ORB-SLAM3开源啦!
【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM
【点云论文速读】StructSLAM:结构化线特征SLAM
SLAM和AR综述
常用的3D深度相机
AR设备单目视觉惯导SLAM算法综述与评价
SLAM综述(4)激光与视觉融合SLAM
Kimera实时重建的语义SLAM系统
SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM
易扩展的SLAM框架-OpenVSLAM
高翔:非结构化道路激光SLAM中的挑战
基于鱼眼相机的SLAM方法介绍
3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。
为分享的伙伴们点赞吧!