ORB(Oriented FAST and Rotated BRIEF) 特征点
在Fast角点与brief描述子的基础上,拓展得到ORB特征点。
具有实时性好,提取效果也不错的优势,被广泛应用于需要实时处理处理任务的场景中。
特征提取
预备知识:
FAST角点
Fast角点不具备尺度不变性,某些点在较小尺度下可能是角点而在大尺度下则变成了边缘,如图所示
因此ORB在提取特征点时进行了改进,利用单张图像金字塔进行多尺度特征提取,得到多尺度下的特征点。
特征描述
ORB特征点的描述子是在brief描述子基础上添加了类似于sift特征点的旋转不变性。
首先我们还是先看原始的brief描述子原理。
brief 描述子(Binary robust independent elementary feature)
利用特征点周围的局部区域内的像素值确定一个向量用来表达和描述该特征点的属性,这个向量被称为描述子。而brief描述子则采用二进制的向量,一般为128-512维。
采用如下的模式生成向量
对比直线两端像素值的相对大小,记录为对应维度的0,1值。
由于局部的图像对噪声非常敏感,因此通常在计算描述子之前需要对图像进行一次高斯平滑。
生成二进制向量的方式有很多种,原始文献中对不同模式生成的计算策略进行了对比测试。常见的有如下几种:
添加旋转不变性的主要过程如下:
- 计算提取特征点的方向
- 将描述子提取的方法旋转对应的角度
- 只需要将提取模式的直线旋转对应角度即可
提取特征点的方向
通过类比几何中心和质量中心定义物体的方向,定义特征点的方向,即几何中心指向像素强度中心。
其中几何中心则是特征点的位置,而像素强度中心则类比定义如下:
C = ( m 10 m 00 , m 01 m 00 ) C = \left(\frac{m_{10}}{m_{00}} , \frac{m_{01}}{m_{00}}\right) C=(m00?m10??,m00?m01??)
其中, m p q m_{pq} mpq?为图像矩,类似于转矩的定义为
m p q = ∑ x , y x p y q I ( x , y ) m_{pq} = \sum_{x,y}x^p y^q I(x,y) mpq?=x,y∑?xpyqI(x,y)
因此得到特征点的角度为
θ = arctan ? m 01 m 10 \theta = \arctan \frac{m_{01}}{m_{10}} θ=arctanm10?m01??
总结
最后总结如下:
ORB特征点在之前较为快速的算法中考虑了尺度不变性与旋转不变性,进一步提高了算法效果,兼顾了实时性和算法性能。