SST-Calib:结合语义和VO进行时空同步校准的lidar-visual外参标定方法(ITSC 2022)
2022-07-26 10:58 计算机视觉life 阅读(91) 评论(0) 编辑 收藏 举报原文链接:SST-Calib:结合语义和VO进行时空同步校准的lidar-visual外参标定方法(ITSC 2022)
论文阅读:SST-Calib: Simultaneous Spatial-Temporal Parameter Calibration between LIDAR and Camera(ITSC 2022)
(注:ITSC为智能交通领域盛会)
Motivation
对于大多数Visual和lidar融合算法而言,外参标定会极大地影响性能。具体而言,传感器融合算法需要非常精确的传感器之间的外参标定以及时间同步。所以一个能够联合估计visual-lidar外参矫正的几何和时间参数得算法是非常有价值的。另外,考虑到当车辆经历振动或碰撞时,手动校准的外参就会失效。因此自动外参标定功能的具备也是非常重要的。
最近兴起的基于学习预测传感器外参的方法通常是数据驱动的,需要预先标记的数据作为监督来进行预测,然而真值校准数据是难以获得的,并且这些基于学习的工作都没有提到应用在其他数据集的泛化能力,因此一个基于不同传感器的语义输入进行回归预测外参的方法可以一定程度上缓解这个问题。
最后,目前很多数据集包括传感器融合方法都忽视了时间标定的问题,传感器融合的方法大多基于同步时间假设,但是这个假设很难完全成立,所以动态校准传感器之间的时间延迟是非常有必要的。
Contribution
-
针对lidar和visual融合,提出了一种联合时空校准算法。
-
设计了双向损失函数以在几何参数回归中获得更稳健的性能。
-
将时间外参与visual odometry相结合以估计传感器之间的时间延迟。
Content
- 系统概述
校正流程如下图。校准包括用于空间外参初始标定的静态空间参数校准模块和用于双参数估计的联合时空参数校准模块。
算法的输入包括一个lidar点云扫描帧和两个连续的RGB图像
,算法的目标是估计出6dof的外参和
与
之间的时间延迟。
大致做法是先通过任意的语义分割方法分割点云和图像出各自的语义mask 与
。然后通过外参标定初值
和相机已知的内参
,将lidar点云投影到相机图像平面上,同时通过从点到像素和从像素到点执行最近邻搜索,并且计算它们的欧式距离用作之后优化的代价函数。
首先,优化迭代(静态空间外参标定)将在本车速度约为0的帧上进行,从而可以得到,并且把这用作之后的联合时空校准的初值和正则化参考项。然后,在动态场景中,通过visual odometry估计相邻帧的时间信息以及运动速度信息。在没有外力作用的条件下,与之间的平移可以定义为
,然后通过细优化计算出和
。
2.语义分割
理论上讲,本篇文章可以用任何语义分割网络,作者采用的语义分割网络分别是SqueezeSegV3(点云)与SDC-net(图像),另外考虑到城市环境的特征,只采用了车辆类作为mask的输出,最终可以得到mask输出与
。
3.点云投影
将归属于每个点云mask的点投影到相机图像上:
4.双向损失
定义为投影后在相机fov范围内的激光点集,对于每个激光投影点,
是离他最近的属于同一个类别的像素点,所以,单向(激光点-像素点)语义对齐损失在帧k上可以定义为:
该损失的计算过程如下图。
但是当外参的初值与ground truth明显不同时,最近邻匹配不一定能带来合适的匹配结果,所以一些重要像素的信息可能会被丢弃。因此,单向损失函数存在陷入局部最小值的问题。为了避免这个问题,双向损失函数被作为改进提出,具体过程如下图:
双向损失函数实际上就是基于单向损失函数添加了像素点-激光点的损失,像素点-激光点损失定义如下:
从而最终的双向损失函数在第l次迭代中可以表示为:
其中,为正则化项,为迭代次数l所对应的权重,当越小的时候,代表越偏向于将激光点投影到图像平面,反之就意味着偏向于将visual mask投影到点云簇,从而可以通过的调整使得损失避免陷入局部最小值,最终经过双向优化,可以生成一个更好的静态外参标定值:
5.联合时空校准
在联合时空校准之前,通过visual odometry提取连续两帧之间的运动速度,本篇论文所用的VO是基于稀疏光流进行FAST点跟踪然后用5点法RANSAC进行本征矩阵估计。
在车辆运动的情况下,基于静态外参的点云投影很难与相机图像对准,因此为了补偿时间延迟,将投影矩阵修改如下:
其中,与
分别是激光投影点通过与补偿在相机坐标系的坐标,然后修改双向损失函数,使得其可以同时估计空间与时间标定参数,修改后的双向损失函数如下:
其中,是正则化项,目的是使外参估计更接近初值,与是分别用于平移和旋转的正则化系数
6.实验
采用的KITTI 00序列,对于静态矫正,应用在前20次的迭代,应用在接下来的30次迭代,应用
在最后·10次迭代,也就是说优化共有60次迭代次数。对于联合时空优化,迭代次数设置为20次,应用
,正则化项
和
采用四元数角度差(QAD)和欧拉角度差(AEAD)来评测旋转误差
采用平均平移误差(ATD)来评测平移误差
1)验证联合时空标定
采用异步数据,算法估计的时延为103.4 ms,与真值相仅相差3.4 ms。外参标定精度记录入下表,和baseline比也表现出了显著的优势。
2)鲁棒性验证(加入噪声后的校准)
给外参平移加入分布在的噪声,给外参旋转加入
和
的噪声,加入后的性能和baseline比,在不需要预处理的情况下达到了更好的精度。
类似的,给时延也加入噪声,进一步证明了系统的鲁棒性
3)消融实验
验证了文中所提出的双向损失函数的有效性
Conclusion
这篇文章提出了一种在线联合时空校准的lidar-visual算法。设计了一个双向语义损失h函数,结合了来自VO的时延估计,同时估计外参和时延。在KITTI数据集上证明了它的有效性和鲁棒性,是个不错的外参标定工作。
本文仅做学术分享,如有侵权,请联系删文。
独家重磅课程官网:cvlife.net
全国最大的机器人SLAM开发者社区
技术交流群
— 版权声明 —
本公众号原创内容版权属计算机视觉life所有;从公开渠道收集、整理及授权转载的非原创文字、图片和音视频资料,版权属原作者。如果侵权,请联系我们,会及时删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端