tensorflowを用いて、我が家の愛犬latte君が画像に写っているかどうか判定するアプリをWeb上で実装することを目的とします。
作成したプログラムはgithubに全て上げてあります。
後日、Chainerで同じことをしました。リンクを貼っておきます。
latte君の画像と、その他の適当な画像を用いて、2クラス分類で、latteが画像に写っているかどうか判定します。以下の3ステップでまとめます。
1:画像収集
2:学習
3:判定
1:画像収集
latte君の画像(latte)を901枚と、その他の適当な画像(other)を1101枚用意します。
ディレクトリはdateの中にother,latteで、data_keepの中にother,latteです。dataの中には(28,28)の画像を入れて、data_keepの中には収集した生の画像を入れます。
data_keep/otherはこんな感じです。ネット上で使いやすい画像クローラーを見つけたので、それを使わせていただきました。
集めたdata_keepの画像を以下のコード(1)を利用して、全て、jpgに変換します。
コード(1): png_2_jpg.py
data_keepの画像を以下のコード(2)を利用して、全て(28,28)にリサイズして、dataに保存します。
コード(2):keep_2_gakushu.py
data内の(28,28)の画像を以下のコード(3)を利用して、配列に直して、保存します。
コード(3):jpg_2_tensor.py
画像処理には、以下のリンクを参考にさせていただきました。
以下のコード(4)を利用して、latte_r,other_rに保存された配列をテストデータ、学習データに振り分けます。 同時に、それぞれのラベルも生成します。
コード(4):tensor_2_all.py
これで、画像収集、学習の準備は完了です。次は、待ちに待った学習を実装します。
Tensorflowによる画像のクラス分類(2)ー学習編ーに続きます。