![](/style/images/good.png)
8
![](/style/images/bad.png)
多视图几何三维重建实战系列- Cascade-MVSNet
source link: https://mp.weixin.qq.com/s/1sU4lxo1MSN2kdDrTMif9A
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
多视图几何三维重建实战系列- Cascade-MVSNet
Original
浩南
计算机视觉工坊
10/16
收录于话题
#立体匹配
点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
3、Cascade-MVSNet为了解决信息保留和GPU消耗的两个问题,Cascade-MVSNet提出一种级联的代价体构造方法,并输出从粗到细的深度估计值。首先来看其整个网络的架构(图5)。
首先,再次感谢Yaoyao(香港科技大学)给出已经预处理好的数据,感谢Alibaba集团提供的开源代码。因为Cascade-MVSNet的深度估计框架沿用MVSNet,所以其输入和MVSNet要求一致,这里不再重复说明,详细数据处理内容,请大家回顾实战系列-MVSNet。1)环境配置参考Alibaba的github主页中的installation,即可完成环境配置。(https://github.com/alibaba/cascade-stereo)2)深度估计环境配置结束后,需要打开CasMVSNet文件夹(图8),整个cascade-stereo包含多视图立体和双目立体,本篇文章只关注多视图立体方面的应用。所以进入CasMVNSet的文件夹。
上述bash中,需要首先设置Test图片的位置,这里设置为下载好的数据集即可,TestList表示设置需要对那几个数据进行深度处理和重建,例如,我想对10,15,24号数据集重建,那Testlist中只要包含scan10, scan15, scan24即可。CKPT_FILE是训练好的网络的地址,通过官网可以下载预训练的模型。在test.py中,主要有几个flag需要注意,代码如下:#!/usr/bin/env bash
TESTPATH="data/DTU/dtu_test_all"
TESTLIST="lists/dtu/test.txt"
CKPT_FILE=$1
python test.py --dataset=general_eval --batch_size=1 --testpath=$TESTPATH --testlist=$TESTLIST --loadckpt $CKPT_FILE ${@:2}
注意,可以改变测试分辨率的大小,但需要为32的倍数,且最好保证为16:9的长宽比例。其次,使用gipuma进行稠密重建时,需要预下载fusion这个库,这个在https://github.com/YoYo000/fusibile可以下载,然后在终端输入:parser.add_argument('--max_h', type=int, default=864, help='testing max h')
parser.add_argument('--max_w', type=int, default=1152, help='testing max w')
parser.add_argument('--filter_method', type=str, default='normal', choices=["gipuma", "normal"], help="filter method")
parser.add_argument('--fusibile_exe_path', type=str, default='../fusibile/fusibile')
parser.add_argument('--prob_threshold', type=float, default='0.9')
parser.add_argument('--num_consistent', type=float, default='4')
之后将 --fusibile_exe_path的地址设置为可执行文件所在的地方。第三个要注意的flag是—prob_threshold,这个表示gipuma算法中利用置信度过滤深度图的阈值,如图11)所示,如果当前像素的置信度较高(c-上部),则说明当前像素的深度估计比较准确,若置信度较低,则说明当前像素上,深度估计有多个峰值,不能确定哪一个是最优深度,也表示当前像素估计的深度不准。因此,利用该阈值对深度图进行过滤,在稠密重建的时候,置信度较低的像素就不进行深度融合。Mkdir build
Cd build
Cmake ..
Make
以上结果均由笔者亲自试验,效果能达到论文中描述的水平,且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)。
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按关注公众号
觉得有用,麻烦给个赞和在看~![640?wx_fmt=gif](https://mmbiz.qpic.cn/mmbiz_gif/gYUsOT36vfpFnEj3CMde0iaOKfGiaAmbfRRPePWld5pUR0niaibYOvNP5cx7nKS5I6180xeya4ZIYJClvHqSpQecqA/640?wx_fmt=gif)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK