IV2023 | 用于自动驾驶汽车的端到端激光雷达相机自标定方案

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

今天自动驾驶之心为大家分享顶会IV2023最新的端到端激光雷达相机自标定方案。如果您有相关工作需要分享,请在文末联系我们!

作者 | 汽车人

编辑 | 自动驾驶之心

>>点击进入→自动驾驶之心【多传感器融合】技术交流群                     

后台回复【相机标定】获取超详细的单目双目相机模型介绍、内外参标定算法原理视频!

IV2023 | 用于自动驾驶汽车的端到端激光雷达相机自标定方案

原文:End-to-End Lidar-Camera Self-Calibration for Autonomous Vehicles

最近看到了一篇端到端Lidar-Camera标定的方法,觉得蛮有意思的,和大家分享下!自动驾驶汽车一般会配备了多种传感器,使汽车能够安全驾驶,传感器的初始标定是一个成熟的研究方向,通常在自动化工厂环境中进行。然而,如何维护整个车辆运行期间的标定质量,以确保系统误差不会传播是非常重要的。本文提出了相机激光雷达标定网络(CaLiCaNet),这是一种端到端的深度自标定网络,解决了针孔相机和激光雷达的自动标定问题。通过回归相机图像和激光雷达点云之间的特征相关性,共同预测相机的内在参数(焦距和失真)以及激光雷达相机的外参(旋转和平移)。该网络使用Siamese-twin结构,以将网络特征学习约束为点云和相机中相互共享的特征(激光雷达相机约束)。KITTI数据集上进行的评估表明,推理实现了0.154°和0.059m的精度,重投影误差为0.028像素。作者还对这个端到端学习架构如何与隔离标定相比提供更低的终端损耗(旋转损耗减少21%)进行了深入研究。

这里也强烈推荐自动驾驶之心出品的多传感器标定视频教程!涵盖相机内参标定、标定精度优化、传感器到车体标定、多传感器之间离线标定/在线标定、鱼眼与环视相机标定等20+标定方案!

d7dbf72aaa012da71dc58af3413e0fb7.png

领域背景

自动驾驶汽车一般都会配备了多模态传感器,使感知算法能够更好地了解环境。与传统的仅相机的感知相比,添加雷达和激光雷达等具有深度功能的传感器可以在3D世界中实现清晰的识别。因此,相机和激光雷达的组合是自动驾驶汽车设置中最常用的,通常具有相同模态的多个实例(例如,2×激光雷达加3×相机)。这种多传感器设置的使用需要级联标定:首先,每个传感器都需要内部进行标定,然后,需要相对于其它传感器进行外部标定。这两种标定都是传感器融合的先决条件,传感器融合是车辆感知的基石。

内参标定的质量通常会影响外参,内参标定的微小误差会影响外参标定的准确性,为了解决这个问题,一些工作提出了联合优化的内在和外在标定。与单独标定相比,该方法提供了更好的性能,然而,它需要一个静态目标,这在车辆使用时是不适用的,对于这种情况,需要一种无目标标定方法,有许多基于SfM、光流和里程计的经典模型。然而,为了适应更广泛的操作领域并避免启发式调整算法,基于深度学习的方法越来越多地用于自标定。尽管如此,基于模型的方法与基于深度学习的方法之间的比较仍然很困难,因为几乎没有背靠背的比较,而且每种方法都有不同的操作领域。深度学习方法主要依赖于监督网络:这意味着需要足够数量的标记的高质量数据,以便网络进行适当的泛化。

之前的工作[8]引入了一种自标定pipeline,本文用一种名为CaLiCaNet的新型端到端学习网络扩展了这一pipeline,旨在从零开始标定相机,同时从外部标定激光雷达。这与大多数现有的激光雷达相机标定方法不同,后者假设可以获得完美的相机固有参数。为了衡量所提出的体系结构的影响,本文使用了与传统的基于模式的标定直接可比的评估指标,还包括一项消融研究,将内参和外参网络视为子网络,目的是了解端到端网络在激光雷达相机标定方面比孤立网络表现更好。

的贡献包括以下内容:

1) 提出了端到端的CaLiCaNet,这是端到端学习在传感器标定中的首次应用;

