SDF Studio(表面重建的统一框架)使用记录

目录

一、安装:环境搭建

1、创建环境

2、安装依赖项(pytorch和tiny-cuda-nn)

3、安装SDFStudio

二、模型训练

三、导出结果

1、提取网格(修改对应的文件夹即可运行)

2、渲染网格

3、渲染视频


项目下载链接:https://github.com/autonomousvision/sdfstudio

前言:SDFStudio 是一个用于神经隐式表面重建的统一模块化框架,建立在出色的 nerfstudio 项目之上。SDFStudio提供了三种主要隐式表面重建方法的统一实现:UniSurf、VolSDF 和 NeuS。SDFStudio 还支持各种场景表示,例如 MLP、Tri-plane 和 Multi-res。特征网格和多点采样策略,例如 UniSurf 中的表面引导采样和 NeuralReconW 中的体素表面引导采样。它进一步集成了该领域的最新进展,例如单目线索(MonoSDF)的利用、几何正则化(UniSurf)和多视图一致性(Geo-NeuS)。

一、安装:环境搭建

操作系统上必须安装CUDA,我的配置是ubuntu20.04,RTX3090,CUDA11.3。

1、创建环境

使用miniconda配置sdfstudio的环境,所需python版本要大于等于3.7,具体步骤参考如下:

conda create --name sdfstudio -y python=3.8
conda activate sdfstudio
python -m pip install --upgrade pip

2、安装依赖项(pytorch和tiny-cuda-nn)

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

3、安装SDFStudio

git clone https://github.com/autonomousvision/sdfstudio.git
cd sdfstudio
pip install --upgrade pip setuptools
pip install -e .
# install tab completion
ns-install-cli

二、模型训练

使用以下指令代码可以下载数据集并且进行训练

#如果你的系统有安装curl,可以跳过这个步骤
sudo apt-get install curl

#下载一些测试数据集,前提是系统下载好curl
ns-download-data sdfstudio

# 在dtu数据集scan65上训练模型
ns-train neus-facto --pipeline.model.sdf-field.inside-outside False --vis viewer --experiment-name neus-facto-dtu65 sdfstudio-data --data data/sdfstudio-demo-data/dtu-scan65

#或者也可以使用单目先验在副本数据集room0上训练模型
ns-train neus-facto --pipeline.model.sdf-field.inside-outside True --pipeline.model.mono-depth-loss-mult 0.1 --pipeline.model.mono-normal-loss-mult 0.05 --vis viewer --experiment-name neus-facto-replica1 sdfstudio-data --data data/sdfstudio-demo-data/replica-room0 --include_mono_prior True

如果上述步骤都安装正确的话,在你的终端会显示如下界面:

训练两万次大概需要三十分钟,但是在web界面观察渲染出来的结果不是很理想。

三、导出结果

1、提取网格(修改对应的文件夹即可运行)

ns-extract-mesh --load-config outputs/neus-facto-dtu65/neus-facto/XXX/config.yml --output-path meshes/neus-facto-dtu65.ply

 

2、渲染网格

ns-render-mesh --meshfile meshes/neus-facto-dtu65.ply --traj interpolate  --output-path renders/neus-facto-dtu65.mp4 sdfstudio-data --data data/sdfstudio-demo-data/dtu-scan65

3、渲染视频

首先,创建一条供相机遵循的路径。这可以在查看器的“RENDER”选项卡下完成。将 3D 视图定向到您希望视频开始的位置,然后按“添加摄像机”。这将设置第一个相机关键帧。继续添加额外的摄像机以创建摄像机路径的新视点。我们提供其他参数来进一步完善您的相机路径。满意后,按“RENDER”,这将显示一个包含渲染视频所需命令的模式。终止训练作业(或者如果您有大量计算,则创建一个新终端)和生成视频的命令。

个人感觉SDFStudio的使用过程和步骤和nerfStudio没有多少差别,尤其是提取mesh和渲染视频的过程都是在web页面中的选项卡中进行的,复制指令就可以运行。可以参考我复现nerfStudio的文章Ubuntu系统复现NeRFStudio(详细)_XINYU W的博客-CSDN博客,里面的过程更加详细。

猜你喜欢

转载自blog.csdn.net/weixin_59961223/article/details/131493352
sdf
今日推荐