Ubuntu复现Geo-Neus:用于多视图重建的几何一致神经隐式曲面学习(详细踩坑记录)

目录

一、环境配置

1、下载Geo-neus项目文件夹

2、创建miniconda环境

3、安装pytorch(cuda11.3,pytorch1.10.0)

4、安装pytorch3D

 5、安装其他依赖项(在geo-neus文件夹中运行下面指令)

PS:安装tensorboard中出现的问题

二、数据集的下载以及关于数据集出现的问题

1、数据集的下载:

2、数据集在pycharm打开显示为红色(不可使用)

3、修改数据集的路径

三、进行实验

1、训练

2、从训练的模型中提取表面

3、评估


参考链接:https://github.com/GhiXu/Geo-Neus

一、环境配置

1、下载Geo-neus项目文件夹

git clone https://github.com/GhiXu/Geo-Neus   #下载本项目文件
cd Geo-neus  #进入geo-neus文件夹

2、创建miniconda环境

conda create -n geoneus python==3.9
conda activate geoneus  

3、安装pytorch(cuda11.3,pytorch1.10.0)

conda install pytorch=1.10.0 torchvision torchaudio cudatoolkit=11.3 -c pytorch

4、安装pytorch3D

#安装fvcore和iopath
conda install -c fvcore -c iopath -c conda-forge fvcore iopath

#安装nvidiacub
conda install -c bottler nvidiacub  

#依赖包安装好之后2,开始安装Pytorch3d
conda install pytorch3d -c pytorch3d

在终端输入:conda list,检查是否安装成功 

 5、安装其他依赖项(在geo-neus文件夹中运行下面指令)

pip install -r requirements.txt 

PS:安装tensorboard中出现的问题

在本项目中的requirements.txt文件中没有给出tensorboard的安装,但是在训练时需要用到tensorboard,因此conda环境中需要安装tensorboard。使用pip install tensorboard安装的话可能在后续的训练中会出现错误:

AttributeError: module 'distutils' has no attribute 'version'

出现这个错误的原因在于"setuptools版本过高",如果出现这个错误请按照以下步骤解决:

第一步:
pip uninstall setuptools

第二步:
pip或者conda install setuptools==58.0.4

第三步:
pip install tensorboard

二、数据集的下载以及关于数据集出现的问题

1、数据集的下载:

官方DTU数据集下载链接:https://drive.google.com/drive/folders/1p7Vq6VAm1g_qCJcHLeXeGXc0qEkO4Rme

我复现的scan24场景的数据集:

2、数据集在pycharm打开显示为红色(不可使用)

在这里插入图片描述

如果你的文件或者数据集出现这种情况说明将该项目设置成了git的一个仓库,但并没有将文件上传到git,所以才显示红色。

解决方法:pycharm上设置文件→设置→版本控制→目录映射,修改为无,再确定应用。如下图所示:

 修改过后,以前文件显示为红色的就变回正常的颜色了。

3、修改数据集的路径

拿到项目进行训练的时候一定不要忘记修改加载数据集的路径要不然在训练的时候就会一直报错:

Traceback (most recent call last):
  File "/home/wxy/Geo-Neus/exp_runner.py", line 639, in <module>
    runner = Runner(args.conf, args.mode, args.case, args.is_continue, args.checkpoint, args.suffix)
  File "/home/wxy/Geo-Neus/exp_runner.py", line 46, in __init__
    self.dataset = Dataset(self.conf['dataset'])
  File "/home/wxy/Geo-Neus/models/dataset.py", line 62, in __init__
    camera_dict = np.load(os.path.join(self.data_dir, self.render_cameras_name))
  File "/home/wxy/miniconda3/envs/geoneus/lib/python3.9/site-packages/numpy/lib/npyio.py", line 407, in load
    fid = stack.enter_context(open(os_fspath(file), "rb"))
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/D/hust_fu/Data/scan24/cameras.npz'

解决方法:打开Geo-Neus/confs/womask.conf,修改data_dir(按照自己数据集放置的位置进行修改)

三、进行实验

1、训练

python exp_runner.py --mode train --conf ./confs/womask.conf --case <case_name>

2、从训练的模型中提取表面

python exp_runner.py --mode validate_mesh --conf ./confs/womask.conf --case <case_name> --is_continue

3、评估

python eval.py --conf ./confs/womask.conf --case <case_name>

将上述指令中的<case_name>改成对应的dtu数据集的场景就ok了。

猜你喜欢

转载自blog.csdn.net/weixin_59961223/article/details/131463717