近年来,计算机视觉和图形领域取得了显着的进步,催生了革命性的技术,改变了各个行业。 NERFS(神经辐射场)和现实捕捉是两项备受关注的重要技术。 NERFS 和现实捕捉都是以数字形式捕捉和重建现实世界的强大工具。然而,它们在方法和应用方面存在显着差异。
NERFS 是神经辐射场的缩写,是一项属于计算机图形学和计算机视觉领域的尖端技术。 NERFS 是近年来发展起来的,它利用深度学习模型通过连续 3D 函数来表示 3D 对象或场景。与依赖点云或网格表示的传统方法不同,NERFS 通过将底层场景建模为神经网络来生成逼真的重建。
NERFS 的工作原理是从不同角度捕获场景的大量图像。这些图像以及相应的相机参数被输入神经网络。然后,网络学习推断场景的体积表示,对复杂的细节、纹理和照明条件进行编码。
NERF技术的挑战
Nerfstudio 提供了一个简单的 API,可以简化创建、训练和测试 NeRF 的端到端流程。该库通过模块化每个组件来支持 NeRF 的更可解释的实现。通过更多模块化的 NeRF,我们希望在探索该技术时创造更加用户友好的体验。
安装CUDA 11.8
创建环境
conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
pip install --upgrade pip
安装依赖
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
安装nerfstudio
pip install nerfstudio
或者
git clone https://github.com/nerfstudio-project/nerfstudio.git
cd nerfstudio
pip install --upgrade pip setuptools
pip install -e .
# Download some test data:
ns-download-data nerfstudio --capture-name=poster
# Train model
ns-train nerfacto --data data/nerfstudio/poster
渲染视频
生成点云
ns-export pointcloud --help
生成mesh模型
ns-export poisson [-h] --load-config PATH --output-dir PATH [--num-points INT]
[--remove-outliers {True,False}]
[--reorient-normals {True,False}] [--depth-output-name STR]
[--rgb-output-name STR]
[--normal-method {open3d,model_output}]
[--normal-output-name STR] [--save-point-cloud {True,False}]
[--use-bounding-box {True,False}]
[--bounding-box-min FLOAT FLOAT FLOAT]
[--bounding-box-max FLOAT FLOAT FLOAT]
[--num-rays-per-batch INT]
[--texture-method {point_cloud,nerf}]
[--px-per-uv-triangle INT] [--unwrap-method {xatlas,custom}]
[--num-pixels-per-side INT] [--target-num-faces {None}|INT]
[--std-ratio FLOAT]
Data Capture Device | Requirements | ns-process-data Speed |
---|---|---|
Images | Any | COLMAP |
Video | Any | COLMAP |
360 Data | Any | COLMAP |
Polycam | IOS with LiDAR | Polycam App |
KIRI Engine | IOS or Android | KIR |
ns-process-data {images, video} --data {DATA_PATH} --output-dir {PROCESSED_DATA_DIR}
SDFStudio 是一个用于神经隐式表面重建的统一模块化框架,建立在出色的 nerfstudio 项目之上。我们提供了三种主要隐式表面重建方法的统一实现:UniSurf、VolSDF 和 NeuS。 SDFStudio 还支持各种场景表示,例如 MLP、Tri-plane 和 Multi-res。特征网格和多点采样策略,例如 UniSurf 中的表面引导采样和 NeuralReconW 中的体素表面引导采样。它进一步集成了该领域的最新进展,例如单目线索(MonoSDF)的利用、几何正则化(UniSurf)和多视图一致性(Geo-NeuS)。由于统一和模块化的实现,SDFStudio 可以轻松地将想法从一种方法转移到另一种方法。例如,Mono-NeuS 将 MonoSDF 的思想应用到 NeuS,Geo-VolSDF 将 Geo-NeuS 的思想应用到 VolSDF。
参考资料:
https://github.com/nerfstudio-project/nerfstudio/
GitHub - autonomousvision/sdfstudio: A Unified Framework for Surface Reconstruction