@TimSabahCV

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【CV実務】店舗内人物追跡でRe-IDが限界。遮蔽後の再同定に有効な手法は?(BoT-SORT)

解決したいこと

コンピュータビジョンのMOT(Multi-Object Tracking)/Re-IDに詳しい方にぜひご意見いただきたいです。
小規模小売店舗の天井設置カメラ1台(固定・896x512@10fps)で、来店客の滞在時間・動線・ゾーン分析を行うバッチ処理システムを開発中です。
リアルタイム処理は不要で、1日分(営業10時間程度)の映像を夜間にまとめて処理する想定です。
現在のパイプライン

検出:YOLO11m
追跡:BoT-SORT + OSNet Re-ID(boxmotライブラリ使用)
+追跡がうまくいき次第、性別・年齢などの属性情報判別も機能として追加する予定です

Re-IDの限界を感じており、特に遮蔽後のID継続が大きなボトルネックになっています。

発生している問題・エラー

主な課題:遮蔽後のID再割当て失敗(ID分裂)

人物が棚や他の客の背後に完全に隠れ、30フレーム(約3秒)検出されなくなった後、再出現時に別IDが振られてしまう

Screenshot 2026-04-12 at 8.38.48 AM.png
↑ID2が付与された人物は問題なく追跡ができます。
一方でID11が付与された人物については
手前のID10人物によって数秒間遮蔽される間に矩形(bbox)が消失し、再度出現した時にIDが15など異なったものに変化してしまいます。

自分で試したこと

以下の対策をすべて実施しましたが、効果はありませんでした。

①Re-ID特徴量の遮蔽直前汚染対策(IoMin重複検出+EMA alpha変更)
②appearance_thresh の緩和(0.25 → 0.4)
③BoT-SORTのproximity_threshマスクをlost track限定で無効化(Re-IDマッチング自体は有効化されたが、3秒後の特徴量距離が閾値を超えてマッチ不成立)

特にお聞きしたいこと

遮蔽の問題について、以下の点をお聞きしたいです。
アルゴリズム側(Re-IDのさらなる改善や他の手法)ではどうにもならず、そもそもカメラ1台という構成自体が物理的に難しいものなのでしょうか?
それとも、アルゴリズムでまだ改善の余地があるのでしょうか?

1 likes

3Answer

Re-ID関連は素人なのですが、
数秒間は判定できているというのであれば、判定ロジックの問題ではなく、単に過去の情報が消えてるだけでは?
おそらく、フレームバッファが30になってて、10fpsで3秒しか保たないとか。
バッファを増やすかレートを下げれば時間延びたりしませんか?

3Like

そもそもカメラ1台という構成自体が物理的に難しいものなのでしょうか?

ご自身でも結論が出ているので後は死角が無いようにカメラ増やすだけだと思います。

2Like

大学院でMOTについて研究している者です。

前のコメントにもありますが、まずはロストトラックの保存期間を確認してみてください。だいたいのMOT手法には、ロストしたトラックをどのくらいの期間保存しておくかのパラメータが指定できるはずです。BoT-SORTは、デフォルトで保存期間が30フレーム(30fpsの動画で1秒)になっているので、これが原因かもしれません。

また次の原因も考えられます。BoT-SORTはマッチングにReID特徴量だけでなく、カルマンフィルタという運動予測器も使用しています。カルマンフィルタが予測したターゲットの移動後の位置と、現在フレームでの検出位置とを比較し、それらが近ければ紐づけられるという仕組みです。
現在どのような遮蔽状況で追跡が失敗しているかはわかりませんが、もしターゲット(ID11)が遮蔽物(ID10)に隠れる直前まで動いていた場合、ターゲットが遮蔽物の裏で「停止」したとしても、カルマンフィルタは新しい観測値が得られないため、直前の速度のまま動き続けていると仮定して位置を予測し続けます。結果として、ロストフレームが長引くほど、カルマンフィルタが予測する位置は実際の停止位置からどんどん遠ざかっていきます。これにより紐づけに失敗する可能性があります。

現状以上のような可能性しか思いついていませんが、
少しでもお助けになれば幸いです。

1Like

Your answer might help someone💌