SFM中的图像匹配问题

1.SFM中图像匹配中问题描述

      在slam中或者sfm中都会遇到图像匹配的问题,slam是实时的,所以基本上就是两两帧之间的在做匹配,而sfm是离线模式,给你一推照片,自己去在里面找到匹配的对象。所以在这个问题上,图像匹配问题就先的至关重要,而且经常出现误匹配的问题。

      图像的匹配问题的关键就是从照片集中寻找到相似度非常高的照片,并且他们对应的实际物体为同一个物体的(同一面)。接下来就是如何去度量和搜索到最相似的照片在这方面一般会用到K-D树,RANSAC等算法。

2.图像匹配的第一步

     特征点的计算,得到对应的特征点特征点的描述子,目前来说传统的人工特征有sift,surf,orb(速度逐渐变快),运用神经网络提取特征的VGG ,ResNet ,DenseNet等。

     运用SIFT特征等传统方法,需要提取对应的特征点和对应的特征点的描述子,对每一张照片都进行提取,最后就是要依据这些特征点进行匹配。一般的方法就是kd树的结构和K-NN的方法,其中将特征采用kd树的结构存储是为了更好的搜索,对于某一个特征点计算其最近邻/次近邻的特征点的欧式距离比值Q。若该值Q小于某一阈值,那么则作为候选匹配对。但是在大规模场景三维场景重建中,无序图片集中的照片数量非常多,如果按照任意两个照片之间做一次匹配,计算代价非常大。

3.图像匹配的第二步

     所以出现了一种最小生成树的方法(MST),算法的思想主要是将所有的照片中的特征放到一个集合中G(f)中,那么计算一个mxm的矩阵,该矩阵中的每一个元素都是两张照片共有的特征点数目,计算匹配代价:

                                                                 

    其中n为两张图像所共有的特征点的数目,c为匹配代价。最后我们可以知道任意两幅图像之间的匹配代价,在此基础上生成最小生成树G(img)。这样就避免了每张图片两两之间做精匹配,降低了计算量,据说能够降为原来的20%左右。用ransac做精匹配的时候,会去寻找以个合适的本质矩阵来满足大多数点(inliers)的要求,其他的不满次矩阵的点称为外点(outliers),通过计算内点和外点的比例,会淘汰这张图片(那么我们可能就会反过来更新最小生成树)。

 

你可能感兴趣的:(三维重建)