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

2023-05-16

      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/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nerfstudio介绍及在windows上的配置、使用 的相关文章

  • 如何驯服 Windows 标头(有用的定义)?

    在其中一个答案中this https stackoverflow com questions 1394132 macro and member function conflict问题jalf https stackoverflow com
  • 命令行显示文件的属性?

    我想编写一个显示默认 Windows 属性表的应用程序 我找不到太多关于以正常编程方式执行此操作的信息 所以我想也许可以使用命令行调用 有谁知道 Windows 命令行调用文件的属性 详细信息窗口吗 没有任何运气去寻找它 这个窗口在这里 看
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • c 编程检查是否按下按键而不停止程序

    如您所知 在 Windows 中使用 getch 时 应用程序会等待您按下某个键 我如何在不冻结程序的情况下读取密钥 例如 void main char c while 1 printf hello n if c getch 谢谢 您可以使
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 如何安全地将对象(尤其是 STL 对象)传入和传出 DLL?

    如何将类对象 尤其是 STL 对象 传入和传出 C DLL 我的应用程序必须以 DLL 文件的形式与第三方插件交互 并且我无法控制这些插件是使用什么编译器构建的 我知道 STL 对象没有保证的 ABI 并且我担心这会导致我的应用程序不稳定
  • WinError6 句柄无效 Python 3+ 多处理

    我正在运行一个 Python 3 7 Flask 应用程序 它使用flask socketio设置一个socketio用于浏览器客户端的服务器 另一个连接到单独远程的Python进程socketio服务器和交换消息 以及另一个从 PIR 传
  • win32 API 和 .NET 框架之间的选择

    我必须开发一个适用于 Windows 的应用程序 该应用程序将能够通过网络摄像头识别手势来控制鼠标 我将使用 vc 2008 进行开发 但我很困惑是使用 NET 框架还是核心 win32 API 性能对于我的应用程序非常重要 根据 Ivor
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • SC创建binpath错误

    我正在尝试在 PowerShell 中运行以下命令 sc create StrongSwan binpath C Users Kanishk Desktop Strong Strong stronswan strongswan 5 6 3
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • Git 子模块:[电子邮件受保护]:权限被拒绝(公钥)。致命:无法从远程存储库读取

    我有一个问题git submodule update init remote 我收到错误 权限被拒绝和克隆失败 但我将 SSH 密钥添加到了我的 github 存储库中 我可以拉 推 git 克隆 我拥有所有需要的访问权限 我使用操作系统
  • 在 Windows 上使用 docker compose 进行卷绑定

    我最近在 Windows 10 上升级了 Docker Toolbox 现在我的卷挂载不再起作用 我已经尝试了一切 这是当前的挂载路径 volumes C Users Joey Desktop backend var www html 我收
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令
  • 如何在 Visual C++ 中宣传 Bonjour 服务

    我试图弄清楚这是否可能 但是通过 Visual C 宣传 Bonjour 服务的最简单方法是什么 您可以使用DNS服务发现客户 dns sd Windows Bonjour 安装程序把它放进去C Windows system32 dns s
  • Windows平台下C语言控制串口DTR和RTS引脚

    如何在windows平台上控制串口的DTR和RTS引脚 我希望通过升高或降低电压来对其进行位敲击或操作 您需要使用EscapeComm 函数 https learn microsoft com en us windows desktop a
  • 使用 mingw32 在 Windows 上构建 glew 时“DllMainCRTStartup@12”的多个定义

    我关注了这个主题 使用 mingw 使建筑物在 Windows 上闪闪发光 https stackoverflow com questions 6005076 building glew on windows with mingw 6005
  • subprocess.Popen('start') 失败

    在 python 中运行此命令将导致 WindowsError 指出找不到指定的文件 FAILS import subprocess subprocess Popen start notepad exe 在命令窗口中 它可以工作 start
  • 如何获取Windows批处理的父文件夹

    我正在编写一个批处理文件 我需要获取该bat文件的父文件夹 有可能吗 注意 我的意思是批处理文件的父文件夹 而不是调用该批处理的提示的当前目录 Thanks 批处理的父文件夹位于变量中 dp0位于 例子 echo off setlocal

