u++の備忘録

Djangoで「名古屋/東京」の画像分類アプリを作った


はじめに

Djangoを使って「名古屋/東京」を判定する画像分類アプリを作ってみました。下記の記事で学んだことを活かして、自分で手を動かしてみたという経緯です。

upura.hatenablog.com

インターフェイス

index.html

この画面で、画像を選択します。「推定する」ボタンを押すと、result.htmlに推移します。

f:id:upura:20190728064910p:plain

result.html

推論結果の画面です。前画面で選択したファイル名・画像ファイル・推論結果・推論確率を表示しています。

f:id:upura:20190728064915p:plain

分類器

画像の収集

画像は、flickr API を用いて収集しました。「名古屋」「東京」の関連度順の検索結果を400枚ずつ収集しています。

機械学習モデル

KerasのVGG16使って転移学習させています。AUCは.65程度でお世辞にも良い精度とは言えませんが、今回はWebアプリ化が目的だったのでハイパーパラメータなどを少しだけチューニングして終わりました。

おわりに

本記事では、Djangoを使って自作した「名古屋/東京」を判定する画像分類アプリを紹介しました。やはり自分で手を動かすと、特に慣れてないDjango部分は詰まりどころが少なからずあって勉強になるなるなと感じました。

実装はGitHub上で管理していますが、講座で提供されたコードを流用している部分が大半なので、private設定にしています。

f:id:upura:20190728082935p:plain