点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:dddvision,备注:方向+学校/公司+昵称,拉你入群。文末附行业细分群
扫描下方二维码,加入3D视觉知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门视频课程(星球成员免费学习)、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!

0. 这篇文章干了啥?
一句话总结:Flash3D是一种仅从单个图像进行场景前馈3D重建的方法。经过RealEstate10k的训练,它可以很好地推广到其他数据集,如KITTI和NYUv2。
我们考虑从单张图像中通过单次网络前向传播来重建逼真的3D场景的问题。这是一项具有挑战性的任务,因为场景是复杂的,且单目重建是不适定的。在单目设置下,无法获得明确的几何线索,如三角剖分,也没有场景中被遮挡部分的直接证据。
这个问题与单目深度估计密切相关,这是一个成熟的领域。现在,已经可以非常准确地估计度量深度,并具有出色的跨域泛化能力。然而,虽然深度估计器可以预测最近可见表面的3D形状,但它们不提供任何外观信息,也不估计场景中被遮挡或超出画面范围的部分。仅依赖深度信息不足以准确解决如新视图合成(NVS)等任务,这些任务还需要对未见区域和依赖于视图的外观进行建模。
虽然存在单目场景重建的方法,但它们大多在“封闭世界”设置下运行,即对每个考虑的数据集都重新进行训练。相比之下,现代深度预测器在推理时能够很好地泛化到新的数据集。此外,当前的单目场景重建器由于体渲染和隐式表示而常常速度较慢或计算内存成本较高。
最近,Szymanowicz等人提出了Splatter Image(SI),这是一种基于高斯溅射成功的快速单目重建单个物体的方法。该方法很简单:使用标准的图像到图像神经网络架构来预测每个输入图像像素的彩色3D高斯函数的参数。结果表明,所得的高斯混合能够很好地重建物体,包括未观察到的表面。部分原因是SI能够利用一些“背景像素”来建模物体的遮挡部分。然而,在场景重建中,并没有这样的背景像素储备,这对该方法构成了一个挑战。相比之下,pixelSplat、MVSplat、latentSplat和GS-LRM等具有相似设计的方法是为场景重建而设计的;但是,它们解决的是双目重建问题,需要从不同已知视点捕获场景的两幅图像。而我们考虑的是更具挑战性的单目设置,因为它更具通用性,并且不需要相机外参,这本身就是一个具有挑战性的研究问题。
在这项工作中,我们介绍了一种新的、简单、高效且性能出色的单目场景重建方法Flash3D。该方法基于两个关键思想。首先,我们解决了当前前馈单目场景重建器存在的泛化问题。Flash3D的目标是适用于任何场景,而不仅仅局限于训练集中的场景。类似的无边界模型通常被称为基础模型,它们需要庞大的训练数据集和大多数研究团队无法获得的计算资源。在3D对象重建和生成中也存在类似的问题,该问题通过将现有的基础2D图像或视频生成器扩展到3D来解决。在这里,我们认为场景重建也可以从现有的基础模型中受益,但选择单目深度预测器作为更自然的选择。特别是,我们展示了通过基于高质量的深度预测器,我们可以实现对新数据集的出色泛化,以至于我们的3D重建结果比那些专门在这些测试领域训练的模型更准确。
第二,我们改进了用于单目场景重建的逐像素前馈高斯展开(splatting)。正如所指出的,当应用于单个对象时,逐像素重建器可以利用背景像素的储备来模拟对象的隐藏部分,但在重建整个场景时这是不可能的。我们的解决方案是预测每个像素的多个高斯分布,其中仅沿每条射线的第一个高斯分布被鼓励符合深度估计,从而模拟场景的可见部分。这类似于分层表示和pixelSplat中的多高斯采样。然而,在我们的情况下,高斯分布是确定的,不局限于特定的深度范围,并且模型可以自由地将高斯分布从射线上移开以模拟场景的遮挡或截断部分。
下面一起来阅读一下这项工作~
1. 论文信息
标题:Flash3D: Feed-Forward Generalisable 3D Scene Reconstruction from a Single Image
作者:Stanislaw Szymanowicz, Eldar Insafutdinov, Chuanxia Zheng, Dylan Campbell, João F. Henriques, Christian Rupprecht, Andrea Vedaldi
机构:牛津大学
原文链接:https://arxiv.org/abs/2406.04343
代码链接:https://www.robots.ox.ac.uk/~vgg/research/flash3d/
官方主页:https://www.robots.ox.ac.uk/~vgg/research/flash3d/
2. 摘要
在本文中,我们提出了Flash3D,这是一种从单张图像进行场景重建和新视图合成的方法,该方法既具有很高的泛化能力又十分高效。为了增强泛化能力,我们从单目深度估计的“基础”模型出发,将其扩展到完整的3D形状和外观重建器。为了提高效率,我们基于前馈高斯平铺(Gaussian Splatting)进行这种扩展。具体来说,我们在预测的深度上预测了第一层3D高斯分布,然后添加了空间上偏移的其他层高斯分布,使模型能够完成遮挡和截断后的重建。Flash3D非常高效,可以在一天内使用单个GPU进行训练,因此大多数研究人员都可以使用它。当在RealEstate10k上进行训练和测试时,它取得了最先进的结果。当转移到未见过的数据集(如NYU)时,它以较大优势超过了竞争对手。更令人印象深刻的是,当转移到KITTI时,Flash3D在PSNR方面超过了专门针对该数据集训练的方法。在某些情况下,它甚至超过了使用多个视图作为输入的最新方法。代码、模型、演示以及更多结果可在以下网址获取: https://www.robots.ox.ac.uk/~vgg/research/flash3d。
3. 效果展示
Flash3D仅从“一瞬间”的单个图像中重建3D(而非2.5D)场景结构和外观,实现准确的新颖视图合成。只在一个数据集上进行训练,它可以推广到新的、不同的数据集和未知场景。

