单目视觉(2):SFM之概述(一)

SFM: Struct From Motion 概述(一)


特征提取

特征点是图像中的一些特殊点,具有一些特殊的属性。这样的特征点相对于一些普通的点具有相对较多的信息量。我们可以根据这样的特征点,来描述图像中的关键信息。图像特征主要包括线条特征,角点特征等,不同的特征可以用不同的特征描述符(比较常用的是向量)来进行描述。而采用的不同的算法可以检测出不同的特征并提取出相应的特征描述符。特征描述符表征的是这个特征的一些关键信息,可以为后续算法采用。不同的特征提前算法提取的特征描述符也具有不同的特性。依据实际的工程项目特点采用不同的特征提取算法是很关键的。在SFM中常用的特征提取算法是SIFT算法,SIFT描述符的强鲁棒性较好,具有尺度和旋转不变性。


特征匹配

每张图片的特诊点提取出来之后,需要对各张图片中的特征点进行匹配,也就是找到一张图片中的特征点在另一张图片中的对应特征点。通常设计一个判断准则 f f 来进行选择正确的点对。假设以其中一种图片为参考图像(Reference Image),另一幅图像为目标图像(Target Image)。那么特征匹配就是在以参考图像中的特征点为参考,在目标图像中寻找与之相对应的点。

FeaturePair=f(SR,ST)

衡量标准 f f <script type="math/tex" id="MathJax-Element-3">f</script>有很多中选择方案,例如有常见的欧氏距离等各种距离表达式。而且不同的实现方法对继续性能的影响也有很很大的关系。常用的寻找正确匹配点对的方法是K-D树。这个方法类似于k-means中聚类算法在计算中心距离分配点的归属时常用的一种策略。在SFM中,常常使用快速最近邻搜索包(FLANN :Fast LIrary for Approximate Nearest Neighbors)作为匹配算法


矩阵计算

在进行初步的匹配之后,形成的特征点对是很粗糙的,即其中有很多的错误匹配。这会对后续工作产生很大的影响,因此擦常常需要对初步的点对进行进一步的确认和完善,剔除错误的特征点对。常用的方法是几何约束,比如点对在相机成像过城中,应该满足一定的物理映射条件。(如果在理想的双目立体视觉中,这样的匹配点对还会有更强的几何约束条件,如匹配点对应该在同一极线之上等)

矩阵的计算过程中,不同点对的计算结果可能不一样,因为图像中含有非常多的噪声。因此常常使用RANSAC(随机抽样一致)来进行降噪处理,以获取最优的F矩阵。

在SFM中,涉及到多个矩阵,例如相机的内参矩阵,本征矩阵,相对变换矩阵。这些矩阵的计算是实现算法的基础。不同的矩阵在不同的算法阶段进行计算,一些相关参数的获取也有不同的方式。


三维重建

选取其中的两幅图像进行重建,选择的标准是匹配的特征点数目多。采用五点法求出两幅图像相对的外参数和相机内参数,然后利用bundle adjustment方法来进行优化。依据得到的参数和两幅图像的匹配关系求出空间点的坐标。然后继续添加图片,选择与已知“实际“”坐标的点匹配最多的图像来进行添加。这样就变成了已知二维图像特征点及其三维世界坐标进行相机标定的问题。


参数优化

当将所有的认为正确匹配的点对连接起来之后就行形成特征点的初步运动轨迹,然后利用优化算法bundle adjustment将整个轨迹描画出来。经过优化之后可以得到稀疏的三维点云。


References

[1] SFM算法流程
[2] Structure from motion(SFM)原理 - 附我的实现结果
[3] SIFT算法详解
[4] structure from motion

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值