【Keras】VGG16モデルを使って画像の判別をしてみた

 

Pythonの便利なライブラリであるKerasを使って、画像中の猫の種別を判別するコードを書いてみました。

 

学習済みモデルを使って画像を判別してみます。

 

スポンサーリンク

 

準備

 

TensorflowとKerasを使用します。Anaconda等で仮想環境を作成し、以下のコマンドでインストールします。

 

 

jupyter notebook上でコードを書いていきます。

 

VGG16を使った予測

 

学習済みモデルVGG16を使って、予測するコードを記載していきます。

 

 

VGG16()関数を使って、モデルをダウンロードしてきます。モデルサイズが500M程度あるので、初回実行時には3分程度かかります。

 

predict関数のfilenameは画像のファイル名です。featuresizeは予測結果の数です。5と指定した場合には、予測結果の上位5つが表示されます。

 

読み込んだ画像を表示するshowim()関数も作っておきます。

 

画像の判別

 

画像はなんでも良いのですが、適当な猫の画像をネットから拾ってきて判別してみました。

 

 

実行結果は以下の通り。

 

 

「tiger_cat」はその名の通り、「虎猫」ですね。「tabby」は何でしょう。辞書で調べてみると「虎猫、ぶち猫」。

 

とりあえずなんらかの猫と判別されたようです。

 

 

せっかくなので、他の画像もやっています。

 

ケルピーは犬のようです。合ってますね。

オーストラリアン・ケルピーとは、オーストラリア原産の牧羊犬種である。

 

ゾウ

 

これも正解です。

 

おわり。

参考