SIFT算法与SURF算法特征检测效率对比

SIFT和SURF算法都是特征检测中较常用的算法,SURF是对SIFT的一种改进,尤其在效率上有明显提升。

下面的实验给出了SIFT算法和SURF算法在特征检测效率上的对比,

所用的SIFT源码来自Rob.Hess,下载地址:http://robwhess.github.io/opensift/

SURF源码来自Chris.Evan的OpenSURF,下载地址:http://www.chrisevansdev.com/computer-vision-opensurf.html

SURF特征检测中的绿色箭头表示暗背景中的亮点(laplacian符号为0),粉色箭头表示亮背景中的暗点(laplacian符号为1)。


(1) 图像尺寸:288 * 400

              SIFT算法与SURF算法特征检测效率对比_第1张图片                                                       SIFT算法与SURF算法特征检测效率对比_第2张图片                               

   检测图中的SIFT特征点用时:0.308204秒,特征点个数:354                  检测图中的SURF特征点用时:0.10825秒,特征点个数:119


(2) 图像尺寸:244 * 265

           SIFT算法与SURF算法特征检测效率对比_第3张图片                                             SIFT算法与SURF算法特征检测效率对比_第4张图片

            检测图中的SIFT特征点用时:0.61654秒,特征点个数:879                                        检测图中的SURF特征点用时:0.145502秒,特征点个数:213


(2)图像尺寸:520 * 387

    SIFT算法与SURF算法特征检测效率对比_第5张图片     SIFT算法与SURF算法特征检测效率对比_第6张图片

      检测图中的SIFT特征点用时:1.19946秒,特征点个数:1795       检测图中的SURF特征点用时:0.270752秒,特征点个数:419


(4)图像尺寸:640 * 480

SIFT算法与SURF算法特征检测效率对比_第7张图片  SIFT算法与SURF算法特征检测效率对比_第8张图片

    检测图中的SIFT特征点用时:0.58695秒,特征点个数:594         检测图1中的SURF特征点用时:0.268403秒,特征点个数:301


(5)图像尺寸:400 * 300

   SIFT算法与SURF算法特征检测效率对比_第9张图片      SIFT算法与SURF算法特征检测效率对比_第10张图片

      检测图中的SIFT特征点用时:0.12064秒,特征点个数:50          检测图中的SURF特征点用时:0.153961秒,特征点个数:196


可以看到,一般来说,SURF算法的效率是SIFT算法的3倍左右,而检测出的特征点的个数是SIFT算法的1/3左右,当然也和图像大小、纹理复杂程度、算法参数设置有关。从第(5)组例子中可以看出,SURF算法在边缘抑制上做的似乎没有SIFT好,好多边缘都被检测成了特征点,从而导致特征点个数多于SIFT。


你可能感兴趣的:(SIFT算法与SURF算法特征检测效率对比)