一、系统配置
1. 操作系统:ubuntu18.04
2. GPU:Nvidia TITAN RTX
3. CUDA:12.0
4. python3.8.0
5. torch==2.0.1
其余都是github中作者提供的版本。
二、安装
git clone https://github.com/Totoro97/NeuS.git
cd NeuS
conda create -n Neus python=3.8
conda activate Neus
获取论文代码,并进入下载的代码路径,创建conda环境,激活当前conda环境,并安装上述包和github中的包进行安装。
pytorch的安装使用官网提供的命令。
三、数据集以及文件设置
1.数据集连接
Datahttps://www.dropbox.com/sh/w0y8bbdmxzik3uk/AAAaZffBiJevxQzRskoOYcyja?dl=0若下载缓慢下载不下来,可以联系我给你一个网盘连接。
2.数据集组织结构
<case_name> # 数据集下一个小路径的名字
|-- cameras_xxx.npz # camera parameters
|-- image
|-- 000.png
|-- 001.png
...
|-- mask
|-- 000.png
|-- 001.png
3.dtu_scan106为例
NeuS
|
| public_data # 相关修改在wmask.conf配置文件中
| | dtu_scan106
| | |-- cameras_large.npz
| | |-- cameras_sphere.npz
| | |-- image
| | |-- 000.png
| | |-- 001.png
| | ...
| | |-- mask
| | |-- 000.png
| | |-- 001.png
| | ...
在NeuS文件夹里面创建public_data文件夹,然后把dtu_scan24文件夹放进去数据集的放置就可以了。
四、训练
1.有掩码训练
python exp_runner.py --mode train --conf ./confs/wmask.conf --case dtu_scan24
五、遇到的问题
1. 报错:数据所在位置不统一
dataset.py
images和img_idx所在位置不统一,一个在cpu,一个在gpu。
修改dataset.py 中77、78行,将images和mask数据转入GPU。