nerfstudio介绍及在windows上的配置、使用

news2024/9/20 17:06:06

      nerfstudio提供了一个简单的API,可以简化创建、训练和可视化NeRF的端到端过程。该库通过模块化每个组件来支持可解释的NeRF实现。nerfstudio源码地址: https://github.com/nerfstudio-project/nerfstudio , 通过模块化集成了多个NeRF扩展的实现,持续更新,带界面,license为Apache-2.0。

      目前已支持的方法
      (1).Nerfacto: facto NeRF,将专注于质量的模块和专注于更快渲染的模块相结合;
      (2).NeRF:《Representing Scenes as Neural Radiance Fields for View Synthesis》;
      (3).Instant NGP:《Instant Neural Graphics Primitives with a Multiresolution Hash Encoding》;
      (4).Mipnerf: 《A Multiscale Representation for Anti-Aliasing Neural Radiance Fields》;
      (5).NerfW: 《Neural Radiance Fields for Unconstrained Photo Collections》;
      (6).Semantic NeRF: 《In-Place Scene Labelling and Understanding with Implicit Scene Representation》.

      nerfstudio在windows上的配置
      1.安装vs2019 + cuda 11.6;
      2.通过conda创建虚拟环境nerfstudio,依次执行如下命令:

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

      3.安装依赖:
      (1).pytorch 1.13.1, 执行如下命令:

pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html

      (2).tinycudann, 执行如下命令:

pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

      4.安装nerfstudio,依次执行如下命令:

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

      5.安装ffmpeg, 执行如下命令:

conda install -c conda-forge ffmpeg

      6.安装colmap, 执行如下命令:

conda install -c conda-forge colmap
conda install -c conda-forge mpir

      7.安装hloc,依次执行如下命令: 可选,windwos上不支持pycolmap

cd ..
git clone --recursive https://github.com/cvg/Hierarchical-Localization/
cd Hierarchical-Localization/
pip install pycolmap # windows不支持
python -m pip install -e .

      使用

      1.从https://data.nerf.studio/nerfstudio/ 下载person测试集,解压缩,并将其拷贝到nerfstudio的data/nerfstudio目录下,data/nerfstudio需自己创建;

      2.person目录下已有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

      3.执行如下命令进行训练:迭代产生的checkpoint存储在outputs/person/nerfacto目录下

ns-train nerfacto --data data/nerfstudio/person --vis viewer --max-num-iterations 50000

      训练进度如下图所示:

      也可打开web实时预览: https://viewer.nerf.studio/versions/23-04-10-0/?websocket_url=ws://localhost:7007 ,如下图所示: 

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

ns-train nerfacto --data data/nerfstudio/person --load-dir outputs/person/nerfacto/2023-04-22_171607/nerfstudio_models

      可以加载预训练模型进行可视化查看:

ns-viewer --load-config outputs/person/nerfacto/2023-04-22_171607/config.yml

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

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

      可将结果导出:

      (1).导出渲染视频;
      (2).导出点云;
      (3).导出mesh.

      支持的自定义数据集类型:https://docs.nerf.studio/en/latest/quickstart/custom_dataset.html
      ns-process-data各参数说明:https://docs.nerf.studio/en/latest/reference/cli/ns_process_data.html
      官方提供的数据集:https://data.nerf.studio/nerfstudio/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JUC-多线程(12. AQS)学习笔记

文章目录 1. 可重入锁1.1. 概述1.2. 可重入锁类型1.3. Synchronized 可重入实现机理 2. LockSupport2.1. LockSupport 是什么2.2. 3种线程等待唤醒的方法2.2.1 Object 的等待与唤醒2.2.2. Condition接口中的等待与唤醒2.2.3. 传统的 synchronized 和 Lock 实现等待唤醒通知的约…

C/C++开发,opencv读写图像与视频

目录 一、opencv的图像缓存表达(cv::mat) 二、图片读写 2.1 图片读写API 2.2 图片读写案例 2.3 案例编译与测试 三、opencv的视频读写: 3.1 视频读写接口 3.2 视频读写案例 3.3 编译与测试 一、opencv的图像缓存表达(cv::mat&am…

2023网络搭建项目改革

好久没更新了,哈哈哈,也废话不多说,直接进入正题。 3月的时候就有人吓我说什么网搭取消了,当时我还觉得高兴,主要是不喜欢这个行业,要是没了我就可以跑路了,哈哈,然后我就觉得很奇怪…

【嵌入式系统与入门】Day02 Arduino 按键、蜂鸣器与湿温度传感器

文章目录 1. 按键控制1.1 认识按键1.2 工作原理1.3 Arduino代码展示1.4 原理图1.5 实现去抖【消抖动延时】 2. 蜂鸣器控制2.1 认识蜂鸣器2.2 分类2.3 工作原理2.4 连线2.5 Arduino代码展示 3. PWM模拟量输出3.2 Arduino代码展示 4. 湿温度测量4.1 认识器件4.2 传感器接口4.3 Ar…

CMU-自主探索导航系统(TARE FAR Planner)学习-All in one

参考引用 Autonomous Exploration Development EnvironmentTARE机器人自主导航系统社区-CSDN社区云TARE机器人自主导航系统公开课1TARE机器人自主导航系统公开课2CMU团队开发的全套开源自主导航算法FAR Planner —— IROS2022 最佳学生论文<论文阅读>TAR…

【源码分析】XXL-JOB的执行器的注册流程

目的:分析xxl-job执行器的注册过程 流程: 获取执行器中所有被注解(xxlJjob)修饰的handler执行器注册过程执行器中任务执行过程 版本:xxl-job 2.3.1 建议:下载xxl-job源码,按流程图debug调试,看堆栈信息…

【ONE·C++ || stack queue (一)】

总言 主要介绍栈和队列的基本函数使用:栈和队列、优先级队列、适配器、反向迭代器。 文章目录 总言1、栈和队列接口基本介绍1.1、基本介绍1.2、相关例题1.2.1、最小栈1.2.2、栈的压入、弹出序列1.2.3、逆波兰表达式求值 2、适配器介绍2.1、引入:如何实现…

儿童用灯哪个品牌好?分享五款儿童护眼台灯品牌

家中有小朋友上了幼儿园就已经戴上了眼镜,太让人心疼了 近视已经成为世界难题,而我国儿童近视形式尤为严峻 据官方数据显示,我国儿童青少年总体近视率竟高达52.7% 如何保护孩子眼睛,儿童用灯哪个品牌好? 那今天&am…

Open vSwitch 入门实践(8) VXLAN实验

目录 什么是VXLAN? VXLAN解决了什么问题? VXLAN网络如何工作? 简单VXLAN实验 主机A 主机B 测试 什么是VXLAN? VXLAN(Virtual eXtensible Local Area Network,虚拟扩展局域网)&#xff0…

Spring依赖注入 - Resource注解详解及与Autowired注解区别

上篇博客我们讲了Spring中的自动注入(byName,byType)和Autowired注解的工作原理以及源码分析,那么这次,我们来分析还没讲完的,剩下的核心的方法: Nullable Object resolveDependency(DependencyDescriptor descriptor, Nullable …

0.96寸OLED液晶显示器

在日常的小项目制作中我们经常会接触到OLED液晶显示器,本文介绍0.96寸液晶显示器的基本原理,辅助我们后续的小项目开发 OLED被称为有机激光二极管,也被称为有机激光显示,OLED采用有机材料涂层和玻璃基板,当有电流通过…

#Chrome扩展程序开发教程--02:Hello Extensions

#Chrome扩展程序开发教程--02:Hello Extensions 引言1、Hello Extensions2、固定扩展程序3、重新加载扩展程序4、查看扩展程序的输出 引言 本系列博客旨在带来最新的Chrome扩展程序开发入门教程。 1、Hello Extensions 本节博客中,笔者将带领读者创建一个…

C++附加篇: 空间适配器

"我有时难过,却还有些抚慰和感动。" 一、我们来谈谈空间适配器 (1) 什么是空间配置器? STL的六大组件,容器、算法、迭代器、适配器、仿函数,最后一个也就是"空间适配器"。 所谓"空间适配器"&#x…

轻松掌握K8S使用kubectl操作配置文件挂载ConfigMap和密钥Secret知识点05

1、挂载应用配置文件配置集ConfigMap 当有许多应用如redis、mysql,希望将它的配置文件挂载出去,以便随时修改,可以用ConfigMap配置集 具体用法查看使用命令行操作里的 3、ConfigMap配置集实战 2、挂载应用配置文件的敏感信息Secret Secre…

JAVA开发运维(云基础设备监控)

在大型的商用系统中,经常需要监控云设备的健康状态,性能情况,流量数据等。及时发现系统问题,及时修复,以确保系统的高可用。检查云资源的工作内容主要包括基础监控、主动拨测、用户体验、APM监控、指标体系、业务分析、…

Java运行时内存管理

一、前言 希望能在我们平时开发写代码的时候,能够知道当前写的这段代码,内存方面是如何分配的。 我们深知,一个Java程序员在很多时候根本不用操心内存的释放,而是依靠JVM去管理,以前写C代码的时候,却要时刻…

SAP 自定义生产订单状态

1、生产订单通常系统有一整套订单状态,做PP的各位同学都应该知道。 CRTD状态 REL已下达 CNF已报工 DLV已入库 TECO技术性完成 等等状态这里就不在罗列了,可以自行在生产订单中看到 2、这篇文章主要是在生产订单系统外,在自定义一套状态。这个…

Spring更简单的读取和存储Bean(基于注解)

目录 ①从Maven中央仓库获取spring-context和spring-beans的依赖,将依赖引入到pom.xml中 ②配置扫描路径 ③添加注解存储Bean对象(可以使用5大类注解和方法注解) 类注解(写在类上,作用于类上) Contro…

【致敬未来的攻城狮计划】— 连续打卡第十一天:FSP固件库开发点亮第一个灯。

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

leetcode刷题--辅助工具

idea插件 插件商店搜索leetcode,可以让你利用idea调试leetcode的题目 插件首先需要填写用户名密码登录,登录上就可以在idea搜题、做题、提交等 注意: 一些版本登录可能登录失败,解决方法是换leetcode地址为leetcode.cn。 有些可…