【三维重建】【深度学习】NeuS总览

这篇具有很好参考价值的文章主要介绍了【三维重建】【深度学习】NeuS总览。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【三维重建】【深度学习】NeuS总览

论文提出了一种新颖的神经表面重建方法,称为NeuS,用于从2D图像输入以高保真度重建对象和场景。在NeuS中建议将曲面表示为有符号距离函数(SDF)的零级集,并开发一种新的体绘制方法来训练神经SDF表示,因此即使没有掩模监督,也可以实现更准确的表面重建。NeuS在高质量的表面重建方面的性能优于现有技术,特别是对于具有复杂结构和自遮挡的对象和场景。本篇博文将neus的各功能模块做个总览。
【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能



前言

在详细解析NeuS网络之前,首要任务是搭建NeuS【win10下参考教程】所需的运行环境,并完成模型的训练和测试,展开后续工作才有意义。
本博文是对NeuS工程进行总体的预览,暂时不涉及具体的功能模块代码,后续的博文将会陆续讲解。

博主将各功能模块的代码在不同的博文中进行了详细的解析,点击【win10下参考教程】,博文的目录链接放在前言部分。


参数设置

在 exp_runner.py的main函数下,定义了运行neus所需要的参数。

parser = argparse.ArgumentParser()
# 选择读取的配置文件
parser.add_argument('--conf', type=str, default='./confs/base.conf')
# 选择代码运行的模式(训练、精化或者渲染)
parser.add_argument('--mode', type=str, default='train')
# 设置marching_cubes的阈值
parser.add_argument('--mcube_threshold', type=float, default=0.0)
# 是否在已有的最新模型基础上进行下一步操作
parser.add_argument('--is_continue', default=False, action="store_true")
# 设置gpu的序号
parser.add_argument('--gpu', type=int, default=0)
# 设置要处理数据的文件名(相对路径)
parser.add_argument('--case', type=str, default='')
args = parser.parse_args()

配置neus(模型)算法的核心参数都放置在了confs目录下的配置文件中,其他次要参数都是通过命令行输入的形式进行传递的,具体参数的用途,等到讲解具体代码时会说明。
【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能

所谓核心参数就是定义和构建neus模型的结构的参数:组成neus的多个神经网络的配置、数据集处理的相关参数等;
次要参数则是与neus无关的一些辅助性操作:模型权重存储位置、分配gpu等。


数据管理(Dataset)

在models/dataset.py文件内定义的一个数据管理类,用于加载图像数据集以及其对应的mask数据集和相机投影矩阵等,并能够根据NeuS具体的任务需求产生射线rays,用于后续进行采样。

  • gen_random_rays_at: 网格面 ( H , W ) \left( {H,W} \right) (H,W)上任意选择 b b b个网格 ( u i , v j ) \left( {{u_i},{v_j}} \right) (ui,vj),并根据相机内参、外参等计算出对应的 b b b个射线ray在世界坐标系下的向量 ( x i , y i , z i ) \left( {{x_i},{y_i},{z_i}} \right) (xi,yi,zi)这个过程发生在训练过程中。
    【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能

网格面 ( H , W ) \left( {H,W} \right) (H,W)和图像数据集的分辨率 ( H , W ) \left( {H,W} \right) (H,W)大小一致,上述图中蓝色小网格是代表被随机抽中的网格并产生射线ray。

  • gen_rays_at: 网格面 ( H , W ) \left( {H,W} \right) (H,W)上所有网格 ( u i , v j ) \left( {{u_i},{v_j}} \right) (ui,vj),根据相机内参、外参等计算出对应的射线ray在世界坐标系下的向量 ( x i , y i , z i ) \left( {{x_i},{y_i},{z_i}} \right) (xi,yi,zi)这个过程发生在训练阶段的周期性测试中。
    【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能

目的是简单测试下渲染效果,用某个相机位姿对应的原始图片与neus在该相机位姿下渲染的图片做对比。

  • gen_rays_between: 通过俩个相机 i d x 0 idx0 idx0 i d x 1 idx1 idx1的位姿生成介于俩相机之间的相机 i d x r idxr idxr的新位姿,网格面 ( H , W ) \left( {H,W} \right) (H,W)上所有网格 ( u i , v j ) \left( {{u_i},{v_j}} \right) (ui,vj),根据相机 i d x r idxr idxr内参、外参等计算出对应的射线ray在世界坐标系下的向量 ( x i , y i , z i ) \left( {{x_i},{y_i},{z_i}} \right) (xi,yi,zi)这个过程发生在应用阶段。
    【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能

idx0和idx1是真实的相机位姿,idxr并不真实存在,而是计算而来的。其实这个目的是为了检验neus在新的相机位姿下的效果,个人觉得新的相机位姿也可以人工设定,并不一定是采用这种方式。

