关于NeRF方向的三维重学习笔记

优点:NeRF可以使用2D图像训练,相比3D标注的训练成本低;

缺点:泛化性差,每换一个场景就要重新训练一次;

应用场景:作用是直接生成3D场景的语义分割/实例分割/全景分割

NeRF的核心一:神经辐射场

辐射场:由光源发出的光线在场景中的传播和反射过程中所形成的能量分布。通俗来说就是一个函数,记录了空间某个位置处向某个方向的辐射信息,辐射信息(或者说能量分布)其实就是颜色、亮度、阴影等信息。神经辐射场:用神经网络储存空间位置向任意方向的辐射。

NeRF的核心二:体渲染

NeRF是隐式建模,因为模型是储存在MLP里面的,模型就是MLP的参数,这和以往点云和mesh建模不同(点云/mesh是可以直接看到模型的)。NeRF必须查询一个个的三维点,然后渲染成一张图像。这种查看方式或者说渲染方式就叫体渲染

体渲染步骤:

  • 从相机光心发出穿透每个像素的射线,射线上取三维采样点
  • 将采样点坐标和视角方向送入MLP计算颜色和体密度;
  • 按体密度积分(堆叠)颜色信息,形成2D图像

训练流程如下:

在每一轮迭代中:
1.随机选取部分像素生成采样射线;

2.用多层网络生成 Nc+Nf个采样点;
3.体渲染;
4.计算损失;
5.误差反向传播。

GNeSF框架三个关键部分:

1、从多个视角图像中提取特征和语义预测(蓝色虚线框);

2、预测采样3D点的几何和语义(黄色虚线框);

3、使用体渲染预测语义图(红色虚线框)

论文名称:GNeSF: Generalizable Neural Semantic Fields

论文地址:https://arxiv.org/abs/2310.15712

3D语义分割如何实现

3D语义分割实际上也就是预测3D空间中每个采样点的语义类别。假设几何信息为SDF值,将超出第一截断区域的样本权重设置为零,那么可以将体渲染公式中的权重修改。

NeRF的研究热点

(1)质量,如mip-NeRF

(2)训练及推理速度,如instant NGP;

(3)大场景,如block-NeRF;

(4)动态场景,如neural body;

(5)编辑,如NeRF-Editing等几个方向。

以上方面基本上都是在解决一些通用问题,面向实际应用的问题实际上目前并没有大量地开始解决。

这些问题大致可以分为几类:

(1)面向实际场景。

目前的研究主要面向物体数据集,针对自动驾驶、无人机、室内等场景,目前虽然已经有block-nerf等工作,但是对于动态物体渲染、大场景快速训练、高分辨率、光照等各种问题并没有完全解决。

(2)面向实际采集条件。

实际的采集条件往往是位姿非常稀疏的(甚至只有一张图)、同时也可能是不同时间、天气、条件、scale等各种条件约束的,虽然目前有sinnerf、psnerf、BungeeNeRF等工作,但是对于模糊等问题还是无法像人一样利用鲜艳进行补充。

(3)面向实际应用条件。

实际的渲染条件往往需要时可编辑的,例如光照、阴影等等。同时也需要在手机上能够渲染甚至训练,以方便各种可视化场景(例如地图)、创作需求(例如抖音特效)。这几个方面仍然需要提高。

(4)面向更多应用.

创作会是一大块,例如多模型NeRF,最近爆火的以文生图、Diffusion Model,结合NeRF是否可以做到2D-3D的生成,甚至加一个时间维度,然后生成4D的短视频效果。Magic3D: High-Resolution Text-to-3D Content Creation

(5)面向多任务联合.

基于NeRF的XXX,例如语义分割、实例分割、全景分割、目标检测、分类、三维重建等等。都可以与NeRF技术联合起来,探索NeRF技术的数据生成、多视角联合优化等方面的效果。NeRF-RPN: A general framework for object detection in NeRFs

总的来说,NeRF接下来能够比较好出成果的地方更多集中在对更实际条件下各种问题的解决,以及基于NeRF延伸的各种应用、各种任务。

