blog
ブログ
2016.04.25
Pepper技術ブログ:NAOqiMemoryKeyメモ
こんにちは!
日本システムデザイン Pepper担当のスエヨシです。
NAOqi Framework (Pepper ミドルウェア)で提供されている各APIで利用可能なメモリキー情報について、
公式ドキュメント記載の情報を調査しましたので、
覚書として記載します。
◆NAOqi Memory Keys
以下、下記の公式ドキュメントページを翻訳した内容となります。
NAOqi Memory Key Index – Aldebaran documentation
BacklightingDetection/BacklightingValue | フレーム毎に計測される逆光の値。 (0:逆光なし、1:逆光の可能性有り、2:逆光が確定) |
---|---|
CloseObjectDetection/ObjectInfo | 直近で検出された近接物体の情報。 |
DarknessDetection/DarknessValue | フレーム毎に計測される暗さの値。 |
EngagementZones/LastMovementsInZone1 | エンゲージメントゾーン1で検出された動きのリスト。 このメモリキーは、キー”MovementDetection/MovementInfo”と同様の構造となっている。 |
EngagementZones/LastMovementsInZone2 | エンゲージメントゾーン2で検出された動きのリスト。 このメモリキーは、キー”MovementDetection/MovementInfo”と同様の構造となっている。 |
EngagementZones/LastMovementsInZone3 | エンゲージメントゾーン3で検出された動きのリスト。 このメモリキーは、キー”MovementDetection/MovementInfo”と同様の構造となっている。 |
EngagementZones/PeopleInZone1 | エンゲージメントゾーン1で検出された人物IDのリスト。 |
EngagementZones/PeopleInZone2 | エンゲージメントゾーン2で検出された人物IDのリスト。 |
EngagementZones/PeopleInZone3 | エンゲージメントゾーン3で検出された人物IDのリスト。 |
footContact | 一つの脚部が接地している場合に1.0fを返す。 |
leftFootContact | 左脚部が接地している場合に1.0fを返す。 |
leftFootTotalWeight | 左脚部にかかる総重量をkg単位で返す。 |
MovementDetection/MovementInfo | 直近で検出された動きの情報。 |
PeoplePerception/Person/<ID>/AgeProperties | 当該人物の推定年齢を”[(年齢), (信頼度)]”のフォーマットで返す。 年齢は0~75の範囲、信頼度は0~1の範囲に限定される。 |
PeoplePerception/Person/<ID>/AnglesYawPitch | 当該人物の形状上部の、ロボットの胴体に対するヨー(水平角)とピッチ(俯仰角)の角度(ラジアン値)。 |
PeoplePerception/Person/<ID>/Distance | ロボットカメラと当該人物の間の距離(m)。 |
PeoplePerception/Person/<ID>/EngagementZone | 当該人物のエンゲージメントゾーンのID。(未知の場合は0) |
PeoplePerception/Person/<ID>/ExpressionProperties | 当該人物の表情の推定。 関連データは5つの感情(普通・喜び・驚き・怒り・悲しみ)の検出スコアを含む配列となる。 各スコアは0~1の範囲をとり、人物が対応する各感情である確率を表す。 検出に失敗した場合を除き、5つの値全てを合計すると1となる。 (検出失敗時は5つの値全てに0が設定される。) |
PeoplePerception/Person/<ID>/EyeOpeningDegree | 当該人物の両目の開き具合を”[(左目), (右目)]”のフォーマットで返す。 双方の値は0~1の範囲をとる。(0が目を開けている状態、1が目を閉じている状態) |
PeoplePerception/Person/<ID>/GazeDirection | 当該人物の視線の方向を”[(ヨー), (ピッチ)]”のフォーマットのラジアン値で返す。 視線方向は顔の面に対して計算される。 |
PeoplePerception/Person/<ID>/GenderProperties | 当該人物の推定性別を”[(性別), (信頼度)]”のフォーマットで返す。 性別は女性なら0、男性なら1となり、信頼度は0~1の範囲となる。 |
PeoplePerception/Person/<ID>/HeadAngles | 当該人物の頭の向きを3軸(ヨー・ピッチ・ロール)によるラジアン値で返す。 |
PeoplePerception/Person/<ID>/IsFaceDetected | 当該人物の顔が検出されたか否か。尚、一度も顔認証をされたことのない人物に対しては、このキーがメモリ上に作成されない可能性がある。 |
PeoplePerception/Person/<ID>/IsLookingAtRobot | 当該人物がロボットを見ているか否か。 |
PeoplePerception/Person/<ID>/IsSitting | 当該人物の姿勢。 0が立っている状態、1が座っている状態、2は未知の姿勢。 |
PeoplePerception/Person/<ID>/IsVisible | 当該人物がロボットから見えるか否か。 |
PeoplePerception/Person/<ID>/IsWaving | 当該人物がロボットに手を振っているか否か。 手振りに関するより詳細な情報については、IsWavingLeft・IsWavingRight・IsWavingCenterの3つのメモリキーを参照。 |
PeoplePerception/Person/<ID>/IsWavingCenter | 当該人物の体の前方で何らかの動き(例えば手を振る等)が検出された場合、trueを返す。 尚、当該人物がどちらの手を使ったかを検出することはできない。 |
PeoplePerception/Person/<ID>/IsWavingLeft | 当該人物の体の左側で何らかの動き(例えば手を振る等)が検出された場合、trueを返す。 |
PeoplePerception/Person/<ID>/IsWavingRight | 当該人物の体の右側で何らかの動き(例えば手を振る等)が検出された場合、trueを返す。 |
PeoplePerception/Person/<ID>/LookingAtRobotScore | 当該人物がロボットを見ている度合いを信頼度(0~1の範囲)のスコアで返す。 |
PeoplePerception/Person/<ID>/NotSeenSince | 当該人物が直近で検出されてからの経過時間(秒)。 |
PeoplePerception/Person/<ID>/PositionInRobotFrame | FRAME_ROBOT空間における、当該人物の3D頭部位置。 |
PeoplePerception/Person/<ID>/PositionInTorsoFrame | FRAME_TORSO空間における、当該人物の3D頭部位置。 |
PeoplePerception/Person/<ID>/PositionInWorldFrame | FRAME_WORLD空間における、当該人物の3D頭部位置。 |
PeoplePerception/Person/<ID>/PresentSince | 当該人物が最初に検出されてからの経過時間(秒)。 |
PeoplePerception/Person/<ID>/RealHeight | 当該人物の推定身長をメートル単位で返す。 この値は、時間経過毎に最大の検出値を計算する。 |
PeoplePerception/Person/<ID>/ShirtColor | 当該人物の服装の原色。この値は、「黒」「灰」「白」「赤」「橙」「黄」「緑」「青」「紫」のいずれかとなる。 |
PeoplePerception/Person/<ID>/ShirtColorHSV | 当該人物の服装の原色をHSV色空間による値で返す。 H(色相)は0~360の範囲、S(彩度)は0~1の範囲、V(明度)は0~1の範囲で表される。 |
PeoplePerception/Person/<ID>/SmileProperties | 当該人物の笑顔度の推定値を”[(笑顔度), (信頼度)]”のフォーマットで返す。 笑顔度は0~1の浮動小数点数で表され、0は「笑っていない」状態、1は「大笑い」を表す。 また、信頼度は0~1の範囲となる。 |
rightFootContact | 右脚部が接地している場合に1.0fを返す。 |
rightFootTotalWeight | 右脚部にかかる総重量をキログラム単位で返す。 |
robotPose | 現在の姿勢を浮動小数点数(整数変換)で表す。 ALRobotPoseProxy::getPoseNames()を使用することで該当する姿勢の名称を判別できる) ※非推奨 → ALRobotPostureモジュールで代替 |
robotPoseSince | 現在の姿勢が検出されてからの経過時間(秒)を表す浮動小数点値。 ※非推奨 → ALRobotPostureモジュールで代替 |
Segmentation3D/BlobsList | セグメンテーション後のブロブのリスト。 |
Segmentation3D/TopOfTrackedBlob | 追跡中のブロブに関する情報。 |
UserSession/OpenSessions | 現在開始されている全ユーザセッションのユーザセッションIDのリスト。 |
VisualSpaceHistory/VisualGrid/Data | タイムスタンプ付きの頭部向き情報(ヨー・ピッチ・タイムスタンプ)を含むビジュアルグリッドデータ。 ALVisualSpaceHistoryで計算された値? |
以上です。
公式ドキュメントを翻訳しただけではニュアンスが良く分からないものもある為、
できることなら各メモリキーについても実際の値を含めて確認しておきたいですね。
弊社ではPepperのアプリケーション開発を行っています。
詳しくはこちらをご参照ください。