NeuS网络

  • NeRF: 训练物体以外背景的颜色【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能
  • SDFNetwork: 训练目标物体的sdf值【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能
  • RenderingNetwork: 训练目标物体的RGB值
    【三维重建】【深度学习】NeuS总览,深度学习,三维重建,深度学习,人工智能
    详细网络结构解析博主会在后续的博文中进行说明。

总结

尽可能简单、详细的介绍NeuS工程的总体预览。后续会根据自己学到的知识结合个人理解讲解NeuS的原理和代码。文章来源地址https://www.toymoban.com/news/detail-559644.html

到了这里,关于【三维重建】【深度学习】NeuS总览的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【三维重建】【深度学习】【数据集】基于COLMAP制作自己的NeRF(LLFF格式)数据集

    提示:最近开始在【三维重建】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 LLFF格式是NeRF网络模型训练使用的数据集格式之一,本文基于COLMAP软件展示从LLFF格式数据集的制作到开始模型训练的完整流程。NeRF(神经辐射场)通过输入同一场景不同视角下

    2024年02月10日
    浏览(52)
  • 人工智能生成内容(AIGC)总览记录(认知篇)!!!

    一、AIGC 引入 1.1 AIGC 定义 qquad AIGC 又称生成式 AI (Generative AI) 或人工智能生成内容,是继专业生产内容、用户生产内容 之后的新型内容创作方式,可以在 对话 、 故事 、 图像 、 视频 和 音乐制作 等方面,打造新的 数字内容生成与交互 形式。 与所有人工智能技术一样,A

    2024年02月16日
    浏览(81)
  • 人工智能深度学习

    目录 人工智能 深度学习 机器学习 神经网络 机器学习的范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理 机器学习的方法 回归算法 神经网络 SVM(支持向量机) 聚类算法 降维算法 推荐算法 其他 机器学习的分类 机器学习模型的评估 机器学习的应用 机

    2024年02月22日
    浏览(58)
  • 人工智能之深度学习

    第一章 人工智能概述 1.1人工智能的概念和历史 1.2人工智能的发展趋势和挑战 1.3人工智能的伦理和社会问题 第二章 数学基础 1.1线性代数 1.2概率与统计 1.3微积分 第三章 监督学习 1.1无监督学习 1.2半监督学习 1.3增强学习 第四章 深度学习 1.1神经网络的基本原理 1.2深度学习的

    2024年02月09日
    浏览(55)
  • 人工智能、机器学习、深度学习的区别

    人工智能涵盖范围最广,它包含了机器学习;而机器学习是人工智能的重要研究内容,它又包含了深度学习。 人工智能是一门以计算机科学为基础,融合了数学、神经学、心理学、控制学等多个科目的交叉学科。 人工智能是一门致力于使计算机能够模拟、模仿人类智能的学

    2024年02月08日
    浏览(56)
  • 机器学习入门教学——人工智能、机器学习、深度学习

    1、人工智能 人工智能相当于人类的代理人,我们现在所接触到的人工智能基本上都是弱AI,主要作用是正确解释从外部获得的数据,并对这些数据加以学习和利用,以便灵活的实现特定目标和任务。 例如: 阿尔法狗、智能汽车 简单来说: 人工智能使机器像人类一样进行感

    2024年02月09日
    浏览(91)
  • 探索人工智能:深度学习、人工智能安全和人工智能编程(文末送书)

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 购书链接,限时特惠5折 这本书是美国

    2024年02月03日
    浏览(119)
  • 一探究竟:人工智能、机器学习、深度学习

    1.1 人工智能是什么?          1956年在美国Dartmounth 大学举办的一场研讨会中提出了人工智能这一概念。人工智能(Artificial Intelligence),简称AI,是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的

    2024年02月17日
    浏览(53)
  • 12、人工智能、机器学习、深度学习的关系

    很多年前听一个机器学习的公开课,在QA环节,一个同学问了老师一个问题“ 机器学习和深度学习是什么关系 ”? 老师先没回答,而是反问了在场的同学,结果问了2-3个,没有人可以回答的很到位,我当时也是初学一脸懵,会场准备的小礼品也没有拿到。 后来老师解释“机

    2024年02月05日
    浏览(72)
  • 机器学习、人工智能、深度学习三者的区别

    目录 1、三者的关系 2、能做些什么 3、阶段性目标 机器学习、人工智能(AI)和深度学习之间有密切的关系,它们可以被看作是一种从不同层面理解和实现智能的方法。 人工智能(AI):人工智能是一门研究如何使计算机能够模仿人类智能的学科。它涵盖了各种技术和方法,

    2024年02月14日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包