AutoRF、Neural Scene Graph、PNF或DisCoScene等方法为边界框中包含的每个目标构建一个完整的3D辐射场。通过将目标的辐射场视为独立实体,我们可以通过仅关注光线与这些边界框相交的相关点(光线框相交)来更有效地渲染场景。这允许通过操纵边界框进行图像编辑,从而在不改变目标视觉外观的情况下重新定位(旋转和平移)场景中的目标。对于删除或复制等操作,用户可以通过删除或克隆边界框来调整场景的布局。在没有边界框的场景中,通过将与目标实例关联的点密度降低到零来完成目标移除。同时,复制目标的MLP或其潜在代码的权重可能会导致场景中该实例的克隆。

目标检测和6D姿态估计

3D目标检测的任务对于各种应用来说是必不可少的,因为它提供了对三维目标大小和位置的详细了解。由于在获得精确的3D数据和附加自由度(DoF)方面的挑战,该任务比2D目标检测更复杂。基于点云表示的方法在很大程度上依赖于来自专门传感器的准确数据。因此,有必要采用创新技术来利用NeRF的能力,同时解决从2D图像中精确检测3D目标的复杂性。

3D目标检测

NeRF-RPN用于识别场景中的所有边界框。该过程首先对点网格进行采样,使用预训练的NeRF模型从中提取RGB和密度值。然后,通过三维特征金字塔网络(FPN)主干对这些体积特征进行处理,产生深度、多尺度的三维特征。这些特征被输入到3D区域建议网络(RPN)头中,生成区域建议。NeRF-RPN的一个关键创新是使用了一种新的体素表示,集成了多尺度3D神经体积特征。这允许NeRF内的3D边界框的直接回归,而不需要从任何视点进行渲染。相反,NeRF-Det,一种NeRF和Det联合方法,使用共享的基于几何结构的MLP将NeRF分支与检测分支连接起来。这种设置使检测分支能够使用来自NeRF的梯度流来估计不透明度场。因此,它有效地屏蔽了自由空间,减少了特征量的模糊性,比NeRF-to-Det方法有所改进。

MonoNeRD通过将中间截头体表示视为基于SDF(基于符号距离函数)的NeRF,来接近NeRF的单目3D检测的概念。然后使用体积渲染技术对其进行优化。该过程涉及对这些截头体特征进行网格采样,以构建具有相应密度的规则3D体素特征。这些体素特征随后被输入到检测模块中。该方法在使用NeRF的单目3D检测中建立了一个新的标准。

6D姿态估计

ShAPO从单个RGB-D观测中提取多个物体的全面3D细节。这包括目标的形状、6D姿势、比例和外观。该技术使用基于八叉树的可微优化,绘制从FPN主干派生的姿势、纹理和遮罩。NCF是一种使用单个RGB图像来估计刚性目标的6D姿态的方法。它从摄影机空间映射到目标模型空间。NCF预测模型空间中对应的3D点及其符号距离。这有助于创建3D-3D对应关系,这对于确定目标的姿势至关重要。NeurOCS专注于预测目标掩码和NOCS(归一化目标坐标空间)图,然后将其用于PnP(透视n-Point)算法来估计目标姿态。此外,将单独的检测器应用于NOCS和预测的深度数据,有助于精确的3D目标定位。

Objects vs Background

NeRF-W结合了每帧嵌入和瞬态分支,以对无约束照片集中的非光度一致效果进行建模。尽管它并不是专门设计用来将物体与其周围环境区分开来的,但它为在各种环境中捕捉前景元素提供了一种创新的方法。

vMAP设计了一个矢量化的目标级映射,其中每个目标都通过其3D点云和实例分割图进行检测,然后由单独的MLP表示。通过跨帧的数据关联,不断更新3D边界,与传统SLAM系统相比,提高了目标级重建质量和运行时效率。

AssetField使用与物理地面对齐的信息性地面特征平面,在鸟瞰图(BEV)中呈现场景的自然可视化。这种方法提取并分类场景目标的神经表示,使用户能够使用来自多个场景的特征块直接在地面特征平面上操作和组合资产。

Static vs Dynamic Objects

