テレビを見ていたら、ふと似ている気がしたので検証してみる
Andrew Ng | 田中卓志 |
---|---|
Source: MIT technology review | Source: テレビ画面を撮影 |
検証方法
Andrew Ng氏によるDeep Learning講義の1つ「Convolutional Neural Network」で扱う、顔認識プログラムを利用します。4週目の課題に顔認識システムの作成があり、画像を使って指定された人に認証できるかを判定する関数verify
を実装するので、これにネット上で集めた田中さんの画像を当てはめてAndrew氏であるか否かを判定させます。
画像の準備
verify
関数は、96x96サイズの画像ファイルを受け取るので、これに合わせて画像を準備します。
元の画像サイズが合わない場合は、なるべく縦横比が1:1に近い画像を用意して画像編集ソフトなどでサイズ変更します。今回は、imagemagickのconvert
コマンドを利用しました。
$ convert <original file> -resize 96x96! <output file>
※サイズの後に!
をつけると、アスペクト比を無視して指定したサイズに合わせてくれます。
判定
課題のJupyter Hubに画像をアップし、verify
関数を呼びます。
verify("images/tanaka-resize.png", "andrew", database, FRmodel)
## It's andrew, welcome home!
## (0.67731065, True)
見事、認証システムを通過できました! 判定の閾値が0.7なのでギリギリです。
ちなみに、山根さんの画像で試すとこうなりました。
verify("images/yamane-resize.png", "andrew", database, FRmodel)
## It's not andrew, please go away
## (0.95198733, False)
画像を集めて繰り返したところ、田中さんは概ね半分くらい通過できるようでした。
※画像の下の数字は正解との距離を表す。0.7未満で通過。
○ 0.677 | × 0.944 | ○ 0.600 | × 0.789 | ○ 0.693 |
○ 0.693 | × 0.855 | × 0.977 | × 0.952 | × 0.968 |
※画像の出典(左上から)
テレビ画面を撮影(日曜チャップリン); AERA dot.; livedoor news; エンタメラボ; シネマトゥデイ;
livedoor news; @nifty ニュース ; ワタナベエンターテイメント; 楽馬; livedoor news;
結論
まあまあ似ていると言えそうです。本実習に限らず、素晴らしい講義なのでぜひ受講してみてください。
余談
ちなみに、Andrew Ng氏本人の写真でも通過できないことがあります。あくまで講義の課題用に作られたものなので、このあたりはご愛嬌です。
verify("images/andrew-resize.png", "andrew", database, FRmodel)
## It's not andrew, please go away
## (0.81205148, False)