之所以会要说到ORB特征描述,是因为在做图像拼接时,选取特征点时,我所采用的是SURF特征,因为相比于SIFT特征描述子,其更高效,但是老师提示到ORB比SURF速度更快,然而才疏学浅的我对ORB并不是很了解,只是对这个名称不陌生,但不太记得具体的过程,所以来补充了解一下,至于能否将这个应用于实际,则需要进行综合的考虑啦~~毕竟速度是一方面,效果也是一方面~~
好了,不闲聊了,进入正题:
ORB特征提取可以分为两个部分:1、具有方向的FAST兴趣点检测;2、具有旋转不变的BRIEF兴趣点描述子。
注:FAST是一种特征检测的方法而不对特征进行描述,BRIEF则是对FAST检测到的特征点进行描述,是一种特征描述子。
首先,通过FAST检测到特征点,然后确定特征点的方向,在这儿确定方向是通过特征点的灰度与质心的灰度之间存在一个偏移,这个偏移的向量可以用于表示一个方向。至于质心的确定,可以利用公式来计算得到。如下图所示:
然后再对其进行BRIEF特征描述,即在特征点的邻域内随机选取n个点对,然后形成n维的二进制描述子。详细说明如下:
至此,便说明了ORB特征描述子的基本的pipeline,但是此时的描述子不具有尺度不变性和旋转不变性,故在此基础上形成了对其的一些改进的方法,如Steer BRIEF特征描述使其具有旋转不变性,即利用特征点的方向对随机选取的点对进行旋转变换后再确定特征的表达,如下图所示:
至于尺度不变性,则还是利用典型的金字塔的方式,来选择特征点。
SIFT,SURF,ORB的比较: