未分類

chainerでcaffeモデルを使ってライオンの画像認識をしてみた

ディープラーニングのフレームワークであるchainerを使って、
ライオンの画像認識テストをしてみた。

chainerはcaffeで学習したモデルを読み込める。
ディープラーニングは学習フェーズに時間がかかるし、マシンパワーも要る。
誰かが一度学習したモデルは再利用した方が効率がいい。
caffeにはそういった学習済みのモデルがあるのだが、chainerには無いようだ。
しかし、chainerはcaffeの学習モデルを読み込める。
さすればこれを利用しない手はない。

実装方法は専門サイトをあたって欲しい。
「chainer caffeモデル」等で検索すれば出てくる。

さて、このモデルもいろいろあるようだが、
今回は
bvlc_googlenet.caffemodel
とやらを使ってみる。

これは物体画像識別モデルらしく、画像を与えると1000種類のラベルから答えを選んで確率で提示してくれるようだ。

では、早速トライしてみよう。

まずは画像認識に使うフリー画像をネットより落とす。
動物はいろいろあるのだが、やはり百獣の王ライオンを落とした方が
モチベーションも上がるだろうと勝手に解釈。

いろんなライオン画像を落としてみた。
で、これらの画像を見事に当てることができるのかを実験する。

まずは通常の定番、オスのたてがみライオン。
raion_osu
lion, king of beasts, Panthera leo 0.999993
endTime:141.292915821[sec]

読み方は何となくわかると思う。
99パーセントの確率でライオンだと。
2行目は解析タイムで141秒。

続いて、メスライオン。
raion_mesu
lion, king of beasts, Panthera leo 0.875156
endTime:136.742625952[sec]

メスがいっぱいでどうだ。
raion_mesu_ipai
lion, king of beasts, Panthera leo 1.0
endTime:135.995461941[sec]

メスが寝ているのはどうだ。
raion_mesu_neru
lion, king of beasts, Panthera leo 0.993945
endTime:143.018036842[sec]

オスとメスが同時だと。
raion_osu_mesu
lion, king of beasts, Panthera leo 0.999996
endTime:145.427984953[sec]

じゃあ、熊だったら。(ライオンじゃないのか)
kuma
brown bear, bruin, Ursus arctos 0.998838
endTime:137.810104847[sec]

バッチリ、正解ですね。

馬ならどうだ。
uma
sorrel 0.30917
endTime:139.737962961[sec]

栗毛の馬。正解!

この馬はわかるかchainer!
uma2
Afghan hound, Afghan 0.295077
endTime:142.296715021[sec]

おおーっと。
初めて間違えたぞ。
アフガンハウンドって何なんだ。
検索したらこんな犬だった。
afgan_dog

こりゃあ、人間でも酔っ払ってたら間違えまっせ。
29パーセントの確率。ちょっと自信が無かったのね。

ならこいつはどうだ。
と、思いきや、
画像を載せようとしたら、あまりの重さに蹴られてしまった。
仕方ないので、スマホで撮った画像をアップ。
umagotya
grocery store, grocery, food market, market 0.15934
endTime:138.949405909[sec]

食料品店。確率15パー。
まあ、見方によっては、ごちゃごちゃ感がそう見えなくもない。

最後はこれだ。人間との共存。
uma_hito
sorrel 0.620618
endTime:143.301738024[sec]

よしよし。馬とわかったのね。

やはり、ディープラーニングはすごい。
ばっちり正解を導き出している。
学習モデルさえあれば、推論フェーズは時間もかからないし比較的簡単にできる。

chainer、caffe、tensorflow等々のフレームワークを使えば、
コードの意味がわからなくても、簡単に人工知能が利用できる。

どのフレームワークが主導権を握るのだろう。
ここを勝ち取った所が、第二のマイクロソフトになるんだろうなあ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です