nerf-studio初体验

news2024/11/18 9:30:18

前言

整个安装过程非常简单,运行得也很丝滑,最大的难点在于中文资料太少,英文看得头痛。本文也是参考了许多链接,有些链接比我写得详细多了,各位选择性看吧

安装

安装过程参考github链接,按顺序一步一步安装,

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

# pytorch这里用适合自己的版本
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

# 很容易漏掉的一步!!! Tiny-cuda-nn
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

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

# 如果还想生成位姿的话,安装如下命令
conda install -c conda-forge colmap
conda install -c conda-forge mpir

以上就安装完成了,如果因为网络导致git命令无法使用,参考链接。

测试

提供的demo代码数据集无法下载,所以另辟蹊径

下载数据集

数据集链接,选择plane.zip下载,下载完成后使用如下代码测试

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

在这里插入图片描述
根据提供的链接在网页中就可以查看实时渲染情况
在这里插入图片描述

模型选择

如何选择不同的模型 参考链接

ns-train  {nerfacto,instant-ngp,mipnerf,semantic-nerfw,vanilla-nerf,tensorf,dnerf,phototourism}
 nerfacto  : 推荐的实时模型为真实捕获而调整。这个模型将不断更新        
 depth-nerfacto: 具有深度监督的 Nerfacto
 instant-ngp:Instant-NGP 的现实,推荐用于无限制场景的实时模型
 instant-ngp-bounded:Instant-NGP 的实现,推荐用于有界真实和合成场景
 mipnerf:有界场景的高质量模型(慢)
 semantic-nerfw:预测语义分割并过滤掉瞬时对象
 vanilla-nerf:原始NeRF模型(慢) 
 tensorftensorf
 dnerf:动态NeRF模型(慢)
 phototurism:使用Phototourism的数据
 nerfplayer-nerfacto:带有nerfacto主干的NeRFPlayer
 nerfplayer-ngp配备InstantNGP主干的NeRFPlayer   

自己的数据集

有一个问题就是.json文件在每种nerf下的设置还不同,所以要根据需求生成nerf文件,头大
此外如果使用vanilla-nerf,还需要注册wandb

