You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
3.3 KiB
61 lines
3.3 KiB
# Phase 6 人物状態管理仕様
|
|
|
|
## 1. Phase 6の目的
|
|
|
|
Phase 2〜5に分散する人物情報をtrack ID単位の実験状態と最終summaryへ統合する。個人識別は行わない。
|
|
|
|
## 2. システム構成
|
|
|
|
`Track / Face / Turn / Voice outputs -> PersonStateManager -> Snapshot / Event / Summary -> PersonStateLogger`。既存managerと既存CSVは維持する。
|
|
|
|
## 3. PersonStateManager
|
|
|
|
各出力をtrack IDで対応付け、累積フラグ、現在status、遷移イベント、最終summaryを生成する。終了時は残trackを必ずfinalizeする。
|
|
|
|
## 4. PersonExperimentStatus
|
|
|
|
new、tracked、inside_region、eligible、prompted、pseudo_prompted、observing_response、responded、no_response、completed、excluded、not_evaluable、lostを定義する。
|
|
|
|
## 5. PersonExclusionReason
|
|
|
|
tracker/voice/turn disabled、no face/pose、baseline/sample/rate不足、not eligible、already turned、prompt/audio failure、short track、ID switch疑い、prompt前/観測中lost、outside region、unknownを統一語彙とする。
|
|
|
|
## 6. 状態遷移ルール
|
|
|
|
通常はnew→tracked→inside→eligible→prompted/pseudo→observing→responded/no_response→completed。表示statusはexcluded、completed、lost、responded、no_response、observing、prompt、eligible、not evaluable、inside、tracked、newの優先順とする。responseフラグはlost後も失わない。
|
|
|
|
## 7. 除外理由の統一
|
|
|
|
Turn/Voiceのfinal reasonを共通Enumへ正規化する。最低duration、trigger要件、eligibility要件もfinalize時に評価する。not evaluableをexcludedへ含めるかは設定可能で、既定false。
|
|
|
|
## 8. Track / Face / Turn / Voiceとの連携
|
|
|
|
TrackEventから領域、line、lost、方向、HeadPoseResultからface/pose、Turnからlevel/confirmed/delta/validity、Voiceからeligibility、prompt、window、response、reaction timeを取り込む。
|
|
|
|
## 9. prompt/controlモードとの関係
|
|
|
|
promptはprompted、controlはpseudo_promptedとなるが、その後は共通のobserving/responded/no_response遷移を使う。
|
|
|
|
## 10. PersonStateLogger CSV仕様
|
|
|
|
frames、events、summaryの3 CSVをUTF-8 BOMで追加保存する。metadataは日本語保持JSON、summaryはtrack ID単位で重複排除する。
|
|
|
|
## 11. 画面表示
|
|
|
|
人物付近に短縮State、左上にtracked/eligible/prompted/observing/responded/excludedの現在数を表示する。
|
|
|
|
## 12. 例外処理
|
|
|
|
tracker無効時はPerson Stateを警告して無効化する。face/turn/voice無効時も人物追跡自体は継続し、対応値と統一理由へ反映する。ログI/Oは独自例外とする。
|
|
|
|
## 13. テスト
|
|
|
|
実モデルなしでEnum、優先規則、除外、Track/Face/Turn/Voice統合、prompt/control遷移、finalize、CSV BOM/JSON/dedupを検証する。
|
|
|
|
## 14. 実機確認手順
|
|
|
|
promptではtracked→inside→eligible→prompted→observing→response/no response→completed、controlではpseudo経由の同型遷移を確認する。無効化時はperson-state CSVが生成されないことも確認する。
|
|
|
|
## 15. Phase 7への引き継ぎ
|
|
|
|
track ID、status/previous status、event type、exclusion、voice mode、prompt/pseudo、response/reaction、turn level/confirmed、Turn/Voice分析可否を安定して提供し、Phase 7の時系列統合イベントへ渡す。
|
|
|