nvdiffrec是NVIDIA研究院开源的项目,源代码地址:https://github.com/NVlabs/nvdiffrec ,论文为《Extracting Triangular 3D Models, Materials, and Lighting From Images》,从图像中提取三角形三维(三角网格)模型、空间变化的材质(存储在2D纹理中)和照明(一个高动态范围((HDR))的环境探针),该方法学习曲面网格的拓扑和顶点位置,而无需对3D几何图形进行任何初始猜测。总体来说,NVIDIA研究人员提出了一种高效的逆渲染方法(将一系列静态照片重建为3D物体或场景模型的技术),能从多视角图像中提取具有空间变化的材质和环境照明的未知拓扑三角网格,它们可以部署在任何传统图形引擎中而未经修改。
NVIDIA团队假设在一个未知的环境光照条件下,有相应的摄像机位姿和背景分割掩模来指示这些图像中的物体,进行3D重建。生成的3D模型无需转换,就能部署在手机、web浏览器等任意支持三角渲染的设备上,并以交互速率呈现。
Windows上通过Anaconda安装:
1.安装cuda 11.6
2.依次执行如下命令:
conda create -n nvdiffrec python=3.9
conda activate nvdiffrec
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html
pip install ninja imageio PyOpenGL glfw xatlas gdown
pip install git+https://github.com/NVlabs/nvdiffrast/
pip install --global-option="--no-networks" git+https://github.com/NVlabs/tiny-cuda-nn#subdirectory=bindings/torch
imageio_download_bin freeimage
3.下载数据集,将Anaconda Powershell Prompt定位到data目录下,执行如下命令:也可根据需要,直接从https://drive.google.com/drive/folders/128yBriW1IG_3NJ5Rp7APSTZsJqdJdfc1 下载
python download_datasets.py
使用:以lego为例,执行如下命令:很耗显存,若显存不够,可减少nerf_lego.json中的batch
python train.py --config configs\nerf_lego.json --display-interval 100
执行结果如下图所示:
执行完后会在out/nerf_lego目录下产生一些文件,如下图:我们需要的是mesh目录下产生的6个文件:mesh.obj, mesh.mtl, probe.hdr, texture_kd.png, texture_ks.png, texture_n.png
文章来源:https://www.toymoban.com/news/detail-502159.html
文章来源地址https://www.toymoban.com/news/detail-502159.html
到了这里,关于nvdiffrec在Windows上的配置及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!