デモを継続/顔検出デモ(写真撮影と顔検出)実行 vision kit part4

シェアする

Pocket

1.顔を検出して写真撮影

このデモでは、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 というファイルが存在していました。

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

2.顔検出のデモを実行する

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

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))

3. 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 part3

スポンサーリンク

シェアする

フォローする