感知和表示动态环境对于自主主体理解周围环境并与之互动至关重要。关键的挑战是在重建动态场景的同时解开相机和物体的运动。这样的表示允许在动态设置中合成新的视图,或者区分移动和静止元素,提供视角和时间的灵活性,即以自由视图和时变方式。将时间因素纳入MLP可能是一种可行的方法。这将涉及对时间变量t进行编码,或者通过使用频率编码或4D哈希网格将其映射到更高维空间,以与空间坐标x和d相似的方式,或者通过所建议的可学习的、与时间相关的潜在代码。

对于以静态为主的场景,优化单个模型可能会导致输出模糊和不一致。Dyn-NeRF和STaR等解决方案已被开发用于将移动物体与静态背景分离。它们对静态景观和动态对象使用两个独立的分支:一个静态分支包含视频中一致的非移动地形,另一个动态分支处理动态对象。这些分支的训练通常使用预先存在的语义和运动分割方法,创建将“动态”像素排除在静态训练过程之外的掩码。这种方法确保了在不冲突损失的情况下准确地重建背景,避免了由移动物体引起的误差。此外,可以通过正则化以自监督的方式考虑时间变化,这使得动态场能够在必要时进行学习。

其他工作D2NeRF、HyperNeRF、NSFF、SAFF、Factored-NeRF、Neural Scene Graphs、MARS、EmerNeRF、Neural groundplans可以参考具体论文。

NeRFs and Language

Text-driven 3D Generation and Editing

近年来,文本引导图像生成取得了巨大成功,这主要归功于语言图像和扩散模型的惊人进步。这些也激发了文本引导形状生成的重大突破。这一进展影响了研究,将NeRFs与文本输入描述联系起来。

CLIP-NeRF通过促进场景的CLIP嵌入之间的相似性,促进通过短文本提示或示例图像对NeRF进行用户友好的操作,从而扩展了条件神经辐射场(NeRF)的工作。这种方法解开了潜在的表示,允许对对象的形状和外观进行单独的控制。因此,它能够创建代码映射器,通过文本提示或图像基于用户指定的编辑来修改潜在代码,展示了改进的编辑能力,并缩小了文本和视觉编辑提示之间的差距。DreamField采用了在网络字幕图像的大型数据集上预先训练的CLIP模型。它指导生成过程,使渲染图像根据CLIP模型在目标字幕的情况下获得高分,即使不需要访问3D形状或多视图数据。该方法有助于从字幕生成不同的3D对象的零样本。

其他算法DreamFusion、Latent-NeRF、DITTO-NeRF、LaTeRF、SINE、NeRF-Art、Blending-NeRF、Instruct-NeRF2NeRF、CompoNeRF、Set-the-Scene可以参考具体论文。

Queryable Interaction

CLIP-Fields集成了CLIP图像编码器、Sentence BERT和NeRF的优势,创建了可查询移动机器人的3D场景表示。该架构配备了头,输出与自然语言描述、对象的视觉外观以及空间中每个特定点的实例标识相对应的矢量。它使用了两种对比损失:一种用于标签标记,另一种用于视觉语言嵌入。CLIP字段在低镜头场景和标签错误中表现出了稳健性,能够回答不同程度的真实复杂度的查询。VL字段旨在克服CLIP字段的局限性,CLIP字段仅限于具有已知对象类的场景点的子集。它提出了一种开放集视觉语言模型,该模型在没有场景中存在的对象类的先验知识的情况下进行操作。

LERF使用多尺度特征金字塔,结合3D CLIP字段和DINO特征来细化语言查询交互的对象边界。它允许对提取的3D CLIP嵌入进行像素对齐查询,而不需要区域建议、掩码或微调。LERF支持跨场景体积的分层、长尾、开放词汇查询。F3RM利用深度融合场(DFF)方法,为抓取和放置任务进行了少量的射击学习实验。这使机器人能够响应自然语言命令执行6-DoF对象操作,表现出处理具有显著差异的看不见的对象的开放集泛化能力。GNFactor优化了用于重建的可推广NeRF,以及用于决策的感知转换器。该转换器集成了机器人的本体感觉和语言功能,以执行基于Q函数的决策,促进了机器人应用程序中的高级决策过程。
 

挑战与展望

要在语义感知的NeRFs领域取得进展,有针对性的研究工作至关重要。本节概述了我们已确定为关键重点领域的主要挑战和改进机会。

  • 场景泛化。当前的语义感知NeRF(SRF)方法能够在不需要特定场景的训练或优化的情况下处理数据集,这标志着与原始NeRF方法相比取得了重大进展,因为原始NeRF缺乏任何跨数据集泛化的能力。尽管有这些改进,但仍有明显的局限性。当前的方法可能需要昂贵、密集的语义注释,需要大量的数据量,在合成环境中占主导地位,或者在新的视图合成中产生模糊,这通常归因于L2损失训练。测试期间视点密度的变化进一步放大了这些挑战,影响了传统的性能和效率。此外,虽然一些策略使用预先训练的稀疏检测器和分割网络,但它们往往只实现以对象为中心的泛化。解决这些挑战以提高跨数据集的泛化能力,或将其各自的优势结合起来,将是一个巨大的飞跃,实现从采集到渲染的真正实时应用程序;
  • 相机标定。虽然一些基于NeRF的方法被设计为拍摄未经处理的图像并同时恢复其外参矩阵,但大多数NeRF导数都是在假设作为输入提供的RGB视图已经摆出姿势的情况下工作的。因此,即使是微小的校准错误也会导致不同视图之间的语义严重错位。这种错位可能会导致过程中的早期失败,而在随后的训练或场景优化阶段,这些失败往往是不可逆转的。因此,在整个NeRF领域内,显然有必要不仅改进校准技术,而且在训练过程中开发特定的姿势细化机制;
  • 数据效率和增强。应对数据效率挑战对于使NeRF在现实世界环境中更加实用至关重要。未来的工作可能涉及探索用更少的训练数据和更少的注释来训练准确的语义感知模型的方法,使其更易于用于更广泛的应用,特别是在现实世界环境中的一次/几次拍摄设置中。将语义理解成功集成到NeRF中,有可能通过提供对3D环境更有意义和上下文感知的解释,显著增强增强现实、自主导航等领域的应用。这些功能使NeRF非常适合作为各种组件的基础。通过理解场景的分解并允许对模拟环境进行动态调整,NeRF成为创建闭环模拟真实场景的宝贵资产,为许多系统的训练和测试场景提供了关键元素。此外,它对数据扩充的适应性增强了它在提高机器学习模型的鲁棒性和泛化能力方面的效用;
  • 多模态、多任务、高效的场景理解。目前,在NeRF领域研究的大多数多模态方法都以textTo3D为中心。尽管有广泛的潜在多任务组合可供选择,但许多组合在很大程度上仍未被探索,这意味着错过了发现新的、相互信息丰富的任务的机会,特别是在辐射场领域。例如,声音处理或其他类型的输入等领域还有待充分探索;
  • 实时和移动性能。NeRF在计算效率方面遇到了挑战,特别是由于专门的体积渲染算法与广泛部署的图形硬件不匹配。这些计算密集型方法往往需要延长渲染时间和大量资源,阻碍了实时应用。为了解决这一问题,探索替代数据结构或渲染技术,特别是那些适用于低计算量移动设备的数据结构或绘制技术,是一条很有前途的途径。例如具有不受限制的渲染效率的3D高斯飞溅(3DGS)和其他非语义感知策略可以类似地用作SRF的骨干模型。
  • 伦理问题和社会影响。可编辑NeRF的生成能力允许创建照片级真实感的3D对象、人类和以前从未见过的场景,这可能会带来类似于DeepFakes在2D图像生成中所看到的挑战。这些潜在问题需要类似的审查和努力来缓解。相反,由于其用户友好的设计,这些方法的生成性和可编辑性可以为3D爱好者和内容创作者提供大量机会。
  • 性能评估。当前的度量,例如用于新颖视图合成的度量,在该领域中是公认的。然而,这些指标与人类感知是脱钩的,这意味着定量评估无法以与人类评估一致的方式保证客观最优。由于缺乏复合度量,多任务模型也面临问题,而依赖于不相交的线性组合度量。现有的学习感知度量,例如LPIPS,仅限于静态图像帧的评估。他们不考虑视频或3D在形状、外观和语义方面的一致性。这是一个必要的研究机会,可以评估典型的动态复杂3D环境。
  • 协作框架。认识到分散的代码库和缺乏统一支持所带来的困难,Nerfs-tudio是一个端到端的框架,它聚合了模块化即插即用组件,例如查看器、算法、数据集和基准标记工具。这有助于跨不同实现集成功能,简化研究人员和从业者的协作过程,并通过本地支持语义信息的实时可视化工具增强可访问性。这些框架提供了一个有凝聚力和可扩展性的平台,可以促进合作,加快进展,并有助于更高效、更一致地推进NeRF研究。

