機械学習

畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)に出てくる”畳み込み”の画像処理的な意味

 

画像処理における

“畳み込み”

の意味を解説していきたいと思います!

“畳み込み”というのは、畳み込みニューラルネットワーク(CNN: Convolutional Neural Network)の際に用いられるだけでなく
画像処理で広く使われているものです。

 

まず畳み込み(畳み込み積分)というのは、数学的には以下のような定義になります。

これをわかりやすくするため文字に直すと

 

関数fと関数gを掛け合わせて積分し新たな関数を作る

 

ということになります。

この数学的な定義を覚えていただいて、

 

次に画像処理の基本で畳み込みニューラルネットワークに深く関わってくる

空間フィルタリングについてみていきましょう。

画像の変換(ピントがずれてボケた画像をボケてない画像に変換するなど)とは以下の図のように、
画像の最小単位である画素値を変換する処理である。

 

 

そして空間フィルタリングとは、


画像を変換する際に、変換対象の画素値とその周辺の画素値を、

空間フィルタと呼ばれる数値の集合と掛け合わせて画素値を変換する方法のことをいう。

以下の図が空間フィルタリングの例である。

空間フィルタのサイズが大きければ大きいほど考慮する周辺の画素の数が大きくなります。

上図の入力画像に空間フィルタを掛け合わせて出力画像の画素値を得る計算処理のことを画像処理での”畳み込み”と言います。

数学的な定義も、関数fと関数gを掛け合わせて積分し新たな関数を作る
ということでした。

画像処理だからなんとなくCNNを使うのでななく、畳み込みの意味や画像処理における手法や言葉をしっかり理解して使うことでまた新たな知見が得られるのではないでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です