vision kitで2つの顔検出(自動写真撮影と顔検出表示)デモを行う

2019年2月4日

vision kitでの記事も第4弾となりました。

vision kit組立て顔検出と笑顔検出・写真撮影実施のデモを実施しました。さらに、オブジェクト認識と顔検出のデモを行いました。

公式サイトには、まだデモが残っています。

今回も、それに従ってデモを続けていきたいと思います。

今回も、最後までお付き合いくださいね。

スポンサーリンク

顔を検出して写真撮影

このデモでは、vision kit は顔を検出すると自動的に写真を撮影します。起動するには、次のコマンドを入力してEnterキーを押します。

./face_camera_trigger.py

モニターが接続されていると、カメラウィンドウがポップアップします。カメラが顔を検出して写真を撮るまでは、この状態のままです。

今回、カメラを、雑誌に向けてみました。前回も使用した将棋世界の3月号です。

顔を検出すると、写真が撮られ、現在のディレクトリ(このデモの入っている ~/AIY-projects-python/src/examples/vision)に faces.jpg というイメージが作成されます。

合わせて、カメラのウィンドウが閉じられ、プロンプトに戻ります。

pi@raspberrypi:~/AIY-projects-python/src/examples/vision $ ls
any_model_camera.py image_classification_camera.py
dish_classification.py image_classification.py
dish_detection.py joy
face_camera_trigger.py mobilenet_based_classifier.py
face_detection_camera.py object_detection.py
face_detection.py object_meter
face_detection_raspivid.py video_capture
faces.jpg 

プロンプトで ls と入力して、内容を確認したところ、間違いなく faces.jpg というファイルが存在していました。

この画像を表示してみましたが、あまりうまく撮影されていませんね。

うむむ。


顔検出のデモを実行する

今度は、写真を顔検出モデルで使用します。このディレクトリに人が移っている写真を用意します。

pi@raspberrypi:~/AIY-projects-python/src/examples/vision $ ls
3.jpeg faces.jpg
any_model_camera.py image_classification_camera.py
dish_classification.py image_classification.py

用意したのは、上記にあるように 3.jpg です。前に使用した3名の笑顔が入った写真ですね。

写真を格納したのでデモを実行します。次のコマンドを入力して Enter キーを押しましょう。

pi@raspberrypi:~/AIY-projects-python/src/examples/vision $ ./face_detection.py --input 3.jpeg

すると、プロンプトに次のメッセージが表示されました。

Face #0: Face(face_score=0.9990234375, joy_score=0.3608268201351166, bounding_box=(221.0, 238.0, 80.0, 80.0))
Face #1: Face(face_score=0.9990234375, joy_score=0.975669801235199, bounding_box=(375.0, 243.0, 80.0, 80.0))
Face #2: Face(face_score=0.9990234375, joy_score=0.27474039793014526, bounding_box=(299.0, 280.0, 67.0, 67.0))

face_scoreは、デモプログラムがが顔を見つけたこと特定しており、joy_scoreは、joy detector であった、その人の笑顔のスコアですね。bounding_boxは、画像内の顔の位置を示します。

この結果、顔を三つ見つけて、真ん中はいい笑顔をしているとの評価でしょうか?でも、三人とも笑ってると思いますけどね。

このとき、–output オプションをつけて、実行すると発見した顔を枠に囲って出力してくれました。

pi@raspberrypi:~/AIY-projects-python/src/examples/vision $ ./face_detection.py --input 3.jpeg --output 3_1.jpeg
Face #0: Face(face_score=0.9990234375, joy_score=0.3608268201351166, bounding_box=(221.0, 238.0, 80.0, 80.0))
Face #1: Face(face_score=0.9990234375, joy_score=0.975669801235199, bounding_box=(375.0, 243.0, 80.0, 80.0))
Face #2: Face(face_score=0.9990234375, joy_score=0.27474039793014526, bounding_box=(299.0, 280.0, 67.0, 67.0))

vision kit 5秒後に自動写真撮影

さて、このデモの中で、2.で人物の写真を用意するのに、vision kit で5秒後に撮影できる方法を示していました。60爺は顔出ししないため、この方法は採用しませんでした。

しかし、便利なコマンドであると思うので、以下に載せておきます。

image.jpgという名前の新しい写真をキャプチャするには、次のコマンドを入力してEnterキーを押します。

raspistill -w 1640 -h 922 -o image.jpg

すると、vision kit が5秒間待ってから写真を撮ってくれます。60爺は、別途、記事を載せている歳時記カレンダーを撮影してみました。

次回のデモでは、オブジェクト検出及び料理検出を試します。

最後に

vision kitの第4弾をお届けしました。

今回行ったデモは、顔を検出して写真撮影、顔検出のデモを実行する、vision kit 5秒後に自動写真撮影の3つのデモでした。

顔を検出すると、vision kitが自動的に顔を写真に撮ってくれます。

2番目のデモでは、どこに顔があるかを指定してくれます。凄いですな。

■思えば「aiy vision kitで遊ぶ!」の記事も増えてきました。

スポンサーリンク
この記事を書いた人

60爺

60路を越え、RaspberryPi と出会い、その関係でブログ開設(2017/2~)となりました。始めてみると、コツコツやるのが性に合ってしまい、漢字の記事から家の補修・将棋・windows10関係・別名・言い方などジャンルを拡大して今に至ってます。まだまだ、元気なので新たな話題を見つけて皆様に提供できればと思っています。「プロフィールはこちら