4. 主要贡献
总的来说,Flash3D是一个简单且高性能的单目场景重建管道。从经验上看,我们发现Flash3D可以(a)渲染重建的3D场景的高质量图像,(b)在室内和室外各种场景中操作;以及(c)重建遮挡区域,这是仅通过深度估计或其简单扩展无法实现的。Flash3D在RealEstate10K的所有指标上都达到了最先进的新视图合成精度。
同样令人印象深刻的是,当转移到NYU和KITTI以PSNR为度量标准)时,该相同的冻结模型也达到了最先进的精度。此外,在外推设置中,我们的重建结果甚至可能比使用场景的两幅图像而不是一幅图像的双目方法,如pixelSplat和latentSplat,更准确,因此具有显著的优势。
Flash3D在评估和训练方面都非常高效。例如,我们使用的GPU资源仅为先前工作(如MINE)的1/64。通过使用适度的计算资源进行训练,同时达到最先进的结果,这为更广泛的研究人员开放了研究领域。
5. 基本原理是啥?
Flash3D概述。给定单张图像I作为输入,Flash3D首先使用现成的冻结网络[47]估计度量深度D。然后,一个类似于ResNet50的编码器-解码器网络预测每个像素u的K层高斯的形状和外观参数P集合,允许对未观察和遮挡的表面进行建模。从这些预测的成分中,可以通过将预测的(正)偏移量δi与预测的单目深度D相加来获得深度,从而计算每一层高斯的均值向量。这种策略确保了各层按照深度顺序排列,鼓励网络对遮挡表面进行建模。

6. 实验结果
据我们所知,我们是首个报告前馈跨域单目重建性能的研究。我们考虑了两种具有挑战性的对比。首先,我们在NYU数据集上评估了Flash3D和当前最先进的方法[36],NYU是一个与RE10k性质相似但训练时未见过的室内数据集。在表1中,我们观察到尽管领域差异相对较小,但我们的方法在此迁移实验中的表现显著优于其他方法。这表明以前的工作不如我们的方法具有好的泛化能力。其次,我们在表1中将我们的方法与KITTI数据集上的当前最先进方法进行了比较,我们的方法在该数据集上的性能与在该数据集上训练的最先进方法相当。实际上,尽管Flash3D仅在室内数据集上进行了训练,但它在PSNR方面优于其他方法。这表明利用预训练的深度网络使我们的网络学习到了极其强大的形状和外观先验,这种先验甚至比直接在该数据集上学习还要准确。

