ガウシアンコンボリューションの繰り返しについて
画像をぼやけさせるために、適当なコンボリューションフィルターをかけることがある。
ガウス関数をコンボリューションカーネルとして用いたガウスフィルターはとくによく使われる。
ガウシアンコンボリューションカーネル C(σ,r) を以下で定義する。
C( Δx ; σ, r ) = exp( - Δx^2 / (2*σ^2 ) ) / Z
ここで σ はガウシアンカーネルの標準偏差、r はカーネルの半径である。
例えば r = 2 のとき2次元画像のコンボリューションカーネルは 5×5 の画像パッチで表現される。3次元画像ならば 5×5×5 の3次元パッチである。
Z は正規化係数でありコンボリューションカーネルパターンの要素の合計が1になることを保証する。
コンボリューションカーネル C を画像 I(x) に t 回繰り返し適用したものを
I^t = (...((( I × C ) × C ) × C )...× C ) = I × C^t
と書く。ここで × の記号でコンボリューションを表すことにする。
ここで、ガウシアンコンボリューションカーネルの適用を繰り返すときに、以下の性質が成り立つ。
C( σ,r ) ^t = C( sqrt(t) σ, tr )
もしくは、等価変形として以下が成り立つ。
C( σ,r ) = C( σ/sqrt(t) , r/t ) ^t
一般にガウシアンカーネルの標準偏差 σ が大きいときには、カーネル半径 r を大きくしないと誤差が大きくなってしまう。カーネル半径 r が有限であるとき、ガウス関数の裾のカーネル範囲外にはみ出た部分をゼロで近似していることになっているからである。しかし、カーネル半径 r を大きくするためには大きな画像パッチを用意する必要が生じる。
上記の性質を使う事により、比較的小さい半径 r/t のコンボリューションカーネルを繰り返し用いても等価な結果が得られることがわかる。
3次元画像パッチによるコンボリューションでは、計算量削減の効果が大きいだろう。
さて、以上のことはたぶん至極当たり前のことで適当な教科書を探せば載っているような気がするのですが、どこかにこういうことが学べるいい教科書ないかしら。ご存じの方がいらっしゃいましたら、こっそり教えてください。