ComputerVisionまとめの部屋

役に立った情報や調査結果をまとめています

SURF(Speeded Up Robust Features)

SIFTによる特徴量抽出アプローチの改良版。精度はSIFTに劣るが高速マッチングが可能。

スケール・回転不変な特徴点検出方法として、SIFTやSURFがある。SIFTはDoG画像生成や勾配ヒストグラム生成の計算コストが高く、SURFは積分画像を利用することにより10倍の高速化を実現した。

SURFでは曲率が極大値をとる点を抽出するために、Gaussianの2階微分Lxx, Lyy, Lxyから構成されるヘッセ行列の行列式det(H)を計算した。しかし、ガウシアンの2次微分は計算コストが高い。 

なのでこれをBOXフィルタにより近似する。

f:id:berobemin2:20151008192351p:plain

Hessian Detector⇒Fast-Hessian Detector

 

実際の計算では上記のフィルタをかけた上で足し合わせるわけだが、それを全画素について実行するのは計算回数が大きくなってしまうので、積分画像を用いる。

積分画像は、例えば点(x,y)における画素値を(0,0)から(x,y)を囲む矩形内の画素値の和とするものである。これを計算しておくと、画像内の任意の矩形の画素値の和を求めるときに、4回程度の和と差のみで表すことができ、高速に計算ができるため利用できる。

またSURFではGaussianフィルタのサイズを徐々に大きくしていくが、それに伴い処理時間も増えてしまう。しかし積分画像を用いると、矩形サイズによらず定数時間で積分値を求めることができるため高速になる。

http://www.vision.ee.ethz.ch/~surf/eccv06.pdf