2)使用KITTI数据集评估本文的方法,其特定指标与传统标定方法直接相当,这有助于做出明智的决定,从实践状态切换到最先进的标定方法;3) 提出了一种用于自标定汽车激光雷达相机系统的简化数据收集和标签生成pipeline;

已有方法梳理

激光雷达相机的外部标定是一个受欢迎的话题。通常,作为第一步,使用棋盘等几何图案对相机进行本质标定。然后,通过将来自激光雷达点云的3D特征与相机等效物(即,在图像平面中)进行匹配,来完成其对激光雷达的外部标定。在给定内参的情况下,可以从3D棋盘平面或3D重建方法(如SfM)生成相机图像的3D特征。当内参不够准确时,首先标定相机,然后标定激光雷达相机,这会带来系统误差传播到外在标定的风险。

本文参考了[1]、[11]、[12]中提出的激光雷达相机联合标定的公式,一般的想法是通过多模态传感器的物理测量来达到一个更稳健和全局最优的解决方案。理想情况下,在不需要类似模式的目标的情况下进行全局优化,并使用自然环境来实现在线标定的可能性。基于SfM的方法接近我们的需求:使用SfM检测自然特征,并将其用作Bundle Adjustment算法的输入,以预测内在参数,最后,迭代最近点(ICP)用于外部标定。

尽管如此,使用显式模型的特征检测和匹配需要稳定且特征丰富的环境,因此,当应用于在线标定时,通常不是很鲁棒。此外,在[11]中,使用KITTI数据集的评估仅限于道路场景(例如,稳定的环境),在[3]中也可以发现类似的限制,其中它依赖于柱状结构来进行标定。基于模型的特征提取器,如SfM或里程计,通常需要启发式参数调整,一旦操作域(例如,相机类型或环境)发生变化,就需要改变这些参数。认识到这些普遍的困难,本文提出了基于深度学习的感知传感器标定,如[5]–[7]所示。其主要思想是利用经过充分验证和预训练的图像检测器(例如,ImageNet、Inception、ResNet)作为环境特征提取器,这些检测器通常用于图像分类和目标检测。

DeepPTZ[7]能够使用作者在[8]中提供的扩展来标定车辆camera,本文还考虑了LCCNet和CFNet,它们直接在激光雷达相机标定的KITTI数据集上评估了方法。尽管如此,这些深度学习方法尚未解决联合标定相机内在和相机外在的需求。与经典的基于模型的在线标定不同,作者认为还没有基于学习的解决方案可以端到端地执行激光雷达相机标定,隐含的假设是,尽管车辆动力学(例如,振动)影响传感器和室外环境(例如,温度)影响传感器机械设置,但完美的内在相机总是可用的,并且总是刚性的。端到端学习被广泛研究,但在车辆感知领域,尤其是传感器标定领域,端到端网络设计的行为很少受到关注!

自标定的一些问题

对于相机,考虑[16]中的针孔模型,通过该模型,使用统一球面模型(USM)对镜头畸变进行建模。相机内参标定公式化为恢复固有参数Ki,以及来自i个输入图像的失真系数ξi。同时,激光雷达的外部标定通过由旋转Ri和平移ti组成的刚性3D变换来描述。对于每个图像i和点云(X,Y,Z),可以使用矩阵K将3D世界投影到相机像素坐标(u,v),假设没有失真的图像并且不需要缩放:

c3c0fc985105180181162b9593202398.png

当相机内参和激光雷达相机参数估计在统一的优化问题中处理时,就有更好的机会获得全局最优解,该优点尤其相关,因为联合优化提供了激光雷达和相机都能识别的物理约束。

基于上述公式,将端到端激光雷达相机自标定的目标描述为从自然场景中获取给定图像集和3D点云对的标定值θ={f,ξ,R,t}。假设图像传感器是正方形的(焦距f沿x轴和y轴对称),并假设激光雷达扫描是自我运动补偿的。限制条件是,测量不需要有明确的几何图案,也不需要在具有某些结构特征的特定环境中进行(例如,杆或建筑物),考虑到建模这样一个环境的难度,我们倾向于采用基于学习的方法。

1)生成训练数据

