検出器のシーン別修正の積み増しは過学習 — 採否はカテゴリ網羅の正解コーパス集計で判定する
テスト設計
画像処理
機械学習
運用
原則
画像検出・認識のヒューリスティック(閾値・ゲート・救済パス)を「このシーンで失敗した→そのシーンの実測で定数を足す」という形で積み増していくと、検出器は手元の再現ケース群に過学習していく。個々の修正は再現ケースを直すが、(1) 別ケースを壊したかどうかを測る手段がなく、(2) 修正が増えるほど相互作用で挙動の説明が困難になり、(3) 新しい対象×背景の組み合わせごとに壊れ続ける。コミット履歴が「〜の場合に検出されない問題を解消」の連続になっていたら、この状態のシグナル。
運用
- 失敗カテゴリ(例: テクスチャ背景・低コントラスト・対象内部の強い模様・暗色対象など)をタグ付けした正解付き評価コーパス(入力フレーム+正解の四隅/矩形)を先に作る。再現バグの入力はその都度コーパスへ追加する。
- 修正・定数変更の採否は、個別シーンの目視でなくコーパス全体の集計指標(カテゴリ別の precision / recall、コーナー誤差、IoU)で判定する。あるカテゴリを直して別カテゴリを下げる変更は数字で棄却できる。
- ユーザーが手動補正できる UI があるなら、補正前後のペアがそのまま正解データとして蓄積できる(運用データがアノテーションになる)。
判断基準
- 単発の閾値決定に必要なのは失敗クラス両側の実測(既存知見)だが、修正が数回を超えて積み重なり始めたら、個別実測ではなくコーパス集計へ評価の主体を移す。
- コーパスで測ってもカテゴリ間のトレードオフが解消できない(片方を直すと必ず他方が壊れる)状態は、ヒューリスティックの表現力の限界であり、手法自体の転換(学習ベース検出への置換など)を検討する転換点。