来源:韦心雕龙
导读
这几天懒,真的没有时间更新(更新频率越来越低)。在这里,一篇去年的总结开始中断学习之旅《Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Review》。包括深度估计、目标检测、语义分割、目标分割、传感器在线校准等应用。下图是基于图像和点云集成的感知任务及其相关部分的一揽子表。
卷积神经网络(CNNs)现在(2020年,因为2021年VIT大火)对图像理解和处理的最有效的模型之一。与MLP相比,CNN具有平移不变性,权重和层次模式较少(卷积层,BN层、relu层、pooling层),可抽象层次和学习能力完成图像特征的提取和高级语义的学习。
点云的方法有很多种,比如
即将点云根据固定分辨率形成三维网格,学习每个网格的特点;该方法可以很容易地获得网格的内部结构,但在体素化过程中失去了空间分辨率和细粒度的三维几何形状;
点云分为一系列不平衡树,可根据区域点密度进行分区,分辨率低,减少不必要的内存和计算资源;
这种方法更容易理解,即根据不同的视图将点云投影成深度图,然后使用CNN检测图像;
这是将点云表示为图,在空间或光谱域实现卷积操作。(这个,不容易评价)
这种直接适用点云,而不是将其转换为中间数据。这也是点云深度学习最流行的方式。如点网方法(PointNet,PointNet ,RandLA-Net等),点卷积是直接表示点之间的空间关系,其目的是将标准的二维离散卷积推广到三维连续空间,即用连续权重函数代替离散权重函数,如PointConv、KPConv等。
所谓深度估计,就是通过样方法生成稀疏的点云,以便于后续感知模块的应用,也可以改善激光雷达扫描得到点云的不均匀分布。直接给出最近的深度估计发展过程和相关方法:
无论采用哪种方法,其核心都是图像RGB3.信息和点云D几何信息的结合使图像RGB信息包含相关3D几何信息。因此,图像可以作为深度采样的参考信息。从上述方法可以看出,它包含Mono-Lidar融合方法和Stereo-Lidar融合方法。
信号级是将点云深度图与图像结合形成RGBD图像,然后将RGBD将图像发送到网络中。这种适应网络有很多种,比如Sparse-to-dense(基于ResNet自动编码网络,但真值难以获得),Self-supervised sparse-to-dense(Sparse-to-dense但只对静止物体有效,输出深度模糊),CSPN(卷积空间网络,与图像相关的可直接提取affinity 矩阵)、 CSPN (CSPN卷积核大小可动态调整)。
特征级融合是将稀疏深度图和点云分别送入网络,完成特征提取,如:《Depth completion and semantic segmentation》(即图像和稀疏深度图先由图像和稀疏深度图NASNet编码处理,然后融入共享解码器,获得良好的深度效果)、Plug-and-Play(利用Pnp计算梯度,从稀疏深度图中更新现有深度图信息《Confidence propagation through cnns for guided sparse depth regression》(并行处理图像和稀疏深度映射,并归一化卷积处理高度稀疏的深度和信心),《Self-supervised model adaptation for multimodal semantic segmentation》(将前面提到的单节段扩展到网络不同深度的多阶段)、GuideNet(将图像特征与不同层次的稀疏深度特征融为一体,缺乏有效的gt)。
多层次融合就是把前两个融合起来。Sparse and noisy lidar completion with rgb guidance and uncertainty》(对RGBD同时处理数据和深度数据,然后根据置信图集成)。
相对于这种方法Mono,如《“High-precision depth estimation using uncalibrated lidar and stereo fusion》(两阶段CNN,第一阶段使用激光雷达Stereo融合视差将在第二阶段获得视差RGB在特征空间中集成图像,以预测最终的高精度视差,然后进行三维重建),《Noise-aware unsupervised deep lidar-stereo fusion》(不需要gt,端到端训练直接适用于图像和点云本身的损失,优点是不太注意点云和图像之间的对齐信息),类似的《Listereo: Generate dense depth maps from lidar and stereo imagery 》,但不管怎样,因为stereo本身的局限性(基线、遮挡、纹理等)。),所以不考虑在自动驾驶中使用。
目标检测(3D)目标是在三维空间中定位、分类和估计方向的边界框。自动驾驶动态目标测试包括常见的动态道路对象(汽车、行人、骑自行车人等),预测阶段和三维边界框是基于序列的模型(bbox)回归阶段的组成。在预测阶段,提出可能包含感兴趣对象的区域。在bbox这些建议是基于从三维几何中提取的区域特征进行分类的。然而,序列融合的性能受到各个阶段的限制。另一方面,一步模型由二维和三维数据并行组成。下面两张图给出了3D检测网络时间线和经典网络架构图。
下面两张表给出了KITTI上3D对比结果及动态检测模型。
所谓基于2D序列模型是图片的第一个2D检测/分割,生成ROI区域,然后将ROI投影到3D在空间中(将图像上的边界框投影到点云上,形成三维ROI空间;将点云投影到图像平面上,形成点向2D语义点云)。
就是将2D的ROI限制点云的搜索空间,可显著减少计算量,提高运行时间。如FPointNes《Frustum pointnets for 3d object detection from rgb-d data》(图像生成2D边界框投影3D空间中,然后将投影输入PointNet中进行3D检测)、《A general pipeline for 3d detection of vehicles》过滤掉基于模型拟合的不必要的背景点,然后将过滤点送到网络回归),RoarNet(利用《3d bounding box estimation using deep learning and geometry》将每个2Dbbox生成多个3D然后使用圆柱PointNet的head处理,最后细化)。
最直观的就是将点云投影到图像上,然后利用图像处理方法进行特征提取,但输出也是图像级,对于3D空间的定位不是很准确。如DepthRCNN就是一种基于RCNN的二维对象检测、实例和语义分割架构。《Cross modal distillation for supervision transfer》则是在图像数据和深度图像之间做迁移,当然还有其他,这一块后续会专门介绍。
这个其实是结果级融合与特征级融合的结合,主要工作可以归结为点融合(Pointfusion),点融合首先利用现有的2D检测模型生成2D bbox,然后用于通过向图像平面的投影点来定位通过方框的点,最后采用一个ResNet和一个PointNet结合的网络将点云与图像特征结合来估计3D目标。类似的方案还很多,如SIFRNet、Pointsift。
略(个人对这一块很感兴趣,会专门对提到的文章进行阅读,见谅)。
静止物体检测,其实对在线校准起到很大的作用。固定的道路物体包括路面、道路标记、交通标识牌等。
道路/车道检测,有很多方法,可以分为基于BEV的方法或者基于前视图的方法。《Deep multi-sensor lane detection》利用CNN从点云中预测密集的BEV高度估计,然后与BEV图像融合,以进行精确的车道检测,但这种方法无法区分不同的车道类型。类似的还有《A novel approach for detecting road based on two-stream fusion fully convolutional network》。另外还有一种多阶段融合策略(MSRF)方法, 结合了不同网络层次的图像深度特征,显著提高了其性能,但也增加了计算成本。《Early fusion of camera and lidar for robust road detection based on u-net fcn》使用信号级融合生成一个融合的BEV特征,并基于UNet来进行道路分割,但这种方法容易导致密集纹理信息的丢失。
基于前视图的方法主要讲激光雷达深度投影到前视图平面上,以提取路面,这类方法在3D投影2D时存在精度损失,方法有:《Lidarcamera fusion for road detection using fully convolutional neural networks》、《Progressive lidar adaptation for road detection》、《Fast road detection by cnn-based camera-lidar fusion and spherical coordinate transformation》。
交通标志牌检测,这种方法太多了,而图像则可以很好的对其进行分类,所以都是讲相机与点云进行结合,即利用了图像的纹理信息,也利用了标识牌对点云的高反射特性,形成一个带有色彩的点云。
前面已经有了基于检测的融合方法,这里还有基于分割的融合方法,旨在预测每个像素与每个点的类标签。
2D语义分割方法有很多种,大多是将点云深度图和图像进行特征提取,然后利用图像与深度的2D语义分割和深度完成,如《Sparse and dense data with cnns : Depth completion and semantic segmentation》。当然也有不同的方法进行特征提取和融合,如《Self-supervised model adaptation for multi modal semantic segmentation》采用了不同深度的多阶段特征级融合,以促进语义分割。《Lidarcamera fusion for road detection using fully convolutional neural networks》则是利用上采样的深度图像和图像进行2D语义分割。《Pedestrian detection combining rgb and dense lidar data》则是对rgb和稠密点云进行上采样并分别进行CNN特征提取,在最终的卷积层融合两个特征图。
3D语义分割,根据对点云的处理方法,可以分为不同的方法,如:
基于点云体素的3DMV(从多个对齐的图像中提取2D特征,然后投影到3D空间内,并与3D几何图像融合,并最终输入到3DCNN中进行语义预测),为了减轻点云体素化引起的问题,还有UPF(该方法利用语义分割网络提取渲染的多视图图像的特征,并投影到三维空间进行点特征融合,其中点云由两个基于PointNet++的编码器进行处理,提取局部和全局特征,然后进行点的语义标签预测)、MVPNet(可以理解为融合了多视图图像语义和三维几何图形来预测每点的语义标签)等。
SPLATNet是一种多模态数据融合的方法,主要采用稀疏双边卷积来实现空间感知表示学习和多模态(图像和点云)推理。(个人觉得这篇文章的思路比较独特,后面会专门解读)。
实例分割本质上是语义分割和目标检测的联合。用于区分类中的单个实例来扩展语义分割任务。实例分割包括Proposal-based和Proposal-free-based两种。
Proposal-based包括3D-SIS(基于ENet对多视图提取特征,和下采样,实现解决高分辨率图像特征与低分辨率像素化点云特征图不匹配问题的RGB-D体素实例分割的3DCNN网络)和Panoptic-fusion(以RGB和深度图作为输入,然后通过关联和积分方法跟踪帧之间的标签,并适用CRF来进行深度和语义分割,但这种方法不适合动态场景)。
Proposal-free-based代表性的为3DBEVIS,该方法主要是适用2D语义信息点在聚类方法上联合执行3D语义和实例分割任务。具体如下图:
谈到融合,不得不提跟踪,而目标跟踪,是基于历史帧数据信息对目标障碍物的长期监测。在实际应用中,MOT是很常见的场景,而MOT算法又可以分为基于检测的跟踪(DBT)和不基于检测的跟踪(DFT)。
这种类型的算法也是目前最流行,最容易出成果的。主要包括两部分:检测目标,将目标进行关联。比较常用的方法包括《End-to-end learning of multi-sensor 3d tracking by detection》(该方法同时检测图像和点云,然后通过深度结构化模型DSM对连续帧的目标进行匹配和优化),《Robust multi-modality multi-object tracking》(该方法包括检测、相邻帧估计以及在线优化等,在检测阶段使用VGG16和PointNet进行图像和点云的特征提取,然后使用(A模型+多模态)鲁棒融合模块进行融合,然后通过adjacent matrix learning 将adjacency estimation扩展到多模态,并求min-cost flow,从而计算出一个最优的路径。
另外,跟踪和三维重建也可以同时进行。《Track to reconstruct and reconstruct to track》就是这么一种方法,其利用三维重建来进行跟踪,使跟踪对遮挡有很好的鲁棒性。当然,MOTSFusion也可以将lidar、mono和stereo depth进行融合。
主要是基于 finite-setstatistics(FISST,这个在NLP或者情感分析中用的比较多)进行状态估计,常见的方法包括多目标多伯努利(MeMBer)滤波器和概率假设密度(PHD)滤波器。比较经典的如Complexer-yolo就是将图像和点云数据进行解耦,然后进行3D检测和跟踪的实时框架,该方法采用了尺度-旋转-转换分数(SRTS)的度量来取代IOU,并评估bbox位置的3个自由度。当然,该方法最终通过带有标记的伯努利随机有限集滤波器(LMBRFS)来实现推理过程。
所谓的在线cross-sensor calibration,由于机械本身的振动,传感器之间的外参不断地变化,这会导致融合算法的性能和可靠性。所以online cross-sensor calibration的意义重大。
经典的在线校正,更多的是利用自然环境进行校准。如《Cross-calibration of push-broom 2d lidars and cameras in natural scenes》、《Automatic calibration of lidar and camera images using normalized mutual information》、《Automatic extrinsic calibration of vision and lidar by maximizing mutual information》、《Hybrid online mobile laser scanner calibration through image alignment by mutual information》是基于最大化不同模式之间的相互信息(原始强度值或边缘强度)发现外在的信息,但基于Mi的方法对纹理变化、传感器抖动不是很友好。而《Visual odometry driven online calibration for monocular lidar-camera systems》采用相机的自身运动估计来评估相机与激光雷达的外参,这话方法计算量较大,无法实时运行。
基于DL的在线校准,主要是为了解决传统方法实时性不好的情况,RegNet就是一个实时的用于估计外参的网络,它是在两个平行分支中提取图像和深度特征,然后将它们连接起来生成融合特征图,然后将该特征图送入到一个NiN加2个FC的网络中,进行特征匹配和全局回归。但RegNet对传感器的固有参数敏感,如果内参发生了变化,就需要重新训练。为了是模型对传感器不内参不敏感,Calibnet采用几何自监督的方法,将点云与单目图像以及相机外参矩阵K输入到网络中,然后实现3D点云与2D图像之间6自由度刚体转换,有效的降低了校准的工作量。但基于深度学习的校验方法,计算量比较大,计算资源消耗较多。
目前已经有越来越多的研究在关注于关于点云和图像的融合,而且不光要考虑点云和图像之间的关系,还需要加入IMU信息或者HD信息,来更准确的检测所关注的障碍物。另外,文章中的某些论文或章节,个人比较感兴趣,会详细阅读和整理。所以这里没有贴出来。
本文仅做学术分享,如有侵权,请联系删文。
在「3D视觉工坊」公众号后台回复:即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
在「3D视觉工坊」公众号后台回复:即可下载包括等。
在「3D视觉工坊」公众号后台回复:即可下载独家学习课件与视频网址;后台回复:即可下载独家学习课件与视频网址。
扫码添加小助手微信,可
也可申请加入我们的细分方向交流群,目前主要有、、、、、等微信群。
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题