Adaptive Fusion of Single-View and Multi-View Depth for Autonomous Driving
提出了一个单、多视图融合深度估计系统,它自适应地集成了高置信度的单视图和多视图结果
动态选择两个分支之间的高置信度区域执行融合
提出了一个双分支网络,即一个以单目深度线索为目标,而另一个利用多视图几何结构,两个分支都预测深度图和置信度图
通过使用这样的置信度图来执行逐像素融合,可以最终实现更稳健的深度
AFNet,它由三个部分组成,即单视图深度模块、多视图深度模块和自适应融合模块
Single-view branch
多尺度解码器 并获得深度特征D_s=(H/4, W/4, 257),通过对$D_s$的前256个通道使用softmax,得到深度概率P_s=(H/4 , W/4, 256)。最后一个通道作为单视图深度估计的置信度图M_s=(H/4, W/4),最后通过软加权来计算单视图深度
Multi-view branch
保留特征的通道维度并构建4D cost volume,然后通过两个3D卷积层将通道数量减少到1 即初始cost volume C_{init}=(H/4 , W/4, 128)使用堆叠的2D沙漏网络进行正则化 获得最终的多视图cost volume C_m=(H/4 , W/4, 256) 使用残差结构来组合单视图深度特征D_s(H/4, W/4, 257)和cost volume(H/4 , W/4, 256),以获得融合深度特征F_fuse
Adaptive Fusion Module
自适应地选择两个分支之间最准确的深度作为最终输出。单视图分支和多视图分支中的M_s和M_m反应了整体匹配歧义(reflect the overall matching ambiguity),而M_w反映了亚像素精度(subpixel accuracy)将这三个置信度图作为单视图深度d_s和多视图深度d_m融合的指导,并通过两个 2D 卷积层得到最终的融合深度d_{fuse}=(H/4 , W/4)
AFNet训练过程中的损失函数主要由深度损失和置信度损失两部分组成。深度损失使用简单的 L1 损失
对于置信度损失,为了防止异常值干扰训练,我们首先计算有效掩码如下:
最终置信度损失计算如下:
Ns和Nm分别表示Ωs和Ωm中有效点的总数。总损失是上述两个损失 Ld 和 Lc 的总和。
CLIP-BEVFormer: Enhancing Multi-View Image-Based BEV Detector with Ground Truth Flow
CLIP-BEVFormer框架,该框架由Ground Truth BEV (GT-BEV)模块和Ground Truth Query Interaction (GT-QI)模块组成
GT-BEV
GT-BEV 的核心目标是将生成的 BEV 表示与 GT-BEV 对齐,确保 BEV 元素的显式排列。为了使BEV和GT-BEV嵌入更接近,我们采用对比学习过程来优化BEV特征空间中的元素关系和距离。这种显式元素排列与 GT 引导(标签、位置和清晰边界)相结合,可以提高模型的感知能力,从而提高 BEV 地图上各种对象的检测和区分。
先前模型中先前未探索的方面在于了解GT实例如何在 BEV 图上相互交互。通过自注意力和注意力机制从空查询中恢复地面实况信息,如先前模型中使用的,本质上是有限的。这个过程充当黑盒探索,仅在端点提供监督,因此缺乏对地面实况解码的全面理解。(DETR范式在BEV上用Query的方式检测的缺陷)
因此来自 Ground Truth Encoder (GTEnc,也就是GT-BEV中从GT那一端出来的GT编码) 的 β 被引入解码器 Dec 的查询池中
GT-QI
在训练的解码阶段注入GT流,我们的 GT-QI 模块使模块能够从GT实例间交互和GT实例 BEV 通信中获得见解。注入 GT 查询的扩大查询池不仅增强了模型的鲁棒性,而且增强了它在源图上检测各种对象的能力
损失函数
基础检测损失(空Query和BEV的Key、Value经过Decoder和Head得到的预测和GT的损失)、对比学习损失(监督BEVFormer前端和GT编码器(LLM、MLP)生成具有区分度的高质量Key、Value和Query)、Decoder损失(通过已知的Query和BEV的Key、Value,监督Decoder模块从空Query生成预测的能力)
Learning Transferable Visual Models From Natural Language Supervision (CLIP )
神器CLIP:连接文本和图像,打造可迁移的视觉模型 - 知乎 (zhihu.com)
BEVFusion: A Simple and Robust LiDAR-Camera Fusion Framework
后融合,因为这种方案比较灵活,鲁棒性也更好 能够更好的处理单一传感器失效时对系统的影响 缺点也很多,一是信息的利用不是很充分,二是把系统链路变得更加复杂,链路越长,越容易出问题,三是当规则越堆叠越多之后维护代价会很高
前融合更好的利用神经网络端到端的特性。但是前融合的方案少有能够直接上车的,原因我们认为是目前的前融合方案鲁棒性达不到实际要求
1)雷达和相机的外参不准 2)相机噪声 3)雷达噪声
BEVFusion框架,和之前的方法不同的是雷达点云的处理和图像处理是独立进行的,利用神经网络进行编码,投射到统一的BEV空间,然后将二者在BEV空间上进行融合。这种情况下雷达和视觉没有了主次依赖,从而能够实现近似后融合的灵活性
当增加多种模态后,性能会大幅提高,但是当某一模态确实或者产生噪声,不会对整体产生破坏性结果
雷达分支我们测试了基于Voxel和基于Pillar的编码方式,Camera分支是我们对Lift-Splat-Shoot[8]进行了改造 融合模块的改进如下:
Multi-Task Multi-Sensor Fusion with Unified Bird's-Eye View
使用摄像头特征增强激光雷达点云。然而,摄像头到激光雷达的投影丢弃了摄像头特征的语义密度(semantic density),阻碍了此类方法的有效性,尤其是对于面向语义的任务(如3D场景分割)。文章特别指出:对于典型的32线激光雷达扫描,只有5%的摄像头特征与激光雷达点匹配,而其他所有特征都将被删除。对于更稀疏的激光雷达(或成像雷达),这种密度差异将变得更加剧烈
我们优化了BEV池化,解决视图转换中的关键效率瓶颈,将延迟减少了40倍。BEVFusion从根本上来说是任务无关的,无缝支持不同的3D感知任务。
BEV池化的效率和速度惊人地低,在RTX 3090 GPU上需要500毫秒以上(而模型的其余部分计算只需要100毫秒左右)。这是因为摄像头特征点云非常大,即典型的工作负载,每帧可能生成约200万个点,比激光雷达特征点云密度高两个数量级。为了消除这一效率瓶颈,建议通过预计算和间歇降低来优化BEV池化进程
TransFusion: Robust LiDAR-Camera Fusion for 3D Object Detection with Transformers
具体的过程为:
(1)3D点云输入3D backbones获得BEV特征图
(2)初始化Object query按照下面左边的Transformer架构输出初始的边界框预测。初始化方法见3.2节
(3)上一步中的3D边界框预测投影到2D图像上,并将FFN之前的特征作为新的query features通过SMCA选择2D特征进行融合。
TransFusion由卷积backbone和基于Transformers解码器的检测头组成,解码器的第一层使用稀疏的object queries集预测来自LiDAR点云的初始边界框,第二层解码器自适应地将object queries与有用的图像特征融合,充分利用空间和上下文关系。Transformers的注意力机制使我们的模型能够自适应地决定从图像中获取什么信息和从什么位置获取信息