Chapter5-2 その他の話題 15k1015 関根修斗
カラー写真画像の分類① CIFAR-10の特徴 カラー写真画像データセット(CIFAR-10)の特徴 ・32✕32ピクセルのRGB画像が6万枚(訓練画像は内5万)ラベル付され た画像データセット ・ラベルは10クラス(airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck) ・Pythonで扱いやすいデータ形式で提供されている ダウンロードリンク: http://www.cs.toronto.edu/~kriz/cifar.html
カラー写真画像の分類② 画像の前処理 識別対象の位置や対象以外の物体や明るさ等の問題から 画像には2つの前処理を行う ・画像の周囲を切り落とす(32✕32→24✕24にしている) ・画像のダイナミックレンジの平準化(ピクセル値を整える) さらに学習データとする場合には、画像データを使用するごとに ランダムに周囲を切り落としたり、左右を反転させる これらの処理過程は以下のプログラムがわかりやすい (https://github.com/enakai00/jupyter_tfbook/blob/master/Chapter05/ CIFAR-10%20dataset%20samples.ipynb)
カラー写真画像の分類③ 画像の前処理 左から一列目が入力画像 左から二列目が前処理した画像 左から三列目以降が テストデータとする場合の処理を施したもの
カラー写真画像の分類④ CNNの構造 ③で処理された画像を右のような構成のCNNに入力する conv1,conv2:64個の畳み込みフィルター pool1,pool2:プーリング層 norm1,norm2:正規化層(ピクセル値の極大化を防ぐ) local3,local4:全結合層(ノード数は順に384,192) softmax_linear:ソフトマックス関数
カラー写真画像の分類② ソースコード類 ①~④で示した内容は Tensorflowのチュートリアル (https://github.com/tensorflow/tensorflow/tree/r0.11/tensorflow/mo dels/image/cifar10)にそのソースコードが配布されている dockerの仮想環境から実行する場合の手順 https://www.slideshare.net/satoshinoda792/tensorflow-56455816)
Playgroundで分類の様子を観察する① 正規化の選択 L1 or L2 or なし クリックして学習を開始 学習回数 学習率 活性化関数 回帰か分類の選択 学習データを4種類から選択 Circle Exclusive or Gaussian Spiral (回帰の場合は2種類になる) データの再生成 x,y座標を特徴量とする以外に 二乗やsinなど、事前変換したものも 特徴量とすることができる 隠れ層とノードの設定 うまく分類できると 色が濃くなり 上のようにはっきりと分かれる
Playgroundで分類の様子を観察する②
コラム:notMNISTの分類 notMNIST(http://yaroslavvb.blogspot.jp/2011/09/notmnist- dataset.html)データセットを分類する ・著者のブログにnotMNISTをMNISTと同じように扱えるpythonソース コードが用意されている (http://enakai00.hatenablog.com/entry/2016/08/02/102917) ・5章の最後で作成した2層CNNをそのまま利用できる