这项工作旨在解决使用LiDAR进行3D检测的领域自适应方面的挑战。作者设计了DASE-ProPillars模型,可以实时检测基于激光雷达中的车辆。DASE-ProPillars使用PointPillars作为基线模型,并添加了其他模块,以提高3D检测性能。
为了证明在DASE-ProPillars中提出的模块的有效性,作者在两个数据集上训练和评估模型,一个是开源A9数据集,另一个是在Regensburg Next项目中创建的半合成基础设施数据集。对DASE ProPillars检测器中的每个模块进行了几组实验,表明DASE-ProPillars在真实A9测试集和半合成A9测试集中优于SE ProPilars基线,同时保持了45 Hz(22 ms)的推理速度。
通过应用迁移学习,将半合成A9数据集的域自适应应用于Regensburg Next项目的半合成数据集,并实现3DmAP@0.25,目标测试集的Car类的得分为93.49%。
1、简介
高质量和平衡的数据对于在深度学习应用中实现高精度至关重要。创建安装在基础设施上的激光雷达的标记数据集是一项非常困难的任务。考虑到在LiDAR点云中为3D边界框手动标记的高人工成本,作者需要找到一种处理小数据集的解决方案。从驾驶员的角度记录和标记公开可用的激光雷达数据集,这使得很难将这些经过训练的检测器应用于基于基础设施的激光雷达。这项工作的重点在于域自适应领域,以解决域转移问题。
在一个领域(ODD)中训练的神经网络,例如A9数据集中的城市区域,如何适应稍微不同的领域,例如不同城市中具有不同激光雷达传感器和安装位置的交叉口?这个过程被称为迁移学习——在大数据集(源域)上训练模型,并在较小数据集(目标域)上微调模型。
另一个挑战是基于基础设施的LiDAR上的实时3D检测,即以足够高的帧速率检测目标以防止事故。这在很大程度上取决于激光雷达类型和每次扫描需要处理的点数。这项工作面临的最后一个挑战是对所有交通参与者进行稳健的3D检测。在不同的天气条件和罕见的交通情况下检测小物体和被遮挡物体是提高自动化车辆安全性的一个非常重要的研究领域。
第一个目标是创建具有足够标记点云帧的大型基础设施数据集。该数据集应在目标类方面保持平衡,并包含多种多样性,以便可以在不同场景和不同环境条件下检测目标。另一个目标是分析从更大的路侧LiDAR数据集(如最近发布的A9数据集)进行的迁移学习是否可以改善其他基础设施数据集上的模型性能。第一批发布的A9数据集包括459个手动标记的点云帧,并包含3104个标记的3D目标。
在这项工作中,目标是设计一个单阶段3D目标检测器,在一个域中训练它,并在不同的域中微调它。Providenti++项目的一个十字路口配备了五个激光雷达传感器(见图2)。目标是达到至少25Hz的推理率,这样每个点云帧的最大推理时间为40ms。
就准确性而言,目标是在测试集的Car类上实现至少90%的mAP。最后,设计的模型需要在推理时间和模型性能之间达成合理的权衡。最终目标是评估两个数据集上的模型性能和速度。
这项工作为单个LiDAR检测任务提供了域自适应解决方案。这项工作的主要贡献总结如下:
- 提出了一种基于PointPillars的单阶段激光雷达检测器。引入了5个扩展来改进PointPillars,并在A9数据集的测试集和Regensburg Next项目的数据集上评估设计模型的性能。
- 使用CARLA模拟器创建了一个名为proSynthSemi的半合成数据集,其中包含6k个标记的LiDAR点云帧,并在此基础上训练DASE-ProPillars模型。
- 实验表明,在A9测试集(Car类)上,DASE-ProPillars模型比SE ProPilars模型表现出30.56%的3D mAP提升,而推理速度保持在45 Hz(22 ms)。
- 执行从A9数据集到Regensburg Next项目数据集的迁移学习,并实现3DmAP@0.25使用40个召回位置,目标测试集的Car类的得分为93.49%。
2、相关工作
2.1、3D目标检测模型
根据特征表示的形式,仅LiDAR 3D检测器可以分为4个主要流派,即基于点的、基于体素的、基于距离视图的和基于多视图的方法。在基于点的方法中,特征通过采样子集或导出的虚拟点保持逐点特征的形式。
PointRCNN使用PointNet++主干从原始点云中提取逐点特征,并执行前景分割。然后,对于每个前景点,它生成一个3D建议,然后是点云ROI池和基于规范变换的边界框细化过程。基于点的方法通常需要处理大量的逐点特征,这导致了相对较低的推理速度。
为了加速基于点的方法,3DSSD引入了特征最远点采样(F-FPS),它计算采样的特征距离,而不是传统距离最远点抽样(D-FPS)中的欧几里德距离。3DSSD的推理速度与基于体素的方法相比具有竞争力。
SECOND建议使用稀疏卷积中间提取器,这大大加快了推理时间。
在PointPillars中,点云被划分为pillars(垂直柱),这些pillars是沿z方向没有分区的特殊体素。pillars的特征图可以被视为伪图像,因此昂贵的3D卷积被2D卷积代替。PointPillars借助TensorRT加速度实现最快速度。
SA-SSD向稀疏卷积中间层添加了可分离的辅助网络,以预测逐点前景分割和中心估计任务,这可以提供额外的点级监督。SA-SSD还提出了一种部分敏感warp(PS Warp)操作作为额外的检测头。它可以减轻预测边界框和分类置信度图之间的偏差,因为它们是由检测头中的两个不同卷积层生成的。
CIA-SSD还注意到未对准问题。它设计了一个IoU感知置信校正模块,使用检测头中的附加卷积层来进行IoU预测。预测的IoU值用于校正分类分数。通过只引入一个额外的卷积层,CIA-SSD比SA-SSD更轻。
SE-SSD提出了一个自我整合的后训练框架,在该框架中,预训练的教师模型生成预测,除了标签上的硬目标外,还可以作为软目标。这些预测与学生的IoU预测相匹配,并受到一致性损失的监督。软目标更接近学生模型的预测,因此可以帮助学生模型微调其预测。提出了方向感知距离IoU损失来替代后训练中边界框回归的传统smooth-L1损失,以提供新的监督信号。SE-SSD还设计了一个形状感知数据增强模块,以提高学生模型的泛化能力。
SE-SSD提出了一种单阶段方法,并采用了由教师和学生模型组成的单阶段检测架构。这两种型号共享与CIA-SSD架构相似的相同结构。教师模型基于原始点云进行预测,这些预测被转化为用于训练学生的“软目标”。学生模型基于特别增强的数据进行预测,并通过一致性损失以及新的方向感知距离IoU损失(ODIoU)对硬目标和软目标进行训练。此损失强调边界框的方向以及中心点的对齐。
SE-SSD作者还提出了一种新的形状感知数据增强方案,可以执行点的丢失、交换和稀疏。这种数据增强应用于学生模型所训练的点云数据。这样,通过使用教师和学生单阶段目标检测器,该框架可以显著提高检测器的精度,而不会在推断过程中产生额外的计算。同时,它还继承了单阶段方法的优点,即速度。
最近一种在3D检测中具有最先进性能的两阶段方法是Pyramid R-CNN,它专注于处理点云的稀疏性和非均匀分布。作者提出了一种新的第二阶段模块(称为 Pyramid RoI-head),该模块自适应地从稀疏感兴趣点提取特征。仅利用RoI内部的特征在2D检测模型中表现良好,主要有两个原因:首先,输入特征图是密集的,其次,收集的像素具有大的感受野。
然而,在3D模型中,感兴趣的点是稀疏的,并且不均匀地分布在RoI内。因此,当收集几个单独点的特征并且没有从邻居收集足够的信息时,准确推断目标的大小和类别变得困难。Pyramid RoI通过构建包含RoI内外的RoI网格点的金字塔网格结构有效地解决了这一问题,从而可以分别由RoI内外网格点捕获用于精确框细化的细粒度形状结构以及用于识别不完整目标的大上下文信息。
本文的作者在KITTI数据集和Waymo开放数据集上进行了实验表明,Pyramid R-CNN在这两个数据集上优于最先进的3D检测模型。在Waymo开放数据集上,Pyramid R-CNN模型实现了81.77%的L1 mAP,在WaymoVehicle detection排行榜上排名第二,超过了所有仅使用激光雷达的方法。
由于基于体素的3D检测器中的传统3D卷积主干不能有效地捕获广泛的上下文信息,因此提出了Voxel Transfomer(VoTr),通过引入用于点云3D检测的基于体素Transfomer主干来解决这一问题。它由一系列稀疏体素模块组成,这些模块可以在空位置提取特征,从而负责体素网格和子流形体素模块的下采样,这些模块严格地对非空体素执行 multi-head self-attention,以保持原始的3D结构,同时增加接受野。注意力机制分为两部分,称为局部注意力和扩张注意力。局部注意力方法专注于邻近区域以保留详细信息,并且通过逐渐增加搜索步长,扩展注意力仅通过几个关注的体素获得较大的注意力范围。VoTr可应用于单阶段和两阶段检测器,与相应模块的主干相比,KITTI测试集上关于AP的结果略有增加。
信号缺失、外部和自遮挡通常会导致无序点云的形状缺失。Behind the Curtain Detector(BtcDet)通过学习物体形状先验来处理这个问题,并估计包括部分遮挡点在内的完整物体形状。因此,将点填充到标记的边界框中,并使用恢复的形状缺失来改善检测结果。对于训练过程,使用相应对象的GT标签来近似完整的对象形状。对于汽车和骑自行车的人,目标点被镜像到边界框的中间截面平面上,启发式确定源目标B是否覆盖了目标对象的大部分部分。启发式还提供了可以填补目标对象形状缺失的点。
BtcDet
的检测管道构建如下:首先,在对点云进行球形体素化之后,必须识别遮挡和信号缺失的区域。然后,形状占用网络使用创建的训练目标来估计物体形状占用的概率,该训练目标由近似的完整物体形状组成。然后将提取的点云3D特征发送到区域提案网络以生成3D Proposals,该Proposals在最后一步即Proposals细化步骤中被细化。
2.2、Domain Adaptation
域自适应是一种转移学习,旨在将知识从源域转移到目标域,对于源域,有注释的数据可用,而对于目标域,没有注释的数据或只有较少注释的数据。半监督域自适应使用来自目标域的几个标记示例来学习目标模型,而无监督域自适应仅利用来自源域的标记数据,而没有任何注释的目标域数据。域自适应方法可以分为四种不同的方法,它们要么是数据驱动的,如域不变数据表示、域映射和归一化统计,要么是模型驱动的,例如域不变特征学习。通过使用这些域自适应方法,源域和目标域之间的差距应该得到缓解。
Wang等人提出了一种用于3D检测的数据集到数据集的半监督域自适应方法,并使用归一化统计域自适应方法为各国之间的3D检测自适应提供了基线。由于只考虑带注释的数据集,few-shot微调能够通过从目标域中选择10个标记的场景来提高精度,这些场景在训练期间添加到源域中。
由于汽车大小在几个国家/地区不同,源域的目标大小与目标域的目标尺寸不同。因此,修改已经训练的目标检测器,使得预测的框大小可以更好地匹配先前确定的目标统计。为了适应调整后的框大小,相应的标签被放大或缩小,并生成具有相关标签的新点云,其关注大小与目标域数据非常相似。这一步骤称为统计归一化。
ST3D提供了一个自训练管道,用于在目标域中没有注释数据可用的情况下,对点云的3D检测进行无监督域自适应。由于数据记录的地理位置等原因,不同数据集中的目标大小不同。为此,ST3D提出了利用随机对象缩放(ROS)策略对源域上的3D检测器进行预训练,以减轻源域偏差的负面影响。使用3D检测器,生成未标记目标数据的伪标签。
Quality-Aware Triplet Memory Bank(QTMB)模块将目标预测解析为伪标签,然而,对伪标签目标的负面影响会导致监控信息嘈杂和自训练的不稳定性。存储体更新伪标签,这些伪标签也用作后续模型训练的标签。Curriculum Data Augmentation(CDA)模块允许生成逐渐多样化的、潜在的困难示例,以改进模型。这使模型能够从具有挑战性的样本中学习,同时在训练过程中使示例更加困难。
3、数据生成
3.1、半合成数据生成
本文使用CARLA模拟器创建了一个具有6000个点云帧的半合成数据集(proSynthSemi),并在此基础上训练DASE-ProPillars模型。
图2显示了CARLA模拟器中生成交通的交叉口示例。模拟的激光雷达传感器代表具有64个通道和120米范围的真实Ouster OS1-64激光雷达传感器。在模拟中,使用标准偏差为0.1的噪声模型来干扰沿着其光线投射矢量的每个点。激光雷达每秒发射131万点,运行频率为10 Hz(每帧131000点)。提取的点云存储在.pcd(ASCII)文件中,而标签根据OpenLABEL标准存储在.json文件中。
为了获得更真实的点云,将提取模拟点云中的目标的点,并将其包含在真实Ouster OS1-64 LiDAR捕获的点云的背景中,该LiDAR不包含任何目标。在将模拟对象点插入到真实背景点集中之前,将剪切真实点云中的点,这些点位于模拟目标内部或地平面的点下方。由于模拟数据和实际数据的高度轮廓不一致,必须调整目标的z坐标,以便将对象放置在地平面上。
RANSAC算法可用于确定真实点云的地平面,从而计算相应的高度轮廓。随后,使用高斯噪声和落差点对背景点应用流水线,以获得点云中的更多方差。这有利于从模拟中获得更真实的点云和标记对象。
3.2、实际数据生成
第一步是记录路边激光雷达的点云数据。这些记录应涵盖各种不同的场景,例如交通堵塞、超车、变道、车道合并、尾门事件、事故等。
在下一步(数据选择)中,选择高度重要的场景。然后将点云转换为正确的格式(.pcd),并使用RANSAC算法移除地面。然后,使用名为proAnno的自定义三维点云标注工具对动态对象进行标注,该工具是开源三维边界框标注工具3D-BAT的扩展版本。50个激光雷达帧被手动标记,以根据真实数据微调检测器。