IT実験のブログ

IT関連のツールの使い方など

Tensorflowのimagenetという画像認識のtutorialを試す

今回は、Tensorflowのimagenetという画像認識のtutorialを試してみます。 画像に何が写っているかを識別するAIです。

下のコマンドでtutorialのディレクトリに移動します。

cd ~/AI/models/tutorials/image/imagenet

下のコマンドで画像認識のプログラムを実行します。

python3 classify_image.py

f:id:itlab7:20200216111124p:plain 訓練済みのモデルやパンダの画像がダウンロードされて、画像認識の処理が実行されました。 giant pandaである確率89%と表示されています。

f:id:itlab7:20200216112332p:plain 訓練済みのモデルやパンダの画像は/tmp/imagenetディレクトリにダウンロードされています。

f:id:itlab7:20200216112611p:plain /tmpディレクトリの中身はUbuntu起動時にクリアされてしまうので、~/AI/imagenetにコピーしておきました。

下のようにすると好きな画像を認識させることもできます。

f:id:itlab7:20200216113830p:plain

認識させたい画像を~/AI/imagenet ディレクトリに置きます。 今回はsunflower.jpgを置きました。

認識のプログラムを実行する際に、オプションを指定してやります。

python3 classify_image.py --model_dir=${HOME}/AI/imagenet --image_file=${HOME}/AI/imagenet/sunflower.jpg

f:id:itlab7:20200216114935p:plain

daisy 98%と認識されました。このモデルには、そもそもsunflowerというカテゴリが無いのかもしれません。花であることはあっています。

f:id:itlab7:20200216140608p:plain

imagenet_synset_to_human_label_map.txt の中を見てみると、sunflowerというカテゴリがありました。ということは、残念ながら誤認識ということになります。ディープラーニングやAIに間違いはつきものだし、カテゴリの数が多いモデルなので精度はあまり良く無いのかもしれません。

今回はここまでです。