画像分類 AI が動く Web アプリ(Python + Django + TensorFlow)
- takakiri
- 2019年6月24日
- 読了時間: 2分
プログラミング言語 Python が使える Webアプリのプラットフォーム Django を使って、TensorFlow で画像分類を行う簡単な AI の Web アプリを作りました。
AI を学習するときに使った学習データは、flickr から API を使ってキーワードに関連した画像を一度にダウンロードすることで集めました。自動車とバイクをそれぞれ 400枚ダウンロードして、学習用としてふわさわしくない画像は手動で100枚取り除きました。 学習データにノイズが入ると期待する精度が出なくなるので注意が必要です。
ふさわしくない画像
・キーワードと異なる画像
・キーワードの画像が小さい画像
・キーワードの画像のごく一部しか写っていない画像
・キーワードの画像が複数入っている画像
・重複している画像
画像サイズを224x224に縮小してNumPy で読める形式に変換し、色の値を0.0~1.0に正規化して、VGG16 で学習させました。学習は AI 用の GPU なしのデスクトップPCで約1時間でできました。モデルのファイルサイズは189MBになりました。
2値分類なので難易度は低いですが、たとえば、自動車の正面にある2つのライトとバイクの2輪をどう見分けているのか難しそうなものでも、きちんと分類できていて、正答率は99% を達成しています。
動画は、推論を行う AI の Web アプリのインストールから実行まで行うバッチファイルの動作の様子です。
TensorFlow の公式に書いてあるように pip で TensorFlow をインストールするとうまくいかなかったので、Anaconda の conda パッケージの TensorFlow をインストールしています。書いてある通りにインストールしてもうまくいかないことが結構あるので、何か新しくを始めることは難しいですね。
Comments