コンテンツにスキップ

トラッキング & 行為認識 モデル候補と評価データセット

[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。

目的: 本ファイルはトラッキング(ID 継続)と行為認識の本番導入候補モデル、評価指標、推奨データセット、及び評価手順をまとめる。

1) 検出 + トラッキング候補 - Detection: YOLOv5/YOLOv8, YOLOX (高スループット) - Tracker: DeepSORT, StrongSORT, ByteTrack, SORT (軽量) - 推奨組合せ: YOLOX + ByteTrack(高速 + ID 継続性)

評価指標 - IDF1, MOTA, MOTP, Precision, Recall - 実装評価: 遮蔽復帰率、短時間遮蔽後の ID 持続性

2) 行為認識候補 - ST-GCN (skeleton-based) - TCN (temporal conv) - I3D / SlowFast (RGB ベース) - TSN (軽量バッチ評価)

評価指標 - mAP, F1, Accuracy, Segmental-F1

3) 推奨データセット - PoseTrack (pose + tracking) — トラッキング評価 - MOTChallenge (MOT17, MOT20) — ID/追跡評価 - AVA (spatio-temporal action detection) - Kinetics, UCF101, HMDB51 — 行為分類ベンチマーク - JHMDB, THUMOS — 行為セグメンテーション・検出

4) 評価手順(統合) 1. 検出器の精度/レイテンシ評価(デバイス: CPU / GPU) 2. トラッカー統合評価(検出結果固定で IDF1 等を算出) 3. 行為認識はトラッキング結果を入力した上でのセグメント精度 4. E2E 統合: 検出→トラッキング→行為認識→ASR→融合 のパイプラインで latency/success を計測

5) データ準備 & アノテーション - サンプルセット (短いクリップ群, 10-30s) を用意し、以下を付与: - フレーム毎バウンディングボックス + track_id - ポーズキーポイント(COCO/17 keypoints 形式) - 行為ラベル(start/end/frame-level) - 音声トランスクリプト(タイムスタンプ付き)

6) ベンチ自動化 - ベンチスクリプト: tools/bench_video_pipeline.py を作成(将来的実装)


実装済みモジュール(2026-04-24)

ショット境界検出 — shot_boundary_detector.py

項目 詳細
クラス ShotBoundaryDetector(threshold=0.3, method="histogram", min_scene_len=5)
メソッド detect(frames, fps) → [(frame_idx, timestamp), ...]
手法 ヒストグラム差分 / ピクセル差分 / 複合(method で選択)
NMS min_scene_len フレーム未満の重複境界を除去
依存 NumPy のみ(OpenCV fallback なし)

時系列行動ローカリゼーション — temporal_action_localizer.py

項目 詳細
クラス TemporalActionLocalizer(window_size=16, stride=8, min_confidence=0.3, nms_overlap_threshold=0.5)
メソッド localize(frames, fps) / localize_with_poses(frames, pose_results, fps)
出力 [{"start": float, "end": float, "action": str, "confidence": float}, ...]
特徴 スライディングウィンドウ + Temporal IoU NMS、ポーズキーポイント変化量統合
本番フック backend="stgcn_real" (ST-GCN) / backend="slowfast_real"

空間関係抽出 — spatial_relations.py

項目 詳細
関数 get_spatial_relation(obj_a, obj_b, depth_a, depth_b) → str
戻り値 left_of / right_of / above / below / in_front_of / behind / near / touching / unknown
バッチ extract_pairwise_relations(detections, depth_maps) → [{"subject_id", "object_id", "relation", "confidence"}, ...]
追加 MotionVectorEstimator — トラック履歴から速度ベクトル・方向を付与

今後のモデル統合優先度

機能 推奨モデル 優先度
本番トラッキング ByteTrack + YOLOX
本番行動認識 ST-GCN (skeleton) または SlowFast (RGB)
ショット境界(高精度) PySceneDetect + CNN 分類器
モーション推定 オプティカルフロー (RAFT / Farneback)

更新日: 2026-04-24