2.3 スケールスペースを用いたキーポイント検出
2.3.5 Spectral SIFT
Spectral SIFT [20]はガウシアンスケールスペースやLoGスケールスペースに対してスペクトル分
解を適用することで,スケールスペースを圧縮させ,効率的なスケール推定を行う.さらに,スケー ルスペースのパラメータを連続的な多項式で近似することで高精度なスケールを推定することがで きる.この項では,無限次元に拡張させたガウシアンスケールスペースやLoGスケールスペースを スペクトル分解するため,画像等の畳み込み演算を連続的な積分方程式で表記する.
■ ガウシアンスケールスペースの圧縮
入力画像I(x, y)に対してガウス関数g(x, y;σ)を畳み込むことで平滑化画像L(x′, y′;σ)が得ら れる.
L(x′, y′;σ) =
∫ ∫
g(x, y;σ)I(x−x′, y−y′)dxdy (2.49)
ガウス関数のスケール範囲がσ1≤σ≤σ2のように与えられている場合,固有関数ϕi(·)によりスペ クトル分解を行うことができる.
g(x, y;σ) =
∞
∑
i=0
(∫ σ2
σ1
g(x, y;τ)ϕi(τ)dτ )
ϕi(σ) (2.50)
式(2.50)は無限級数であるため,これをNc項で近似する.
g(x, y;σ)≈
Nc
∑
i=0
(∫ σ2
σ1
g(x, y;τ)ϕi(τ)dτ )
ϕi(σ) (2.51)
式(2.51)を式(2.49)へ代入すると次式が得られる.
L(x′, y′;σ)≈
∫ ∫ Nc
∑
i=0
(∫ σ2
σ1
g(x, y;τ)ϕi(τ)dτ )
ϕi(σ)·I(x−x′, y−y′)dxdy (2.52)
ここで,dxdyとdτ の積分の順序を入れ替えることで次式に展開できる.
L(x′, y′;σ) ≈
Nc
∑
i=0
(∫ ∫ (∫ σ2
σ1
g(x, y;τ)ϕi(τ)dτ )
·I(x−x′, y−y′)dxdy )
ϕi(σ)
=
Nc
∑
i=0
ϕi(σ)· (∫ ∫
Fi(x, y)I(x−x′, y−y′)dxdy )
=
Nc
∑
i=0
ϕi(σ)ηi(x′, y′) (2.53)
ここで,Fi(x, y)は次式のように定義でき,2次元の画像と考えることができるため固有画像と呼ぶ.
Fi(x, y) =
∫ σ2
σ1
g(x, y;τ)ϕi(τ)dτ (2.54)
式(2.53)より,スケールσのガウス関数による平滑化画像L(x, y;σ)は,入力画像とNc枚の固有画
像Fi(x, y)との畳み込み結果ηi(x′, y′)と固有関数ϕi(σ)との積で求めていることが確認できる.
次に固有関数ϕi(σ)を積分型の固有値問題により求める.
∫ σ2
σ1
K(τ, σ)ϕ(τ)dτ =λsϕ(σ) (2.55)
K(τ, σ)は2次モーメントにより定義される積分核であり,次式で求められる.
K(τ, σ) =
∫ ∫
g(x, y;τ)g(x, y;σ)dxdy
= 1
2π(τ2+σ2) (2.56)
しかし,式(2.55)の厳密な解を求めることができないため,固有関数をNc次の多項式で近似して 解く.
ϕi(σ) = ai,0+ai,1σ+ai,2σ2+· · ·+ai,NcσNc
= [
1 σ σ2 · · · σNc ]
ai (2.57)
固有関数を多項式で近似すると式(2.55)はNc+ 1×Nc+ 1行列の一般化固有値問題に帰着する.
Ka=λsTa (2.58)
ここで,行列K,Tの要素は次式で与えられる.
Ki+1,j+1 = 1 2π
∫ ∫ σjτi
σ2+τ2dσdτ (2.59)
TI+1,j+1 =
∫
σi+jdσ= σ1+i+j
1 +i+j (2.60)
式(2.58)の固有値問題を解くことで,Nc+ 1個の固有値λsiと固有ベクトルaiが求められ,これを
式(2.57)へ代入することで多項式で表現された固有関数ϕi(σ)を求めることができる.
実際にガウシアンスケールスペースσ1= 1.0, σ2= 5.0の固有関数を2次の多項式(Nc = 2)で近 似すると,固有値問題から得られる固有値は次数2以降で極めて0に近い値となる(λs0 = 0.0550,
λs1 = 0.0070,λs2= 0.0005).よって,少ない次数でガウシアンスケールスペースを近似することが できる.
■Scale Normalized LoGスペースの圧縮
Scale normalized LoG (sLoG)スペースもガウシアンスケールスペースと同様に固有解を求めること
ができる.sLoGはガウス関数のx方向に関する2次微分とy方向に関する2次微分の和にσ2をか けることで計算できる.sLoGを畳み込むことで得られる画像L(x′, y′;σ)は次式により求められる.
L(x′, y′;σ) =
∫ ∫
σ2∇2g(x, y;σ)I(x−x′, y−y′)dxdy (2.61)
∇2=∂x∂22 +∂y∂22 であり,拡散方程式の関係から次式が成り立つ.
σ∇2g(x, y;σ) =∂g(x, y;σ)
∂σ (2.62)
式(2.62)を式(2.61)に代入すると次式となる.
σ∇2g(x, y;σ) =
∫ ∫ ∂g(x, y;σ)
∂σ I(x−x′, y−y′)dxdy (2.63)
ガウシアンスケールスペースの圧縮と同様に固有関数により展開すると,sLoGの積分核は次式と なる.
K(σ, τ) =
∫ ∫
στ∂g(x, y;σ)
∂σ
∂g(x, y;τ)
∂τ dxdy
= 4σ2τ2
π(σ2+τ2)3 (2.64)
固有関数を多項式で近似することで,式(2.58)のように一般化固有値問題に帰着させることができ る.行列K,T の要素は次式で求めることができる.
Ki+1,j+1 = 4 π
∫ ∫ σj+2τi+2
(σ2+τ2)3dσdτ (2.65)
Ti+1,j+1 =
∫
σi+jdσ= σ1+i+j
1 +i+j (2.66)
実際にsLoGスケールスペースσ1= 1.0, σ2= 2.0の固有関数を3次の多項式(Nc = 3)で近似すると,
固有値問題から得られる固有値は次数3以降で0に近い値となる(λs0 = 0.05513,λs1 = 0.00741,
λs2 = 0.00083,λs3 = 0.00004).よって,sLoGスケールスペースにおいても少ない次数で近似する ことができる.
■Spectral SIFTによるキーポイント検出
2.3.5項と2.3.5項からガウシアンスケールスペースやsLoGスケールスペースが少ない次数で近似
できることが確認できたため,このスケールスペースの圧縮をSIFTのキーポイント検出へ応用する.
SIFTのキーポイント検出はsLoG≈DoGとして極値を求めているため,sLoGによるキーポイント 検出について述べる.sLoGのスコアはNc= 3の3次の多項式により次式で表現される.
L(x′, y′;σ)≈
3
∑
i=0
ηi(ai,0+ai,1σ+ai,2σ2+ai,3σ3) (2.67) ここで,sLoGのスコア計算は連続的な多項式で表現されているため微分可能である.よって,極値 の位置はσについて偏微分して0となる位置を見つけことになる.
∂L(x′, y′, σ)
∂σ =
3
∑
i=0
ηi(ai,1+ 2ai,2σ+ 3ai,3σ2) = 0 (2.68)
≡ aeσ2+beσ+ce= 0 σ = −be±√
b2e−4aece
2ae
(2.69) すると,式(2.68)は2次方程式の形となるため,式(2.69)のように解の公式により極値位置を容易 に求めることができる.また,キーポイントを検出する際にはスケールの極値となる位置がx, y方 向に対しても極値であるかを判定する.