リアルタイム検出の候補選択には前フレームの確定状態を prior として注入する
画像処理
設計判断
アルゴリズム
知識
判断
運用
カメラ映像の連続検出で、重なり合う複数候補から代表を選ぶ段(重複抑制・NMS 相当)が面積やスコアなどの静的優先度だけで動くと、正解の候補が毎フレーム安定して存在していても、間欠的に現れる偽候補(対象+背景を巻き込んだ肥大矩形など)がそのフレームだけ静的優先度で勝ち、表示やトラックが乗っ取られてガタガタする。画素ベースの追加判別(辺コントラスト等)は背景が高コントラストなテクスチャ(木目など)だと分離できないことがある。
判断基準
- 選択段の優先順位の最上位に「前フレームで確定・表示していた矩形との IoU が高いこと」を入れる(temporal prior)。静的優先度(面積・スコア)は prior 不在時のフォールバックに下げる。これにより間欠的な偽候補は「新規に現れたもの」として別途厳しい基準(新規トラック作成条件、既存トラックとの包含関係の抑制など)で扱える。
- prior の一致判定には高めの IoU 下限(例: 0.6)を置き、肥大矩形(正解との IoU 0.4〜0.5 程度)が prior に便乗するのを防ぐ。同一対象の微小な位置揺れ(IoU 0.9+)だけを拾う意図。
- prior 固定化(誤った矩形にロックされる)の退路として、トラックの失効(連続未検出での消滅)を残しておく。prior は選択の優先度にのみ使い、候補の生成・検証自体は prior に依存させない。
- トラック段のガード同士がデッドロックを作らないか確認する。「既存トラックと包含関係にある検出は新規トラック化しない」型のガードは、真の対象の内部断片が1フレームでも先にトラック化すると、以降その断片を包含する真の全体候補が永久に確立できなくなる(偽の先行トラック→包含ガード→真の候補を遮断→prior が偽に固定、の悪循環)。偽の部分候補は、トラック段のガードでなく候補選択段(表示・トラック化の前)で包含抑制して消す方が安全で、そのためには選択順を信頼度(strong/weak)優先でなく包含側優先(面積優先)にする必要がある — 品質の低い(ボケた)全体候補にも、品質の高い部分候補を抑制する権利を与える。
検証方法
実機の画面録画をフレーム列に切り出し(UI 部分のクロップ、焼き込まれたオーバーレイは近傍色で塗り潰し)、検出〜選択〜トラッキング〜表示の実経路をオフラインで回すハーネスを作る。候補を出自(生輪郭/合成系)付きでフレームごとにログし、「正解候補は存在するか(検出の問題)」と「存在するのに選択で負けているか(選択の問題)」と「選択は通るのにトラック段で塞がれているか(ガードの相互作用)」を切り分けてから対策を決める。修正後は同じフレーム列で表示の乗っ取り 0 と表示継続率をアサートする回帰テストにする。