登录注册账号:https://wandb.ai/
登陆注册账号后创建一个project,会得到一个账号相关联的key
可以认为该key是一个身份码,与自己注册的账号绑定
(学习教程:https://docs.wandb.ai/quickstart)

一些命令行

# 使用vanilla-nerf 训练bed-001
cd nerf/nerfstudio
source activate nerfstudio


ns-train vanilla-nerf --data data/nerfstudio/bed_001

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

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

相关文章

使用 ZBrush 和 Substance 3D中创建逼真的露西(p2)

今天瑞云渲染小编给带来了Rafael Benedicto 分享的 Lucy 项目背后工作流程,解释了头发是如何设置的,并回顾了在 Substance 3D Painter 中完成的纹理化过程。篇幅较长,分上下两篇来阐述幕后花絮。接下来接着讲述Lucy项目的纹理和渲染方面内容。…

PS 设置图片背景透明

找魔棒工具:编辑-工具栏。可设置w改为Z。(方便使用) 魔棒工具选择背景(w) 删除即可 如果我们导入的是“智能对象”,使用左侧的“矩形选区”删除框选区域的时候,就会弹出“无法完成请求&#…

pytorch量化库使用(1)

量化简介 量化是指以低于浮点精度的位宽执行计算和存储张量的技术。量化模型以降低的精度而不是全精度(浮点)值对张量执行部分或全部运算。这允许更紧凑的模型表示以及在许多硬件平台上使用高性能矢量化操作。与典型的 FP32 模型相比,PyTorc…

OnlyOffice7.3.2.8 和 7.3.3.40 Docker魔改版搭建教程

写在前面: 搭建项目所需环境只需查看此篇文档即可,中间有不清楚的地方评论即可,看到会回复! ⼀ 、安装docker: 具体步骤请参照docker官网: https://docs.docker.com/get-docker/ 注: 不同操作系统安装方…

今天分享:配音软件哪个好

在数字化时代,视频内容的需求愈发增长。越来越多的人们创作和分享各种类型的视频,而其中一个重要的元素是声音。然而,有时候我们可能面临着一种情况:我们拍摄了一段令人惊艳的视频,但缺乏适合的配音或原声录音。这时&a…

人工智能时代,前端如何抓住机会

自从 2022 年底 OpenAI 推出了 ChatGPT3.5 后,GPT 的活跃用户数快速突破一亿,打破了互联网应用发展的历史记录。ChatGPT是一种基于人工智能技术的聊天机器人,它可以理解人类的自然语言,模拟人类的语言和思维方式,与人类…

介绍几款在线编程工具(Python)

阅读原文 有时候个人电脑不在身边,又需要处理一些工作,这时候可能需要在朋友的电脑或者公用电脑上操作数据。又或者要将自己写的代码以 notebook 的形式分享给 co-worker,这时就需要用到以下总结的几个直接在浏览器里进行 Python 编程的工具。…

怎么学习数据库连接与操作? - 易智编译EaseEditing

学习数据库连接与操作可以按照以下步骤进行: 理解数据库基础知识: 在学习数据库连接与操作之前,首先要了解数据库的基本概念、组成部分和工作原理。 学习关系型数据库和非关系型数据库的区别,了解常见的数据库管理系统&#xff…

为何及如何使用数据结构提升算法效率和问题解决能力?

数据结构是计算机科学中的一个重要概念,它是一种组织和存储数据的方式。数据结构提供了一种在计算机程序中有效地组织和操作数据的方法。 数据结构的主要目的是解决问题和优化算法。它们帮助我们在计算机内存中存储和组织数据,以便能够高效地访问和操作这…

Flink 自定义源算子之 读取MySQL

1、功能说明: 在Flink 自定义源算子中封装jdbc来读取MySQL中的数据 2、代码示例 Flink版本说明:flink_1.13.0、scala_2.12 自定义Source算子,这里我们继承RichParallelSourceFunction,因为要使用open方法来初始化数据库连接对…

Egg.js阿里JS后端框架,可以放心用。

目录 一、快速开始 二、尝试创建一个controll,修改路由,然后检查测试单元。 一、快速开始 npm install -g yarn yarn create egg --typesimple cd egg yarn install yarn devhttp://127.0.0.1:7001 二、尝试创建一个controll,修改路由,然后检查测试单…

PDF怎么转图片?PDF转图片的方法分享!​

PDF怎么转图片呢?相信很多人都会觉得PDF的非常的好用,小编也是被身边很多朋友推荐过后用了这个软件。但很多人在使用的时候有疑问,比如说PDF如何转图片?这难倒不少人,那么今天这篇文章就带你解析PDF怎么转图片&#xf…

LiangGaRy-学习笔记-Day25

1、Apache web相关 1.1、curl命令 作用:用来与服务器之间传输数据的工具 官网:https://curl.se支持很多种协议 语法:curl选项网址 选项: -A:设置代理给服务器-I(大写i):输出返…

Spring Boot 中的 WebMvc 是什么,原理,如何使用

Spring Boot 中的 WebMvc 是什么,原理,如何使用 介绍 在 Spring Boot 中,WebMvc 是非常重要的一个模块。它提供了一系列用于处理 Web 请求的组件和工具。在本文中,我们将介绍 Spring Boot 中的 WebMvc 是什么,其原理…

Python+ddt+Excel实现接口自动化测试生成完美测试报告

接口自动化测试是指通过编写代码或使用工具,模拟用户发送请求,验证接口是否符合设计规范和功能需求的过程。” 如何用 python ddtexcel 实现接口自动化测试 接口自动化测试可以提高测试效率和质量,节省测试成本和时间,保证测试覆…

一步一步学OAK之八:通过OAK相机实现视频帧拼接

帧拼接在有些场景下非常有用,比如将一个较大的帧输入到尺寸较小的神经网络中时。可以将较大的帧拆分成多个较小的帧,并将这些较小的帧输入到神经网络中。 这里我们使用 2 个 ImageManip 将原始预览帧拆分为两个帧。 这里写目录标题 涉及到的节点内容Co…

STM32实战项目—停车计费系统

文章目录 一、任务要求1.1 概述1.2 串口收发1.2.1 串口输出内容1.2.2 串口接收内容 1.3 说明 二、实现思路2.1 指令判别2.1 车辆进入2.2 车辆驶出2.3 费率调整 三、程序设计3.1 串口接收消息处理3.2 车辆驶入处理函数3.3 车辆驶出处理函数3.4 费率调整处理函数 题目原型是第十二…

4-Python如何创建等比数列?【视频版】

目录 问题视频解答 问题 视频解答 点击观看: 4-如何创建等比数列?

windows无法启动RemoteDesktopServices服务(位于本地计算机上)。错误126:找不到指定的模块。

win10的搜索栏输入 注册表编辑器。打开,找到如下路径 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parameters 将指定数值项ServiceDll的数值数据改成默认值: %SystemRoot%\System32\termsrv.dll 再重新尝试就好了。 …

Java(七):项目部署

项目部署 运行容器解决Centos8中yum命令遇到的问题打包项目拷贝.jar到容器中安装jdk后台运行.jar后台运行.jar并输入日志实时查看日志查看/杀死运行程序目录结构日志配置 运行容器 $ docker run -d -p 8001:8001 -p 8081:8081 -p 8082:8082 --namelocal_centos --privilegedtr…