SIFT使用LOG的简化算法DOG以提升检测效率,SURF(speeded up robust features)则是对DOH进行简化。
虽然SIFT被认为是最有效和最常用的特征提取算法,但因为计算较为复杂,很难达到实时的速度;SURF将DOH的高斯二阶微分模板进行了近似简化,引入了积分图像的概念,将卷积运算简化为几个简单的加减运算,实验表明SURF较SIFT要快3倍左右。
1. 理论
与SIFT类似,SURF也需要建立尺度空间金字塔:将空间分为若干(默认5)个Octave,每个Octave包含若干层(默认4),每层的图像是用不同尺度的滤波模板计算得到的(SIFT在这里首先做高斯卷积,然后用相邻层相减来模拟LOG;SURF试图模拟的是DOH),但相邻Octave的图片不再是降采样的关系(节省了降采样的计算),而是通过一组增大的采样步长值计算得到(因为下一组Octave的模板半径增大,因此相应增加模板移动步长也是合理的);
与SIFT最大不同是,滤波时不再采用卷积的方式:
(1)首先回顾下DOH用到的Hessian矩阵:对于图像每个点 f(x,y),有,一般做偏导前先做不同尺度的高斯模糊
;我们都知道,卷积操作是计算量很大的,SURF对x,y的二阶偏导和xy的二阶偏导做了近似处理(图1-1):