【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

这篇具有很好参考价值的文章主要介绍了【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前情提要

NeRF在我之前的文章中已经介绍过其牛X之处,不过它也存在如训练、推理慢等问题。近期,Nvidia提出的instant-ngp算法实现了快速的NeRF训练和推理。本文主要介绍了在Windows10系统下运行instant-ngp的方法和我在复现过程中出现的一些小问题。

instant-ngp代码链接:https://github.com/NVlabs/instant-ngp

准备工作

在运行instant-ngp之前,需要在电脑内安装以下几样工具:

- Windows: Visual Studio 2019(测试了一下2022版本,可能是和CUDA不匹配,运行失败)

- CUDA v10.2 or higher

- CMake v3.21 or higher

- OptiX 7.3 or higher(非必要,可以不装)

- COLMAP

注意!!!!安装好之后一定要检查路径是否添加到系统的环境变量中!!!!

代码下载:本人在复现的时候出现的第一个问题竟然在这。。。。无论是直接git还是直接下载,都出现了代码缺失的问题,找了好久才发现这个问题。我在这里给大家提供一个完整版的代码,大家用的时候改下路径就可以了:

链接:https://pan.baidu.com/s/1YlC89Qnk9-_TZkgZ8E0wvw?pwd=g3pg 
提取码:g3pg

开始编译

官网给出了两种编译的方法,我在这里介绍的是cmake编译的方法。

首先打开cmake gui,选择根目录地址并在根目录下创建build文件夹作为输出目录。(路径中不要出现中文!!!)

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

点击Configure,选择 Visual Studio 16 2019,然后点击Finish。

然后就在下方框内得到Configuring done的结果。(无须在意出现的红色提示)

最后点击Generate就得到了Generating done,到这一步已经完成了编译的前期工作了!

点击Open project打开工程。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

在VS2019界面选择Release&x64,然后右键选择ALL_BUILD,点击生成,等待一段时间没报错就是成功了!

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

上一步会在build文件夹中生成一个名为testbed.exe文件。

测试

现有数据集

首先对原作者使用的fox图片进行测试,fox的图像文件在data/nerf/fox下,其中images是图片数据,transforms.json是图片对应的位置信息。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

打开Developer Command Prompt for VS 2019。(这里只能用这个终端,其他的像cmd和anaconda都不可用)在终端内切换到instan-ngp文件夹的路径。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

然后按照以下格式输入命令:

【PATH:testbed.exe】 --mode nerf --scene 【PATH:transforms.json】

最终就成功调出了instant-ngp的GUI界面了!

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

自创数据集

在这个部分我将演示一下如何用手机拍摄视频创建自己的数据集并且进行NeRF训练。

第一步,我们需要拍摄一段视频存入电脑,对视频进行一个解码与缩放的操作,将视频转化为多个角度的图片。

在这个页面下载脚本,将脚本放在instant-ngp文件夹下的scripts中,打开anaconda创建一个虚拟环境,cd进入instant-ngp文件夹,输入以下指令进行解码与压缩。

conda create -n ngp python=3.9
conda activate ngp
cd {Your PATH}
python .\scripts\convert_video.py --input {Video PATH}  --output {data\nerf\YOUR_file\images}  --show_image 1 --scale 2

其中input是视频的路径,output需要你在data\nerf下创建自己的数据集文件夹,并在该文件夹内创建images文件夹来存放图片。

第二步,进行Colmap重建,分别进行特征提取、匹配、稀疏重建,导出稀疏模型文件。

打开Colmap,点击file--->new project,在自定义数据文件夹下创建database文件,图片来源选择images文件夹,点击Save。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

 随后点击Processing---Feature extraction,不需要更改任何数据,直接点Extract即可。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

然后选择Processing---Feature matching,同样不需要更改任何数据,点击Run。

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

点击Reconstruction---Start reconstruction进行重建。 

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

在自定义数据集文件夹下新建sparse\0文件夹(注意!一定要按照这个命名,否则后边会出错),点击File---export model as text,将重建数据放到sparse\0文件夹中。 

第三步,生成instant-ngp需要的transforms.json文件。

在第一步创建的虚拟环境下,运行如下代码:

python colmap2nerf.py  --aabb_scale 16 --images {YOUR_IMAGES}  --text {SPARSE\0}  --out {YOUR_DATA_PATH\transforms.json}

其中输入为图像路径,文本为上一步导出的TXT文件,输出为tranforms.json。

第四步,开始运行!!!!!

这里的方法和测试部分的方法一致,只需更改transforms的路径即可。

【PATH:testbed.exe】 --mode nerf --scene 【PATH:transforms.json】

看一下运行的结果:

【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现

大功告成!!!! 文章来源地址https://www.toymoban.com/news/detail-496103.html

