51c自动驾驶~合集43
我自己的原文哦~ https://blog.51cto.com/whaosoft/12930230
#ChatDyn
上交大最新ChatDyn:一句话操纵三维动态
理解和生成真实的三维虚拟世界是空间智能的核心。所生成的三维虚拟世界能够为自动驾驶、具身智能等AI系统提供高质量闭环仿真训练场,高效提供源源不断的训练数据,并以极低成本合成罕见情景进行测试。目前,虽然我们有了Diffusion,三维虚拟世界的画质呈现大幅提升,但是虚拟世界中前景物体交互行为的一致性、可靠性、可控性仍然很低,限制了这一领域取得实质性突破。
为了突破现有困境,上海交通大学人工智能学院陈思衡团队联合上海人工智能实验室,马普所,苏黎世联邦理工和香港大学的研究者们重磅推出ChatDyn,这是首个实现自然语言驱动的街景多参与者互动与真实动态生成的系统,统筹考虑高层次的规划和低层次执行,一并生成丰富并带有交互信息的交通参与者动态。如样例1所示,输入指令“A person is taking a taxi at the left roadside, and a vehicle overtakes the taxi. Two persons are walking together with one's arm around another's shoulder. A person is chasing another person along the roadside.”即可生成相关动态场景,包括了人与人交互,人与车交互等复杂动态交互。
,时长00:07
,时长00:07
样例 1(上图白膜,下图带蒙皮)包含多种不同交互类型(人车交互,人人交互),并能够依据高层级轨迹控制行人、车辆动态。指令:A person is taking a taxi at the left roadside, and a vehicle overtakes the taxi. Two persons are walking together with one's arm around another's shoulder. A person is chasing another person along the roadside.
ChatDyn的核心理念在于结合高层次规划与低层次控制,以创建一个真实的仿真系统。大型语言模型(LLM)擅长高层次规划,而基于物理的方法则非常适合生成细粒度的低层次控制。基于这一观察,ChatDyn将多LLM代理用于高层次规划,并结合基于物理的执行器进行低层次生成。通过集成高层次和低层次组件,ChatDyn允许用户输入语言指令来指定需求。然后,它会根据指定的场景生成真实的动态,涵盖包括行人和车辆在内的多种交通参与者,并支持参与者之间复杂多样的互动。
主页链接:https://vfishc.github.io/chatdyn/
论文链接:https://arxiv.org/pdf/2412.08685
ChatDyn整体设计
ChatDyn能够解读并分析用户的语言指令,然后生成与之相符的场景动态。ChatDyn采用了两阶段的处理流程:高层次规划阶段负责在复杂和抽象的指令下规划轨迹和行为;低层次生成阶段则负责生成细粒度的真实动态。由于用户指令可能包含许多需要精确控制的具体细节,以及需要理解的抽象语义,ChatDyn利用多LLM-agent角色扮演方法,将每个交通参与者视为一个LLM-agent。该方法充分利用了LLM在理解语义信息和广泛常识上的能力,通过特定的工具和交互过程完成高层次的轨迹和行为规划。每个交通参与者的对应代理还配备了一个执行器作为工具之一。在高层次规划完成后,执行器利用规划结果执行低层次生成过程。执行器基于高层次规划生成细粒度、真实且物理上可行的动态。
图 1 ChatDyn系统结构
基于规划的行人动态生成
行人执行器(PedExecutor),根据高层次规划中规划的轨迹和行为生成低层次的行人动态。行人行为可以细分为由语言直接指定的单一代理行为和多个代理之间发生的互动行为。因此,挑战在于如何同时处理轨迹跟随、单一代理的运动规范以及多代理之间的互动,同时保持类人品质。为此,PedExecutor利用统一的多任务训练,通过单一策略执行LLM规划的轨迹、单一代理行为和多代理互动。PedExecutor采用了多任务统一训练的方式,能够使用一个策略网络实现多种不同控制信号下的生成,并能够完成预先设定的交互行为且结合物理引擎得到相应的物理反馈。为了提升最终行人动态的质量和真实性,动作空间采用了层级控制提供先验信息,而奖励函数使用身体遮蔽的对抗性运动先验(AMP)来鼓励类人的控制行为。最终,PedExecutor返回的动态能够遵循规划轨迹并完成预期行为,从而生成真实的行人动态。
图 2 PedExecutor结构设计
基于规划的车辆动态生成
车辆执行器(VehExecutor),根据高层次规划的轨迹生成最终的真实且物理上可行的车辆动态控制策略,这些轨迹在初始阶段可能会违反某些动态约束。为了引入物理约束并实现精确控制,VehExecutor利用基于物理的过渡环境,并结合历史感知的状态和动作空间设计。最终的动态通过累积车辆的位置和航向信息从环境中获得。
图 3 VehExecutor结构设计
实验结果
系统整体效果
我们在开头展示了系统输出来自两个场景。每个生成的输出都包含了丰富的交通参与者,基于用户的指令进行生成。从系统的输出中,我们可以看到以下几点:(i)互动得到了全面展示,包括人车互动(例如打车、避让、减速)、车与车的互动(例如换道、超车),以及人与人之间的互动(例如推搡、追逐、肩并肩走)。不同类型交通参与者之间的这些互动使得场景动态更加多样化和真实;(ii)系统实现了精确和细致的控制,每个场景描述都较为复杂,可能包含抽象的语义信息。通过多LLM-agents角色扮演的设计,复杂的指令得到了准确分析和执行,抽象的语义信息有效地被分解成可执行的指令,最终生成动态;(iii)生成的结果高度逼真。基于物理的控制策略使行人和车辆的动态表现得既真实又直观,特别是在展现人与人之间的互动时,突出体现了物理反馈。指令:A person pushes another person, and another person is making a phone call, then walks along the roadside. A vehicle turns right at the intersection, and a hurried vehicle overtakes a stationary one.
,时长00:07
,时长00:07
样例2(上图白膜,下图带蒙皮)包含多种交互,能够实现交互的物理反馈,并能够控制行人、车辆进行具体细致的行为。指令:A person pushes another person, and another person is making a phone call, then walks along the roadside. A vehicle turns right at the intersection, and a hurried vehicle overtakes a stationary one.
高层次规划对比
我们将LLM agent生成的规划轨迹与现有的基于语言的交通生成方法进行比较,验证高层级规划的结果是否让用户满意。结果表明,ChatDyn始终生成更准确的规划结果,这些结果更符合描述,且更受用户偏好。我们还提供了视觉示例,其中也展示了ChatDyn在包含行人的场景中的一些规划结果。ChatDyn能够准确满足需求,生成符合规范的高质量输出,即使在涉及行人的场景中也能表现优异。
表 1 高层次规划对比
图 4 高层次规划对比
行人动态生成对比
我们评估了PedExecutor在轨迹跟随和动作模仿任务中的表现。在分层控制和相关训练策略的支持下,PedExecutor生成了更高质量的动态,并在跟随和模仿任务中展示了高度竞争的表现。我们还评估了执行互动任务的过程,以确定每种方法在完成这些任务中的有效性。凭借分层控制和身体遮蔽的AMP,PedExecutor不仅在任务成功率上表现优秀,还能保持高质量、类人的输出。
表 2 PedExecutor模仿与跟随任务对比
表 3 PedExecutor交互任务对比
图 5 PedExecutor交互任务可视化对比
,时长00:34
视频 3. PedExecutor对比视频
车辆动态生成对比
我们通过测量位置误差和速度误差,评估了VehExecutor在不同初始速度下的精度。VehExecutor在所有速度下始终表现出最佳的准确率。
表 4 VehExecutor对比实验结果
,时长00:17
视频 4 VehExecutor对比视频
总结
ChatDyn的突破,标志着我们在模拟真实世界动态方面迈出了重要一步。通过将大型语言模型(LLM)的高层次规划能力与基于物理的方法的低层次控制相结合,ChatDyn能够精确地执行复杂的语言指令,从而生成街道场景中交互式、可控制及真实的参与者动态。这种结合不仅提高了模拟的准确性,还极大地增强了虚拟环境的真实感和沉浸感。ChatDyn能够细致全面地模拟场景物体动态,进而能够作为先验辅助下游方式例如渲染引擎、生成模型等进行成像,助力构建更加真实,可控的世界模型。ChatDyn中的相关方法也能够在特定优化下应用于室内等场景,进行室内场景的动态仿真。
#UniGraspTransformer
各种形状和方向的物体都能抓取!UniGraspTransformer不一般
论文标题:UniGraspTransformer: Simplified Policy Distillation for Scalable Dexterous Robotic Grasping
论文链接:https://arxiv.org/pdf/2412.02699
项目链接:https://dexhand.github.io/UniGraspTransformer/
作者单位:微软亚洲研究院 悉尼大学 新加坡国立大学
UniGraspTransformer的出发点
UniGraspTransformer是一种基于Transformer的通用网络,用于灵巧机器人的抓取任务,具有简化训练流程并提升可扩展性与性能的优势。与需要复杂多步骤训练流程的先前方法(如UniDexGrasp++)不同,UniGraspTransformer采用简化的训练过程:首先,通过强化学习为单个物体训练专用策略网络,以生成成功的抓取轨迹;随后,将这些轨迹蒸馏到一个统一的通用网络中。本文的方法使得UniGraspTransformer能够高效扩展,支持多达12个自注意力模块,用于处理数千种具有不同姿态的物体。此外,该模型在理想化输入和现实世界输入中都表现出了良好的泛化能力,适用于基于状态和基于视觉的环境。值得注意的是,UniGraspTransformer可以为各种形状和方向的物体生成更广泛的抓取姿态,从而实现更加多样化的抓取策略。实验结果表明,在多个物体类别上,UniGraspTransformer相比最先进的方法UniDexGrasp++表现出显著的性能提升。在基于视觉的场景中,其抓取成功率分别在以下任务中实现了提升:对于已见物体提高3.5%,对于已见类别的未见物体提高7.7%,对于完全未见的物体提高10.1%。
方法设计
灵巧机器人的抓取任务依然是机器人领域的一大挑战,尤其是在处理形状、尺寸及物理属性多样的物体时更为复杂。灵巧机械手由于其多自由度以及复杂的控制需求,在执行操作任务时面临独特的困难。尽管方法如UniDexGrasp++ 在这一领域取得了显著进展,但当单一网络需要处理大量且多样化的物体时,其性能会显著下降。此外,UniDexGrasp++ 采用了多步骤的训练流程,包括策略学习、基于几何的聚类、课程学习以及策略蒸馏等,这种复杂的训练方式限制了方法的可扩展性并降低了训练效率。
在本研究中,本文简化了通用网络的训练流程,使其能够处理数千种物体,同时提升了性能和泛化能力。本文提出的工作流程清晰简洁:
- 为训练集中每个物体单独训练策略网络:利用强化学习方法,通过精心设计的奖励函数,引导机器人掌握针对特定物体的抓取策略;
- 生成大量成功抓取轨迹:使用这些经过充分训练的策略网络,生成数百万条成功的抓取轨迹;
- 训练通用Transformer网络:基于这些丰富的抓取轨迹集,在监督学习框架下训练一个基于Transformer的通用网络,即UniGraspTransformer,使其能够高效泛化到训练中见过的物体以及全新未见的物体。
本文的架构提供了以下四个主要优势:
- 简洁性:本文直接以离线方式将所有单独的强化学习策略蒸馏到一个通用网络中,无需使用任何额外的技术,例如网络正则化或渐进蒸馏。
- 可扩展性:较大的抓取网络通常能够处理更广泛的物体,并在形状和尺寸的变化中表现出更强的鲁棒性。本文的方法利用离线蒸馏,使得最终网络——UniGraspTransformer——可以设计为更大规模,支持多达12个自注意力模块。与传统的在线蒸馏方法相比,这种方法提供了显著的灵活性和容量,而后者通常依赖于较小的MLP网络以确保收敛,但限制了可扩展性。此外,本文的专用策略网络设计为轻量级,每个网络仅需要处理单个物体,从而在不牺牲性能的前提下确保效率。
- 灵活性:每个专用策略网络在一个受控的、理想化的环境中进行训练,在该环境中,系统的全状态(包括物体表示,如完整的点云;灵巧机械手状态,如手指关节角度;以及它们的交互,如手-物体距离)是完全可观测且高度精确的。本文的架构能够将这种理想环境下的知识蒸馏到更实用的真实世界环境中,即使某些观测可能不完整或不可靠。例如,物体的点云可能存在噪声,或者物体姿态的测量可能不够精确。这些专用策略网络的主要作用是为各种物体生成多样化的成功抓取轨迹。在蒸馏过程中,这些抓取轨迹作为标注数据,使本文能够利用现实环境中的输入(如带噪声的物体点云和估计的物体姿态)训练UniGraspTransformer模型,从而预测出与理想环境中的成功抓取轨迹高度一致的动作序列。
- 多样性:本文的更大规模通用网络结合离线蒸馏策略,不仅能够抓取数千种不同的物体,还展现出为各种方向的物体生成更广泛抓取姿态的能力。这相较于先前的方法(如UniDexGrasp++)有显著提升,后者通常在不同物体间生成重复且单一的抓取姿态。
在本文的实验中,所提出的方法在多个评估环境下相较于现有最先进方法UniDexGrasp++展现了显著的性能提升。具体而言,本文在两种设置下对方法进行了评估:
- 基于状态的设置:在此设置中,物体的观测信息与灵巧机械手的状态由模拟器提供,具有完全的精确性。
- 基于视觉的设置:在此设置中,物体的点云由多视图重建生成。
在多种物体类型上,本文的方法始终优于UniDexGrasp++,包括已见物体、已见类别中的未见物体,以及来自未见类别的完全未见物体,如图1所示。例如,在基于视觉的设置下,本文的方法分别在以下任务中实现了性能提升:对已见物体提高3.5%,对已见类别的未见物体提高7.7%,对完全未见类别的物体提高10.1%。
图1. UniDexGrasp、UniDexGrasp++ 和本文提出的 UniGraspTransformer 在基于状态和基于视觉两种设置下的性能比较。对于每种设置,成功率分别在以下三种任务中进行评估:已见物体、已见类别中的未见物体,以及来自未见类别的完全未见物体。
图2. UniGraspTransformer 概览
(a) 专用策略网络训练:每个单独的强化学习策略网络被训练以抓取特定物体,并适应不同的初始姿态。
(b) 抓取轨迹生成:每个策略网络生成 条成功的抓取轨迹,构成轨迹集合 。
(c) UniGraspTransformer 训练:利用轨迹集合
本文研究了两种设置——基于状态和基于视觉。这两种设置的主要区别体现在物体状态和手-物体距离的输入表示(图中以“*”标注)。S-Encoder 和 V-Encoder 的具体架构请参考图3。
图3. 基于状态的设置中物体点云编码器 S-Encoder 的网络架构示意图
该过程从物体点云中采样 1,024 个点,生成维度为
在推理阶段,仅使用编码器,将物体点云转换为 128 维的物体特征。
表1. 专用策略网络的输入类型
输入被组织为五个组别,每组的具体元素定义详见附录。这些输入类型同样适用于本文的 UniGraspTransformer。
实验结果
图4. 抓取姿态多样性的定量分析
图5. 比较 UniDexGrasp++(上排)和本文提出的 UniGraspTransformer(下排)生成的抓取姿态。每列展示了同一物体在相同初始姿态下的两种不同抓取姿态。
表2. 与现有最先进方法在灵巧机器人抓取任务中的通用模型对比
在基于状态和基于视觉的设置下,通过成功率进行评估。对于已见类别中的未见物体及完全未见类别的物体的评估,反映了模型的泛化能力。标记 † 的结果为 UniDexGrasp++ 中报告的数据。“Obj.” 表示物体,“Cat.” 表示类别。
表3. 不同 值对 UniGraspTransformer 性能的影响分析
针对每个专用策略网络(共 3,200 个),本文生成 条成功的抓取轨迹,并将其蒸馏到 UniGraspTransformer 中。该表分析了随着
表4. UniGraspTransformer 中自注意力模块数量对性能的影响分析
模型由
表5. 不同数量专用策略网络蒸馏到 UniGraspTransformer 的影响分析
表6. 不同输入组件对 UniGraspTransformer 训练的影响
“Prev.”:先前状态;“Obj.”:物体;“Feat.”:特征;“Dist.”:距离;“SR”:成功率。
表7. 使用近似估计(特别是局部物体点云的中心和PCA)对性能的提升
表8. 基于视觉的物体编码器在是否使用蒸馏损失情况下对 UniGraspTransformer 性能的影响
表9. 引入奖励 和两种奖励变体 对专用策略网络性能的影响
总结
本文提出了UniGraspTransformer,一种基于Transformer的通用网络,用于简化灵巧机器人抓取任务的训练流程,同时在抓取策略的可扩展性、灵活性和多样性方面实现显著提升。本文的方法通过专用的强化学习策略网络为单个物体生成抓取轨迹,随后采用高效的离线蒸馏过程,将这些成功的抓取轨迹整合到一个单一的、可扩展的模型中,从而简化了传统复杂的训练管线。UniGraspTransformer 能够处理数千种物体及其多样化的姿态,展现出在基于状态和基于视觉的多种设置中的鲁棒性和适应性。尤其值得注意的是,该模型在已见物体、已见类别的未见物体以及全新类别的未见物体上显著提升了抓取成功率,相较当前最先进方法,在各类评估环境下均实现了大幅性能改进。
#DrivingRecon
港科技最新DrivingRecon:可泛化自动驾驶4D重建新SOTA!
从这一两年发表的论文数量可以看出,自动驾驶街景的重建与仿真备受关注,由此构建的自动驾驶仿真器对corner case的生成以及端到端模型的闭环评估/测试都非常重要,本次分享的是一篇关于自动驾驶场景4D重建的工作DrivingRecon。
- 论文链接: https://arxiv.org/abs/2412.09043
- 开源地址: https://github.com/EnVision-Research/DriveRecon
过去有很多使用3DGS或者Diffusion来做自动驾驶街景重建/生成的工作,比较具有代表性的是StreetGaussian,OmniRe这一类借助3D bbox将静态背景和动态物体解耦的框架,后来又出现了使用4D NeRF学习动态信息的方法,虽然取得了不错的效果,但这些方法都有一个共性,就是需要不断的训练来进行重建,即每个场景训练一个模型,非常耗时。因此作者提出了一种可泛化的自动驾驶4D重建模型DrivingRecon。在模型中,作者引入了PD-Block来更好的融合相邻视角的图像特征,消除重叠区域的高斯;也引入了Temporal Cross-attention来增强时序的信息融合,并且解耦动态和静态物体来更好的学习几何和运动特征。实验结果表明,与现有的视图合成方法相比,DrivingRecon 方法显著提高了场景重建质量和新视图合成。此外,作者还探讨了 DrivingRecon 在模型预训练、车辆自适应和场景编辑中的应用。
相关工作回顾
驾驶场景重建
现有的自动驾驶模拟引擎如 CARLA或 AirSim,在创建虚拟环境时需要花费很多时间,而且生成的数据缺乏现实性。Block-NeRF和 Mega-NeRF提出将场景分割成不同的Block用于单独建模。Urban辐射场利用来自 LiDAR 的几何信息增强了 NeRF 训练,而 DNMP利用预先训练的可变形mesh primitive来表示场景。Streetsurf将场景分为近景、远景和天空类别,获得较好的城市街道表面的重建效果。MARS使用单独的网络对背景和车辆进行建模,建立了一个实例感知的仿真框架。随着3DGS的引入,DrivingGaussian引入了复合动态高斯图和增量静态高斯,而 StreetGaussian优化了动态高斯的跟踪姿态(位姿),并引入了四维球谐函数,用于不同时刻的车辆外观建模。Omnire进一步关注驾驶场景中非刚性对象的建模,例如运动的行人。然而,这些重建算法需要耗时的迭代来建立一个新的场景。
大型重建模型
一些工作提出通过训练神经网络来直接学习完整的重建任务,从而大大提高了重建速度。LRM利用大规模多视图数据集来训练基于Transformer的 NeRF 重建模型,训练完的模型具有更好的泛化性,在单次模型前向传递中,从稀疏姿态图像中重建以物体为中心的3D形状质量更高。类似的工作研究了将场景表示改变为高斯溅射,也有一些方法改变模型的架构以支持更高的分辨率,并将方法扩展到3D 场景。L4GM 利用时间交叉注意力融合多帧信息来预测动态物体的高斯表示。然而,对于自动驾驶,还没有人探索融合多视图的特殊方法。简单的模型会预测相邻视图的重复高斯点,显著降低了重建性能。此外,稀疏的图像监督和大量的动态物体进一步让重建的任务变得更复杂。
文章主要贡献如下:
- DrivingRecon是第一个专门为环绕视图驾驶场景设计的前馈4D 重建模型
- 提出了 PD-Block,学习从不同的视角和背景区域去除冗余的高斯点。该模块还学会了对复杂物体的高斯点进行扩张,提高了重建的质量
- 为静态和动态组件设计了渲染策略,允许渲染图像跨时间序列进行有效监督
- 验证了算法在重建、新视图合成和跨场景泛化方面的性能
- 探索了 DrivingRecon 在预训练、车辆适应性和场景编辑任务中的有效性
方法详解
通常,先看一下论文的框架图有益于对整体的理解,DrivingRecon的整体框架如下:
为了得到一种generalizable的模型,那模型必然不能和数据是一一对应的关系,实现这一步的关键就是提取图像数据特征然后再进行后面的步骤,这个思路很常见,类似的还有GaussianFormer等。首先使用一个共享图像编码器对图像提取特征;接下来使用一个深度估计网络预测对应图像的深度,然后结合相机的内外参得到世界坐标系下的点云(x,y,z),并和图像特征拼接得到具有几何信息的特征。对于4D的任务,Temporal Cross Attention的是很常见且有用的模块,用来融合不同时序的特征,DrivingRecon也有使用到,可以看下文的细节;然后再用一个解码器增强特征的分辨率,最后,高斯适配器将解码的特征转换为高斯点(即scale,alpha等)和分割输出。
以上是DrivingRecon的整体思路,下面看一些细节:
3D Position Encoding
这部分主要是为了融合不同视角和不同时间间隔的特征:首先用DepthNet获得uv坐标下的像素深度d_(u,v),方法也很简单,直接使用Tanh激活函数来处理第一个通道的图像特征,然后再将深度投影到世界坐标系:
最后结合图像特征一起输入到PD-Block进行多视角特征融合。为了更好的融合,作者在训练时使用lidar得到的稀疏深度进行约束,即lidar点投影到图像上与之对应的深度算loss,具体计算为:
其中为有效深度的mask。
Temporal Cross Attention
因为视角的稀疏性,精确的街景甚至其他场景的重建是非常困难的。为了获取更多的有用特征,增强场景建模效果,在时间维度或空间维度来融合特征是比较常见的方法。文章中的方法可以简单表示为:
其中x是输入的特征,B表示Batch size, T表示时间维度,V表示视角个数,H,W,C表示特征的高,宽以及通道数。注意,与更为常见的时序交叉注意力不一样的是,这里同时考虑时间空间的信息融合, 从倒数第二维度可以看出。
Gaussian Adapter
由两个卷积blocks构成,输入是时序融合后的特征,输出分割c,深度类别,深度回归修正,RGB颜色rgb,alpha,scale,rotation,UV坐标偏移量[∆u,∆v],optical flow [∆x,∆y,∆z],最后深度的计算方式如下:
这里为啥要预测坐标偏移量?是因为作者使用的方法不是严格的像素对齐的,原因是PD -Block通过将资源从简单场景重新分配到更复杂的物体上,有效的管理空间的计算冗余。此时世界坐标的计算变为:
这里输出的光流可以用来获得每一个世界坐标下的点在下一帧的位置,即:
Prune and Dilate Block(PD-Block)
如上图所示,自动驾驶车辆上的相邻相机视野通常会存在重叠部分,就会导致不同视角中的同一个物体会出现重复gaussian预测,叠加后生成的效果会变差,另外在场景表示中,像天空这些区域不需要太多的gaussian来表达,而对于物体边缘处(高频处)则需要更多的gaussian来表示,因此作者提出了一个PD-Block的模块,它可以对复杂实例的高斯点进行扩张,并对相似背景或不同视图的高斯点进行修剪,步骤如下:
(1)将相邻视角的特征图以range view的形式拼接起来,那重叠部分的特征在位置上是比较靠近的,易于融合
(2)然后为了减少内存的使用将range view特征分割成多个区域
(3)在空间中均匀地选择K个中心,中心特征通过平均其Z个最近点来计算
(4)计算区域特征和中心点之间的余弦相似矩阵S
(5)根据阈值生成生成mask
(6)基于mask,可以对长距离特征和局部特征进行聚合,即 。其中,长距离特征e_lt通过大核卷积提取,局部特征e_lc为原始range view特征。
动静解耦
自动驾驶场景的视野非常稀疏,这意味着只有有限数量的摄像机同时捕捉到相同的场景。因此,跨时间视图监督是必不可少的。对于动态目标,该算法不仅可以在 t 时刻预测动态目标的高斯分布,而且可以预测每个高斯分布点的Flow(类似光流)。因此,实验中也会使用下一帧来监督预测的高斯点,即 。对于静态对象,可以使用相邻时间戳的相机参数来渲染场景,并且只监督静态部分,即 。大多数方法只使用静态的物体场景来更好地构建3D高斯,而忽略了对动态物体多视图的监督。注意,当监督跨时间序列的渲染时,阈值小于 α 的渲染图像是不进行监督的,因为这些像素通常不会在整个时间序列中重叠。此外,同样使用 L1重建约束 ,让渲染的图像与GT更接近。
分割
主要有两个作用:一是为了获得动态物体的mask(例如车辆和行人),静态物体的mask,以及天空的mask,另外引入语义监督有利网络对整个场景的理解(建模),作者用的模型是DeepLabv3plus。作者还将3D bbox投影到2D图像上,以此做为prompt通过SAM获得更精确的mask,这里使用一个简单的“或”逻辑合并两种处理的方式,确保所有动态的物体都获得对应的mask,相当于双重保障了。
损失函数
训练中的损失函数为:
- :约束渲染图像
- :约束深度的类别
- :约束修正后的深度
- :约束深度
- :约束动态对象
- :约束静态对象
- :约束分割结果
和 使用分割的标签,这部分不用于预训练实验。其他损失是无监督的,这也使得DrivingRecon 实现良好的性能。这些规则和约束使得 DrivingRecon 能够有效地整合几何和运动信息,提高其跨时间和跨视角的场景重建能力。
实验分析
与现有方法的渲染结果对比:
与现有方法的指标对比:
从表1和表2可以看出,不管是动态还是静态对象,指标提升的还是很大的。
重建结果可视化:
泛化性测试结果如下:
消融实验:
最后,文章最后还讨论几个潜在的应用:
车辆适应性:新车型的引入可能导致摄像机参数的变化,如摄像机类型(内参)和摄像机位置(外参)。所提出的四维重建模型能够用不同的摄像机参数来渲染图像,以减小这些参数的潜在过拟合。实验中作者在 Waymo 上使用随机的内参渲染图像,并以随机的方式渲染新的视角图像作为一种数据增强的形式。渲染的图像也会使用图像检测中的数据增强方式,包括调整大小和裁剪,然后结合原始数据训练BEVDepth,结果如下:
预训练模型:四维重建网络能够理解场景的几何信息、动态物体的运动轨迹和语义信息。这些能力反映在图像编码中,其中这些编码器的权重是共享的。为了利用这些能力进行预训练,作者用 ResNet-50替换了编码器。然后重新训练DrivingRecon,没有使用任何语义注释,属于完全无监督的预训练。随后,用预先训练好的模型替换了 UniAD 的编码器,并在 nuScenes 数据集上对其进行了微调。与 ViDAR 相比,使用新的预训练模型取得了更好的性能。
场景编辑:四维场景重建模型能够获得一个场景的全面的四维几何信息,这允许删除,插入和控制场景中的对象。文中给出了一个例子,在场景中的固定位置添加了带有人脸的广告牌,表示汽车停下的corner case:
结论
文章中提出了一种新的4D重建模型DrivingRecon,输入全景视频(环视)即可快速重建出4D自动驾驶场景。其中关键的创新点是提出了PD-Block,可以删除相邻视角的冗余高斯点,并允许复杂边缘周围进行点扩张,增强了动态和静态物体的重建。另外,文章中也引入了一种使用光流预测的动静态渲染方法,可以更好的监督跨时间序列的动态对象。实验表明,与现有方法对比,DrivingRecon在场景重建和新视角生成方面具有更优越的性能。并通过实验证明了可以用于模型的预训练,车辆自适应,场景编辑等任务。
#Selective Kalman Filter
怼上所有传感器不一定好!Selective Kalman Filter:优雅的融合如何处理个别传感器的退化
为了解决复杂环境中的挑战并提高定位的鲁棒性和环境感知能力,越来越多的研究集中于融合多种传感器的SLAM系统。这些系统通常集成了多种传感器,如LiDAR、视觉、RGB-D相机和IMU,代表性的系统包括R3LIVE、FAST-LIVO、LVIO-Fusion、RIVER等。
现有关于卡尔曼滤波器的研究主要集中在多传感器信息融合方面,这些研究提出了使用扩展卡尔曼滤波器(EKF)和自适应模糊逻辑系统来融合里程计和声纳信号的方案,其核心思想是自适应调整增益。然而,这些工作主要集中于如何利用和融合来自多传感器的信息,而未考虑是否有必要融合或是否需要融合所有可用数据。在非退化条件下,当高精度数据与中等精度数据融合时,精度的提升往往是微小的,甚至可能是负面的,同时还会增加额外的计算开销。我们将这种对所有测量数据不加区分进行融合的方法称为“全包含”(“all-in”)方法。这种方法面临以下两个主要问题:
- 首先,“全包含”方法处理的信息量比单传感器SLAM大得多,通常导致计算负担显著增加,影响实时性能。
- 其次,尽管该方法结合了各种传感器的优势,但也引入了其劣势。例如,视觉SLAM易受运动模糊、剧烈光照变化和动态物体的影响,从而产生较大的误差,甚至导致系统失效。
因此,通过探讨何时以及如何选择性地融合多传感器信息,以LiDAR与视觉融合SLAM系统为例,解决上述两个问题。在多传感器SLAM融合中,单一传感器易出现定位退化,而整合不同类型的传感器可以提供额外的约束,防止SLAM退化。
- 对于“何时”融合,我们的解决方案是仅在更为精确和鲁棒的LiDAR SLAM子系统表现出退化时,才引入视觉信息,否则仅依赖LiDAR子系统进行位姿估计。
- 关于“如何”融合,如果直接融合所有信息,视觉子系统的较低精度可能会降低LiDAR系统的整体精度。因此,我们的解决方案是仅在LiDAR子系统退化的方向上融合视觉信息。
- 解决“何时”问题需要准确判断LiDAR SLAM是否发生退化。现有方法未考虑点面约束中旋转与平移的高耦合性,导致退化方向的评估不准确。
Selective Kalman Filter(选择性卡尔曼滤波器)[1]的解决方案通过准确判断LiDAR SLAM退化的方向,仅在这些退化方向上引入视觉观测数据。相比之下,LION的融合方法在LiDAR退化时停止使用LiDAR里程计,转而依赖其他里程计信息。这种方法较为粗糙,因为在非退化方向上依赖较低精度和鲁棒性的传感器信息可能会降低系统性能。Zhang、Hinduja和X-ICP的方法主张仅在退化方向融合其他传感器信息,这被我们认为是优化的策略。然而,这些优化方法基于优化框架,未能在滤波框架中精确识别退化的具体方向,可能导致实际退化方向未被充分约束。
具体贡献包括:
- 提出了一种新型的多传感器融合方法——选择性卡尔曼滤波器,设计用于解决数据“何时”与“如何”选择性融合的问题。这种方法仅在LiDAR数据退化时引入必要的视觉信息,大幅提升实时性能,同时确保鲁棒性和精度。
- 提出了一种创新高效的LiDAR里程计退化检测方法,可同时确定退化方向。该方法充分考虑了旋转与平移约束之间的耦合关系。
- 通过实验验证了所提退化检测方法的精确性以及选择性卡尔曼滤波器的效率。
- 开源了代码以促进社区参与和广泛应用。
系统概述
首先介绍LiDAR-惯性-视觉SLAM的“全包含”方法,该方法由FAST-LIVO和R3LIVE等方法所代表。在没有视觉或LiDAR测量数据的情况下,类似于FAST-LIO2,系统利用IMU的加速度和角速度进行状态传播,作为卡尔曼滤波的预测步骤。当LiDAR或视觉测量数据到达时,系统在卡尔曼滤波中执行数据融合更新。
据我们所知,在没有退化的情况下,与视觉-惯性SLAM(VIO)相比,LiDAR-惯性里程计(LIO)系统通常表现出更高的精度和更强的鲁棒性。在将选择性卡尔曼滤波器集成到LiDAR-惯性-视觉里程计(LIVO)系统中时,我们优先将LIO子系统作为核心,将VIO子系统作为辅助。系统的工作流程如图2所示。与“全包含”方法不同,我们的方法基于LiDAR测量进行退化检测与分析:
- 如果LIO子系统未发生退化,我们选择不融合视觉测量数据。这种方法有助于避免因视觉问题(如运动模糊、过度曝光和错误特征匹配)引入的误差。此外,它还减少了计算负担,从而提高了实时性能。
- 如果LIO子系统发生退化,为了尽量减少引入的视觉信息并防止状态估计恶化,我们分析LiDAR的退化方向,然后选择性地融合与此退化方向相关的视觉数据,并舍弃与非退化方向相关的数据。这有助于防止LiDAR的非退化维度的精度下降。
我们将这种选择性更新信息融合的方法称为“选择性卡尔曼滤波器”(Selective Kalman Filter)。
LiDAR SLAM中的退化检测
首先,我们通过加权线性最小二乘法对LiDAR测量方程(2)进行变换,得到以下形式:
其中,为状态的估计值。为了简化表示,我们做出以下定义:
因此,上述方程可以简化为:。
由于实际场景中的噪声影响,矩阵通常为满秩矩阵,因此是一个6×6的对称正定矩阵。
Hinduja方法通过比较的最小特征值与预设阈值来检测退化。然而需要注意的是,由于的前三维表示旋转,后三维表示平移,其特征值是旋转和平移的耦合值,缺乏明确的物理意义,且单位同时与旋转和平移相关。同一特征值分解中的特征值单位不同,因此难以设定合理的退化检测阈值。此外,与这些特征值对应的特征向量也无法代表实际方向,这使得该方法在实际部署中往往不切实际。
为了解决这一问题,LION提出通过分析的对角元素来确定退化及其方向。首先,将矩阵表示为分块矩阵的形式:
LION分别对和进行特征值分解:
其中,和为对角矩阵,包含旋转和平移部分的特征值。然后通过设定两个阈值,评估旋转和平移是否退化。这种方法有效解决了Hinduja方法中阈值缺乏物理意义的问题,但其忽略了耦合项和,从而忽视了旋转和平移约束之间的相互影响。这种忽略导致在大多数情况下,退化程度及方向的估计不准确。
例如,如图3(a)所示,根据LION的观点,y方向的估计仅依赖于点A在y方向的点面残差雅可比,导致y方向估计较差(如所示)。但实际上,点B的点面残差可以改善旋转的估计,从而增强y方向的估计(如所示)。可以推断,这种考虑了平移和旋转耦合的后者方法,对于不确定的估计具有更高的准确性。
为了解决上述问题,我们提出了一种基于协方差信息的新型、简单且具有物理意义的退化检测方法。我们首先对矩阵求逆,得到状态的协方差矩阵:
需要注意的是:
从以上公式可以看出,我们的方法与LION使用局部Hessian矩阵的方法不同。我们的方法考虑了旋转与平移之间的耦合关系。此外,该方法具有实际的物理意义:协方差矩阵的对角块表示状态的方差,而非对角块表示不同状态之间的相关性。方差可以作为退化程度的直观量度,例如,高方差表示该方向上的估计存在较大的不确定性,从而表明退化。
我们对和进行特征值分解:
其中,和的特征值分别具有物理单位,旋转部分为,平移部分为。对应的特征向量代表退化方向,此时,和分别为旋转矩阵,能够将原始坐标系旋转到这些特征方向。
最后,我们基于实际需求和经验设置两个方差阈值和。如果,则表示发生旋转退化,对应的特征向量表示退化方向;平移部分同理。
综上所述,本节提出了一种具有实际物理意义并考虑耦合约束的退化检测方法,理论上能够更准确地判断退化程度及方向。
视觉测量的选择
我们首先对视觉测量方程 (3) 应用加权线性最小二乘法,得到以下形式:
其中, 为状态 的估计值。为了简化表示,我们定义如下:。
因此,方程可以简化为:。
需要注意的是,根据实际场景中的噪声,矩阵 总是可逆的。因此,可以得到估计状态 为:。
利用协方差矩阵的特征向量矩阵 和 ,我们定义一个新的旋转矩阵 :。
该旋转矩阵能够将 的坐标系旋转至旋转和平移的主分量方向上:。
在已知 LiDAR 子系统退化维度的情况下,我们定义一个选择矩阵 ,以选择视觉测量方程中与退化方向相关的信息,从而滤除无关数据:。
例如,如果 LiDAR 子系统在一个平移方向和一个旋转方向上发生退化,例如 和 ,我们可以将选择矩阵 设置为:
在该矩阵中,设置为1的对角元素对应退化状态的维度,而设置为0的对角元素对应非退化维度。我们将状态恢复到原始坐标系,并同时恢复原始测量方程:
为了保持信息矩阵的对称性,我们进一步处理,得到:
可以简化为:,
其中:
此时,我们已完成对视觉数据的选择,仅保留与 LiDAR 退化方向相关的信息。
选择性卡尔曼滤波器
首先,我们描述传统卡尔曼滤波器的形式。对于视觉子系统,假设已存在先验估计,记为 和协方差 。按照FAST-LIO的方法,卡尔曼增益 的计算公式为:,
得到更新方程为:。
将卡尔曼增益 代入更新方程并进行简化,可以得到:
根据式 (17),可以进一步简化为:
其中, 是后验估计状态。
对于后验协方差 ,其公式为:。
将 的表达式代入并简化,可以得到:。
通过观察视觉信息的测量方程在选择前(式 (18))和选择后(式 (26))的变化,我们只需将 替换为 ,将 替换为 ,即可得到新的选择性卡尔曼滤波器公式:。
备注:在本文中,所有进行特征值分解的矩阵均为实对称矩阵,因此其特征值分解和奇异值分解的结果是等价的。我们的主要目标是确定这些矩阵的主方向,这本质上与奇异值相关的物理含义一致。为了简化表达并减少变量的数量,本文统一采用特征值分解描述整个过程。
LiDAR-惯性-视觉里程计
基于出色的LIVO框架R3LIVE,我们集成了选择性卡尔曼滤波器,构建了SKF-Fusion,其系统框架如图4所示。原始R3LIVE框架包含两个并行子系统:LiDAR-惯性里程计(LIO)和视觉-惯性里程计(VIO)。本文未重复描述R3LIVE中的相同内容。在此基础上,我们对LIO子系统进行退化检测。如果未检测到退化,仅将视觉信息用于上色,同时保存地图的颜色信息,以便在退化状态下使用。如果检测到退化,则在帧与帧之间以及帧与地图之间进行序列更新,专注于退化状态的相关成分。在随后的实验中,我们使用R3LIVE数据集对SKF-Fusion进行了评估。
系统工作流程:
未检测到退化时:
- 系统仅使用LiDAR子系统进行状态估计和更新。
- 视觉信息仅用于地图的颜色渲染,无需进行视觉状态更新。
- 这种方式避免了视觉子系统带来的计算开销,并减少了因视觉特性(如运动模糊、过度曝光等)引起的误差。
- 检测到退化时:
- 系统分析LiDAR的退化方向。
- 针对退化方向,选择性地融合视觉观测数据,仅对退化状态进行更新。
- 非退化方向的数据被舍弃,从而防止引入不必要的误差。
通过引入选择性卡尔曼滤波器,SKF-Fusion实现了高效的退化处理,显著提升了系统的鲁棒性和实时性能。
实验效果
总结一下
基于传统的“全包含”融合SLAM(涉及LiDAR、视觉和IMU),本研究引入了一种基于协方差信息的创新退化检测模块,以及用于退化状态选择性更新的选择性卡尔曼滤波器。与现有退化检测方法相比,实验结果表明,该方法显著提升了退化检测的准确性,从而提高了定位的精度和鲁棒性。此外,与“全包含”方法相比,方法显著提升了视觉子系统的实时性能。需要注意的是,当前的阈值选择未能适应不同体素分辨率下的LIO,这为未来的研究提供了方向。
#某主机厂智驾自研的波澜
今年这家主机厂在智驾业务上的一系列变化,都源自于大BOSS的战略构想。眼看新能源汽车的上半场“电动化”结束,进入下半场的“智能化”,所以大BOSS就想在下半场的“智能化”上占领用户心智。
在大BOOS的战略设想中,智驾会存在技术引领者和技术普及者两种角色。华为是技术引领者的角色,以这家主机厂现阶段的技术能力来说肯定比不了华为。而且,以这家主机厂的销量规模和用户层次来说,现阶段技术普及者的战略定位比较合适。
所以,这家主机厂准备在智驾普及上发动大规模的攻势。
一是尽可能的把智驾做到标配,用标配打响智驾普及的第一枪。以这家主机厂的体量来说足以引起声势浩大的市场反响,这一枪要打好了足以站稳智驾普及者的地位。二是除了部分高阶智驾继续采用头部供应商的方案之外,其他的全部切自研。
压力就来到了自研团队这边。在这家主机厂高层眼里,自研上的钱投入了很多、时间也不短了,到了该拉出来溜溜的时候了。
这家主机厂在重大技术攻坚上喜欢赛马机制,投入了A和B两个自研团队。今年下半年对赛马进行考核,要两个自研团队交考卷,其中一个考核点是谁能先把自研的方案量产上车。
A团队的进度要快于B团队,再加上A团队的负责人是老人,导致B团队的业务和人员被A团队给“吞掉”。B团队的负责人也被调岗,不过最终还是离职走人。
在这一波的赛马PK过程中,A团队的负责人成了大赢家。原本在这家主机厂智驾业务上是智驾负责人、A团队负责人、B团队负责人的三人“斗地主”的局面,A团队不仅PK掉了B团队负责人,而且下半年也不断传出智驾负责人离职的消息。
风光无限的同时,A团队的一些技术中层也在不断的担忧,明年自研方案的量产上车能不能成功?如果量产上车的过程不顺利或者出了岔子,到时候问责,锅是先扣负责人头上还是掉在自己头上?
带着一脑子问号的部分技术中层,谋生了跳槽走人的想法。