1.理解图像特征点的意义,并掌握在单幅图像中提取特征点及多幅图像中匹配特征点的方法。
2. 理解对极几何的原理,利用对极几何的约束,恢复出图像之间的摄像机的三维运动
3.理解PNP问题,以及利用已知三维结构与图像的对应关系求解摄像机的三维运动
4.理解ICP问题,以及利用点云的匹配关系求解摄像机的三维运动
5.理解如何通过三角化获得二维图像上对应点的三维结构
因此,计算机领域的研究者们提出了一些人工设计的特征点,如:SIFT、SURF、ORB等,它们拥有如下性质: 1.可重复性:相同的特征可以在不同的图像中找到。2.可区别性:不同的特征有不同的表达方式。3.高效率:同一图像中特征点的数量应该远远小于像素的数量。4.本地性:特征仅与一小片图像区域相关。 特征点由关键点(Key-point)和描述子(Descriptor)两部分组成。关键点是指该特征点在图像里的位置,有些特征点还具有朝向、大小等信息。描述子通常是一个向量,按照某种人为设计方式,描述了该关键点周围像素的信息。
描述子是按照”外观相似的特征应该由相似的描述子“的原则设计的。因此,只要两个特征点的描述子在向量空间上的距离相近,就可以认为它们是同样的特征点。 常用特征点简介:SIFT:(尺度不变特征变换,Scale-Invariant Feature Transform)充分考虑了在图像变换中出现的光照、尺度、旋转等变换,但计算量庞大。ORB:它改进了FAST关键点检测不具备方向性的问题,并采用了速度极快的二进制描述子BRIEF。同一幅图像特征点的提取速度,ORB>SURF>>SIFT。目前SLAM中ORB是质量和性能之间较好的折中选择。
ORB
提取ORB特征分为如下两个步骤:
1.FAST角点提取:找出图像中的“角点”。相较于原版的FAST,ORB中计算了特征点的主方向,为后续的BRIEF描述子增加了旋转不变特性。
2.BRIEF描述子:对前一步提取出特征点的周围图像区域进行描述。ORB对BRIEF进行了一些改进,主要是指在BRIEF中使用了先前计算的方向信息。
1.选取像素p,假设它的亮度为Ip;
2.设置一个阈值T(比如Ip的20%);
3.以像素p为中心,选取半径为3的圆上的16个像素点;
4.假如选取的圆上,有连续的N个点的亮度大于Ip+T或小于Ip-T,那么像素p可以被认为是特征点;
5.循环以上4步,对每一个像素执行相同操作。
FAST 描述子
论文:BRIEF: Binary Robust Independent Elementary Features
BRIEF算法的核心思想是在关键点P的周围以一定模式选取N个点对,把这N个点对的比较结果组合起来作为描述子。为了保持踩点固定,工程上采用特殊设计的固定的pattern来做
原始的FAST关键点没有方向信息,这样当图像发生旋转后,brief描述子也会发生变化,使得特征点对旋转不鲁棒。
解决方法:orientated FAST,使用灰度质心法计算特征点的方向
什么是灰度质心法?
所谓质心是指以图像块灰度值作为权重的中心,其具体操作步骤如下:
此时我们拥有了旋转不变性,但是还需要解决尺度不变性,而尺度不变性可以通过构建图像金字塔,并在图像金字塔上的每一层检测角点来实现。
金字塔底层是原始图像,每往上一层,就对图像进行一个固定倍率的缩放,如图所示:假如相机在后退,那我们能够在上一个图像金字塔的上层和下一个图像金字塔的下层中找到匹配。
通过以上方法,FAST角点便具备了尺度和旋转不变性。
待续…