高度提炼 | DreamCar??严肃!这个可不是魅族汽车!在moving-froward场景中的3D车辆重建!

文摘   2024-07-27 11:34   上海  

projection:GitHub - xiaobiaodu/DreamCar

本期概述

还记得昨天分享的ICML 2024 Best Paper吗?AIGC几乎是霸榜的存在了。在自动驾驶领域,AIGC通常用于世界模型(World Model)、虚拟仿真、数据生产等方面。插班生赶紧复习一下吧~ICML 2024 | Best Paper新鲜出炉!AIGC持续霸榜中... ...

猜猜看今天小编发现了什么新大陆?今天arxiv上的一篇关于路面可视化的论文开源了代码,而这篇文章很有意思,竟然和魅族智能汽车MEIZU DreamCar MX撞名了!一起来看看这个用AIGC进行车辆重建的方法吧!

研究内容

这篇论文主要研究如何利用现有驾驶数据集来重建高质量的3D汽车模型,以解决当前驾驶模拟器依赖手工设计3D模型资产的问题。论文提出了一种名为DreamCar的新方法,旨在从少量甚至单一图像中重建高质量的3D汽车模型。该方法克服了现有方法在处理真实世界汽车数据时的局限性,并提出了几项创新技术来改进生成模型的泛化能力和纠正相机姿态误差。

a.在向前移动的场景中,只利用4张参考图像,实现了一个完整的三维物体的重建,然后在一个真实的场景中进行模拟。b.由Zero-123-XL提供的新视图合成在我们的Car360数据集上进行训练。c.对不同的三维重建方法进行了定性比较。

文章创新点

1.使用镜像对称生成模型:利用汽车的几何和外观对称性,通过图像翻转和姿态对称性生成镜像图像,增加监督信息。

2.数据模型泛化:收集汽车数据集Car360,包含5600多组汽车图像,使生成模型更具鲁棒性。

3.姿态优化模型PoseMLP):设计PoseMLP多层感知器,通过时间感知信息预测原始姿态的偏移量,纠正姿态误差。

PipeLine

DreamCar方法可以分为预处理阶段几何重建阶段纹理细化阶段。输入参考视图(原始参考视图和它们对应的对称视图),并使用生成式预先引导3D模型在所有阶段重建3D汽车。在几何重建阶段,生成具有粗糙纹理的精细几何结构。在纹理细化阶段,专注于使用DreamBooth对汽车外观的细化

0.预备知识(Preliminaries):DreamCar 使用了评分蒸馏采样(Score Distillation Sampling, SDS)技术。SDS技术源自 DreamFusion,通过一个预训练的二维扩散模型(如stable-diffusion)来优化三维表示。在DreamFusion中,MipNeRF用于三维表示,其参数需进行优化。记为渲染函数,生成的图像即为结果图像。
为了使生成的图像 类似于扩散模型 生成的样本,SDS利用扩散模型来预测给定噪声图像 、文本嵌入和时间步的采样噪声 。此方法评估了添加高斯噪声后的渲染图像与扩散模型预测的另一噪声之间的偏差,这种测量指导了参数的调整。其梯度计算过程如下:
其中是一个加权函数。然而,这种方法使用特定视图指令驱动扩散模型生成固定视图,较为僵硬且只生成粗略视图。为了解决这一问题,Zero-123利用条件图像 和相对三自由度 (3 Degrees of Freedom, DoF)姿态来生成新视图。将Zero-123集成到SDS中,可以公式化如下:
1.预处理和镜像对称性获取(Pre-processing and Attainment of Mirror Symmetry):DreamCar 针对自主驾驶数据集中每辆车的少量图像(数量为一到五张),其目标是重建一个具有精确几何形状和干净纹理的三维物体。DreamCar 首先使用 Segment Anything Model (SAM) 对车辆进行分割,仅关注车辆而非整个场景。为了克服监督信息的匮乏,DreamCar 利用镜像对称性扩展有限的训练数据。
自然界中存在许多具有对称性的物体,车辆也不例外。一般来说,汽车的左右两侧外观相同并保持对称。考虑到这一重要特征,DreamCar 首先通过镜像翻转扩展参考图像数量。记图像翻转函数为 ,镜像对称图像 。在上图的左侧展示了获取图像和姿态镜像的方法。为了获得镜像相机姿态,以 Colmap 格式的相机姿态为例,车辆沿 轴方向,因此只需取反平移的 分量并镜像旋转矩阵。通过获取的镜像图像和姿态,参考图像数量可扩展为原来的两倍

2.几何重建(Geometry Reconstruction):在几何重建部分,DreamCar的方法分为几何重建和纹理细化两个阶段。在几何重建阶段,重点是雕刻一个具有完整且精确三维几何形状和粗略纹理的三维对象,以匹配参考图像并在各种视图下保持合理性。为此,选择通过三种不同的三维模型逐步雕刻细致的结构几何形状。首先采用NeRF(Neural Radiance Fields)重建粗略的几何形状,然后将NeRF的结果作为Neus的初始化。一旦Neus完成了粗略级别的雕刻,再使用DMTET(Differentiable Marching Tetrahedra)初始化Neus进行精细几何重建。