到了这里,关于【代码复现】5秒训练NeRF!英伟达instan-ngp在windows成功复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • InternImage segmentation部分代码复现及训练自己的数据集(一)

    所谓“复现”,不过是跑通了官方的代码,以下仅为个人的一些经验和理解,欢迎指正。 (其实仅作为个人学习使用,也欢迎交流) 首先贴出官方文献和代码: 官方文献:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions,链接:InternImage: Exploring Large-Sca

    2024年02月14日
    浏览(39)
  • AllenAI 开源了关于大模型的所有细节!数据、代码、参数、训练过程,完全复现

    在人工智能领域,语言模型(LMs)的发展一直是推动自然语言处理(NLP)技术进步的核心力量。随着商业价值的增长,强大的语言模型逐渐被封闭在专有接口之后,它们的训练数据、架构和开发细节往往不为人知。然而,这些细节对于科学研究至关重要,它们不仅关系到模型

    2024年02月20日
    浏览(38)
  • 3DGS代码复现流程(windows本地、colab)

    环境配置 前提:已下载并配置好Anaconda、CUDA、pytorch、COLMAP等。 已在Anaconda中配置好虚拟环境,pytorch最好安装在虚拟环境中,不要在base中。 可参考:过程挺详细的 在python终端运行如下代码,将官方代码进行下载。 复现流程参考一个外国的大佬写的,但是有些文件的存放在我

    2024年04月17日
    浏览(45)
  • 英伟达推出免训练,可生成连贯图片的文生图模型

    目前,多数文生图模型皆使用的是随机采样模式,使得每次生成的图像效果皆不同,在生成连贯的图像方面非常差。 例如, 想通过AI生成一套图像连环画,即便使用同类的提示词也很难实现 。虽然DALL·E 3和Midjourney可以对图像实现连贯的生成控制,但这两个产品都是闭源的。

    2024年02月22日
    浏览(40)
  • nerf训练自己的数据,过程记录十分详细

           之前跑很多项目没有记录,后来再弄就不行了。这次特别记录一下,在梳理流程的同时希望给大家带来小小的帮助!我自己是在cuda11.2,windows环境下成功的,过程十分详细,有需要的朋友耐心看完。有问题可以评论区交流         首先,本文nerf是基于pytorch训练的,

    2024年02月03日
    浏览(42)
  • CVE-2018-0886-Microsoft Windows CredSSP 远程执行代码漏洞复现

    cve-2018-0886,网络

    2024年02月12日
    浏览(30)
  • CVE-2022-21907 Microsoft Windows HTTP 协议栈远程代码执行漏洞复现

    目录 0x01 声明: 0x02 简介: 0x03 漏洞概述: 0x04 影响版本: 0x05 环境搭建: 下载: 开启IIS: 0x06 漏洞复现: 利用POC: 0x07 流量分析: 客户端: 0x08 修复建议:         仅供学习参考使用,请勿用作违法用途,否则后果自负。         Microsoft Windows HTTP 协议栈(HTTP.

    2024年02月03日
    浏览(53)
  • Windows支持诊断工具(MSDT)远程代码执行漏洞:CVE-2022-30190学习及复现

    Microsoft Windows Support Diagnostic Tool (MSDT) Remote Code Execution Vulnerability对应的cve编号为CVE-2022-30190,其能够在非管理员权限、禁用宏且在windows defender开启的情况下绕过防护,达到上线的效果。 当从Word等应用程序使用 URL 协议调用 MSDT 时存在远程执行代码漏洞,攻击者通过制作恶意的

    2024年02月08日
    浏览(53)
  • 复现PointNet++(语义分割网络):Windows + PyTorch + S3DIS语义分割 + 代码

    Windows 10 GPU RTX 3090 + CUDA 11.1 + cudnn 8.9.6 Python 3.9 Torch 1.9.1 + cu111 所用的原始代码:https://github.com/yanx27/Pointnet_Pointnet2_pytorch Stanford3dDataset_v1.2_Aligned_Version 分享给有需要的人,代码质量勿喷。 对源代码进行了简化和注释。 分割结果保存成txt,或者利用 laspy 生成点云。 别问为啥在

    2024年01月21日
    浏览(41)
  • Dell R730 2U服务器实践3:安装英伟达上代专业AI训练Nvidia P4计算卡

    Dell R730是一款非常流行的服务器,2U的机箱可以放入两张显卡,这次先用一张英伟达上代专业级AI训练卡:P4卡做实验,本文记录安装过程。 打开机箱 将P4显卡插在4号槽位 关闭机箱 安装驱动 对于新手来说,步步为坑,有很多小细节需要注意。 首先了解到,R730号称可以装两块

    2024年04月16日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包