強力な救済パスは「本体の失敗痕跡で発火」と「痕跡を説明できる出力だけ採用」の二重ゲートにする
画像処理
設計判断
アルゴリズム
判断
運用
検出漏れを救うために感度の高い追加処理(前処理を変えた別パス、仮説生成、緩い閾値の再試行)を足すと、救いたいケースは救えるが、同時に本体では出てこなかった大きな偽候補も生む。候補選択が面積やスコアなどの静的優先度で動いている場合、この偽候補が正解を押しのけて表示を乗っ取る。実例では、背景の平面構造物(机の天板そのもの)が対象と同じ縦横比の巨大な候補として現れ、面積優先で正解を消した。
判断基準
- 救済処理は常時実行にせず、二段階のゲートで挟む。第一のゲート(発火条件)は「本体が失敗した痕跡が残っているか」。対象の一部までしか取れなかった中間成果物(部分断片)が未回収のまま残っているときだけ救済を走らせる。痕跡がない=本体が成功しているフレームでは一切走らせない。第二のゲート(採用条件)は「救済の出力がその痕跡を説明できるか」。救済が出した候補が、発火の根拠になった断片を内包し、かつ面積比が想定範囲に収まるものだけを採用する。
- 採用条件の比率は実測で挟む。対象が線や帯で二分割された断片から全体を復元する場合、面積比は 2 前後になるはずで、実測では正しい救済が 1.4〜2.2、背景の構造物を丸ごと拾った候補は 3.0 以上と明確に分離した。上下限の両方を置く(下限がないと断片そのものが自己採用され、上限がないと背景の大構造が通る)。
- 発火条件と採用条件で使う「対象らしい断片」の基準は、一致させる必要はない。仮説を捏造する処理(実体のない矩形を作る)は狭く、実輪郭を取り直す処理は広く取ってよい。後者は出力が実在のエッジに裏付けられている分、緩めても偽陽性の質が違う。
- 救済処理が生む中間成果物を、他の救済処理の入力に流し込まない。平滑化で潰した塊が「断片」として仮説生成の種になると、採用条件のゲートを迂回して偽の候補が生まれる。救済の出力は採用条件を通ったものだけを本流に戻す。
なぜ
救済処理を常時実行すると、それは「追加の検出手段」ではなく「別の検出器」になり、本体の選択ロジックと対等に競合してしまう。発火条件で救済の適用範囲を本体の失敗時に限定し、採用条件で出力を痕跡に紐付けることで、救済は本体を補完する立場に留まる。
検証方法
救済を入れる前後で、既存の正常シーン群の出力が完全に一致すること(=発火していないこと)を確認する。一致するなら、救済の副作用は本体の失敗フレームに閉じ込められている。加えて、過去に偽検出が起きた実データの再現ハーネスで、救済が新たな偽候補を表示に到達させないことを確認する。処理時間は発火時と非発火時を分けて実測し、常時のコストと最悪ケースのコストを別々に報告する。