Paper--3d reconstruction:Open Source Structure-from-Motion for Aerial Video

三维重建系列文章

Paper–3d reconstruction:Photo Tourism: Exploring Photo Collections in 3D https://blog.csdn.net/qq_41102371/article/details/116901177
Paper–3d reconstruction:Open Source Structure-from-Motion for Aerial Video https://blog.csdn.net/qq_41102371/article/details/116953992

写在前面

论文Open Source Structure-from-Motion for Aerial Video阅读笔记
下载地址:share_noel/papers/sfm-Open Source Structure-from-Motion for Aerial Video.pdf
https://pan.baidu.com/s/1IsN2Ze2FNts-3v4ZH1m-9A 提取码: mack
本篇博客只对论文中sfm(structure from motion)的关键部分进行记录,并未全文翻译.

Abstract

Structure-from-motion (SfM)是一个计算机视觉领域的一个研究热点,在地图、地形建模、作物监测等航空成像应用中具有重要意义。免费的sfm软件让每个人可以应用sfm到自己的数据上。现有的免费软件针对无序影像,对有序的数据集或者视频效率低,通常会在平面区域(航空摄影中经常出现)重建失败,而商业软件有航空影像的sfm解决方案,但是有所有权并且贵。
提出新的开源工具MAP-Tk,目标是提供航空视频的sfm。利用数据的时间连续性以及航空影像的性质来加速、提升特征tracking、回环检测、BA。系统高度模块化。可以从其他开源库插入最新的算法,比如opencv,VXL,Ceres Solver。本文将呈现模块化系统的设计,用户接口,用于航空视频的新算法以及在不同数据集上的测试结果。

Introduction

sfm起源于航空摄影测量,是一个已经活跃了一百多年的领域。过去,航空摄影学家手动进行三角化和光束平差(bundle adjustment,BA)来构建3d地图,图像数据从热气球上拍摄。通过鲁棒的特征检测和匹配自动寻找对应点对,现在计算机视觉技术极大程度地提升sfm并让其自动化。同样,非线性优化的提升让大规模稀疏BA更容易。
大规模的网络图像推动了无序影像的sfm。这催生了Bundler这样的软件,因其开源,所以广泛用于sfm。同样,visualSFM是另一个sfm工具,带GUI因此用起来很容易,并且非商业用途免费。
我们将可预见sfm的将跟着这样的趋势,也会回归到它的本源应用–航空摄影。低成本的商业和消费级无人机让航空图像更容易获取。sfm应用于航空影像可以产生镶嵌图和3d测量,同时定位传感器的飞行路径,如图1.
在这里插入图片描述
本文将讨论用于航空视频的sfm开源工具:MAP-Tk,Motion-imagery Aerial Photogrammetry Toolkit。MAP-Tk高度模块化、灵活,可使用OPENCV,VXL以及Ceres Solver的高级算法库。我们像Visualsfm一样提供了跨平台的GUI,但不同的是我们的软件遵循BSD协议,允许商业和学术用途。软件在github上开源:https://github.com/kitware/maptk

Section 4介绍了我们利用航空数据特性、地面近似成平面,使用新的算法来加速、提升特征tracking以及回环检测。利用视频数据的时间连续性将数据进行时间上的分层来显著地加速了稀疏光束平差(sparse bundle adjustment, SBA)。系统可以利用GPS和IMU等传感器数据,但是当这些数据没有时系统也能工作。Bundler和VisualSfM等可以将航空视频帧数据当做无序影像处理,但是这样没有利用视频的时间连续性和冗余特性,这使得它们的效率很低;它们也没有考虑航空影像的平面特性,这让它们偶尔重建失败。
本系统在多个数据集上测试过,包括四轴飞行器的航空视频,商业卫星视频,section5将讨论这些结果。

2 Related Work

过去几十年sfm在计算机视觉领域的主要任务是大规模数据的场景重建。这些应用促进了Bundler的发展,这是第一个开源的端到端的sfm开源软件,用于大规模的数据集。bundler是Noah Snavely在博士论文中开发的,遵循GPL license。VisualSFM是Dr.Changchang Wu.在博士论文中开发的,VisualSFM并不全开源,非商业免费使用但是代码闭源,同样遵循GPL license。VisualSFM比bundler多了GPU加速和GUI,VisualSFM更倾向于处理无序影像而不是航空视频。OpenMVG是Dr. Pierre Moulon在博士论文中开发的,遵循MPL license,提供了sfm的最近的一些算法,但也是定位在无序影像。虽然这些软件都能处理航空视频,但是由于他们假设图像无序,所以对视频的效率很低。Shum等提出使用关键帧分层的方法,Resch提出sfm的视频优化。Schweighofer解决sfm在平面场景下的问题,在航空视频中经常使用,但是代码没开源,但是我们的工作提供了源码来解决这些问题。

3 System Architecture

我们的软件高度模块化,结构可配置。很容易将opencv等开源库里面的特征检测和描述子添加进来使用。每种算法都是可交换的,新的算法可以在不改变核心库和工具的基础上添加进来。图2展示了sfm模块化的pipeline:
在这里插入图片描述
MAP-Tk提供了桌面的GUI程序,如图3
在这里插入图片描述
图4显示了软件框架可以依赖于不同的三方库,我们使用基于插件而不是依赖大量的库的结构。
在这里插入图片描述
如图5,系统依赖Eigen、Boost、c++ STL基础库,接口只需要这些最小的依赖关系即可构建。虽然抽象算法接口在主库中声明,但它们的实现是由插件管理器在运行时加载的各种插件提供的。每个插件可能有额外的依赖项。
在这里插入图片描述

