(NeRF学习)NeRFStudio安装win11

参考:

  • 【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程
  • nerfstudio介绍及在windows上的配置、使用
  • NeRFStudio官网github
  • RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory原因及解决

目录

  • requirements
  • 一、创建环境
  • 二、安装依赖
      • 1.安装pytorch
      • 2.安装tiny-cuda-nn
      • 3.安装nerfstudio
  • 三、训练模型
  • 四、加载预训练模型
  • 五、导出结果
      • 1.渲染视频
      • 2.生成点云
      • 3.生成网格
      • 4.对比一下

requirements

cuda 11.8(11.5以上)
conda
python 3.8 (>=3.8 )
cmake
visual studio 2019/2022

一、创建环境

anaconda prompt中创建conda环境:

conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
pip install --upgrade pip

二、安装依赖

1.安装pytorch

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

2.安装tiny-cuda-nn

按照官方文档上的方法执行会报错,找了一个教程安装:https://blog.csdn.net/yangyu0515/article/details/131959907#comments_29299437 照着这个教程的【直接下载(推荐)】那里开始安装就可以了。

3.安装nerfstudio

简单的选择:

pip install nerfstudio

或者,如果您想要最新和最好的:

git clone https://github.com/nerfstudio-project/nerfstudio.git
cd nerfstudio
pip install --upgrade pip setuptools
pip install -e .

