LoginSignup
13
15

More than 5 years have passed since last update.

PEPPER Detectした人の年齢と性別を識別する

Posted at

概要

BasicAwarenessを使ってDetectした人の性別と年齢を取得します。

使うボックス

Choregraphe標準のボックスを使って実装します。

1. BasicAwareness

ALBasicAwarenessの制御とイベントの監視を行うボックスです。
そもそもBasicAwarenessっていうのは
Pepperが音に反応したり、顔を見つけたりするための機能です。

BA.png
上から2番目が音に反応したときのイベント
3番目が顔を見つけたときのイベント
4番目が顔を見失ったときのイベントです。

UserSessionにもFocusedUserがありますが、
役割は別なのでうまく使い分けましょう。

2. Get Gender

GetGender.png

名前の通り性別を識別するためのボックスです。
レンチマークで閾値(年齢の正確さ)とタイムアウトを設定できます。
閾値が高すぎるとタイムアウトして性別が取れないのでいい感じのところを設定して下さい。

3. Get Age

GetAge.png

こちらも上のGet Genderボックスと同じインターフェースになってます。

実装

上記のボックスを使用して実装する場合このような配置になります。

ss.png

解説

Get GenderとGet Ageのボックスを見るとわかりますが、
PeoplePerception/PeopleListというメモリにPeopleIdが入っているかを見ています。

BasicAwarenessによって人の顔を認識した場合
BasicAwarenessボックスのHumanTrackedからPeopleIdが出力されます。
つまりBasicAwarenessのHumanTrackedから値が出力されたときは
かならずPeopleIdがPeoplePerception/PeopleListに入っているので
Get AgeとGet Genderボックスで年齢と性別を取得できる確率が非常に高くなります。
BasicAwarenessボックスがUnloadされない限りは監視を続けるので
アプリ内でDetect中の人の年齢や性別を使うアプリではボックスをUnloadせずに常駐させておくといいです。

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15