多视图几何三维重建实战系列- Cascade-MVSNet( 三 )


Mkdir buildCd buildCmake ..Make之后将 --fusibile_exe_path的地址设置为可执行文件所在的地方 。 第三个要注意的flag是—prob_threshold , 这个表示gipuma算法中利用置信度过滤深度图的阈值 , 如图11)所示 , 如果当前像素的置信度较高(c-上部),则说明当前像素的深度估计比较准确 , 若置信度较低 , 则说明当前像素上 , 深度估计有多个峰值 , 不能确定哪一个是最优深度 , 也表示当前像素估计的深度不准 。 因此 , 利用该阈值对深度图进行过滤 , 在稠密重建的时候 , 置信度较低的像素就不进行深度融合 。
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图11 置信度解释示意图[2]
结果分析:
通过输出多个中间结果 , 对Cascade结果进行分析 , 首先是跑分结果 , 通过表1可得 , 利用Cascade的代价图构造方式在精度和完整度上都比之前的方法更优 , 比传统方法提升了近15个点 , 比R-MVSNet方法提升了近10个点 。
表1 跑分比较结果表
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
其次 , 从深度图估计结果看(图12) , 深度图较为平滑、完整 , 且估计精度比较高 , 估计错误的大多数是背景或者白色无纹理地区 。 通过对当前深度图的点云映射(图13) , 当前网络在原图视角下可以保持较高的分辨率 , 当在meshlab中旋转视角 , 可以看到当前视角估计出来的稠密点云效果完整 , 主体部分基本正确 , 背景部分存在偏差是正常的体现 , 在整体融合的时候可以滤除掉 。
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图12 scan15深度估计结果
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图13 单图恢复点云结果
更多结果:
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图14 深度估计结果
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图15 稠密重建结果
以上结果均由笔者亲自试验 , 效果能达到论文中描述的水平 , 且GPU消耗基本在7GB以内 , 可行性比较高 。
6、总结
Cascade-MVSNet是一种利用级联式代价体构造 , 解决MVSNet在深度估计过程中的GPU消耗过大问题、点云完整度不高的深度学习方法 。 通过实验 , 该方法在现有的MVSNet框架下 , 能以较小的GPU消耗 , 得到较高精度的深度估计结果 , 同时也能保留较高的完整度 。
MVS的深度学习实战系列到目前为止就先告一段落 , 本系列我们首先回顾了MVS的传统原理和传统方法 , 并介绍了COLMAP等软件的具体操作 , 之后 , 介绍了MVSNet、R-MVSNet和Cascade-MVSNet三个深度学习框架和三维重建的pipeline , 希望大家通过本系列的分享 , 加深对MVS三维重建的理解 。
附录
开源数据集下载链接:在公众号「计算机视觉工坊」 , 后台回复「mvsnet」 , 即可直接下载 。
我们需要下载的是用于测试的数据集 , 所以打开百度云链接时 , 点击 “mvsnet” , 再点击“preprocessed_inputs” , 下载其中的“dtu.zip”和“tankandtemples.zip”即可(图16) 。
多视图几何三维重建实战系列- Cascade-MVSNet文章插图
图16 开源数据集下载
感谢香港科技大学姚遥开源的数据集链接 。