本文使用SIFT算法得到两张图的初始特征匹配集合,然后着重总结如何使用基于8点法的RANSAC法将匹配集合中的误差点(外点)剔除。
基础矩阵介绍
进行8点法之前首先需要知道基础矩阵的定义。
如图1-1所示,沿着空间点X和相机中心点之间的连线,可以在图像上找到对应的点x。那么,在空间中与成像平面上的位置x对应的场景点可以位于这条线上的所有位置。这说明如果要根据图像中的一个点找到另一幅图像中对应的点,就需要在第二个成像平面上沿着这条线的投影搜索,这条线成为对极线,就是图中的l'。所有的对极线都通过同一个极点,即e'和e。
图1-1 两个摄像机观察同一个场景点
所以,可以看出一个空间点在不同视角下的像点存在一种约束关系,基础矩阵F就是用来表示这种约束关系的。它是图像中的点x到另一幅图像对极线l'的映射,即l'= Fx ,而和点x匹配的另一个点x'必定在l'上,所以有如下公式。
x'TFx=0
即:
这就是定义基础矩阵的方程。
8点法
根据上面的基础矩阵公式,将其展开并转化为n组点的形式,有如下方程。
在F中,通常令f33=1来归一化矩阵,这样基础矩阵就有8个未知参数,求解需要8个线性方程,所以至少要包含8组匹配点对,利用它们线性求解基础矩阵就叫8点法。但是由于基本矩阵有一个重要的特点就是奇异性,F矩阵的秩是2。如果基本