草庐IT

Instant-ngp 在 window10 上的部署

研0的赵哈尼 2023-04-09 原文

一、环境部署 

1、Visual Studio 2019 安装

Visual Studio 2019 预览版发行说明 | Microsoft Docs

 从上述链接下载Community 2019版并安装,界面如下

 选择C++选项,右侧复选框默认,点击安装。安装完成后重启系统。

2、CUDA-Toolkit 安装

输入cmd打开命令行,输入下述命令:

nvcc --version

若报错,则未安装CUDA-Toolkit,进行如下步骤。

在命令行中输入:

nvidia-smi

 返回下列表格:

 右上角的CUDA Version:11.6表示GPU支持的最高CUDA版本为11.6。(若没有返回这个表格,可能是因为为安装显卡驱动,则需先安装显卡驱动)

下面进入链接进行CUDA-Toolkit下载:CUDA Toolkit Archive | NVIDIA Developer

文件大小大概是2.5G左右,耐心等待即可

 按照官方的步骤,下载完成后,双击这个可执行文件,然后跟着步骤来就好了。

 点击OK

 同意并继续

 这里选择精简的话,将会覆盖你原来的驱动。如果你不想这样,请选择自定义。

继续安装,等待安装完成。安装完成后需要添加环境变量到你的Path

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\libnvvp

重启系统之后,打开命令行输入nvcc --verison ,返回如下:

恭喜你,CUDA安装成功。

下面检验CUDA是否可以正常使用:

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite

 输入deviceQuery.exe,返回如下:

 输入bandwidthTest.exe,返回如下:

则CUDA检验通过! 

至此,CUDA-Toolkit安装完成!

3、OpenEXR 安装

https://www.lfd.uci.edu/~gohlke/pythonlibs/#openexr

进入链接下载

下载后,先放着,后续我们pip时会用到。 

4、Anaconda 安装

去官网下载:Anaconda | Anaconda Distribution

下载windows版本!!!

 下载完成后打开安装程序

此处选择Just Me,Next

尽量装在C盘(若在ubuntu系统进行安装,不要安装在root下,建议安装在home下),以避免一些不必要的错误!

 

 这里第一个选项是指将安装路径自动添加到环境变量中(不推荐)

我选择第二个选择,后续手动进行环境变量的添加即可。

Install 

Finish!!

下面开始进行anaconda环境变量的配置:

搜索环境变量

 点击环境变量:

 双击Path:

将下列路径添加到环境变量(具体路径自己去查):

C:\Anaconda 
C:\Anaconda\Scripts 
C:\Anaconda\Library\mingw-w64\bin
C:\Anaconda\Library\bin

 添加完之后,打开命令行输入conda,返回如下信息:

Anaconda安装完成!!! 

5、OptiX 安装

前往官网下载:NVIDIA OptiX™ 光线追踪引擎 | NVIDIA Developer

 选择Windows进行下载,instant-ngp要求OptiX版本必须在7.3及以上,这里选择7.5版本。

点击下载后,会要求注册会员,按照步骤加入即可。

下载完成后,按安装向导指引进行安装。

安装完成后,我们需要进行环境变量的配置:

 6、相关文件复制(将CUDA下的部分文件复制到VS2019下)

copy from:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\visual_studio_integration\MSBuildExtensions

to:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations

二、Instant-ngp 部署

1、创建文件夹

这里我在C盘下创建一个名为ngp的文件夹,并进入到其中

mkdir ngp
cd ngp

2、安装 git

去下面链接下载:Git - Downloading Package

按照安装引导进行安装

将git添加到环境变量中

参考这篇博客:Git安装及环境配置(Windows10)_Agolonely的博客-CSDN博客_git windows安装配置

3、克隆项目(有坑

git clone --recursive https://github.com/nvlabs/instant-ngp

若报错:fatal: unable to access ‘https://github.com/.......‘: OpenSSL SSL_read: Connection was reset

则需要解除ssl验证,使用以下命令:

git config --global http.sslVerify "false"

再次进行克隆即可。

若报错:error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset, errno 10054

则需要修改git的缓存大小为100M,使用以下命令:

git config --global http.postBuffer 100M

再次进行克隆即可。、

(公钥和密钥这里不用管,一般往github上上传的时候才需要用)

但是由于某211高校垃圾的网络,上述办法都不能解决问题,后面使用魔法,换源之后,去gitee上也不可以(应该是instant-ngp依赖源太多了)。

最后,找了在香港的师兄帮忙下载后传了过来..........

(晚上蹲坑的时候意外发现 淘宝可以代理下载 1G文件1米)

4、项目编译

使用下列命令检查python版本是否为3.9

python --version

若不是3.9,则使用下面命令进行安装:

conda install python=3.9

安装完成后,打开VS2019的命令行

 进入instant-ngp文件夹

使用下面命令进行编译:

cmake . -B build
cmake --build build --config RelWithDebInfo -j 16

这里就已经编译完成啦

5、虚拟环境的构建

首先,我们需要下载COLMAP

进入链接:Release 3.7 · colmap/colmap · GitHub

滑到最下面,选择下面这个进行下载(windows且已安装CUDA):

 下载完成后,解压instant-ngp根目录下,并重命名为COLMAP

并将其添加到环境变量Path中去:

C:\ngp\instant-ngp\COLMAP

打开Anaconda3命令行

依次使用下列命令建立环境、激活环境,安装所需包:

conda create -n ngp python=3.9
conda activate ngp
pip install -r requirements.txt

下载过程中遇到了下载失败的问题(call timeout),重新用管理员身份打开anaconda,再次运行pip即可。

如果pip下载太慢,可以使用国内的镜像源进行加速,例如使用清华镜像源进行加速: 

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name

进行OpenEXR的下载:

pip install pyexr

 但是在我的机器上会失败,这时候就要用到之前下载的轮子了。将之前下载的轮子放在instant-ngp根目录下,然后执行命令:

pip install OpenEXR-1.3.2-cp39-cp39-win_amd64.whl

安装完成!

6、自定义数据集的构建

 我们首先进入instant-ngp的根目录,将图片文件夹放到data文件夹下。如下:

 然后运行如下命令(只需要把后面的image path改成自己的就行):

python scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16 --images <image/path>

即可在instant-ngp根目录下获得transform.json文件:

然后把文件夹结构改成如下所示:

 如果显卡显存不足,可以在transform.json文件中改变aabb_scale的大小,其值越小对显卡的要求越低,但是分辨率会下降,且必须是2的整数次幂(1,2,4,8,16.........)。

然后运行如下命令进行三维重建:

<path_to_your_ngp>\instant-ngp\build\testbed.exe --scene data/<image_set_name>

 重建结果如下:

 但是此次部署采用的数据集是经过背景扣除后的变压器照片,在进行相机定位时,由于缺乏背景信息和变压器的对称性,导致重建出来变压器的一面。

之后单独用COLMAP进行相机的定位,结果如下:

可以看到,相机在定位时,其位姿饶了一圈又返回了。这里用到了增量式SFM的原理,后面会出相关内容的博客。

对于COLMAP的使用也会单独出一篇博客。

有关Instant-ngp 在 window10 上的部署的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  3. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  4. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  5. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  8. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  9. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  10. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

随机推荐