ORB(ORiented Brief)特征提取算法,其前身Brief,是由EPFL的Calonder在ECCV2010上提出了一种可以快速计算且表达方式为二进制编码的描述子,主要思路就是在特征点附近随机选取若干点对,将这些点对的灰度值的大小,组合成一个二进制串,并将这个二进制串作为该特征点的特征描述子。BRIEF最大的优点在于速度快,然而其缺点也相当明显,主要有以下几方面:
- 不具有旋转不变性;
- 不具有尺度不变性;
- 对抗噪声性能差。
ORB就是试图解决上述缺点中的1和3,即具有旋转不变性的同时具有较好的抗噪能力。运算速度方面,ORB算法是SIFT算法的100倍,是SURF算法的10倍。
ORB算法解决旋转不变性问题的思想:
ORB算法中采用了FAST作为特征点检测算子。在SIFT算法中,梯度直方图的把第一峰值的方向设置为特征点的主方向;如果次峰值的量度达到峰值的80%,则把第二个峰值的方向也设定为主方向,该算法相对更耗时。而在ORB的方案中,特征点的主方向是通过矩(moment)计算得来。有了主方向之后,就可以依据该主方向提取Brief描述子。
ORB算法解决对噪声敏感问题的方法:
由于ORB算法不直接使用像素点与点之间进行比较,而是选择以该像素为中心的一个区域作为整一个比较对象,因此提高了抗噪声的能力。
关于尺度不变性问题:
ORB没有解决尺度不变性的问题(因为FAST本