針對固定攝影機下的排隊場景,以空間規則、隊列狀態與 tracklet recovery 降低 ID switch。
共同開發者 / Co-created with: CHEN,CHIEH-YI
一般 multi-object tracking 會嘗試追蹤畫面中所有人,但餐飲櫃台、取餐區或走道的真正需求,是穩定辨識「正在排隊的顧客」。當排隊者被遮擋、短暫消失或與路人交錯時,只靠 bounding-box IoU 或外觀 ReID 容易發生 ID switch 與 lost tracking。
本專案把問題重新定義為 queue-aware tracking:先理解固定攝影機下的空間與隊列行為,再進行身分配對。
flowchart LR
A[Person Detection] --> B[ROI Classification]
B --> C[Foot Point / Ground Plane]
C --> D[Queue State Machine]
D --> E[Queue Order Constraint]
E --> F[Tracklet Memory & Recovery]
F --> G[Auxiliary ReID Matching]
G --> H[Stable Queue IDs]
- ROI first:區分排隊區、點餐/取餐區、座位區、走道與離開區,避免所有人共用同一 matching pool。
- Foot point over bbox center:使用 bounding-box bottom center,必要時透過 homography 映射到地面座標。
- Queue state machine:
unknown → passerby → queue_candidate → queue_member → service → leaving → ended。 - Order constraint:利用排隊順序通常不會任意交換的先驗,限制不合理的 ID 配對。
- Tracklet recovery:短暫遮擋時保留 queue slot 與 motion memory,不立即建立新 ID。
- ReID as auxiliary evidence:外觀特徵只作為輔助,不單獨決定身分。
匹配成本可組合:
cost = w1 * ground_distance
+ w2 * velocity_consistency
+ w3 * queue_order_penalty
+ w4 * direction_penalty
+ w5 * reid_distance
+ w6 * roi_transition_penalty
- 標註 20–30 段容易出現遮擋、ID switch 或 lost tracking 的片段。
- 固定 detector 與 baseline tracker,避免一次更動太多變因。
- 比較 baseline 與 queue-aware strategy 的 ID switch、lost-track recovery、IDF1/HOTA,以及人工覆核案例。
- 分開記錄排隊者與路人,確認改善來自 queue constraints,而不是降低偵測範圍後的假性提升。
這個 public repo 是技術 case study,不包含原始監視器影片、可辨識人臉、客戶場域資訊或 production code。現場素材保留在私人環境;若要公開 demo,必須先取得授權並完成可靠去識別化。
目前狀態是可執行 PoC 的技術設計,不宣稱已完成跨場域、商用品質或零 ID-switch 的驗證。