sfm三维重建源码_多视图几何三维重建实战系列之COLMAP

  • 官方Github:https://github.com/colmap/colmap
  • COLMAP的安装和简单使用:

3.3 稀疏重建

我们将使用COLMAP中的增量式SfM技术进行稀疏重建。大家也可以使用OpenMVG增强对SfM的理解。1)准备工作首先,我们需要准备几个目录,第一个是包含原始图像的目录,第二个则是COLMAP工程的目录,各位读者可以自行管理自己的目录为了举例,以Scan1 表示COLMAP工程的目录,命名为当前场景的代 ,内部包含该重建场景的原始图片,文件夹名称为images.在终端输入一下命令,打开COLMAP的图形界面(图8)。Linux : ~$ colmap gui

图11 特征匹配COLMAP封装的比较好,在特征匹配结束后,会自动生成场景图和匹配矩阵,即以不同视图之间同名特征数为权值,以不同视图为图节点的图结构。对于匹配矩阵等中间过程的分析见第四节。4)增量式重建增量式重建是个逐渐增加视角,并进行迭代优化重投影误差的过程[4]。目的是计算不同视图的相机参数、得到场景的稀疏点云和确定不同视图与点云之间的可视关系。在COLMAP中操作比较简单,点击“reconstruction”中的“start reconstruction”进行一键式重建,整个过程将会自动进行增量式重建,我们可以从旁边的log框内查询当前状态。

代价累积。COLMAP也采用Patch Match的信息传递策略[3]。经过视角平滑后,在候选集子集中进行同名特征采样,所以式1)被修改为:

2)操作1 – 影像去畸变在进行深度图估计前的第一步为影像去畸变,在COLMAP中,使用光学一致性和几何一致性联合约束构造匹配代价,带有畸变的影像会导致边缘有较大的视差估计误差。但实际上为了简化,我们使用的数据集已经经过及畸变纠正,且在之前的那一步使用了针孔模型中隐含约定无畸变。倘若我们自己采集的数据没有经过畸变纠正,需要更改相机模型为带有畸变参数的相机模型,或者先使用畸变较小的数码相机进行数据采集,保证测试的结果是正确的。具体操作十分简单,点击“reconstruction”中的“dense reconstruction”,弹出稠密重建窗口,并点击“select”选择生成文件存放的目录,这里存放在 ./Scan1/ (即工程目录下)中即可。然后点击“undistortion”即可去除图像畸变(图15)。

稠密重建结束后,我们利用meshlab打开生成的.ply文件,即可看到稠密重建结果(图18)。

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

4.3 深度图估计结果

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年11月15日
下一篇 2020年11月15日

相关推荐