随机推荐

  • scrapy 爬虫中间件的学习

    Scrapy中间件是一个处理Scrapy请求和响应的机制 中间件可以在请求或响应被Scrapy引擎处理之前或之后对其进行修改或操作 xff0c 用于实现诸如缓存 代理 用户代理等功能 Scrapy中间件的作用主要有以下几个方面 xff1a
  • Python爬虫需要哪些基础

    Python爬虫是指使用Python语言编写程序 xff0c 自动化地访问Web页面并抓取其中的信息 以下是Python爬虫的基础知识 xff1a 爬虫的工作原理 xff1a 爬虫程序通过网络请求获取Web页面的HTML源码 xff0c 然
  • 极简爬虫通用模板

    网络爬虫的一般步骤如下 xff1a 1 确定爬取目标 xff1a 确定需要爬取的数据类型和来源网站 2 制定爬取策略 xff1a 确定爬取哪些网页 如何爬取和频率等 3 构建爬虫程序 xff1a 使用编程语言 xff08 如Python x
  • Python爬虫常用框架

    大家都知道python是一门多岗位编程语言 xff0c 学习python之后可以从事的岗位有很多 xff0c python爬虫便在其中 xff0c 不过很多人对python不是很了解 xff0c 所以也不知道python爬虫是什么 xff0
  • Python多线程爬虫简单模板

    多线程爬虫的流程可以大致分为 xff1a xff08 1 xff09 获取种子URL xff1a 从初始URL中抓取起始页面 xff0c 解析其中的URL xff0c 并将这些URL添加到未访问的URL队列中 xff1b xff08 2 x
  • scrapy爬虫标准流程

    Scrapy爬虫的标准流程一般包括以下几个步骤 xff1a 1 明确需求和目标网站的结构 xff0c 确定需要爬取的数据以及爬取规则 2 创建一个Scrapy项目 xff0c 使用命令行工具创建一个新的Scrapy项目 3 定义数据模型和i
  • Python爬虫设置代理

    在Python中使用代理进行爬虫操作可以有效地隐藏用户的真实IP地址 xff0c 防止被封禁或者限制访问 下面是设置代理的示例代码 xff1a span class token keyword import span requests pr
  • Golang 网络爬虫框架gocolly

    Golang 是一门非常适合编写网络爬虫的语言 xff0c 它有着高效的并发处理能力和丰富的网络编程库 下面是一个简单的 Golang 网络爬虫示例 xff1a package main span class token keyword i
  • Python中txt中内容解析到json文件

    在instant ngp中通过调用scripts colmap2nerf py可以自动生成transforms json文件 xff0c 即相机参数 xff0c 但有时会从相机本身获取到这些参数 xff0c 为了将每个相机参数信息即txt内
  • 代理ip在爬虫中的应用

    代理IP在爬虫中的应用主要是为了解决以下两个问题 xff1a IP封禁问题 很多网站为了防止爬虫 xff0c 会对频繁访问的IP进行封禁 xff0c 这样就会导致爬虫无法继续访问 此时 xff0c 使用代理IP可以隐藏真实IP xff0c
  • 使用VNC远程服务器

    通常我们控制服务器都是通过ssh远程命令行 但是这次由于特殊需求需要进入服务器的图形界面进行操作 xff08 这台服务器安装的时候就是安装的gnome图形界面 xff0c 但是由于没有事先在服务器上安装向日葵等远程软件 xff0c 所以无法
  • 安卓adb命令大全

    安卓官方文档 xff1a https developer android google cn studio command line adb hl 61 zh cn ADB xff0c 即 Android Debug Bridge xff0
  • Python运维自动化psutil 模块详解(超级详细)

    psutil 模块 参考官方文档 xff1a https pypi org project psutil 一 psutil简介 psutil是一个开源且跨平台 xff08 http code google com p psutil xff0
  • 2021最强Python学习教程,从零基础入门到精通

    关于本套Python自学视频教程 xff1a B站链接 xff1a 戳我直达 千锤百炼 xff0c 只为大作 xff1b 精益求精 xff0c 处处斟酌 xff1b 这种教程 xff0c 看一眼就倾心 你准备好了吗 文章目录 你准备好了吗
  • 进程池(multiprocess.Pool)

    进程池 multiprocess Pool 一 进程池概念 1 什么是进程池 x1f449 进程池是资源进程 管理进程组成的技术的应用 2 为什么要有进程池 x1f62e 忙时会有成千上万的任务需要被执行 xff0c 闲时可能只有零星任务
  • 使用pip安装第三方模块报错,WARNING: You are using pip version 20.2.1; however, version 21.0.1 is available. You

    问题 xff1a 使用pip安装第三方模块报错 xff0c WARNING You are using pip version 20 2 1 however version 21 0 1 is available You should co
  • python小数据池,代码块的深入剖析

    python小数据池 xff0c 代码块的深入剖析 文章目录 python小数据池 xff0c 代码块的深入剖析一 id xff0c is xff0c 61 61 二 代码块三 代码块的缓存机制四 小数据池五 小结 一 id xff0c i
  • docker 之Dockerfile

    Docker 镜像构建之 Dockerfile 在 Docker 中构建镜像最常用的方式 xff0c 就是使用 Dockerfile Dockerfile 是一个用来构建镜像的文本文件 xff0c 文本内容包含了一条条构建镜像所需的指令和说
  • 项目开发的完整流程(详解版)

    项目开发的完整流程 前言 一般情况下 xff0c 企业开发软件时会按照基线和定制两块并行方式执行项目开发工作 无论什么公司 xff0c 都需要遵从一套成熟的产品研发过程体系 xff0c 才能做出质量较好的产品 因此 xff0c 如果出现项目
  • nerfstudio介绍及在windows上的配置、使用

    nerfstudio提供了一个简单的API xff0c 可以简化创建 训练和可视化NeRF的端到端过程 该库通过模块化每个组件来支持可解释的NeRF实现 nerfstudio源码地址 https github com nerfstudio