Tensorflowによる画像のクラス分類(1)ー画像収集編ー

 tensorflowを用いて、我が家の愛犬latte君が画像に写っているかどうか判定するアプリをWeb上で実装することを目的とします。

 

作成したプログラムはgithubに全て上げてあります。

github.com

 

後日、Chainerで同じことをしました。リンクを貼っておきます。

person.hatenablog.jp

 

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はこんな感じです。ネット上で使いやすい画像クローラーを見つけたので、それを使わせていただきました。

 

多くの画像ファイルを集めるためのツール置き場、です。

 

f:id:wada0421514:20171124221047p:plain

 

集めた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

 

画像処理には、以下のリンクを参考にさせていただきました。

 

Pythonで画像処理 | Nana-Korobi 

初めてのPython画像処理 - Qiita

 

以下のコード(4)を利用して、latte_r,other_rに保存された配列をテストデータ、学習データに振り分けます。 同時に、それぞれのラベルも生成します。

 コード(4):tensor_2_all.py

 

これで、画像収集、学習の準備は完了です。次は、待ちに待った学習を実装します。

 

Tensorflowによる画像のクラス分類(2)ー学習編ーに続きます。

 

Tensorflowによる画像のクラス分類(2)ー学習編ー - パーソンの日記

Tensorflowによる画像のクラス分類(3)ー判定編ー - パーソンの日記