三维生成相关文献

[1] Chan, Eric R., et al. "Effi cient geometry-aware 3D generative adversarial networks." CVPR 2022.
[2] Poole, Ben, et al. "Dreamfusion: Text-to-3d using 2d diffusion." arXiv preprint arXiv:2209.14988 (2022).
[3] Schwarz, Katja, et al. "Graf: Generative radiance fields for 3d-aware image synthesis." NeurlPs 2020.

[4]Chan, Eric R, et al."pi-GAN: Periodic implicit generative adversarial networks for 3d-aware image synthesis." CVPR 2021.

[5] Niemeyer et al. "Giraffe: Representing scenes as compositional generative neural feature fields." CVPR 2021.

[6] Deng, Yu, et al. "Gram: Generative radiance manifolds for 3d-aware image generation." CVPR 2022.

[7] Xiang, et al. "Gr am-hd: 3d-consistent image generation at high resolution with generative radiance manifolds" arXiy 2022

[8] Chen, Xingyu, Yu Deng, and Baoyuan Wang. "Mimic3D: Thriving 3D-Aware GANs via 3D-to-2D lmitation." arXiv 2023.

[9] Poole, Ben, et al. "Dreamfusion: Text-to-3d using 2d diffusion." arXiv preprint arXiv:2209.14988 (2022)

[10] Lin, Chen-Hsuan, et al. "Magic3D: High-resolution text-to-3d content creation." CVPR 2023.[11] Wang, et al."ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation" arXiv 2023

[12] Xiang, lianfeng, et al. "3D-aware lmage Generation using 2D Diffusion Models." arXiv preprint arXiy:2303.17905 (2023).

[13] Chan, Eric R, et al. "Generative novel view synthesis with 3d-aware difusion models," arXiv preprint arXiy:2304.02602 (2023)

[14] Wang, Tengfei, et al."Rodin: A generative model for sculpting 3d digital avatars using diffusion." CVPR 2023.

[15] Liu, Steven, et al. "Editing conditional radiance fields" ICCy 2021.

[16] Yuan, Yu-jie, et al. "NeRF-editing: geometry editing of neural radiance fields." CVPR 2022.[17] Yang, et al."'Neumesh: Learning disentangled neural mesh-based implicit field for geometry and texture editing" ECCy 2022

[18] Zhang, Kai, et al. "Arf: Artistic radiance fields." ECCV 2022.

  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<项目介绍> 基于NeRF进行手机拍摄照片的三维建python源码.zip 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 训练的准备工作 自建数据集 拍摄的物体图片压缩包 https://pan.baidu.com/s/13DWlJgmLqqrlGUWiJMqRYw?pwd=kp7b 注意解压后所有图片放在 "./data/COLMAP_test/images/" 路径下 生成位姿和点云 ``` python imgs2poses.py "./data/COLMAP_test" ``` Install requirements: ``` pip install -r requirements.txt ``` 更改配置文件 打开 ./configs/COLMAP_test.txt 进行更改, 由于使用的是自建数据集,因此需将`dataset_type` 设置为 `llff`. 训练 ``` python run_nerf.py --config configs/COLMAP_test.txt ``` It will create an experiment directory in `./logs`, and store the checkpoints and rendering examples there. 测试 Once you have the experiment directory (downloaded or trained on your own) in `./logs`, - to render a video: ``` python run_nerf.py --config configs/COLMAP_test.txt --render_only ``` The video would be stored in the experiment directory.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大胡子大叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值