周波数の領域でのノイズ評価
デジタル画像のような周期的ノイズの解析にはウィナー(Wiener)スペクトルという定量値がしばしば用いられます。
これは、自己相関関数と称される関数のフーリエ変換で説明されます。
自己相関関数とは、画像であれば、画像の濃度プロファイルのある位置の値から、一定の離れた距離にある値を積算し、逐次、位置を並行移動しながら総和をとるものです。
このような自己相関関数のフーリエ変換は、Wiener-Khintchineの定理からウィナースペクトルを与えることができます。
ウィナースペクトルR(u,v)は、次の式で求められます。
ここで、画像のある一点からの相関距離を表すτとμがゼロであれば、RMS粒状度の2乗に等しくなります。
次に、点広がり関数を例に、ノイズの関係を解説していきます。
ノイズが加わった画像の劣化
ノイズが加わった画像g(x,y)は、次の式で表すことができます。
g(x,y) = h(x,y)*f(x,y)+n(x,y)
h(x,y)は原画像、f(x,y)はPSF(点広がり関数)、n(x,y)がノイズです。
これらを二次元フーリエ変換すると、次のように表すことができます。
G(u,v)=H(u,v)*F(u,v)+N(u,v)
このG(u,v)を原画像に戻す試みとしてのウィナーフィルタは、以下の式で表されます。
この分母で用いられるN(u,v)の絶対値の2乗は、ウィナースペクトルと等価になります。
このウイナーフィルタに適当な定数Γ(がんま)を用いると次の式のように表すことができます。
では実際に、このウィナーフィルタを用いてImageJのノイズ低減フィルタのプラグインを使ってみましょう。
ImageJによるウイナースペクトルを用いたデコンボリュージョン
PSFによる劣化をウイナーフィルタを用いて画像復元するプラグインはNick Linnenbrügger氏によって提供されています。
FFTJ.zipをダウンロードして、解凍して、そのままPluginsフォルダに保存しましょう。
さて、検証のために劣化画像を作りますが、この画像はImageJのGaussian Filterプラグインで生成できます。画像はImageJのサンプル画像(T1 Head 2.4Mの71スライス目)を使います。Sigma"1.0"設定で元画像にガウシアンフィルターをかけてみました。
これでボケ(Blur)画像が完成です。
次に、このボケ画像をどうにか元画像に戻したいと考え、ウイナーフィルタをかけていきましょう。
そのために、第8回で紹介したプラグインを使って、次のような設定でPSFをつくってみました。あまりPSFが大きいと、ボケが大きくなってしまうので、小さい点で試していきましょう。
これで、ボケ画像とPSFが準備できました。
早速、次のようなDeconvolutionを試みます。
ImageJに表示した状態のボケ画像、PSF画像をセットし、出力するマトリクス数を設定します。Resizing to 2^N-Formatは、計算時にマトリクスサイズを次の段階(例えば256→512)まで大きくして計算させるかどうかを選択します。Complex Number Precisionは計算時の有効桁数を設定できます。「Regularization Parameter(gamma)」は、前述のウィナーフィルタの式の「Γ(がんま)」です。
ここでは試しにΓ=0.01のデフォルトのまま試みてみると、次のような結果になりました。
まだボケがありますが、ボケ画像(Gaussian blur)よりもDeconvolution画像の方がくっきりはっきりしており、原画像に近いことがわかります。
このように、あらかじめ画像のボケがわかっている場合には、このプラグンでノイズを除去しながら復元画像を作成できます。顕微鏡の焦点ボケの補正にも使われているようです。
次回は、ImageJによる画像フィルタの解説を行っていきます!
Reference
- 「山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(20・11) 2005, p94-96」
0 件のコメント:
コメントを投稿