三维匹配_多视图几何三维重建实战系列之COLMAP

3.COLMAP实际操作

以传统方法COLMAP为例,介绍的三维重建的实际操作,行文结构按照数据采集、稀疏重建、深度图估计、稠密重建等四个步骤,希望读者可以参考本节,利用开源数据集或者自采数据,跑通基于传统方法(COLMAP)的三维重建技术。

3.1数据集

3.1.1数据采集

1)DTU数据集

DTU数据集[1]是针对于MVS而专门拍摄并处理的室内数据集(图4)。利用一个搭载可调节亮度灯的工业机器臂对一个物体进行多视角的拍摄,每个物体所拍的视角都经过严格控制,所以可以获取每个视角的相机内、外参数。

2)Tanks and Temples数据集

不同于DTU数据集,Tanks and Temples数据集[2]采集的是室外场景。这个数据集主要用于验证我们使用的 型和开源软件泛化能力,验证其是否对光照变化大、存在动态目标的场景仍具备较为精确地重建能力(图5)。

4) 自采数据采集要求

经过笔者多次实验,自采数据主要有以下几点要求:

  • 尽量使用单反相机或专业数码相机进行数据采集,如果要用手机进行采集,请使用单摄像头的手机进行数据采集。
  • 尽量选择纹理丰富的外界环境进行数据采集,避免玻璃围墙、瓷砖和打蜡地板等强反光材料环境
  • 尽量选择光照明亮,且光照条件变化不剧烈的环境,最好选择室内环境。如室内客厅,开启客厅大灯进行灯光补偿。
  • 尽量围绕重建物体或环境采集较多的影像,且在采集过程中控制快门速度,避免模糊。

接下来介绍COLMAP,笔者推荐大家使用Linux(Ubuntu)系统进行以下代码的编译与运行。以下所有程序的下载和编译都将基于Linux系统(Ubuntu)。传统方法暂时不需要GPU的加持,但之后的深度学习方法还是需要我们使用GPU,所以这里笔者建议各位读者,如果时间充裕,可先自行配置NVIDIA驱动,并安装CUDA9.0以上版本。笔者环境配置为:驱动版本 418.56, CUDA版本10.1, GTX960M,显存4GB(图7)。

其次进行特征匹配,操作也十分简单,点击“processing”中的“Feature Matching”, 弹出选择窗体。同样,这里面的参数都可以选择默认的参数,然后点击“Run”,即可进行特征匹配(图11)。

1)深度估计与优化原理

在COLMAP中,匹配代价构造、累计、估计和优化是封装在一起的,利用GEM模型进行求解。与视差估计框架一样,深度估计框架也分为如下四个步骤:匹配代价构造,代价累积,深度估计,深度图优化[5]。

3.5稠密重建

先说操作,同样在该界面下,点击“Fusion”即可进行基于深度图融合的稠密重建。而该原理就是对估计出来的深度图,首先通过配准进行深度图融合,然后通过式3),按照投影方法进行点云恢复。

结果表明,COLMAP深度估计的时间会随相片数量增多而增加。效率低于OpenMVS和深度学习方法。(不同机器上运行的时间不同)

4.3 深度图估计结果

29039ead5e566d1dc2851f37ab2d2887.png
图22 稠密重建结果

5.结论

COLMAP可以用于快速三维重建,代码封装良好。但缺点为深度图估计速度过慢,且在深度图估计精度上略低于深度学习的方法,我们将在之后带来基于深度学习方法的三维重建技术的实操以及相应原理、结果分析。敬请期待。

参考文献

[1] Aan H , Jensen R R , Vogiatzis G , et al. Large-Scale Data for Multiple-View Stereopsis[J]. International Journal of Computer Vision, 2016, 120(2):153-168.

[2] Snavely N , Seitz S M , Szeliski R . Modeling the World from Internet Photo Collections[J]. International Journal of Computer Vision, 2008, 80(2):189-210.

[3] Barnes C , Shechtman E , Finkelstein A , et al. Patch Match: A Randomized Correspondence Algorithm for Structural Image Editing[J]. Acm Transactions on Graphics, 2009, 28(3, article 24).

[4] Schnberger J L , Zheng E , Pollefeys M. Structure-From-Motion Revisited.

[5] Schnberger J L , Zheng E , Pollefeys M , et al. Pixelwise View Selection for Unstructured Multi-View Stereo[C] European Conference on Computer Vision (ECCV). Springer, Cham, 2016.

往期干货资源:

汇总 | 国内最全的3D视觉学习资源,涉及计算机视觉、SLAM、三维重建、点云处理、姿态估计、深度估计、3D检测、自动驾驶、深度学习(3D+2D)、图像处理、立体视觉、结构光等方向!

汇总 | 3D目标检测(基于点云、双目、单目)

汇总 | 6D姿态估计算法(基于点云、单目、投票方式)

汇总 | 三维重建算法实战(单目重建、立体视觉、多视图几何)

汇总 | 3D点云后处理算法(匹配、检索、滤波、识别)

汇总 | SLAM算法(视觉里程计、后端优化、回环检测)

汇总 | 深度学习&自动驾驶前沿算法研究(检测、分割、多传感器融合)

汇总 | 相机标定算法

汇总 | 事件相机原理

汇总 | 结构光经典算法

汇总 | 缺陷检测常用算法与实战技巧

相关资源:Veneer:文件屏蔽软件-开源-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月19日
下一篇 2020年10月19日

相关推荐