果報は寝て待て: 4月 2019

2019年4月15日月曜日

初めてのはじめての深層学習プログラミング その8

引き続き、mp4ファイルを読み込んでの認識テストです。

某、伝説のライブエイドのステージをyoutubeから落としてきました。
ファイル名を「test.mp4」に変更して opencv3.pyを実行です。

#1 | coral | 23.2%
#2 | butcher |  5.6%
#3 | matchstick |  5.4%
#4 | stinkhorn, |  5.2%
#5 | safety |  4.6%
#6 | hen-of-the-woods, |  4.5%
#7 | starfish, |  3.4%
#8 | fiddler |  2.6%
#9 | hair |  2.6%
#10 | sea |  2.5%
#11 | plastic |  1.9%
#12 | packet |  1.8%
#13 | nematode, |  1.2%
#14 | Band |  1.2%
#15 | syringe |  1.1%
#16 | confectionery, |  1.1%
#17 | coral |  1.1%
#18 | nail |  1.0%
#19 | handkerchief, |  1.0%
#20 | toyshop |  1.0%

#1 | stage | 22.0%
#2 | restaurant, |  9.2%
#3 | grocery |  4.8%
#4 | altar |  4.7%
#5 | brassiere, |  3.0%
#6 | shoe |  2.9%
#7 | spotlight, |  2.6%
#8 | folding |  1.1%
#9 | dining |  1.0%
#10 | theater |  0.9%
#11 | toyshop |  0.9%
#12 | military |  0.9%
#13 | mobile |  0.8%
#14 | butcher |  0.6%
#15 | cinema, |  0.6%
#16 | half |  0.6%
#17 | tank, |  0.6%
#18 | mortarboard |  0.6%
#19 | loudspeaker, |  0.6%
#20 | parallel |  0.5%

#1 | drum, | 27.5%
#2 | aircraft |  7.3%
#3 | steel |  5.7%
#4 | warplane, |  3.7%
#5 | stretcher |  3.6%
#6 | solar |  3.3%
#7 | moped |  3.0%
#8 | motor |  2.2%
#9 | accordion, |  2.1%
#10 | cannon |  1.6%
#11 | airliner |  1.5%
#12 | cornet, |  1.5%
#13 | spotlight, |  1.4%
#14 | sax, |  1.2%
#15 | stage |  1.2%
#16 | cello, |  1.1%
#17 | drumstick |  1.1%
#18 | electric |  1.0%
#19 | oboe, |  0.9%
#20 | trombone |  0.9%

#1 | dumbbell | 19.9%
#2 | joystick |  5.5%
#3 | punching |  4.1%
#4 | bulletproof |  3.2%
#5 | balance |  3.1%
#6 | ping-pong |  2.6%
#7 | notebook, |  2.5%
#8 | hair |  1.8%
#9 | mouse, |  1.7%
#10 | barbershop |  1.7%
#11 | power |  1.7%
#12 | microphone, |  1.7%
#13 | television, |  1.7%
#14 | barbell |  1.7%
#15 | oscilloscope, |  1.7%
#16 | projector |  1.6%
#17 | screen, |  1.5%
#18 | hand |  1.3%
#19 | laptop, |  1.2%
#20 | monitor |  1.1%

このような感じになりました。
ビデオの場合、ひとコマずつを約2秒かけて認識しているのでめちゃくちゃ遅いです。1分のビデオなら30分くらいかかるようです。最もビデオカードなどを活用できれば早くなるかもしれません。そろそろcudaが必要かもしれません。

2019年4月7日日曜日

初めてのはじめての深層学習プログラミング その7

やっと23ページです。
「カメラに写ったものをリアルタイムで認識する」です。

Logicoolのカメラを買いました。
 c-270。安かった。usbにつなぐだけで自動で認識してくれました。
プログラムは本に書いてあるそのままでokでした。
opencv.pyをdeelのフォルダに作成して実行です。

 めっちゃ人相悪い。
実行の結果です。
 toru@toru:~/deel$ python opencv.py
Loading bvlc_googlenet.caffemodel
#1 | Band | 39.6%
#2 | sunscreen, | 13.7%
#3 | wig |  5.9%
#4 | mask |  3.7%
#5 | lipstick, |  2.2%
#6 | shower |  1.9%
#7 | cellular |  1.5%
#8 | hair |  1.4%
#9 | bow |  1.3%
#10 | bathing |  1.2%
#11 | face |  1.2%
#12 | syringe |  1.2%
#13 | spatula |  1.0%
#14 | ping-pong |  0.8%
#15 | neck |  0.7%
#16 | military |  0.7%
#17 | cleaver, |  0.7%
#18 | sweatshirt |  0.6%
#19 | bottlecap |  0.6%
#20 | barbershop |  0.5%
init done
opengl support available
#1 | Band | 37.8%
#2 | sunscreen, | 16.5%
#3 | wig |  5.4%
#4 | mask |  3.0%
#5 | shower |  2.5%
#6 | lipstick, |  1.7%
#7 | spatula |  1.5%
#8 | hair |  1.4%
#9 | cellular |  1.3%
#10 | bathing |  1.3%
#11 | ping-pong |  1.2%
#12 | syringe |  1.2%
#13 | bow |  1.2%
#14 | face |  1.1%
#15 | sweatshirt |  0.7%
#16 | head |  0.6%
#17 | cleaver, |  0.6%
#18 | neck |  0.6%
#19 | military |  0.6%
#20 | Granny |  0.5%
toru@toru:~/deel$

約2秒ごとに20項目が表示されます。
AIは歯に絹を着せるということを知らないようです。
bandはセーターのタートルネックでしょうか。
sunscreenは少し見えてる障子でしょうか。
確かにかつらが要るかもしれません。
なかなかおもしろいですね。

続いて特定のワードを認識したら画像を保存させます。
キーワードは「water」です。
どうやら#1のワードのみ認識するようです。#2,#3に表示されてても無視します。

#1 | water | 68.4%
#2 | computer | 13.6%
#3 | beaker |  3.0%
#4 | mouse, |  2.8%
#5 | pill |  1.2%
#6 | syringe |  1.2%
#7 | pop |  1.2%
#8 | water |  1.1%
#9 | desk |  0.6%
#10 | typewriter |  0.6%
#11 | Petri |  0.4%
#12 | laptop, |  0.4%
#13 | nipple |  0.4%
#14 | space |  0.3%
#15 | soap |  0.3%
#16 | oxygen |  0.2%
#17 | saltshaker, |  0.2%
#18 | crossword |  0.2%
#19 | desktop |  0.1%
#20 | photocopier |  0.1%

その時の画像です。
本当は料理酒なのですが、ペットボトル=水と思ってるようです。