传感器标定的深度学习方法在很大程度上受到监督数据影响,因此需要GT,本文参考了之前在[8]中提出的通过驱动进行学习的标签生成策略。训练标签生成策略不需要人工注释,也不需要额外基础设施。首先,使用基于棋盘的受控环境设置预标定一对相机和激光雷达传感器,以获得θ0,将θ0视为GT标定值。然后,当汽车使用目标标定传感器行驶时,收集传感器测量值,由此产生的测量结果成为时间序列标定帧(点云和图像)的数据集。

3a19ad70c8e0976e27d37a69644c0adc.png

2)端到端设计

本文采用了具有公共参考实现的网络作为端到端设计的基准和灵感,根据(1),内参标定网络的输出可以直接链接到外参标定网络,在这种情况下,每个内参外参网络的预测和训练都是独立发生的。

对于内参网络,采用了DSNet的一些部分,这是一个暹罗网络,旨在预测相机内参标定的f和ξ,输入来自不同视点的两幅相关图像。它最初设计用于全景数据集和平移、旋转/变焦(PTZ)相机,但在[8]中将其扩展为将车载相机作为目标域。至于外部标定,受LCCNet的启发,使用了一个volume-cost-based的网络,该网络将图像和投影点云深度图像共享的volume-cost相关联,两个孤立的网络都依赖于特征相关性来回归θ。

3)CalicaNet

CaLiCaNet(相机激光雷达标定网络)旨在通过建立特征提取网络,将两个相关传感器测量的特征关联起来,并将其回归为标定参数,从而实现有效的端到端学习。回想一下,DSNet特征图是基于两个相关的单目图像提取的,以实施双向性约束。虽然这已被证明有助于网络关注相关特征,但单目相机的特征本质上是二维的。作者通过从两种不同的传感器模式(激光雷达和相机)强制执行约束来解决这个问题。与单模态方法相比,激光雷达减轻了相机特有的环境衰减(例如,微光或伪深度),反之亦然(例如,暗物体或稀疏性)。

另一方面,LCCNet依赖于输入图像完全不失真以及相机固有矩阵K足够精确的假设。例如,如果镜头未失真是不准确的,则激光雷达相机的外部预测可能会过度拟合到图像的中心区域。更重要的是,LCCNet需要多次推理才能为自动驾驶实现足够的准确性。通过CaLiCaNet,在损失函数中明确引入固有参数并通过权重共享实现激光雷达相机约束来缓解这个问题。

1) 预处理:确保输入一致:通过计算每帧上的SIFT描述符,并只通过具有特定关键点计数阈值的帧,来丢弃无特征图像(例如,由天空和乡村主导的帧,空旷的道路)。此外,还确保RGB图像和相应的激光雷达2D投影之间的交叠(IoU)≥0.5,这些措施旨在使网络在训练和推理过程中看到更一致的输入。

2) 网络架构:使用ResNet50作为特征提取器,并实现必要的全连接层,以生成输入之间的相关性。由于我们的目标是使用来自自然场景的单程推理,因此选择了更深层次的网络模块。相比之下,DSNet使用Inceptionv3,LCCNet使用ResNet18。由于车辆传感器的多样性,本文还旨在接受训练图像和点云的任意分辨率,因此,在完全连接层之前放置了一个自适应平均池化操作。

3)损失函数:网络使θ的回归标定值和标签θ的回归标定值之间的L2平滑损失最小化:

e545741fe245c1644a925306c961f2e5.png

评测

本文提出了两种评估策略:第一种是使用KITTI数据集进行评估,以在现实情况下检查性能,这是对论文方法的验证。第二种策略是消融研究,以更深入地研究端到端架构如何增强网络性能,这是对本文网络设计的验证。

1)实验设置

1) 数据集:为了评估标定精度,本文使用了KITTI数据集,其中使用了右侧单目相机拍摄的RGB图像。

2) 标签生成和训练:KITTI drive 的第一天(2011-09-26)用作训练标签,其余四天用于评估,通过将标签的值设置为GT 标定值θ0加上变量偏差(即标定错误)来生成标签。标签生成是指在日常驾驶过程中,由机械和环境因素引起的传感器物理变化到θlabel={f±100px,ξ±0.48,R±2.0°,t±0.2m}。根据θ0生成失真的图像和未对准的点云对。本文生成了大约120000个标签(θ标签、图像和点云),分为80:20的比例用于训练和验证数据集,Adam Optimizer的初始学习率为3×10−3,使用的批量大小为60,最大epoch为300。

