Scale-Invariant Feature Transform
B.2 キーポイントのローカライズ
B.1.5 DoG 画像からの極値検出
DoGは異なるスケールによる平滑化画像の差分のため,DoGの値が大きくなるσでは,
スケールの変化領域にエッジ等の情報量を多く含んでいるといえる.そこで,DoG画像 から極値を検出し,キーポイントとスケールを決定する.極値の検出は,図B.5のように DoG画像3枚一組で行う.DoG画像(図B.5中の点線で囲まれた画像)の注目画素(図B.5 中の黒色領域)と,その周りの26近傍(図B.5中の灰色領域)を比較し,極値であった場 合,その画素をキーポイント候補点として検出する.このような極値検出は,σの値の小 さいDoG画像から行う.一度極値が検出された画素は,より大きなスケールで極値が検 出されてもキーポイント候補点としない.この処理をスケールの異なるDoG画像の全画 素に対して行う.
次に,スケールスペースの極値の性質について述べる.画像中のある座標におけるス ケール変化とDoG出力値の推移を図B.6に示す.実線の円で示すスケールサイズのとき,
右に示すグラフからDoG出力が最大値(極大値)となることがわかる.図B.6(a)の原画像 を2倍に拡大した(b)においても,実線で示すスケールにてDoGの値が最大となる.こ のとき,図B.6(a)のDoGの極値をσ1,図B.6(b)をσ2とすると,σ2 = 2σ1の関係が成り 立つ.このように,画像サイズが2倍になると,DoGの極値探索により検出されたキー ポイントのスケールσも比例して2倍となる.SIFTは,特徴を最も含むスケールσを自 動的に決定するため,空間的に同範囲の領域から特徴量を記述することで,拡大・縮小に 不変な特徴量となる.
図 B.5: 極値検出の流れ
図 B.6: スケールとDoG出力の関係
置とスケールを算出する.
B.2.1 主曲率によるキーポイントの絞り込み
エッジ上に存在するキーポイント候補点の削除方法について述べる.キーポイント候補 点における2次元ヘッセ行列Hを次式により計算し,主曲率を求める.
H=
Dxx Dxy Dxy Dyy
(B.10)
行列内の導関数は,キーポイント候補位置でのDoG出力値の2次微分から得られる.こ こで,ヘッセ行列から求められる第1固有値をα,第2固有値をβ(α > β)とする.この ときヘッセ行列の対角成分の和Tr(H)と行列式Det(H)は次のように計算できる.
Tr(H) = Dxx+Dyy =α+β (B.11)
Det(H) = DxxDyy−(Dxy)2 =αβ (B.12) さらに,γを第1固有値と第2固有値の比率とし,α=γβとすると次式のようになる.
Tr(H)2
Det(H) = (α+β)2
αβ = (γβ+β)2
γβ2 = (γ+ 1)2
γ (B.13)
図 B.7: キーポイント候補点の絞り込み
この値は固有値そのものではなく,固有値α,βの比率で決まる.したがって,固有値を求 めずにエッジ上の点であるか判別することが可能となる.この値を次式に示すようにしき い値処理することで,不要なキーポイント候補点を削除する.
Tr(H)2
Det(H) < (γth+ 1)2
γth (B.14)
式(B.14)を満足するような点をキーポイント候補とする.しきい値はγthにより決定す
る.この処理は,ハリスのコーナー検出に良く似たもので,固有値の比率がしきい値より 大きい点,つまりエッジ上に存在する点が削除される.文献[28]ではγth = 10を採用し ており,しきい値は12.1となる.
図B.7(a)は検出された全キーポイント候補点を表している.図中の円の中心がキーポ
イント位置,円の半径がキーポイントの持つスケールである.図B.7(b)では,主曲率に よりドア等のエッジ上の点が削除されていることがわかる.
B.2.2 キーポイントのサブピクセル位置推定
3変数(x, y, σ)の2次関数をフィッティングすることで,キーポイント候補点のサブピ
クセル位置とスケールを算出する.ある点x= (x, y, σ)T でのDoG関数D(x)をテイラー 展開すると次式のようになる.
D(x) =D+ ∂D
∂x
T
x+ 1
2xT∂2D
∂x2x (B.15)
式(B.15)についてxに関する偏導関数を求め,0とすると次式が得られる.
∂D
∂x +∂2D
∂x2xˆ = 0 (B.16)
62
このときxˆはキーポイント候補点(極値)のサブピクセル位置を表している.この式を変 形し次式を得る.
∂2D
∂x2xˆ =−∂D
∂x (B.17)
この式は次のように表される.
∂2D
∂x2
∂2D
∂xy
∂2D
∂xσ
∂2D
∂xy
∂2D
∂y2
∂2D
∂yσ
∂2D
∂xσ
∂2D
∂yσ
∂2D
∂σ2
x y σ
=−
∂D
∂x
∂D
∂y
∂D
∂σ
(B.18)
式(B.18)をキーポイント候補点のサブピクセル位置xˆを得るために変形する.
x y σ
=−
∂2D
∂x2
∂2D
∂xy
∂2D
∂xσ
∂2D
∂xy
∂2D
∂y2
∂2D
∂yσ
∂2D
∂xσ
∂2D
∂yσ
∂2D
∂σ2
−1
∂D
∂x
∂D
∂y
∂D
∂σ
(B.19)
得られた式(B.19)を解くことにより,キーポイント候補点のサブピクセル位置xˆ = (x, y, σ) を得る.
B.2.3 コントラストによるキーポイントの絞り込み
サブピクセル位置でのDoG出力を算出し,コントラストによるキーポイントの絞り込 みを行う.式(B.19)は次のように表される.
ˆ
x=−∂2D
∂x2
−1∂D
∂x (B.20)
式(B.20)を式(B.15)に代入すると次式が得られる.
D(ˆx) = D+1 2
∂D
∂x
T
xˆ (B.21)
DはDoG関数であり,ˆxはサブピクセル位置を表しているため,式(B.21)はサブピクセ ル位置でのDoG出力値となる.このDoGの値からキーポイント削除の判別を行う.文献 [28]では,しきい値として0.03を用いている.サブピクセル位置でのDoG出力の絶対値 がしきい値より小さい場合(つまり,コントラストが低い場合)ノイズに影響されやすい ため削除する.図B.7(c)にコントラストにより絞り込まれたキーポイントを示す.