我们在RealEstate10k数据集上进行了域内评估,遵循与先前工作相同的协议。我们评估了零次学习重建的质量,并在域内数据集RealEstate10k上比较了性能。我们通过新视图合成指标来评估重建的质量,因为这是该数据集中唯一可用的真实数据。RealEstate10k评估了在源图像和目标图像之间不同距离下重建的质量,因为较小的距离会使任务变得更容易。在表2中,我们观察到,我们在这一成熟的基准测试中,在源图像和目标图像之间的所有距离上均达到了最先进的结果。图3中的进一步分析揭示了,尽管我们的方法使用的GPU数量少了一个数量级(1 vs. 64),但我们的重建结果仍然比先前的最先进方法更锐利、更准确。


与现有的通常评估两个源视图之间插值的两视图方法不同,Flash3D始终从单个视图进行外推。表3报告了相关结果。在这里,由于接收到的信息较少,Flash3D在插值任务上的表现无法超越两视图方法。然而,在视图外推方面,Flash3D超越了所有先前的最先进的两视图方法。这突显了我们方法中的多层高斯表示在捕获和建模未见区域方面的实用性。

深度预测器的重要性。我们移除了预训练的深度网络(用于预测深度D),而是与其他所有参数一起联合估计它。首先,在表4中,我们观察到与Flash3D相比,这种方法的性能显著下降,这表明深度网络包含已经学习到的重要线索。此外,表4的第三行表明,在没有深度网络的情况下,每像素使用2层高斯的表现比仅使用一层更差。我们假设深度网络在避免基于原语的方法的学习能力受限的局部最优解方面发挥了重要作用[9]。从定性角度看,图4的第四列表明,移除深度网络会使学习墙壁(橙色墙壁弯曲)和物体边界(床的形状不正确)的准确几何形状变得困难。


7. 总结 & 未来工作
我们提出了Flash3D模型,该模型仅需在单个GPU上训练16小时,即可实现单目场景重建的最先进结果。我们的公式允许以单目深度估计器为基础进行完整的3D场景重建。因此,该模型具有很好的泛化能力:即使未针对目标数据集进行特定训练,它也能超越先前的工作。分析揭示了预训练网络与学习模块之间的交互机制,而消融实验验证了每个组件的重要性。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊交流群
目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉、大模型、工业3D视觉、SLAM、自动驾驶、三维重建、无人机等方向,细分群包括:
2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
大模型:NLP、CV、ASR、生成对抗大模型、强化学习大模型、对话大模型等
工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机:四旋翼建模、无人机飞控等
除了这些,还有求职、硬件选型、视觉产品落地、最新论文、3D视觉最新产品、3D视觉行业新闻等交流群
添加小助理: dddvision,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。

3D视觉工坊知识星球
3D视觉从入门到精通知识星球、国内成立最早、6000+成员交流学习。包括:星球视频课程近20门(价值超6000)、项目对接、3D视觉学习路线总结、最新顶会论文&代码、3D视觉行业最新模组、3D视觉优质源码汇总、书籍推荐、编程基础&学习工具、实战项目&作业、求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。

3DGS、NeRF、结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测、BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制、无人机仿真、三维视觉C++、三维视觉python、dToF、相机标定、ROS2、机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪,无人机等。

3D视觉相关硬件
图片 | 说明 | 名称 |
---|---|---|
![]() | 硬件+源码+视频教程 | 精迅V1(科研级))单目/双目3D结构光扫描仪 |
![]() | 硬件+源码+视频教程 | 深迅V13D线结构光三维扫描仪 |
![]() | 硬件+源码+视频教程 | 御风250无人机(基于PX4) |
![]() | 硬件+源码 | 工坊智能ROS小车 |
![]() | 配套标定源码 | 高精度标定板(玻璃or大理石) |
添加微信:cv3d007或者QYong2014 咨询更多 |
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
3D视觉科技前沿进展日日相见 ~