三、训练模型

  1. 下载kitchen测试集,解压缩,并将其拷贝到nerfstudio的data/nerfstudio目录下,data/nerfstudio需自己创建;https://drive.google.com/drive/folders/19TV6kdVGcmg3cGZ1bNIUnBBMD-iQjRbG
    官网也提供了下载模型的方法:

    # Download some test data:
    ns-download-data nerfstudio --capture-name=poster
    # Train model
    ns-train nerfacto --data data/nerfstudio/poster# Train model
    ns-train nerfacto --data data/nerfstudio/poster`
    
  2. kitchen目录下已有transforms.json,若是自己拍摄的图像序列如lego,则执行如下命令生成transforms.json:

ns-process-data images --data data/nerfstudio/lego/train --output-dir data/nerfstudio/lego --camera-type perspective --matching-method exhaustive --sfm-tool colmap --crop-factor 0.0 0.0 0.0 0.0
  1. 执行如下命令进行训练:迭代产生的checkpoint存储在outputs/kitchen/nerfacto目录下
ns-train nerfacto --data data/nerfstudio/kitchen --vis viewer --max-num-iterations 50000

在第一次执行训练命令的时候我报错了:PytorchStreamReader failed reading zip archive: failed finding central ,解决方法如下:我估计是因为之前网络不好啥的导致下载的权重文件有点问题,所以找到 C:\Users\Administrator.cache\torch\hub\checkpoints\alexnet-owt-7be5be79.pth 将其删除。重新执行后问题解决。
在这里插入图片描述
训练进度如下图所示:
在这里插入图片描述
可视化效果:
在这里插入图片描述

四、加载预训练模型

可以加载预训练模型,如下命令所示:这将自动开始继续训练 :

ns-train nerfacto --data data/nerfstudio/kitchen --load-dir outputs/kitchen/nerfacto/2024-01-02_164443/nerfstudio_models

在这里插入图片描述
在这里插入图片描述
可以加载预训练模型进行可视化查看:

ns-viewer --load-config outputs/kitchen/nerfacto/2024-01-02_174829/config.yml

在这里插入图片描述
在这里插入图片描述

每个命令都有很多参数,可以通过–help查看具体支持哪些参数及参数的用处,如:

ns-render --help
ns-train --help
ns-train nerfacto --help

五、导出结果

获得 NeRF 模型后,您可以渲染视频或导出点云。

1.渲染视频

在这里插入图片描述
导出方法如图:
在这里插入图片描述
执行代码:

ns-render camera-path --load-config outputs\kitchen\nerfacto\2024-01-02_174829/config.yml --camera-path-filename data\nerfstudio\kitchen/camera_paths/2024-01-02_174829.json --output-path renders/data\nerfstudio\kitchen/2024-01-02_174829.mp4

在这里插入图片描述
渲染视频:

nerfstudio渲染视2024-01-02_174829

2.生成点云

在这里插入图片描述
在可视化web上面我们可以选择导出点云的配置,并复制command进行导出:

ns-export pointcloud --load-config outputs\kitchen\nerfacto\2024-01-02_174829/config.yml --output-dir exports/pcd/ --num-points 1000000 --remove-outliers True --normal-method open3d --use-bounding-box True --bounding-box-min -1 -1 -1 --bounding-box-max 1 1 1

在这里插入图片描述
在这里插入图片描述

3.生成网格

在可视化web上面我们可以选择导出网格的配置,并复制command进行导出:

ns-export poisson --load-config outputs\kitchen\nerfacto\2024-01-02_174829/config.yml --output-dir exports/mesh/ --target-num-faces 50000 --num-pixels-per-side 2048 --normal-method open3d --num-points 1000000 --remove-outliers True --use-bounding-box True --bounding-box-min -1 -1 -1 --bounding-box-max 1 1 1

在这里插入图片描述
在这里插入图片描述
导出后在exports\mesh中有四个文件:
在这里插入图片描述

MTL文件是一种包含材质定义的文件格式,通常用于与3D模型文件一起使用。MTL是英文Material Library的缩写,它存储了模型的材质信息,包括颜色、纹理、光照等属性。

4.对比一下

对比一下ply和mesh里点云的区别:可以看到ply里面是没有面数据的……在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316547.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux使用yum命令安装postgrepsql

1.检查安装源 yum search postgresql 2.安装 yum install postgresql-server 3.启动数据库 service postgresql start 4.查看启动状态 service postgresql status 5.登陆测试 su - postgrep psql \l6.远程连接 6.1修改配置文件 在pg_hba.conf增加host all all 0.0.0…

地产集团如何利用数据做好经营分析?

企业数字化转型离不开数据的支持,如何通过数据的沉淀、拉通及分析,更好的赋能业务和管理实现价值创造,是当前地产数字化面临的首要问题。 一、地产集团数据处理和应用的现状 目前地产集团都是多业态的发展模式,包括地产住宅开发、…

python入门

目录 1.数据的输入和输出 1.输入 ​编辑 2.输出 2.if语句,条件判断 3.循环 1.while 2.for 1.数据的输入和输出 python不用像c语言一样给一个变量初始化一个类型,直接赋值就行了 像这样,连分号都不用加 这里我用python自带的 type函数…

How to understand the Pangu model in Huawei Cloud

How to understand the Pangu model in Huawei Cloud 参考文献 产品首页 / 盘古大模型文档首页 / 盘古大模型

Modbus 通信协议 二

Modbus 常用缩写 通用Modbus帧结构 -应用数据单元(ADU) Modbus数据模型 Modbus ADU 和 PDU 的长度 Modbus PDU结构 串行链路上的 Modbus 帧结构 Modbus 地址规则 ASCLL 模式 和 RTU 模式的比较 RTU 模式 RTU 模式位序列 帧格式 帧的标识与鉴别 CRC 循环冗…

Windows mp4info使用教程(提取MP4盒子信息、MP4 box信息、box分析工具、atom分析工具)

参考文章:https://www.onlinedown.net/soft/617940.htm 文章目录 软件主界面打开视频文件点击左方能看到各盒子信息 软件主界面 双击打开软件: 打开视频文件 点击左方能看到各盒子信息 比我用xxd命令查看原始16进制数据方便多了。 ᅟᅠ        …

利用提示工程,提升LLM将自然语言转化为SQL的准确性

大型语言模型 (LLM) 已展现出理解自然语言提示并生成连贯响应的卓越能力。 这为将自然语言翻译成 SQL 等结构化查询语言开辟了新的可能性。 过去,编写 SQL 查询需要技术专业知识,而LLM允许任何人用简单的英语描述他们想要的内容,并自动生成相…

draw流程图工具导入云原生(CNCF)相关控件

目录 1、通过draw导入xml文件,获取云原生相关的空间 2、引用自己的资源链接: 1、通过draw导入xml文件,获取云原生相关的空间 导入资源图库,资源放在下方,大家可以下载: 2、引用自己的资源链接:…

JAVAEE初阶相关内容第二十弹--HTTP协议

写在前:2024年啦!新的一年要努力学习啦 本篇博客围绕HTTP协议,对HTTP协议进行了解,需要理解其工作过程,对HTTP协议格式要清楚,通过抓包工具进行协议分析,认识“方法”、“请求报头”&#xff0c…

打造绿色饲养链:河南恩珅德农业引领可持续农业发

在河南恩珅德农业的引领下,可持续农业的概念得到了更进一步的实践和推动。其致力于打造绿色饲养链的努力,旨在通过创新的理念和科技手段,实现饲养业的可持续发展。本文将深入探讨河南恩珅德农业是如何引领可持续农业发展,打造绿色…

Spring技术内幕笔记之IOC的实现

IOC容器的实现 依赖反转: 依赖对象的获得被反转了,于是依赖反转更名为:依赖注入。许多应用都是由两个或者多个类通过彼此的合作来实现业务逻辑的,这使得每个对象都需要与其合作的对象的引用,如果这个获取过程需要自身…

mysql的读写分离

MySQL 读写分离原理 读写分离就是只在主服务器上写,只在从服务器上读。 主数据库处理事务性操作,而从数据库处理 select 查询。 数据库复制被用来把主数据库上事务性操作导致的变更同步到集群中的从数据库。 常见的mysql读写分离分为以下两种 1&…