点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【3D目标检测】技术交流群
后台回复【3D检测综述】获取最新基于点云/BEV/图像的3D检测综述!
![2fedad77f24e361bb6302ffe738104ca.png](https://i-blog.csdnimg.cn/blog_migrate/5c945b528490408db172fd5739c8cebe.png)
这项工作旨在解决使用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目标。
![ea26d3e21adb275e6959ab2af0a6d51e.png](https://i-blog.csdnimg.cn/blog_migrate/f0e081e6dbd5926b37d681b2cf032720.png)
在这项工作中,目标是设计一个单阶段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个激光雷达帧被手动标记,以根据真实数据微调检测器。
4、方法
本文设计了一个实时激光雷达的3D目标检测器(DASE-ProPillars),可以应用于现实场景来解决领域迁移问题。设计的DASE-ProPillars模型的体系结构如图所示。
4.1、Normalization
由于类的边界框在半合成数据集和A9数据集中不同,因此这些框被归一化为每个类的边界框的平均大小。由于手动标记的数据通常会导致边界框的长度、宽度和高度不正确,因此会使用合成标签的标准化边界框。
对于合成数据,可以直接从模拟中提取精确的尺寸。借助于标准化,可以改进各个类之间的区别,这对于“van”和“car”类是有用的。此外,在域自适应中使用归一化大小来将源域数据调整为目标域数据。
4.2、Voxelization
在将原始点云输入神经网络之前,将其分成垂直pillars。这些是不沿垂直轴分割的特殊体素。pillars比体素有几个优点。由于网格单元较少,基于pillars的主干比基于体素的主干更快。耗时的3D卷积中间层也被消除,取而代之的是2D卷积。
这里也不需要沿着z方向超参数手动调整容器大小。如果pillars包含的点比阈值中指定的点多,则使用最远点采样将这些点子采样到阈值。如果pillars包含的点少于阈值,则会用零填充以使尺寸一致。由于人烟稀少,大多数pillars都是空的。作者根据pillars中心的索引记录非空pillars的坐标。在特征提取期间不考虑空pillars,直到所有pillars被散射回用于2D卷积的伪图像。
4.3、Stacked Triple Attention
Stacked Triple Attention模块用于更健壮和有区别的特征表示。最初由Liu等人在TANet中引入的Stacked Triple Attention模块增强了对难以检测到的对象的学习,并更好地处理噪声点。该方法可以应用于体素和基于pillars的点云。
本模块中的注意力机制遵循Squeeze-and-Excitation模式。如果对具有形状(H×W×C)的输入张量应用通道注意力,则首先使用全局池化操作(最大池化)将张量池化为形状(1×1×C),称为Squeeze操作。然后,将两个完全连接(FC)层应用于压缩张量注意力得分,称为Excitation操作。在两个FC层之间,特征维度被降低,然后以形成瓶颈结构的降低比率被恢复。之后,应用Sigmoid函数来获得注意力得分。最后,将(1×1×C)张量逐元素相乘,以获得原始(H×W×C)特征。
模块的输入是(P×N×C)张量,其中P是非空pillars的数量,N是每个pillars中的最大点数,C是输入逐点特征的维数。首先,有一个9维(C=9)特征向量,其中,和是点的坐标,是强度,、和是pillars内所有点的算术平均值的距离,和是pillars距pillars中心的位置。Triple Attention(TA)模块使用点式、通道式和体素式注意力提取每个pillars内的特征。所有Triple Attention得分组合在一起形成最终的输出特征。
为了进一步利用多级特征注意力,将2个Triple Attention模块堆叠在一起,其结构类似于ResNet中的跳跃连接。第一个模块将原始点云9维特征作为输入,而第二个模块处理提取的高维特征。对于每个TA模块,输入与输出相连或相加,以融合更多特征信息。每个TA模块后面都有一个完全连接的层,以增加特征尺寸。在TA模块中,注意力机制只对特征进行重新加权,但不会增加特征的尺寸。
4.4、Pillar Feature Net
选择PointPillars作为基线,以牺牲推断时间为代价提高其3D检测性能。在没有TensorRT加速的情况下,PointPillars的推断速度为42 Hz。由于速度和准确度之间存在权衡,可以通过加入额外的模块来进一步提高准确度,而不会过分牺牲推理速度。
图1所示的Pillar Feature Net(PFN)将Pillar 作为输入,提取Pillar 特征,并将Pillar映射回伪图像,用于中间层的2D卷积操作。Pillar Feature Net充当Stacked Triple Attention模块的附加特征提取器。来自具有形状(P×N×C)的Stacked Triple Attention模块的逐Pillar组织特征被馈送到一组PFN层。每个PFN层都是简化的PointNet,它由线性层、Batch Norm、ReLU和最大池化组成。最大池化特征被连接回ReLU的输出,以保持每个Pillar内的逐点特征尺寸,直到最后一个FPN层。
最后一个FPN层进行最终最大池化,并输出一个(P×C)特征作为Pillar特征。然后将Pillar特征分散回原始柱位置,形成(C×H×W)伪图像,其中H和W是Pillar栅格的高度和宽度。这里空Pillar的位置用零填充。
4.5、Attentive Hierarchical Middle Layers
将PointPillars的默认主干与Attentive Hierarchical backbone交换,以对来自Pillar特征网的伪图像执行2D卷积。在第一阶段,伪图像的空间分辨率通过三组卷积逐渐下采样。每组包含三个卷积层,其中第一个层的步幅为2,用于下采样,随后的两个层仅用于特征提取。在下采样之后,应用反卷积操作来恢复空间分辨率。反卷积层(用星号标记)用stride=2恢复特征图的大小,并按元素将其添加到上分支。
剩余的三个反卷积层使所有三个分支具有相同的大小(原始特征图的一半)。然后,最后三个特征图通过add来组合,以融合空间和语义特征。注意力的添加使用了简单的注意力机制。所有三个特征图都经过卷积运算,并按通道连接为注意力得分。softmax函数生成注意力分布,特征图与相应的分布权重相乘。最后的逐元素相加给出了最终的注意力输出,即(C×H/2×W/2)特征图。
4.6、Multi-task Head
Multi-task Head输出最终类别(基于置信分数)、3D框位置(x,y,z)、尺寸(l,w,h)、旋转(θ)和检测到的目标的方向。对方向(前/后)进行分类,以解决正弦误差损失无法区分翻转框的问题。4个卷积层分别在特征图上操作。
4个头之一是IoU预测头,用于预测GT边界框和预测框之间的IoU。在CIA-SSD中引入了该方法,以处理预测边界框与相应分类置信图之间的偏差。未对准主要是因为这两个预测来自不同的卷积层。基于此IoU预测,使用置信函数(CF)来校正置信图,并使用距离变量IoU加权NMS(DI-NMS)模块对预测的边界框进行后处理。
距离变量IoU加权NMS旨在处理远距离预测,更好地将远边界框与GT对齐,并减少假阳性预测。如果预测的框接近透视原点,会给那些IoU高的框预测更高的权重。如果预测的框很远,会给出相对均匀的权重,以获得更平滑的最终框。
4.7、Data Augmentation
数据增强已被证明是一种有效的方法,可以更好地利用训练数据集并帮助模型更加通用。本文使用SE-SSD提出的形状感知数据增强方法。该模块简化了对同一类中目标的部分遮挡、稀疏性和不同形状的处理。一些传统的增强方法也在形状感知增强之前应用,例如旋转、翻转和缩放。
为了生成半合成数据,还采用了几种数据增强技术来增加点云的方差。因此,在每第二帧中,所有点的0-20%被丢弃,并且σ为0.2的高斯噪声被添加到所有点的20-40%。这些技术增加了点云的方差,并提供了更健壮和多样的数据。数据增强在领域自适应方法中起着重要作用,因为它被多种方法使用。
值得注意的是,目标域的点密度比源域的点浓度更重要。随后,裁剪和删除点,分别进行点云上采样是将源集的点数调整为目标集的重要步骤。源域数据集和目标域数据集的统计数据都是根据总点云的点数计算的,如果目标域数据有注释数据,则计算每个对象的平均点数。
然后,使用数据增强技术,将源域数据集与目标域数据集进行匹配。为了更好地说明这一效果,在第五节中应用了从合成A9数据集(源域)到Regensburg Next项目数据集(目标域)的域自适应。
4.8、Self-Ensembling Training Framework
此外,作者还引入了自融合训练框架来进行后期训练:首先训练没有自融合的模型,然后将预训练的模型作为教师模型来训练具有相同网络结构的学生模型。教师模型的预测可以用作软监督。结合来自实际情况的严格监督,可以为学生模型提供更多信息。学生模型和教师模型用相同的预训练参数初始化。训练学生模型的总体损失包括:
![f2dfca33355750ab60e04bb4779c4dce.png](https://i-blog.csdnimg.cn/blog_migrate/b00dc87c25ab36736d699a259fdc48b1.png)
其中,是box分类的Focal loss损失,是边界框回归的OD IoU损失,是方向分类的交叉熵损失,是一致性损失,即边界框损失和分类损失之和,ω、ω、和是损失的权重。
在后期训练期间,使用指数移动平均(EMA)策略基于学生模型的参数更新教师模型的参数。
5、实验
5.1、A9-Dataset
![13ea4ea1bf95bd9c825c2d94e5349ddd.png](https://i-blog.csdnimg.cn/blog_migrate/2b6958cefead8a06315dac56c5e676cc.png)
5.2、Regensburg Next Dataset
![79cccb935326b8be4ccaa31c72643754.png](https://i-blog.csdnimg.cn/blog_migrate/1394493c3f22f2e6df1e082b8101ef38.png)
6、参考
[1].Real-Time and Robust 3D Object Detection Within Road-Side LiDARs Using Domain Adaptation.
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;
添加汽车人助理微信邀请入群
备注:学校/公司+方向+昵称
自动驾驶之心【知识星球】
想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!