IT実験のブログ

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

Tensorflowのlabel_imageツールを使ってみる

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/label_image

今回は、こちらのサイトを参考にして、Tensorflowのlabel_imageツールを使ってみます。

cd ~/AI/tensorflow

inception v3 のFrozenGraphDefをダウンロードして、所定のディレクトリに配置します。

curl -L "https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz" | \
tar -C tensorflow/examples/label_image/data -xz

f:id:itlab7:20200224211159p:plain

imagenet_slim_labels.txt と inception_v3_2016_08_28_frozen.pb がダウンロードされました。 グレース・ホッパーさんの画像は元からあったものです。 グレース・ホッパーさんは、アメリカ海軍の軍人かつ計算機科学者で、プログラミング言語COBOLを開発した人でもあるようです。

label_imageツールを実行して、グレース・ホッパーさんの画像を認識してみます。

bazel-bin/tensorflow/examples/label_image/label_image

f:id:itlab7:20200224211904p:plain

military uniform (653): 0.834306
と表示されています。
imagenet_slim_labels.txt には、そもそもpersonやhumanは含まれていませんので、認識成功と言えると思います。

自分の好きな画像を認識させるには、下のようにします。 画像ファイルには、pngファイルを指定することもできるようです。

bazel-bin/tensorflow/examples/label_image/label_image \
  --image=${HOME}/AI/imagenet/sunflower.jpg

f:id:itlab7:20200224213718p:plain

認識結果は、daisyと出ました。花であることは、あっています。

ちなみに、このlabel_imageツールには、C++での実装とpythonでの実装があって、ソースを見比べると面白いかもしれません。

今回はここまでです。