3)评测指标使用RMSE:

3cf52bc96d389efd8137ad9081160e03.png

2)KITTI Drives

使用KITTI Drive进行的评估旨在显示CaLiCaNet在应用于不同驾驶场景时的准确性和稳健性。参考图3,在所有四天的驾驶中,平均误差低于0.028px,这表明本文的方法在重投影误差方面与经典的基于棋盘的内在标定相当。这种低误差的重要性可以在图2中直观地检查,当单独训练DSNet网络时,注意到与提出的端到端方法相比,误差增加了近20%(见图3中),此外,图2中的未失真结果2(左起第二幅图像)证实了误差的增加,在图像的边缘区域可以看到多达15个像素的差异,其中失真效应更为明显。

542eb33d5ff31502548647d8107c3aad.png

在外部标定中也可以发现类似的效果:端到端的方法可以实现更好的激光雷达相机对准。由于在线标定的预期用途,本文提出了一个约束条件,即推理必须在一次迭代中进行。在这种约束下,与单独训练LCCNet时相比,本文实现了明显更好的平均旋转精度(0.154°对0.203°)。

可以通过检查图中CaLiCaNet预测的统计波动来推断一些稳健性。在四天的驾驶中,在明显不同的风景(城市、校园、住宅和道路)下,最大内参和外参标定误差分别保持在0.028像素和0.4°/0.2m以下。对于外参误差,我们的异常值明显低于LCCNet的异常值,将其归因于通过权重共享实现的激光雷达相机测量约束。尽管如此,可以注意到2011-10-03年drive的准确性较低,并且由于驾驶主要由高速公路景观主导(即,需要提取的边缘和线形特征较少),因此分布更大。根据这一发现,作者认为,当自标定功能处于活动状态时,如果汽车在功能丰富的环境(如市中心)中行驶,这是有益的。总体而言,论文认为KITTI drives的评估结果适当地反映了CaLiCaNet对车辆传感器自标定的适用性。

3)消融实验

论文进行了消融研究,以评估端到端训练对激光雷达相机精度的影响。从本质上讲,这项研究试图确定pipeline的哪一部分是性能提高的原因,所使用的评估指标是验证终端loss。在第V-A节中使用了相同的设置,但改变了训练策略和相应的网络架构。首先,特征提取器不再共享权重,在实验I中,在训练网络之前冻结了RGB提取器的层。在实验II中,冻结了深度提取器的层。在实验III中,特征提取器的所有层都是可训练的,但权重共享没有被激活。最后,在实验IV中,最后,在实验IV中,进行了正常的端到端训练,并进行了Siamese训练,结果见表二!

很明显,端到端的训练可以降低整体损失。当在端到端和连体配置中训练时,外参参数回归器(尤其是减少21%的旋转)受益最大(见R损失和t损失)。然而观察到,当端到端训练时,固有标定损失(f损失和ξ-损失)似乎没有显著影响(损失减少不到1%),当权重共享被激活时,看到内参损失略有下降(3%),这可能表明特征提取网络不能正确地概括相机固有参数的相关特征。

本征标定网络的行为可能由KITTI棋盘记录的边缘覆盖不足来解释。图像远边缘区域的失真没有完全建模,可能导致次优基线标定θ0。此外,所使用的USM模型没有考虑切向和径向畸变,基于这项研究,可以了解到了标签生成策略的局限性,该策略在很大程度上依赖于良好的棋盘记录。对于实际应用和未来的工作,训练标签应基于足够覆盖的棋盘记录,并应考虑切向和失真模型。

7dd239238d7cb74de53d3af295d02877.png

(一)视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

de4299fc72ee95450c3989cc4e9b08f2.png

(扫码学习最新视频)

视频官网:www.zdjszx.com

(二)国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

de9b7caa4ec450f58def657ad603ab95.jpeg

(三)【自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

d0f33e1d5b1fe13045d8f0ec6a37304f.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值