三维重建 深度图 深度学习 MVS SFM
前言
目前对MVSNet/R-MVSNet的三维重建复现的文章较少且表述也不完整,特别是环境的搭建, 故在此记录下。
一、流程介绍
MVSNet/R-MVSNet模型的输入是不同视角下的图片以及对应的相机内参和外参(论文作者通过Colmap计算输入图片集的稀疏点云结果,作为该模型的输入),输出是每张图片对应的深度图,最后作者对所有的深度图进行融合,得到稠密点云数据。
二、环境搭建(重点)
1.依赖库
花了三天时间,终于把环境跑起来了,我是基于Ubuntu16.04 + miniconda + python3.6.0, 在conda虚拟环境中测试的,GPU配置如下:
安装过程遇见太多坑,下面我贴上需要安装的版本库如下:
python 3.6.0 tensorflow-gpu 1.11.0 tensorboard-gpu 1.11.0 keras 2.2.4(对应版本:https://master--floydhub-docs.netlify.app/guides/environments/)
下面这俩折腾了许久,建议离线安装,我会分享我下好的包, 是可以通过conda安装下面的, 无需卸载你本地的cuda库,这点确实方便。 cudatoolkit 9.0(conda install --use-local cudnn-7.3.1-cuda9.0_0.conda) cudnn 7.3.1(conda install --use-local cudatoolkit-9.0-h13b8566_0.conda) 下面库照抄就行了 opencv-python 3.2.0.8 matplotlib 2.2.5 pillow 8.4.0 scipy 1.1.0 nvidia-ml-py 11.515.48 numpy 1.19.5 cudatoolkit 9.0和cudnn 7.3.1 链接:https://pan.baidu.com/s/1BcRV7NDCggrAwFbHn_YGWA 提取码:wjot
2.测试
当你把上面库安装好后,就可以下载作者的tensorflow版本代码了(后来的pytorch版本环境搭建很简单,这里就不提了)。
tensorflow版本代码在运行时train.py和test.py都会报一些语法错误,这是由于库的版本问题造成的,你们可以看看其他博主的文章,参照着修改,我自己改好的代码也会贴出来。
总结
先占个位置,后面继续更新。