什么?NeRF还能提升BEV泛化性能!首个BEV跨域开源代码并首次完成Sim2Real!

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

>>点击进入→自动驾驶之心【BEV感知】技术交流群

论文作者 | 汽车人

编辑 | 自动驾驶之心

写在前面&笔者的个人总结

鸟瞰图(Bird eye's view, BEV)检测是一种通过融合多个环视摄像头来进行检测的方法。目前算法大部分算法都是在相同数据集训练并且评测,这导致了这些算法过拟合于不变的相机内参(相机类型)和外参(相机摆放方式)。本文提出了一种基于隐式渲染的BEV检测框架,能够解决未知域的物体检测问题。该框架通隐式渲染来建立物体3D位置和单个视图的透视位置关系,这可以用来纠正透视偏差。此方法在领域泛化(DG)和无监督领域适应(UDA)方面取得了显著的性能提升。该方法首次尝试了只用虚拟数据集上进行训练在真实场景下进行评测BEV检测,可以打破虚实之间的壁垒完成闭环测试。

  • 论文链接:https://arxiv.org/pdf/2310.11346.pdf

  • 代码链接:https://github.com/EnVision-Research/Generalizable-BEV

cdcf89d431e2b033a733406c869c6734.png

BEV检测域泛化问题背景

多相机检测是指利用多台摄像机对三维空间中的物体进行检测和定位的任务。通过结合来自不同视点的信息,多摄像头3D目标检测可以提供更准确和鲁棒的目标检测结果,特别是在某些视点的目标可能被遮挡或部分可见的情况下。近年来,鸟瞰图检测(Bird eye's view, BEV)方法在多相机检测任务中得到了极大的关注。尽管这些方法在多相机信息融合方面具有优势,但当测试环境与训练环境存在显著差异时,这些方法的性能可能会严重下降。

目前BEV检测算法大部分算法都是在相同数据集训练并且评测,这导致了这些算法过拟合于不变的相机内外参数和城市道路条件。然而在BEV检测实际应用中,常常要求算法要适配不同新车型和新摄像头,这导致了这些算法的失效。所以,研究BEV检测的泛化性研究非常重要。此外,无人驾驶的闭环仿真也是非常重要的,但是闭环仿真目前只能在虚拟引擎(例如Carla)中进行评测。所以,打破虚拟引擎和真实场景中的域差异也非常必要。

域泛化(domain generalization, DG)和无监督域自适应(unsupervised domain adaptation, UDA)是缓解分布偏移的两个有前途的方向。DG方法经常解耦和消除特定于领域的特征,从而提高不可见领域的泛化性能。对于UDA,最近的方法通过生成伪标签或潜在特征分布对齐来缓解域偏移。然而,如果不使用来自不同视点、相机参数和环境的数据,纯视觉感知学习与视角和环境无关的特征是非常具有挑战性的。

观察表明单视角(相机平面)的2D检测往往比多视角的3D目标检测具有更强的泛化能力,如图所示。一些研究已经探索了将2D检测整合到BEV检测中,例如将2D信息融合到3D检测器中或建立2D-3D一致性。二维信息融合是一种基于学习的方法,而不是一种机制建模方法,并且仍然受到域迁移的严重影响。现有的2D-3D一致性方法是将3D结果投影到二维平面上并建立一致性。这种约束可能损害目标域中的语义信息,而不是修改目标域的几何信息。此外,这种2D-3D一致性方法使得所有检测头的统一方法具有挑战性。

df490d0db49378b743ca40a3ee43a698.png

本论文的的贡献总结

  1. 本论文提出了一种基于视角去偏的广义BEV检测框架,该框架不仅可以帮助模型学习源域中的视角和上下文不变特征,还可以利用二维检测器进一步纠正目标域中的虚假几何特征。

  2. 本文首次尝试在BEV检测上研究无监督域自适应,并建立了一个基准。在UDA和DG协议上都取得了最先进的结果。

  3. 本文首次探索了在没有真实场景注释的虚拟引擎上进行训练,以实现真实世界的BEV检测任务。

BEV检测域泛化问题定义

问题定义

研究主要围绕增强BEV检测的泛化。为了实现这一目标,本文探索了两个广泛具有实际应用价值的协议,即域泛化(domain generalization, DG)和无监督域自适应(unsupervised domain adaptation, UDA):

BEV检测的域泛化(DG):在已有的数据集(源域)训练一个BEV检测算法,提升在具有在未知数据集(目标域)的检测性能。例如,在特定车辆或者场景下训练一个BEV检测模型,能够直接泛化到各种不同的车辆和场景。

BEV检测的无监督域自适应(UDA):在已有的数据集(源域)训练一个BEV检测算法,并且利用目标域的无标签数据来提高检测性能。例如,在一个新的车辆或者城市,只需要采集一些无监督数据就可以提高模型在新车和新环境的性能。值得一提的是DG和UDA的唯一区别是是否可以利用目标域的未标记数据。

视角偏差定义

为了检测物体的未知L=[x,y,z],大部分BEV检测会有关键的两部(1)获取不同视角的图像特征;(2)融合这些图像特征到BEV空间并且得到最后的预测结果:

上面公式描述,域偏差可能来源于特征提取阶段或者BEV融合阶段。然后本文进行了在附录进行了推到,得到了最后3D预测结果投影到2D结果的视角偏差为:

其中k_u, b_u, k_v和b_v与BEV编码器的域偏置有关,d(u,v)为模型的最终预测深度信息。c_u和c_v表示相机光学中心在uv图像平面上的坐标。上面等式提供了几个重要的推论:(1)最终位置偏移的存在会导致视角偏差,这表明优化视角偏差有助于缓解域偏移。(2)即使是相机光心射线上的点在单个视角成像平面上的位置也会发生移位。

直观地说,域偏移改变了BEV特征的位置,这是由于训练数据视点和相机参数有限而产生的过拟合。为了缓解这个问题,从BEV特征中重新渲染新的视图图像是至关重要的,从而使网络能够学习与视角和环境无关的特征。鉴于此,本文旨在解决不同渲染视点相关的视角偏差,以提高模型的泛化能力。

详解PD-BEV算法

PD-BEV一共分为三个部分:语义渲染,源域去偏见和目标域去偏见如图1所示。语义渲染是阐述如如何通过BEV特征建立2D和3D的透视关系。源域去偏见是描述在源域如何通过语义渲染来提高模型泛化能力。目标域去偏见是描述在目标域利用无标住的数据通过语义渲染来提高模型泛化能力。

70e55d31e05956b3310e1f5b19954be4.png

语义渲染

因为很多算法都会讲BEV volume的高度拍扁成为二维的特征,这部分讲先利用一个BEV Decoder将BEV特征提升成一个Volume:

上面的公式其实就是对BEV平面进行了提升,增加了一个高度维度。然后通过相机的内外参数就可以在这个Volume采样成为一个2D的特征图,然后这个2D特征图和相机内外参数送到一个RenderNet里面来预测对应视角的heatmap和物体的属性。通过这样的类似于Nerf的操作就可以建立起2D和3D的桥梁。

源域去偏见

这个部分在源域如何提高模型泛化性能的。为了减少视角偏差,源域的3D框可以用来监控新渲染视图的热图和属性。此外,还利用归一化深度信息来帮助图像编码器更好地学习几何信息。

视角语义监督:基于语义渲染,热图和属性从不同的角度渲染(RenderNet的输出)。同时,随机采样一个相机内外参数,将物体的方框从3D坐标利用这些内外参数投射到二维相机平面内。然后对投影后的2Dbox与渲染的结果使用Focal loss和L1 loss进行约束:

通过这个操作可以降低对相机内外参数的过拟合以及对新视角的鲁棒性。值得一提的是,这个论文将监督从RGB图像换成了物体中心的heatmaps,可以避免Nerf在无人驾驶领域缺少新视角RGB监督的缺点。

几何监督:提供明确的深度信息可以有效地提高多相机3D目标检测的性能。然而,网络预测的深度倾向于过拟合内在参数。因此,这个论文借鉴了一种虚拟深度的方式:

其中BCE()表示二进制交叉熵损失,D_{pre}表示DepthNet的预测深度。f_u和f_v分别为像平面的u和v焦距,U为常数。值得注意的是,这里的深度是使用3D框而不是点云提供的前景深度信息。通过这样做,DepthNet更有可能专注于前景物体的深度。最后,当使用实际深度信息将语义特征提升到BEV平面时,将虚拟深度转换回实际深度。

目标域去偏见

在目标域就没有标注了,所以就不能用3D box监督来提高模型的泛化能力了。所以这个论文阐述说,2D检测的结果比起3D结果更加鲁棒。所以这个论文利用在源域中的2D预训练的检测器作为渲染后的视角的的监督,并且还利用了伪标签的机制:

这个操作可以有效地利用精确的二维检测来校正BEV空间中的前景目标位置,这是一种目标域的无监督正则化。为了进一步增强二维预测的校正能力,采用伪方法增强预测热图的置信度。这个论文在3.2和补充材料里给出了数学证明说明了3D结果在2D投影误差的原因。以及阐述了为什么通过这种方式可以去偏见,详细的可以参考原论文。

总体的监督

虽然本文已经添加了一些网络来帮助训练,但这些网络在推理中是不需要的。换句话说,本文的方法适用于大多数BEV检测方法学习透视不变特征。为了测试我们框架的有效性,BEVDepth被实例化为测评对象。在源域上使用BEVDepth的原始损失作为主要的三维检测监督。总之,算法的最终损失是:

跨域实验结果

表格1展示了在领域泛化(DG)和无监督领域适应(UDA)协议下不同方法的效果比较。其中,Target-Free表示DG协议,Pseudo Label、Coral和AD是在UDA协议上的一些常见方法。图表中,方法在目标域取得了显著的改进。它表明语义渲染作为一个桥梁可以帮助学习针对域移位的透视不变特征。此外,方法不会牺牲源域的性能,甚至在大多数情况下有一些改进。值得一提的是,DeepAccident来源于一个Carla虚拟引擎,算法也通过在DeepAccident上的训练获得了令人满意的泛化能力。此外,测试了其他BEV检测方法,在没有特殊设计的情况下,它们的泛化性能非常差。为了进一步验证利用目标域无监督数据集的能力,还建立了一个UDA基准,并在DG-BEV上应用了UDA方法(包括Pseudo Label、Coral 和AD。算法实现了显著的性能提升。隐式渲染充分利用具有更好泛化性能的二维探测器来校正三维探测器的虚假几何信息。此外,发现大多数算法倾向于降低源域的性能,本文方法相对温和。值得一提的是,发现AD和Coral在从虚拟数据集转移到真实数据集时表现出显着的改进,但在真实测试中测试时表现出性能下降。这是因为这两种算法是为解决风格变化而设计的,但在样式变化很小的场景中,它们可能会破坏语义信息。对于Pseudo Label算法,它可以通过在一些相对较好的目标域中增加置信度来提高模型的泛化性能,但盲目地增加目标域中的置信度实际上会使模型变得更差。实验结果证明了算法在DG和UDA方面取得了显著的性能提升。

2281bf863467956c0d0087fdaf88e283.png

表格2展示了算法在三个关键组件上的消融实验结果:2D检测器预训练(DPT)、源域去偏(SDB)和目标域去偏(TDB)。实验结果表明,每个组件都取得了改进,其中SDB和TDB表现出相对显著的效果。

7536f706db4dbb09245fd28cf3817941.png

表格3展示了算法算法可以迁移到BEVFormer和FB-OCC算法上。因为这个算法是只需要对图像特征和BEV特征加上额外的操作,所以可以对有BEV特征的算法都有提升作用。

b531a0cc7c7beed348f282ecf1dd41f5.png

图5展示了检测到的未标记物体。第一行是标签的3D框,第二行是算法的检测结果。蓝色框表示算法可以检测到一些未标记的框。这表明方法在目标域甚至可以检测到没有标记的样本,例如过远或者街道两侧建筑内的车辆。

5b384fa59ab911cb3ae3e9c671b10dc2.png

总结

本文提出了一种基于透视去偏的通用多摄像头3D物体检测框架,能够解决未知领域的物体检测问题。该框架通过将3D检测结果投影到2D相机平面,并纠正透视偏差,实现一致和准确的检测。此外,该框架还引入了透视去偏策略,通过渲染不同视角的图像来增强模型的鲁棒性。实验结果表明,该方法在领域泛化和无监督领域适应方面取得了显著的性能提升。此外,该方法还可以在虚拟数据集上进行训练,无需真实场景标注,为实时应用和大规模部署提供了便利。这些亮点展示了该方法在解决多摄像头3D物体检测中的挑战和潜力。这篇论文尝试利用Nerf的思路来提高BEV的泛化能力,同时可以利用有标签的源域数据和无标签的目标域数据。此外,尝试了Sim2Real的实验范式,这对于无人驾驶闭环具有潜在价值。从定性和定量结果都有很好的结果,并且开源了代码值得看一看。

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

7c047f7a1ac5a6a841b559b6d7ad8278.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2400人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

030702996f6bee3e1c34df009ed30af9.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

09593b269f9e682b693b2c76a0ce6b6d.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

2a397972f664bcf321210885e565832d.jpeg

内容概要:本文介绍了一个基于多传感器融合的定位系统设计方案,采用GPS、里程计和电子罗盘作为定位传感器,利用扩展卡尔曼滤波(EKF)算法对多源传感器数据进行融合处理,最终输出目标的滤波后位置信息,提供了完整的Matlab代码实现。该方法有效提升了定位精度与稳定性,尤其适用于存在单一传感器误差或信号丢失的复杂环境,如自动驾驶、移动采用GPS、里程计和电子罗盘作为定位传感器,EKF作为多传感器的融合算法,最终输出目标的滤波位置(Matlab代码实现)机器人导航等领。文中详细阐述了各传感器的数据建模方式、状态转移与观测方程构建,以及EKF算法的具体实现步骤,具有较强的工程实践价值。; 适合人群:具备一定Matlab编程基础,熟悉传感器原理和滤波算法的高校研究生、科研人员及从事自动驾驶、机器人导航等相关领的工程技术人员。; 使用场景及目标:①学习和掌握多传感器融合的基本理论与实现方法;②应用于移动机器人、无人车、无人机等系统的高精度定位与导航开发;③作为EKF算法在实际工程中应用的教学案例或项目参考; 阅读建议:建议读者结合Matlab代码逐行理解算法实现过程,重点关注状态预测与观测更新模块的设计逻辑,可尝试引入真实传感器数据或仿真噪声环境以验证算法鲁棒性,进一步拓展至UKF、PF等更高级滤波算法的研究与对比。
内容概要:文章围绕智能汽车新一代传感器的发展趋势,重点阐述了BEV(鸟瞰图视角)端到端感知融合架构如何成为智能驾驶感知系统的新范式。传统后融合与前融合方案因信息丢失或算力需求过高难以满足高阶智驾需求,而基于Transformer的BEV融合方案通过统一坐标系下的多源传感器特征融合,在保证感知精度的同时兼顾算力可行性,显著提升复杂场景下的鲁棒性与系统可靠性。此外,文章指出BEV模型落地面临大算力依赖与高数据成本的挑战,提出“数据采集-模型训练-算法迭代-数据反哺”的高效数据闭环体系,通过自动化标注与长尾数据反馈实现算法持续进化,降低对人工标注的依赖,提升数据利用效率。典型企业案例进一步验证了该路径的技术可行性与经济价值。; 适合人群:从事汽车电子、智能驾驶感知算法研发的工程师,以及关注自动驾驶技术趋势的产品经理和技术管理者;具备一定自动驾驶基础知识,希望深入了解BEV架构与数据闭环机制的专业人士。; 使用场景及目标:①理解BEV+Transformer为何成为当前感知融合的主流技术路线;②掌握数据闭环在BEV模型迭代中的关键作用及其工程实现逻辑;③为智能驾驶系统架构设计、传感器选型与算法优化提供决策参考; 阅读建议:本文侧重技术趋势分析与系统级思考,建议结合实际项目背景阅读,重点关注BEV融合逻辑与数据闭环构建方法,可延伸研究相关企业在舱泊一体等场景的应用实践。
<think>嗯,用户想知道NeRF中位置编码为什么能提升细节重建的效果。首先,我得回忆一下NeRF的基本原理。NeRF是通过神经网络来表示3D场景,对吧?输入是空间点的坐标和视角方向,输出是颜色和密度。那位置编码的作用应该和输入的处理有关。 对了,原始的位置坐标和方向是低维的,比如x,y,z这样的三维坐标。直接输入神经网络的话,可能无法捕捉高频的细节,因为神经网络更倾向于学习低频的函数。这样的话,重建出来的场景可能会比较模糊,缺少细节。 位置编码应该就是用来解决这个问题的。它通过将低维输入映射到高维空间,引入高频成分。比如使用正弦和余弦函数的不同频率来编码坐标,这样神经网络可以更容易地学习到高频变化。我记得这类似于傅里叶特征映射,允许网络表示更复杂的函数。 不过具体是怎么做的呢?比如,NeRF中的位置编码是怎么应用的?可能是在输入坐标之后,将每个分量通过不同频率的正弦和余弦函数转换,生成高维向量。这样,每个坐标点被映射到更高维的空间,包含更多频率的信息。神经网络处理这些高维特征后,就能更好地重建细节,比如物体的边缘、纹理等。 还有,为什么高频成分对细节重要呢?因为细节通常对应图像中的快速变化,比如边缘和纹理,这些在频中属于高频部分。如果网络只能处理低频信号,那么这些细节就会被平滑掉,导致模糊。通过位置编码引入高频,网络就能捕捉到这些变化,提升细节重建的效果。 可能需要引用一些论文中的结论,比如NeRF原文中提到位置编码帮助网络学习高频信号,或者引用傅里叶特征网络的相关研究。此外,还要考虑位置编码的层数和频率对效果的影响,比如层数越多,能表示的高频信息越多,但可能带来过拟合的问题? 总结一下,位置编码通过将输入映射到高维,引入高频成分,使神经网络能够更好地捕捉细节信息,从而提升重建效果。可能还需要提到对比实验,比如没有位置编码时效果较差,或者不同编码方式的影响。</think>### NeRF中位置编码提升细节重建的原因 NeRF(Neural Radiance Fields)通过位置编码(Positional Encoding)将输入的低维坐标映射到高维空间,从而增强神经网络对高频细节的捕捉能力。以下是具体原因分析: 1. **高频信号的表示能力** 直接使用原始坐标(如$x,y,z$)作为输入时,神经网络倾向于学习低频特征,导致重建结果模糊。位置编码通过引入正弦/余弦函数的多频分量,将坐标映射到高维空间: $$ \gamma(p) = \left( \sin(2^0 \pi p), \cos(2^0 \pi p), \dots, \sin(2^{L-1} \pi p), \cos(2^{L-1} \pi p) \right) $$ 其中$L$为编码层数。这种映射显式地提供了不同频率的基函数,使网络更容易学习场景中的高频细节(如纹理、边缘)[^1]。 2. **缓解频谱偏差(Spectral Bias)** 神经网络在训练时存在频谱偏差,即优先收敛到低频分量。位置编码通过强制网络在高维空间中分解信号,平衡了高低频特征的学习效率,从而提升细节重建精度[^2]。 3. **多尺度特征融合** 不同频率的编码对应不同尺度的细节。例如,低频分量描述物体整体形状,高频分量捕捉表面细微变化。这种多尺度特征通过神经网络隐式融合,最终输出高保真的辐射场。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值