通过前两节的工作,我们获得了尺度空间和DoG,这些量保证了尺度不变性,接下来我们就要获取特征点。
获取特征点有两个部分:
1. 定位DoG图像中的极大值点和极小值点
特征点的定位是通过同一组内各个DoG相邻层之间进行比较来完成的。为了寻找尺度空间的极大值点或者极小值点,每一个采样点需要和它所有的相邻点进行比较,看该点是否比它的图像域和尺度域的相邻点大或者小。如下图所示:
![](https://img-my.csdn.net/uploads/201203/28/1332942256_6509.jpg)
中间的监测点和它同尺度的8个相邻点以及上下相邻尺度的9*2个点共26个点进行比较,以确保它是尺度空间和二维空间中的极值点。
2.查找亚像素的极大极小值点
通过拟合三维二次函数以精确确定关键点的位置和尺度,从而达到亚像素级精度。
空间尺度函数的泰勒展开式如下:
対上式求导,并使其为0,我们能够得到精确的位置
PS:这里笔者没太去演算,感觉只是利用了求导值为0处为极值点这一结论来得到亚像素精度的像素点。
下图是这一部分的一个例子: