点击上方“3D视觉车间,选择星标
第一时间送达干货
巫婆塔里的工程师
来源丨汽车电子与软件
自动驾驶驾驶感知技术的传感器主要包括摄像头、激光雷达和毫米波雷达。这些传感器各有优缺点,相互补充。因此,如何有效地整合多传感器数据自然成为感知算法研究的热点之一。
摄像头产生的数据是2D图像对物体的形状和类别具有较高的感知精度。深度学习技术的成功起源于计算机视觉任务,许多成功算法也是基于图像数据的处理,因此基于图像的感知技术相对成熟。图像数据的缺点是受外界光照条件影响较大,难以适用于所有天气条件。对于单目系统来说,也很难获取场景和物体的深度(距离)信息。双目系统可以解决深度信息获取的问题,但计算量很大。激光雷达在一定程度上弥补了相机的缺点,能够准确感知物体的距离,但限制在于成本高,难以满足车辆规则的要求,难以批量生产。同时,激光雷达产生的3D点云稀疏(比如垂直扫描线只有64或128)。对于远距离物体或小物体,反射点的数量将非常少。
如下图所示,。,图像数据是透视投影在现实世界中获得的二维表示,而三维点云包含了欧洲坐标系中的三维信息,可以投影到各种视图中。,图像数据规则、有序、密集,点云数据不规则、无序、稀疏。在空间分辨率方面,图像数据也远高于点云数据。
自动驾驶感知系统有两个典型的任务:物体检测和语义分割。深度学习技术的兴起首先来自视觉领域。基于图像数据的物体检测和语义分割得到了广泛而充分的研究,有许多非常全面的综述文章,这里不再重复。另一方面,随着车载激光雷达的不断普及和一些大型数据库的发布,点云数据处理的研究近年来发展迅速。本专栏前两篇文章分别介绍了云物体检测和语义分割的发展,感兴趣的朋友可以参考。
。在决策层集成中,图像和点云分别得到物体检测结果(BoundingBox),在合并之前,将其转换为统一坐标系。这种策略大多使用传统的方法,如IoU计算、卡尔曼滤波器等,与深度学习无关,本文不介绍。以下是后两种集成策略。
这种策略的主要思路是将。如果使用图像数据,则生成2D如果候选框使用点云数据,则生成3D候选框。(生成候选框的数据也可以重复使用)。这种组合的过程是将候选框和数据统一到相同的坐标系下,可以是3D点云坐标(例如F-PointNet),也可以是2D图像坐标(比如IPOD)。
。每个2D候选框在3D空间对应一个视椎体(Frustum),并将落入视椎体的所有点合并为候选框的特征。视觉椎体中的点可能来自前景物体或背景物体,因此需要3D实例分割去除这些干扰,只保留物体上的点,用于后续物体框估计(类似PointNet中等处理)。这种基于视觉椎体的方法的缺点是,每个视觉椎体只能处理一个需要检测的物体,这不能满足拥挤场景和小目标(如行人)的要求。
针对上述视椎问题,。首先,通过将图像上的语义分割结果用于去除点云中的背景点来完成的。接下来,在每个前景点生成候选物体框,并使用它NMS删除重叠候选框,最后每帧点云保留约500个候选框。同时,PointNet 网格用于提取点特征。有了候选框和点特征,最后一步是小规模的PointNet 预测类别和准确的物体框(当然也可以在这里使用其他网络,比如MLP)。IPOD在语义分割的基础上,生成了厚厚的候选物体框,因此在含有大量物体和相互遮挡的场景中效果更好。
以上两种方法分别通过2D生成图像上的物体检测和语义分割结果,然后只对点云数据进行后续处理。,用于进一步提高物体框预测的质量,以增强视椎体包含的信息量。
近年来,随着3D快速发展的物体检测技术,。是基于3D候选框的代表性工作。。然后,把这三个D候选框映射到点云的前视图和图像视图,并整合相应的特征。特征集成是基于候选框,并通过ROI pooling来完成的。
思路也在3D图像和点云特征在候选框的基础上融合。(间隔0.5米,大小为每个物体类别的平均值)。点云数据用于辅助清空候选框,使每帧数据最终产生8万至10万个候选框。在进一步筛选这些候选框后,它们作为最终候选人被送到第二阶段的探测器。。
决策 特征层融合的特点是以物体候选框为中心,融合过程中一般采用ROI pooling(如双线插值),这种操作会导致空间细节特征的丢失。例如,将点云映射到图像空间,作为具有深度信息的额外通道和图像RGB合并通道。这个想法简单直接,2D物体检测效果很好。但是融合过程丢失了很多3D因此,空间信息为3D物体检测效果不好。D物体检测领域的快速发展,。
对于BEV上一个像素(网格),首先在点云数据中找到K最相邻的点,然后将这3D为了获得每个点的图像特征,空间中的点映射到图像空间中。同时,每个点的几何特征是相应的BEV像素的XY偏移量。将图像特征与几何特征结合为点特征,然后按照连续卷积的做法进行加权求和(权重取决于XY以获得相应的偏移量)BEV像素处的特征值。对BEV类似处理的每个像素都得到了一个BEV特征图。这样,图像特征就完成了BEV视图转换后,与点云方便BEV融合特征。ContFuse上述特征在多个空间分辨率下融合,以提高不同大小物体的检测能力。
把点云投影到图像语义分割的结果中,这与IPOD类似的做法。这样做的好处是,集成的数据仍然是点云(但语义信息更丰富),可以使用任何点云物体检测网络进行处理,如PointRCNN,VoxelNet,PointPillar等等。
PointPainting附加给点云的是2D图像的语义信息是高度抽象的信息,而原始图像特征被丢弃。从融合的角度来看,底层特征的融合可以更大程度地保留信息,理论上更有可能利用不同特征之间的互补性来提高融合效果。利用一个训练好的2D卷积网络提取图像特征,然后通过点云和图像之间的映射关系将图像特征附加到每个点。然后使用VoxelNet来处理融合后的点特征。除了这种点融合策略,MVX-Net还提出了在voxel层次融合的主要区别在于将voxl而不是point投影到图像空间,因此图像特征是被附加在voxel之上。从实验结果来看,point融合比voxel融合结果略好,这也进一步说明了较低的融合层次可能会带来更好的效果。
比如说,ContFuse在BEV网格上融合了图像和点云特征,这个特征就可以用来进行网格级别的语义分割,而PointPainting将图像特征附加到点云上,后续可以采用任何基于点云语义分割的算法来对每个点进行语义分类,甚至也可以进行实例分割和全景分割。
这里我们来总结和定量的对比一下前面介绍的各种融合方法。准确度指标采用采用KITTI数据库上3D车辆检测中等难度的AP(70% IoU),速度指标采用FPS(运行的硬件不同,因此不具备完全的可比性)。下表中融合方法一栏中的D+F表示决策+特征层融合,之后的2D/3D表示是在2D图像还是3D点云上提取物体候选框。F表示特征层融合,之后的BEV和Point表示融合的位置。总体来说,特征层融合的效果较好,基于Point的融合也优于基于BEV的融合。
算法 | 融合方法 | 准确度(AP) | 速度(FPS) |
---|---|---|---|
F-PointNet | D+F, 2D | 69.79 | 5.9 |
IPOD | D+F, 2D | 72.57 | 5.0 |
SIFRNet | D+F, 2D | 72.05 | - |
MV3D | D+F, 3D | 63.63 | 2.8 |
AVOD | D+F, 2D+3D | 71.76 | 12.5 |
ContFuse | F, BEV | 68.78 | 16.7 |
PointPainting | F, Point | 71.70 | 2.5 |
MVX-Net | F, Point | 77.43 | - |
作为对比,只基于点云数据的VoxelNet其AP为64.17,MVX-Net将图像特征附加到点云上之后再采用VoxelNet就可以将AP提升到77.43,提升的幅度还是非常可观的。PointPainting中的对比实验也展示了类似的提升。下图是分别在KITTI和NuScenes上进行的对比实验。PointPillar,VoxelNet,和PointRCNN这三个点云物体检测的常用方法在结合了图像特征后都有了很大幅度的提升。尤其是对于行人和骑车的人这两个类来说,提升的幅度更大,这也证明了分辨率较高的图像特征对小目标的检测有很大的帮助。
参考文献
[1] Cui et.al., Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Review, 2020.[2] Qi et.al., Frustum Pointnets for 3d Object Detection from RGB-D Data, 2018.[3] Yang et.al., IPOD: Intensive Point-based Object Detector for Point Cloud, 2018.[4] Zhao et.al., 3D Object Detection Using Scale Invariant and Feature Re-weighting Networks, 2019.[5] Chen et.al., Multi-View 3D Object Detection Network for Autonomous Driving, 2016.[6] Ku et.al., Joint 3D Proposal Generation and Object Detection from View Aggregation, 2017.[7] Liang et.al., Deep Continuous Fusion for Multi-Sensor 3D Object Detection, 2018.[8] Vora et.al., PointPainting: Sequential Fusion for 3D Object Detection, 2019.[9] Sindagi et.al., MVX-Net: Multimodal VoxelNet for 3D Object Detection, 2019.
本文仅做学术分享,如有侵权,请联系删文。
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进4.国内首个面向工业级实战的点云处理课程5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
扫码添加小助手微信,可
也可申请加入我们的细分方向交流群,目前主要有、、、、、等微信群。
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题