(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.rhkb.cn/news/229600.html

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

相关文章

不同角度深入探讨Maya和Blender这两款软件的差异

当我们面对三维建模软件的选择时,许多初学者可能会感到迷茫。今天,我们将从不同角度深入探讨Maya和Blender这两款软件的差异,特别是对于游戏建模领域的用户来说,这将有助于您更好地理解两者之间的区别。 软件授权与开发背景&#…

Python爬虫中的协程

协程 基本概念 协程:当程序执行的某一个任务遇到了IO操作时(处于阻塞状态),不让CPU切换走(就是不让CPU去执行其他程序),而是选择性的切换到其他任务上,让CPU执行新的任务&#xff…

引导过程的解析以及教程za

bios加电自检------mbr--------grub-------加载内核文件------启动第一个进程 bios的主要作用:检测硬件是否正常,然后根据bios中的启动项设置,去找内核文件 boot开机启动项顺序,你可以把内核文件放在何处? 1.硬盘 …

MySQL将多条数据合并成一条的完整示例

数据库中存的是多条数据,展示的时候需要合并成一条 数据表存储形式如下图 以type分组,type相同的算一条,且保留image和link的所有数据,用groupBy只保留一条数据 解决方案:用GROUP_CONCAT 完整语法如下 group_concat…

基于YOLOv8深度学习的人脸面部表情识别系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

10 个值得收藏的顶级手机数据恢复软件【2024年最新】

手机数据恢复,不要担心,今天就给大家分享10款数据恢复软件! 现代人的手机中存储了许多重要数据,如照片、视频、消息、联系人等文件,如果手机损坏或数据丢失,这是一件非常烦恼的事情。此时,一款好…

解决jenkins的Exec command命令不生效,或者执行停不下来的问题

Jenkins构建完后将war包通过 Publish Over SSH 的插件发布到服务器上,在服务器上执行脚本时,脚本中的 nohup 命令无法执行,并不生效,我配置的Exec command命令是后台启动一个war包,并输出日志文件。 nohup java -jar /…

nginx源码分析-4

这一章内容讲述nginx的模块化。 ngx_module_t:一个结构体,用于描述nginx中的各个模块,其中包括核心模块、HTTP模块、事件模块等。这个结构体包含了一些模块的关键信息和回调函数,以便nginx在运行时能够正确地加载和管理这些模块。…

《动手学深度学习》学习笔记 第5章 深度学习计算

本系列为《动手学深度学习》学习笔记 书籍链接:动手学深度学习 笔记是从第四章开始,前面三章为基础知道,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很…

算法学习系列(十四):并查集

目录 引言一、并查集概念二、并查集模板三、例题1.合并集合2.连通块中点的数量 引言 这个并查集以代码短小并且精悍的特点,在算法竞赛和面试中特别容易出,对于面试而言,肯定不会让你去写一两百行的代码,一般出的都是那种比较短的…

[GKCTF 2020]ez三剑客-eztypecho

[GKCTF 2020]ez三剑客-eztypecho 考点:Typecho反序列化漏洞 打开题目,发现是typecho的CMS 尝试跟着创建数据库发现不行,那么就搜搜此版本的相关信息发现存在反序列化漏洞 参考文章 跟着该文章分析来,首先找到install.php&#xf…

Unable to connect to Redis server

报错内容: Exception in thread "main" org.redisson.client.RedisConnectionException: java.util.concurrent.ExecutionException: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 175.24.186.230/175.24.186.230…

使用idea构建父子类springboot项目教程

第一步创建一个父类java项目(最外层java项目) 1.点击File 然后点击new 再点击Project 2.点击Maven 配置Java版本 再点击next 3.GroupId:包结构,ArtifactId:项目名称,填写完,点击next 4.点击…

IOS - 手机安装包 ipa 常见几种方式

安装 ipa 包的方法有很多中,可以通过不同的软件安装,本文只列出了常用的几种,做个简单的归纳整理 1、iTunes 安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任此电脑&#xff0…

基于springboot的火锅店管理系统设计与实现

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅一 、设计说明 1.1选题动因 当前…

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

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

Selenium教程06:单选框+多选框+下拉框组件的示例练习

1.Radio单选框的示例用法&#xff0c;通过网页元素class和type属性多条件共同定位元素&#xff0c;模拟依次选中Android&#xff0c;Apple&#xff0c;Windows。 网页元素结构 <input type"radio" class"ivu-radio-input" name"ivuRadioGroup_170…

Flink-【时间语义、窗口、水位线】

1. 时间语义 1.1 事件时间&#xff1a;数据产生的事件&#xff08;机器时间&#xff09;&#xff1b; 1.2 处理时间&#xff1a;数据处理的时间&#xff08;系统时间&#xff09;。 &#x1f330;&#xff1a;可乐 可乐的生产日期 事件时间&#xff08;可乐产生的时间&…

240101-5步MacOS自带软件无损快速导出iPhone照片

硬件准备&#xff1a; iphone手机Mac电脑数据线 操作步骤&#xff1a; Step 1: 找到并打开MacOS自带的图像捕捉 Step 2: 通过数据线将iphone与电脑连接Step 3&#xff1a;iphone与电脑提示“是否授权“&#xff1f; >>> “是“Step 4&#xff1a;左上角选择自己的设…

石头剪刀布游戏 - 华为OD统一考试

OD统一考试 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 石头剪刀布游戏有 3 种出拳形状: 石头、剪刀、布。分别用字母 A,B,C 表示游戏规则&#xff1a; 出拳形状之间的胜负规则如下: A>B; B>C; C>A&#xff1b; 左边一个字母&#xff0c;…