Feature Detector & Descriptor(三)
提取到Feature point以后,如何match?
这就需要描述子(匹配比对的根据)了。
描述子要足够鲁棒,对光照和几何不敏感。
请看下面最简单的描述方法:
这样可以做match,前提最好不要有像素强度、光照、几何变化。
当我们用梯度来描述时,可以对像素shift鲁棒。
或者用像素梯度图。(丢掉像素的空间位置),如下
优点是:可以抵抗旋转变化。
缺点是:丢掉太多信息,描述性不够准确。
接下来有改进的版本:
切成小块,这样既可以有特征点的鲁棒性,又保持了一定的信息量。
梯度方向,然后投票。梯度方向的分布。
统计像素梯度方向。理解一下。旋转不变性!!考虑到了旋转不变性。
描述子很重要。
Invariance
- Most feature descriptors are designed to be invariant to 2Drotation and translation。
- They can usually also handle
- 容忍3D 60°的旋转。想象一下这个场景
- 仿射变换
- 光照变化
以上是描述子的自我修养。
Rotation Invariance for Feature Descriptors。
计算图片块的主方向,有多种计算方法。如下图所示:
理解下这个上图的内容。旋转不变性。
接下来是重头戏:SIFT
SIFT = DoG(金字塔——回想一下) + 描述子
往下看描述子。
中心位置信息和窗口大小(尺度大小)是已知信息,这是feature。scale用圆的半径来表示。
均匀采样成16x16的像素块,在每个像素上求edge的方向(梯度方向减90°),然后把比较弱的edge丢掉。
360°分成若干个区间进行投票。然后这就是方向不变性。
以上是对整个区域来算的。
16x16分割成4x4(8维),然后总共有16(4x4)个。
最后是8x16=128。现在懂了吧?
这个很好用,效果棒棒的!
现在明白SIFT的描述子怎么操作的吧?
https://blog.****.net/lingyunxianhe/article/details/79063547
SIFT我理解的还不够深,上面的链接能帮忙加深理解。
BRIEF是ORB用的,这我在其他博客也写过。