4 Algorithms

除了模块化,系统提供了能让sfm应用于航空视频的算法:
1、利用视频的时间连续和地面平面特性来进行特征track和回环检测
2、利用时间连续的来加速BA

4.1. Feature Tracking and Loop Closure

特征track就是在一帧图像中检测特征点并且找到其他帧里面相同的特征点,实际中,特征tracking是一个噪声处理的过程。并不是所有正确的track都是固定的特征,移动的前景目标会产生离群track,和静态目标被观察时的track具有几何不一致性,如果没有滤除这些离群track,这将给sfm带来大问题。处理这个问题通常的方法是使用基础矩阵约束来剔除几何上无效的track
我们使用约束性更强的单应性矩阵,而不是基础矩阵,单应性矩阵针对场景在同一平面,或者相机是固定的可以旋转但不存在平移。在航空视频中,帧间的运动通常足够小,或者地面足够近似成平面,因此homography的限制在相邻视频帧间是合理的。实际上,对于相邻的视频帧,基础矩阵变得不稳定,因为相机运动变化很小,单应性就要更鲁棒些。因为我们认为视频是时间连续的,我们可以在视频帧间使用单应性矩阵track特征点。
帧间tracking有O(n)的优势,而进行所有匹配所有图像的代价是O(n^2)。然而,如果存在某一帧有问题的话,仅进行帧间特征track是不可靠的并且容失败。它也不考虑被遮挡或退出视野的特征,但随后会再次被观察到。通常情况下,当一个特征消失在视线之外,然后重新出现时,轨迹会被打断,并形成一个新的轨迹。在某些情况下,我们可以通过环路闭合过程将相同特征的这些不相交轨迹重新缝合在一起。环路闭合可以显著减小SfM解的漂移。
MAP-Tk中整合了两种类型的回环:局部回环连接由计算错误、噪声、像素丢失造成的少量tracks,单应性回环用于连接由于相机运动失去视野但又恢复的tracks(相机运动失去某块区域的视野,运动回来时,失去的视野又恢复了),两种方法互补,同时使用可以获得更好的结果。
我们的回环检测估计相邻帧之间的单应性。偶尔一个或一连串的坏帧导致特征tracking失败,这将视频分成一系列稳定的“场景”,算法监视帧间保持的track数量。当跟踪的特征点(tracked features)比例大幅下降时,当前场景结束,当成功的track数量恢复到以前的正常水平时,新的场景开始。一个新的场景开始后,算法在当前正常帧与上一次最后一个正常帧之间执行额外的特征匹配,以恢复丢失的track

我们的单应性回环用于解决长期回环闭合(long-term loop closure problem)的问题,并且和航空视频稳定技术有关。算法假设视频观察到的地表是一个近似的平面,单应性可以在一段时间内将每帧配准到一个公共平面上。这个假设并不适用于所有航空视频,通常是相机到地面的距离远远大于地面目标起伏的高度时成立。算法使用从特征点估计的单应性矩阵来预估待匹配的帧对以实现回环闭合。
在航空视频稳定技术,人们可以估计将所有帧映射到统一平面的一系列单应性矩阵,如图6,通过查看配准空间的帧边界交点,我们可以识别到传感器已经回到已经看过的地方。图中,红色帧的track应该与绿色帧的track相匹配,以形成重复的track和闭环。随着时间增长,单应性会引起引起漂移,但是我们的结果表明,单应性足够精确地识别近似帧(一定范围内的帧)来搜索闭合环。这种方法简单,能在线使用,只需为正常的帧间跟踪增加最小的开销。实际中,当相机运动后使得与最后的关键帧的重叠度降到阈值以下,就可以通过选择关键帧进行进一步的加速。回环检测中,我们只需要对关键帧进行匹配。
在这里插入图片描述

4.2. Hierarchical Sparse Bundle Adjustment

对于一系列的特征tracks,有许多方式来制定sfm策略:怎样初始化模型参数;哪些参数需要被优化,如何利用稀疏性,如何将问题划分为更小的子问题。
我们的sfm策略使用时间上分级的方法。方法如图7,被分为3层,但两层就足够了。
首先从时间上降采样视频以生成子问题,并且帧间冗余度更小。如果关键帧选取地合适,对该子问题进行稀疏BA,将产生与原始问题结构相似的解。完成关键帧BA之后,第二个填充阶段可以通过从相邻关键帧摄像机内插其参数并独立地优化每个添加的摄像机,同时保持landmark位置固定,从而有效地添加已跳过的摄像机。填充SfM可以以所有相机的最终束调整结束,但解决方案通常足够好,不需要最后的SBA步骤。应用这种分层策略的SBA可以将BA次数减少几个数量级。
在实现提速并仍然保持准确的结果时,关键帧提取是十分重要的。我们初始的实验使用固定的采样率(固定间隔帧),当视频平稳拍摄以及相机速度不变时,这种策略表现得比较好,但是最好的关键帧依赖于视频帧率以及平台的运动速度,固定的采样率在运动不稳定时表现不好,此时需要基于特征tracking分析的动态采样率。

papers:
M. J. Leotta, E. Smith, M. Dawkins and P. Tunison, “Open source structure-from-motion for aerial video,” 2016 IEEE Winter Conference on Applications of Computer Vision (WACV), 2016, pp. 1-9, doi: 10.1109/WACV.2016.7477659.
https://blog.kitware.com/open-source-structure-from-motion-at-cvpr-2015/

如有错漏,敬请指正
--------------------------------------------------------------------------------------------诺有缸的高飞鸟202105

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诺有缸的高飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值