为了利用参考图像提供的绝对监督信息,对渲染图像和参考图像以及它们的掩码之间的前景差异进行惩罚:
其中 是参考掩码。只在前景区域内计算损失,同时计算掩码损失以鼓励轮廓收敛, 为渲染轮廓。此外,DreamCar计算了深度和法线损失,以充分利用从参考图像中获取的几何先验,从而确保几何匹配。深度和法线损失计算如下:
其中, 分别表示协方差和方差运算符。最后通过现成的网络获得参考深度 和法线 ,渲染的深度和法线分别通过 获得。对于深度损失,采用负皮尔逊相关性来解决深度尺度上的差异。对于法线损失,简单地计算其余弦相似度以确保渲染法线和参考法线的匹配。此外,DreamCar还采用生成先验来增强给定参考视图的重建。
DreamCar利用收集到的Car360数据集作为先验信息来增强模型对现实世界汽车的泛化能力。利用该模型生成详细信息,以帮助重建完整的三维模型。此外,本研究还结合了二维生成模型来增强生成能力,因为其训练数据集比三维感知生成模型更广泛和多样。最后,采用混合SDS损失,将来自二维和三维视角的生成先验混合在一起。此混合SDS损失用于蒸馏梯度,计算如下:
在计算 时,DeepFloyd IF基模型被用作二维先验,以捕捉粗略几何。因此,总几何重建损失可以表示为:
其中, 是参考损失, 是引入生成先验的指导损失。所有 是各损失的权重。
3.纹理细化(Texture Refinement):在纹理细化阶段,DreamCar的目标是进一步细化几何重建阶段得到的粗略纹理,以生成更加逼真和高质量的三维模型。在这一阶段,重点是利用多视图和高分辨率的图像信息来优化纹理细节。DreamCar使用了高分辨率图像及其对应的多视图信息,通过一个高分辨率渲染器来生成具有更高细节的纹理。具体过程包括以下几个步骤:
高分辨率渲染:在几何重建阶段生成的模型基础上,使用高分辨率渲染器对模型进行重新渲染,以获得更高分辨率的纹理信息。这个高分辨率渲染器能够捕捉更多的纹理细节和颜色信息,从而提升纹理的真实感。
多视图合成:利用从不同视角拍摄的高分辨率图像,通过合成技术将这些多视图信息整合到模型的纹理中。多视图合成有助于消除单一视角带来的纹理失真问题,使得最终的纹理更加一致和逼真。
纹理优化:在合成高分辨率多视图纹理后,使用优化算法对纹理进行进一步的细化和调整。这些优化算法可以修正纹理中的瑕疵和不一致,确保最终的纹理质量达到最优。
为了提升纹理的真实感,DreamCar在此阶段集成了Stable Diffusion模型,该模型能够提供更高分辨率的梯度。此外,在这一学习阶段,继续使用之前提到的参考损失作为有效的监督信息来源。
为了提升生成模型的稳定性,DreamCar利用了最近提出的DreamBoothLora技术。通过设置包含车辆类别和唯一标识符的文本提示(例如,图3中的“a [V] vehicle”),可以使生成模型在身份上保持稳定。针对纹理模糊和过度平滑的问题,引入了Lora(大规模模型微调技术),在梯度蒸馏阶段显著增强了纹理的真实感。因此,在这个阶段,额外引入了两个损失函数:,以实现更逼真的纹理生成。
此外,针对动态环境中由于振动导致的纹理错位问题,提出了一种姿态优化方法。该方法接受时间帧和原始姿态作为输入,预测偏移以修正原始姿态。具体而言,设计了一个多层感知器(MLP),称为PoseMLP ,具有3层256个隐藏神经单元。该网络的输入是6D向量和时间帧。通过将与时间相关的信息作为输入,该网络在前进场影中具有时间感知能力。注意,所提出的PoseMLP可以集成到方法中,而不需要显式的监督信息。
纹理细化的损失函数可以表示为:

Car360 Datasets
针对通过有限数量的图像(通常为一到五张)重建完整的三维模型。Objaverse数据集并非是特定针对车辆的,为此,Car360数据集从Sketchfab收集的 2000 辆 3D 车辆,随后与SRN和Objaverse 中的数据结合,形成了总计 5600 辆汽车的数据集。

a.不同数据集的车辆总数的比较。b.不同汽车数据集的视觉比较。
Experiments

在Nuscenes数据集上进行三维重建的定性评价

对比不同3D感知扩散模型在新视角合成方面的表现。红圈突出显示了Stable-Zero123生成结果的不合理之处。

在NUSCENES数据集中对100辆车进行的定量三维重建指标对比。Standard表示随机选择每辆车的一张图像作为测试图像。Mirror表示测试图像的镜像版本,用于验证三维模型的完整性。最佳结果以粗体字突出显示。
本期结语
这期的内容似乎比较“硬”。。整体的PipeLine比较长,文章并没有展示计算成本和实时性的实验,不过用在云端的数据集生成的话应该不会在意算力问题。本期的内容就分享到这里!
NIO IN 2024 蔚来创新科技日在今天7月27日于上海举行!今天据说有新手机NIO phine 2,新自动驾驶系统榕.300上线。李小毛这就奔赴现场,今天晚点时间,带给大家最新讯息!
如果对你的开发、科研有帮助,拜托拜托关注我们,我们将持续奉上优秀的端到端自动驾驶领域研究的分享干货!


温馨提示:点赞=学会,收藏=精通

点击在看,我们一起充电!


端到端自动驾驶
关注AD(Autonomous Driving)行业最前沿的人工智能解决方案,致力于打造为一个自动驾驶从业者及相关科研学者们的课外充电,技术分享,以及社区交流的服务平台!
 最新文章