基于俯视角融合的多模态三维目标检测
2023-12-17钱多,殷俊
钱 多,殷 俊
(上海海事大学信息工程学院,上海,201306)
实现自动驾驶系统的必要条件是车辆能正确识别并检测三维环境中的各个目标,摄像机和激光雷达是目前三维目标检测领域中使用最多的两种传感器,分别生成图像数据和点云数据.对于单模态数据方法,由于图像缺少深度信息,难以获取与目标的距离,所以基于图像的方法通常将图像投影至俯视角平面[1],学习特征的深度信息[2]或检测关键点[3],但这类方法获取的深度信息受限于图像视野,对遮挡或阻隔的物体难以检测.由于点云能获取精准的深度信息,所以基于激光雷达的方法能在三维空间中提取特征,SECOND[4]将点云先处理成体素形式,并提出稀疏三维卷积减少内存使用.PointPillars[5]将点云信息投影至俯视图平面,形成伪二维图像.陆慧敏和杨朔[6]将体素全局特征和点云局部特征相结合.但这类方法受限于点云数据的分辨率,对远距离物体的识别较困难[7],而融合多模态数据能够很好地弥补两种数据的缺点,基于多模态融合的方法中的数据之间能够信息互补,补充单模态数据获取不到的信息[8].
1 三维目标检测相关工作
Frustum PointNet[9]和Frustum ConvNet[10]使用成熟的二维检测器生成二维候选框,再将该候选框转变为三维视锥框,最后对该三维框进行估计.该类方法非常依赖二维检测器的性能,当目标在图像视野内无法观察到,而点云视野能观察到时,该类方法即失效.MV3D(Multi-View 3D Object Detection Network )[11]首先将多视图融合应用到三维目标检测,将原始点云投影到俯视图和前视图,并提出三维区域建议网络在俯视图特征中计算候选区域,将候选区域与点云俯视图、点云前视图和图像特征进行整合,最后将三者深度融合.AVOD(Aggregate View Object Detection )[12]在前者的基础上舍弃MV3D 的前视图点云信息,使用特征金字塔(Feature Pyramid Networks,FPN)[13]来提高小物体的检测效果,但其总体性能低于纯雷达方法,因为将原始点云转化为俯视角图像时会丢失部分空间信息.BEV-Fusion[14]将点云特征直接按Z轴展平获取俯视角特征,同时对相机图像特征进行深度估计[2],将其投影到俯视角平面与点云俯视角特征拼接融合.MMF(Multi-Task Multi-Sensor Fusion for 3D Object Detection)[15]用图像信息增强雷达俯视角特征,融合多尺度图像特征,再将融合后的图像特征通过连续卷积层后与多尺度雷达俯视角特征融合,使图像和点云俯视角特征图之间有较准确的对应关系.CLOCs(Camera-LiDAR Object Candidates Fusion for 3D Object Detection)[16]与前几种深度融合方法不同,属于后期融合,利用检测框的语义一致性,将图像检测器检测到的二维框和点云检测器得到的三维框进行融合,其性能很大程度上依赖单模态检测器的检测性能.
上述研究在数据处理阶段将点云数据处理成俯视图形式,而图像数据仅用二维编码器提取特征[11-12,15],所以在融合阶段多模态特征之间没有很好的对应关系,融合操作反而降低了三维目标的检测效果.将点云数据处理成俯视角特征是目前最有效的方式,如果能将图像信息也处理至俯视角视图,则融合时多模态特征之间会有较强的对应关系,检测效果会更优秀.基于这种考虑,本文提出一种基于俯视角深度融合的多模态三维目标检测网络,主要贡献:(1)将不具备深度信息的图像信息转为俯视角,就能更好地利用跨模态信息;(2)在俯视图视角下选择较合理的深度特征来进行融合操作.
2 基于俯视角深度融合的多模态三维目标检测网络
基于俯视角深度融合的多模态三维目标检测网络的总体结构如图1 所示.该网络先将单模态数据用各自的特征提取网络提取特征,对于点云数据使用SECOND(Sparsely Embedded Convolutional Detection)[4]网络获取俯视角下的点云体素特征,对于图像数据使用ResNet[17]网络并引入FPN[13]获得多尺度图像特征,再通过图像稠密变换层转化为图像俯视角特征.在融合阶段,将处理后的图像俯视角特征与点云俯视角特征融合,最后交由三维区域建议网络执行三维目标检测.
图1 本文模型的网络架构Fig.1 The architecture of the proposed model
2.1 俯视图特征转变图像特征通过图像稠密变换层转变为俯视角特征,其转变流程如图2 所示.由于图像特征缺乏深度信息,网络需要大量的垂直信息来将特征映射到俯视图,但在水平方向上可以使用简单的相机几何体建立俯视图位置和图像位置之间的关系[1].二维检测器给出了图像特征(B×C×H×W),其中,B为批处理大小,C为图像通道维度,H为图像垂直维度,W为图像水平维度.将图像通道维度C和垂直维度H在图像水平维度W展平得到(C×H×W)的一维沿水平轴特征,将其通过一维卷积并重塑成尺寸为(C×Z×W)的张量,其中,Z为深度维度.由于相机透视原因,该张量为相机坐标系下的俯视角特征,在特征维度上二者相同,从H维度到Z维度的转变可以更好地理解重塑的特征.在融合阶段,将所得的俯视角特征用于增强点云特征,而不是直接用于三维目标检测.此外,在多模态方法中可以将相机坐标系中的特征与笛卡尔坐标系中的点云特征进行融合,无须将特征重新采样至同一坐标系[15],因为展平操作会消耗大量系统资源,在设置参数时必须谨慎考虑,尤其对于高分辨率的特征图,这种操作可能会导致内存不足.因此,在进行特征展平之前,可以通过卷积等方式来减少内存消耗,同时尽量减少特征的信息损失.
图2 俯视图的特征转变Fig.2 Feature transformation of Bird-Eye-View
2.2 多尺度2D 特征提取网络与点云数据相比,RGB 图像数据能获取更丰富的环境信息.为了在二维特征提取网络中获取不同尺寸、不同距离的特征,需要转化多个特征图并进行拼接.本文提出的网络模型选择ResNet50+FPN 为特征提取网络,将FPN 输出的多尺寸特征图转变为俯视角特征并进行拼接,如图3 所示,其中,P3,P4,P5,P6,P7 为FPN 使用的自顶向下及横向连接的策略,最终得到五个输出特征.
图3 多尺度2D 特征提取网络Fig.3 Multi-scale 2D feature extraction network
对于FPN 给出的多尺寸特征图,其转化得到的俯视角特征尺寸也不同.将多尺度特征通过图像稠密变换层转变为局部俯视角特征,该特征与三维检测网络输出特征仅有通道数不同,再将其按大小在水平维度依次拼接,获得全局图像俯视角特征.对于不同分辨率的特征图,其转变至俯视图的占比也不一样,俯视图占比与分辨率大小成正比,与FPN 下采样因子成反比,如下所示:
其中,Sk为FPN 下采样因子,k=0,1,2,3,4;Zk为第k个输出层对应的俯视图的距离(单位:m);xmax为点云空间x维度的最大值,实验中取70.4 m.多尺度特征对应的俯视图占比如表1 所示.
表1 多尺度特征在俯视图占比Table 1 Proportion of multi-scale features in Bird-Eye-View
2.3 多模态特征融合按照数据在处理过程中的不同阶段可将融合方式分三种:(1)早期融合,即在特征提取前将多传感器数据融合;(2)后期融合,即单模态数据单独检测,在决策阶段进行融合;(3)深度融合,即将中间特征融合[8].早期融合是最容易理解的一种融合方式,但在操作时需注意多模态数据之间的差异,如数据表示方式、稀疏度、数据间是否对齐和同步等,这些差异不一定能依靠网络解决,一般需要在数据处理阶段解决.后期融合,对于单模态数据可以选择比较成熟的检测器,多模态数据之间无须考虑同步或对齐问题,只需要在融合阶段校准或标记.深度融合是目前选择最多的融合方式,是在处理过程中结合特征,可以针对不同的网络需求选择融合操作.
本文提出的网络采用深度融合方法,将图像和点云的俯视角特征进行融合.对于图像数据,按2.1 和2.2 的方法获取图像全局俯视角特征;对于点云数据,采用SECOND[4]获取点云俯视角特征.SECOND 主要包括体素特征编码层、稀疏卷积中间层和三维区域建议网络.体素特征编码层对原始点云信息进行编码再转化为体素信息.与VoxelNet[18]的直接三维卷积不同,SECOND在稀疏卷积中间层使用多个稀疏卷积进行特征提取,并按Z轴将其压缩为俯视角特征图.将该俯视角特征图与图像俯视角特征图进行融合,对特征的融合操作分别采用拼接和元素平均,这两种方法都广泛用于多模态特征融合.基于图像的特征融合多数倾向元素相加[11-12],基于俯视角图像的特征融合更倾向于拼接[14].元素相加要求图像特征和点云特征尺寸完全相同,其作用相当于用图像信息加强点云信息,融合后的特征仍然可以看作是点云特征,进行后续的分类和回归.拼接方法在尺寸方面可以有一个维度不同,通常为通道维度并按该维度拼接,融合后的特征不能看作点云特征,需要再通过卷积提取特征后继续后续操作.融合后的特征交由SECOND 中的三维区域建议网络执行分类和三维框回归,与Faster-RCNN[19]中的区域建议网络相似,该网络主要用于在主干网络提取的特征中生成边界框.
2.4 网络细节特征提取阶段,三维检测网络输出特征的尺寸为[512,200,176],FPN 输出多尺度特征通道数为256.在图像俯视角特征转变阶段,为了减少显存资源的消耗,将各尺寸特征通过卷积核为1×1 的二维卷积,使其维度下降至96 维并用组归一化.对于卷积后的张量,将通道维度和垂直维度展平,通过卷积核为3 的一维卷积,其输入通道为通道数和垂直维度相乘,输出维度为通道数与特征在俯视图占比,再将特征重塑至俯视角平面并将多尺度特征拼接为[256,200,176].与三维检测网络输出特征仅有通道数不同,在融合阶段,对于拼接操作,二者按照通道维度拼接得到[768,200,176]的特征,通过3×3 卷积核采样至[512,200,176];对于元素相加方法,将图像俯视角特征通过3×3 反卷积至512 维并按元素融合,最后也同样得到尺寸为[512,200,176]的特征.
3 三维目标检测实验
本节介绍实验的设置和结果,包括在KITTI数据集上对2D,3D 和俯视图(Bird-Eye-View,BEV)的目标检测,检测了车辆、行人和骑行人三类的3D 检测性能,并对车辆类进一步检测其2D和BEV 效果.实验结果证明,本文提出的网络优于其他流行的多模态三维目标检测算法.
3.1 数据集KITTI 数据集[20]包含激光点云数据和相机图像数据,包括7481 个训练样本和7518个测试样本,根据目标大小、遮挡程度和截断将标签分为三个难度(简单,中等,困难).
使用两个评价指标.通过精确-召回曲线计算得到的平均精度(Average Precision,AP)是一个综合指标,可衡量检测算法在不同置信度水平下的准确度.IoU(Intersection over Union)反映预测模型和现有模型的相似性,被广泛用来评估目标识别技术的准确性.对车辆的2D,3D 和BEV 评估,IoU的阈值为0.7;对行人和骑行人的3D 检测,IoU的阈值为0.5.
3.2 实验设置检测车辆前方70.4 m、左右40 m 内的物体,与点云的获取范围相同.设置点云体素大小为[0.05 m,0.05 m,0.1 m],点云体素化后将其输入三维检测网络,每个体素取五个点云的均值作为该体素的值,并取前16000 个体素作为卷积中间层的输入.将图像信息随机重塑为(640×192)或(2560×768).在单张P100(16 GB)显卡上部署实验,测试检测网络,设置批处理大小为1.网络共训练40 个循环,选用Adam 优化器并设置其网络初始学习率为0.0001,该学习率按循环数衰减.
3.3 实验结果与分析将本文提出的网络与流行的多模态方法进行比较,车辆3D 检测结果如表2 所示,BEV 检测结果如表3 所示,2D 检测结果如表4 所示,表中黑体字表示结果最优.
表3 KITTI 车辆BEV 检测结果的平均精度Table 3 Average Precision of BEV vehicle detection results on KITTI dataset
表4 KITTI 车辆2D 检测结果的平均精度Table 4 Average Precision of 2D vehicle detection results on KITTI dataset
本文提出的网络在车辆3D 检测任务中表现出微弱优势,虽然在困难子集中的表现显著优于先进的MMF 网络,但在中等子集中表现较差,可能是因为中等子集中的样本被部分遮挡,导致各模态俯视图的特征图存在歧义.具体地,在点云俯视图特征图中能认知到车辆,而在图像俯视图特征图中由于视野有限,无法完整认知到车辆,二者融合后导致最终的检测框有偏移,使IoU降低.对于困难子集,由于样本大部分被遮挡,所以在图像俯视图特征图中几乎不会认知到该样本,而在点云俯视图特征图中能被认知,最终检测框没有发生偏移,因此在该子集中表现领先.与基准的SECOND 网络相比,拼接方法在简单子集中的检测效果提升2.98%,在困难子集中提升3.70%.在车辆BEV 检测中,本文提出的方法存在较明显的优势,在简单子集中领先2.43%,在困难子集中领先3.91%,在中等子集中略微落后,原因与3D 检测中落后的原因一致.与SECOND 网络相比,在简单子集中的检测效果相差不大,但在困难子集中提升2.62%.在车辆2D 检测任务中,本文提出的方法在简单子集中领先约4%,在其他子集中表现相差不大.对于特征融合方法的选择,探讨拼接和元素相加两种方法,实验结果显示差别不明显,总体上拼接略优于元素相加.拼接方法在拼接后对特征作卷积提取特征,而元素相加方法对点云数据的增强没有进一步提取特征,这可能是元素相加方法略逊的原因.
对行人和骑行人做3D 检测,结果如表5 和表6 所示,表中黑体字表示结果最优.对于行人,本文提出的网络在简单子集中略微落后,但在中等和困难子集中领先2.11%和2.02%,原因是在点云特征转变为俯视角特征时,行人在点云俯视角特征图中仅占1~2 个体素,而融合图像俯视角特征能提高对行人的检测能力.骑行人的检测结果比其他方法大幅落后,可能因为在识别行人和骑行人这两类小目标时,小目标在点云数据中较稀疏,其检测能力依赖二维目标检测,而在二维检测中图像没有被正确识别,融合特征的效果不佳.
表5 KITTI 行人3D 检测结果的平均精度Table 5 Average Precision of 3D pedestrian detection results on KITTI dataset
表6 KITTI 骑行人3D 检测结果的平均精度Table 6 Average Precision of 3D cyclist detection results on KITTI dataset
对检测结果作可视化分析,图4 展示了两个样本的最终检测结果,图中蓝色框为预测框,橙色框为真实框,每个样本的上一张图为三维检测框在二维图像中的投影,下一张图为三维检测框在点云视图中的检测情况.如图4a 所示,本文提出的网络对近距离和中距离目标的检测效果较好,真实框和预测框在很大程度上重合,但对远距离目标的检测效果较差,没能检测到远距离的轿车.原因可能是图像信息对远距离目标经过特征提取后只有1~2 个像素,点云信息在俯视图中仅有不到5 个体素,二者融合不能增强点云信息,也不能给点云作引导参考.图4b 中,本文提出的网络对近距离和中距离目标的检测果较好,图4b 中左下角车辆目标被大部分截断,也能正确识别.
图4 三维目标检测结果的可视化Fig.4 Visualization of 3D object detection results
4 结论
本文提出一种基于俯视角融合的多模态三维目标检测网络,充分利用多模态数据,将图像信息和点云信息转变为俯视角特征并融合,使二者有更深层次的联系,并利用多模态数据之间的信息互补来补充单模态数据获取不到的信息.对融合方法的选择,比较了元素相加和特征拼接两种方法,证明特征拼接方法对俯视角特征融合能得到更好的结果.在KITTI 数据集上的实验结果表明,本文提出的网络的车辆和行人检测效果优于其他流行的三维目标检测网络.
将多尺度图像特征转变为俯视角特征的方法仍然存在数据处理时间较长和小目标检测效果不佳的问题,需要进一步调整网络来改进.此外,数据处理方面可以使用不同的图像和点云特征提取方式,如原始点云或点柱方法;在俯视图转变方面,需要减少特征转变的时间,如减少卷积和反卷积次数;在融合方式方面,可以尝试多种方法,如元素加权平均和深度多次融合等.