vision kitで2つの顔検出(自動写真撮影と顔検出表示)デモを行う
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で遊ぶ!」の記事も増えてきました。
ディスカッション
コメント一覧
まだ、コメントがありません