今回は、Tensorflowのimagenetという画像認識のtutorialを試してみます。 画像に何が写っているかを識別するAIです。
下のコマンドでtutorialのディレクトリに移動します。
cd ~/AI/models/tutorials/image/imagenet
下のコマンドで画像認識のプログラムを実行します。
python3 classify_image.py
訓練済みのモデルやパンダの画像がダウンロードされて、画像認識の処理が実行されました。 giant pandaである確率89%と表示されています。
訓練済みのモデルやパンダの画像は/tmp/imagenetディレクトリにダウンロードされています。
/tmpディレクトリの中身はUbuntu起動時にクリアされてしまうので、~/AI/imagenetにコピーしておきました。
下のようにすると好きな画像を認識させることもできます。
認識させたい画像を~/AI/imagenet ディレクトリに置きます。 今回はsunflower.jpgを置きました。
認識のプログラムを実行する際に、オプションを指定してやります。
python3 classify_image.py --model_dir=${HOME}/AI/imagenet --image_file=${HOME}/AI/imagenet/sunflower.jpg
daisy 98%と認識されました。このモデルには、そもそもsunflowerというカテゴリが無いのかもしれません。花であることはあっています。
imagenet_synset_to_human_label_map.txt の中を見てみると、sunflowerというカテゴリがありました。ということは、残念ながら誤認識ということになります。ディープラーニングやAIに間違いはつきものだし、カテゴリの数が多いモデルなので精度はあまり良く無いのかもしれません。
今回はここまでです。