ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh

2023-10-13 03:04

本文主要是介绍ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考链接

Ubuntu20.04复现instant-ngp,自建数据集,导出mesh_XINYU W的博客-CSDN博客

GitHub - NVlabs/instant-ngp: Instant neural graphics primitives: lightning fast NeRF and more

youtube上的一个博主自建数据集

https://www.youtube.com/watch?v=VsFHX8IgX1o

老样子
可以跟我继续往下走


首先得先完成

ubuntu20.04 nerf Instant-ngp-CSDN博客

的所有步骤,然后再开始


#安装OpenCV参考我的这篇

ubuntu20.04+slambook2+vscode实例配置(至第五章)_slam实例-CSDN博客
 

ffmpeg安装(Ubuntu20.04 )参考

2.ffmpeg安装(Ubuntu20.04 )_ubuntu安装ffmpeg-CSDN博客

其中可能需要
chmod -x  ./configure

如果权限不够可以加sudo 


安装ffmpeg可能会遇到的问题
# --enable-libxvid 
# 解决 ERROR: libxvid not found
# 包下载地址:https://ftp.osuosl.org/pub/blfs/conglomeration/xvidcore/

tar xf xvidcore-1.3.7.tar.gz 
cd xvidcore/build/generic/


基本上都是要先

chmod -x  ./configure
sudo make
sudo make install


基本上按照这个就没啥问题

2.ffmpeg安装(Ubuntu20.04 )_ubuntu安装ffmpeg-CSDN博客

然后可以先看一下

 youtube上的一个博主自建数据集

https://www.youtube.com/watch?v=VsFHX8IgX1o


先建文件夹,将视频命名为VID.MP4,然后我的colmap2nerf.py是位于~/nerf_instant-ngp/instant-ngp/scripts/,--video_fps 2的2是指一秒几帧

~/nerf_instant-ngp/instant-ngp/scripts/colmap2nerf.py --video_in VID.MP4 --video_fps 2 --run_colmap --aabb_scale 16


随后输入两个y,就可以将视频转换为图片.


随后将生成的transform.json和image文件夹复制到与instant-ngp/scripts/的data下,我的是复制到
data/myvideo/one
然后就在~/nerf_instant-ngp/instant-ngp目录下打开终端,输入

./instant-ngp data/myvideo/one ./instant-ngp data/myvideo/six

即可出现下面(自己拍的视频,尽可能多角度)

另外,渲染的效果还是可以的,相对于源码来说还是有点模糊,我一些参数也没有设置,直接就拉进来进行渲染,速度是非常快的。

在拍摄中注意重建的质量取决于colmap2nerf.py能够从图像中提取准确的相机参数。如果要效果好点的话,需要注意几点:

  1. 尽量光线比较充足均匀;
  2. 拍摄物体尽量覆盖所有的视角;
  3. 采用防抖动设备,避免在拍摄过程中图像失真;
  4. 图像分辨率尽量要高;神经辐射场NeRF之Instant-ngp环境搭建与应用
     

导出和大小的调试可以参考下面这个

英伟达NeRF项目Instant-ngp在Windows下的部署,以及数据集的制作(适合小白的保姆级教学)-CSDN博客

2023.10.12

这篇关于ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200335

相关文章

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内