2017年10月29日日曜日

OpenCV dnn モジュールで Inception モデルでクラスの分類を行った。(I classified images with Inception model in OpenCV dnn module.)

#439 'pelican' 42.998%

はじめに

サンプルのdnnフォルダーに含まれているtf_inception.cppを試してみた。
tf_inception.cpp は、 Tensorflow の モデルを読み込み分類を行うデモである。
このデモでは、inception を対象としている。

事前準備

モデルデータをここからダウンロードし、ZIPファイルを展開する。

実行

サンプルプログラムをコンパイルし、以下の様にコマンドラインから入力を行う。

./tf_inception --model=tensorflow_inception_graph.pb --image=space_shuttle.jpg --i_blob=input --o_blob=softmax2 --c_names=imagenet_comp_graph_label_strings.txt

結果


Output blob shape 1 x 1008 x 91198400 x 0
Inference time, ms: 148.885
Best class: #234 'space shuttle'
Probability: 99.9972%

白鳥の画像も試してみたが、認識対象に含まれていないためペリカンと判定された
imagenet_comp_graph_label_strings.txt を調べてみると、 #421にblack swanが登録されているので、黒鳥なら認識できると思う(アイコンの画像にした国鳥の写真が見つからない)

データに関して

imagenet_comp_graph_label_strings.txt
ファイルの中はクラスの名前である。
全部で1001行のファイルであり、最初の行はdummyと記載されている。

出力のBlobの形式はsoftmax2の出力でるがどのような並びかは不明。

以上

0 件のコメント:

コメントを投稿