なにが画像に写っているかを調べる

機械学習というものを動作させてみたくてまずは画像認識から始めることにしました。
画像を指定して、何が写っている可能性何パーセントと表示してくれるサンプルコードを実行してみました。

Jupyterのマジックコードを使って、Tensorflow配布サイトから画像識別用のプログラムとサンプル画像をダウンロードします。

1
2
3
!wget https://raw.githubusercontent.com/tensorflow/models/master/tutorials/image/imagenet/classify_image.py
!wget https://cdn.pixabay.com/photo/2019/05/28/05/47/puppy-4234435__340.jpg
!wget https://cdn.pixabay.com/photo/2015/12/08/00/31/office-1081807__340.jpg

1枚目の画像認識プログラムを実行します。

1
!python classify_image.py --image_file puppy-4234435__340.jpg

puppy-4234435__340.jpg
[結果]

1
2
3
4
5
Lhasa, Lhasa apso (score = 0.29679)
Maltese dog, Maltese terrier, Maltese (score = 0.20975)
clumber, clumber spaniel (score = 0.08200)
cocker spaniel, English cocker spaniel, cocker (score = 0.05887)
Pekinese, Pekingese, Peke (score = 0.04576)

Lhasa apso 29%(ラサアプソ=チベット原産の愛玩犬に分類される犬種のひとつ)
Maltese dog 20%(マルチーズ)

犬なのは分かってますが、その先の犬種まで言い当てようとしてます・・・というか犬種がなんなのか私にはわかりません。(汗)
・・・っていうか犬か猫かどっちかなーくらいの結果がでるのかと思ってました。

2枚目の画像認識プログラムを実行します。

1
!python classify_image.py --image_file office-1081807__340.jpg

office-1081807__340.jpg
[結果]

1
2
3
4
5
desk (score = 0.27846)
mouse, computer mouse (score = 0.08432)
laptop, laptop computer (score = 0.04696)
barbershop (score = 0.03265)
notebook, notebook computer (score = 0.02900)

机 27%
パソコンのマウス 8%
ノートパソコン 4%
理髪店 3%

机とノートパソコンは間違いないですが、2番目のマウスはコップを持つ手のところがそう見えてしまったのでしょうか。
4番目の理髪店は・・・・全体的にそう見えなくもないですが3%なので許したいところです。

1行もコード書いてないのにここまでできるなんて・・・すごいの通り越してコワイデス。

(Google Colaboratoryで動作確認しています。)