SURF (Speeded Up Robust Features, 加速稳健特徵) 是一个稳健的图像识别和描述算法,首先于2006年发表在ECCV大会上。这个算法可被用于计算机视觉任务,如物件识别和3D重构。
基本介绍
- 中文名:加速稳健特徵
- 外文名:Speeded Up Robust Features
- 提出时间:2006年
- 学科:计算机视觉
- 套用:物件识别和3D重构
- 领域:计算机视觉
简介
SURF (Speeded Up Robust Features, 加速稳健特徵)是一个稳健的图像识别和描述算法,首先于2006年发表在ECCV大会上。这个算法可被用于计算机视觉任务,如物件识别和3D重构。他部分的灵感来自于SIFT算法。SURF标準的版本比SIFT要快数倍,并且其作者声称在不同图像变换方面比SIFT更加稳健。
SURF使用海森矩阵的行列式值作特徵点侦测并用积分图加速运算;SURF 的描述子基于2D 离散小波变换回响并且有效地利用了积分图。
算法
SURF算法的概念及步骤均建立在SIFT之上,但详细的流程略有不同。SURF算法包含以下三个步骤:特徵点侦测、特徵邻近描述、描述子配对。
特徵点侦测
SIFT使用了连续不同尺度的高斯滤波器处理影像,并且经由高斯差来侦测影像中尺度不变的特徵点。
SURF使用了方型滤波器取代SIFT中的高斯滤波器,藉此达到高斯糢糊的近似。其滤波器可表示为:

此外使用方型滤波器可利用积分图大幅提高运算速度,仅需计算位于滤波器方型的四个角落値即可。
SURF使用了斑点侦测的海森矩阵来侦测特徵点,其行列式值代表像素点周围的变化量,因此特徵点需取行列式值为极大、极小值。除此之外,为了达到尺度上的不变,SURF还使用了尺度σ的行列式值作特徵点的侦测,给定图形中的一点p=(x, y),在尺度σ的海森矩阵为H(p, σ):

其中矩阵内的
等函式为二阶微分后的灰阶图像。

9*9的方型滤波器被作为SURF最底的尺度,近似于σ=1.2的高斯滤波器。
特徵点定位
因为影像会在不同的尺度下作比较,特徵点往往会在不同尺度下被侦测到。在SIFT中,由于连续的高斯糢糊处理以及影像的降採样,在尺度上会型成类似金字塔的概念,例如高斯金字塔。
而SURF中尺度是由方型滤波器的大小决定的,并不是连续的高斯糢糊及降採样处理。其中最底层的尺度(初始尺度)的方型滤波器大小为9*9,近似于σ=1.2的高斯滤波器。越往上层的尺度滤波器的大小也就跟着增加,例如15*15、21*21、27*27......。
其尺度的转换公式为:

特徵点描述子
为了保留特徵点不变的特性,例如旋转、尺度上的不变性,需要赋予特徵点一个描述子,使其能保有其不变性且能够轻易地被区分。大多数的描述子建立的方法为描述特徵点与其相邻的相素点间的变化,因此描述子往往都是区域性的。
同时描述子的维度也是描述子重要的考量之一,一个维度不足的描述子可能会使能特徵点不易区分,然而维度过大的描述子要耗费的计算也就越複杂。SURF的描述子使用了哈尔小波转换的概念,并利用积分图简化描述子的计算。
方位定向
为了使得特徵点拥有转动不变性,需要赋予特徵点一个方向。SURF的描述子计算特徵点周围半径维6σ个像素点的x,y方向的哈尔小波转换,其中σ是此特徵点位于的尺度。所得到的小波回响以特徵点为中心的高斯函式作加权,并将其值标于一xy作标平面上作图。最后在xy作标平面上以π/3为一个区间,将区间内小波回响的x、y分量加总得到一向量,在所有的向量当中最长的(即x、y分量最大的)即为此特徵点的方向。
此外在xy平面上选择角度的区间大小可由角度的解析度、描述子的独特程度等因素来作为调整的考量。
描述子量值
选定了特徵点的方向后,其周围像素点需要以此方向为基準来建立描述子。此时以5*5个像素点为一个子区域,取特徵点周围20*20个像素点的範围共16个子区域,计运算元区域内的x、y方向(此时以平行特徵点方向为x、垂直特徵点方向为y)的哈尔小波转换总合
与其向量长度总合
共四个量值,共可产生一个64维资料的描述子。


描述子配对
替所有的特徵点建立描述子后便能使用描述子达成特徵点的配对,藉此套用在物体辨识、3D模型建立等套用上。
相关条目
- 尺度不变特徵变换(SIFT)
- Gradient Location and Orientation Histogram
- LESH - Local Energy based Shape Histogram
- Blob detection
- 特徵检测