ディープラーニング転移学習(CNN)におけるグレースケール画像の取扱い(メモ)

通常のCNNRGBの3チャンネル入力で設計されている。

データ画像がグレースケールの場合どうネットワークを構築し入力するかというのが検討課題となる。本来であればグレースケールでオリジナルのCNNを設計すべきである。しかし、転移学習をしたい場合どうするか?

CNNのRGBの3チャンネルにグレースケールのデータを入力する方法が2通り考えられる。

① RGBのどれかの1チャンネルに0〜1の間の数値に正規化したグレースケールデータを入力し、残りの2チャンネルの値は0とする。

② RGBの3チャンネルに0〜1の間の数値に正規化したグレースケールデータの同じ値を入力する。

①と②学習精度の違いを確認するために、同じグレースケールデータを用いてそれぞれ学習を実施し認識精度を比較すると①>② となった。

また、別にカラー画像を画像加工ソフトを用いグレースケール変換を実施し、カラー画像データでの学習後の認識精度とグレースケール画像データでの学習後の認識精度を比較すると、グレースケール画像の方が悪くなった。

 一般的には、カラー画像のグレースケール変換は人間の視覚の感覚に合わせて、R,G,Bを重み付けした線形和で変換する。

 つまり、カラーからグレースケール変換すると情報は意図的に圧縮されてしまう。