前回の内容で示したように、ピンボケ、手ブレの画像はある画像との畳み込みで表されています。これは一つのフィルターと考えることができるでしょう。まずはフィルターと考えた際に画像の畳み込みをどのように定式化するかを考えます。
画像は成分(8bitの場合、0から255までの値)が二次元にわたって並んでいる大規模な行列と考えられるのは想像に難くないと思います。
たとえば以下のような画像を考えます。いつもと同じ画像です。
画像は成分(8bitの場合、0から255までの値)が二次元にわたって並んでいる大規模な行列と考えられるのは想像に難くないと思います。
たとえば以下のような画像を考えます。いつもと同じ画像です。
これのある部分を拡大してじっくりと見てみます。
このようになりました。見てわかる通りこれはデジタルで画素値がたくさんならんでいる行列と考えることができると思います。
ここで、画像はサイズが大きくなりすぎるので、 3 x 3 のピクセルの値を持つ部分を考えてみましょう。行列は以下のように1次元のベクトルにして考えることができます。
行列は数字を一列に並べたものです。512×512の画像の場合は、262144個の数字の列になります。画像の再構成処理では、行列の数字に対して順番に演算を行います。
行列は数字を一列に並べたものです。512×512の画像の場合は、262144個の数字の列になります。画像の再構成処理では、行列の数字に対して順番に演算を行います。
ここからあるフィルターによるたたみこみ演算により、画像Y[n]ができたとします。これも同じように以下のようにベクトルにすることができます。
ここの章での問題は、あるフィルターがかかった画像(ここでのd)が得られた状態で、sをどのように復元するかです。dもsもサイズは9なので、フィルターをHという 9 x 9の行列でかけるとすると、上のようなフィルターによる画素値の変化は
と表現できることがわかります。このような行列演算をイメージングアプローチと言います。
さて、簡単のため、Hは以下のような 3 x 3のガウシアンフィルターとしましょう。
さて、簡単のため、Hは以下のような 3 x 3のガウシアンフィルターとしましょう。
ガウシアンフィルターは以下のような式で与えられます。