Thresholding
**閾値処理(thresholding)**は、グレースケール画像を画素ごとの二値判定 ── 保持するか捨てるか、前景か背景か、エッジかそうでないか ── に変換する。シンプルな処理でありながら、明示的な画像の二値化として、また輝度やスコアをカットオフと比較する検出器・記述子の内部処理として、ビジョンパイプライン全体に登場する。
大域閾値処理
最も単純な形式は、画像全体に単一の閾値 を適用する:
を手作業で選ぶのは脆いため、大津の方法(Otsu’s method)は輝度ヒストグラムから自動的に を選択する:得られる2つの画素クラス間のクラス間分散を最大化する を選ぶ:
ここで は 以下/以上の画素の割合、 はそれらの平均輝度である。クラス間分散を最大化することは、クラス内分散を最小化することと等価である ── これはヒストグラムを2つのモードに最もよく分離する閾値である。
適応的(局所)閾値処理
単一の大域的な は、不均一な照明(影、ビネッティング)の下では失敗する。適応的閾値処理は、局所的な近傍から画素ごとの閾値を計算する:
ここで は画素周りのウィンドウ 上の(単純または加重ガウシアン)平均、 は小さな定数である。各画素はその後、自身の局所閾値と比較される。これは、フィデューシャルマーカー検出器(ArUco、AprilTag)が白黒マーカーのグリッドを抽出する前に画像を確実に二値化する方法である。
ヒステリシス閾値処理
Cannyエッジ検出は2つの閾値を使う。勾度の大きさが を超える画素は強いエッジとして採用される。 と の間の画素は、強いエッジに接続している場合にのみ保持される。これにより、長く弱いエッジのセグメントは保持されつつ、孤立したノイズ応答は排除される ── これは、単一のカットオフが良い構造を分断してしまうか、あるいはノイズを許容し過ぎてしまう場合に思い出す価値のあるテクニックである。
特徴点パイプライン内部の暗黙的な閾値
閾値処理は、ほとんどの特徴点処理機構に組み込まれている:
- FASTは、円周上の画素の連続したアークが より明るいか より暗い場合にのみ、画素 をコーナーと宣言する。閾値 は検出されるコーナーの数を直接制御し、特徴点数を安定させるために画像ごと、あるいはグリッドセルごとに適応させることが多い。
- BRIEF/ORB記述子は、画素ペア間の輝度比較を閾値処理した1ビットの系列である ── 各記述子ビットは小さな閾値テストである。
- 検出器の応答(Harrisスコア、DoGコントラスト、マッチングスコア)は、非最大抑制の前に、最小応答の閾値でフィルタリングされる。
- 直接法は、勾度の大きさが閾値を超える画素を選択する。これは、高勾度の画素のみがphotometricアライメントを制約するためである。
SLAMにおける意義
SLAMシステムは閾値だらけであり、それらを適切に選ぶための標準的な手法を知っていることが、堅牢なシステムと脆いシステムを分ける。適応的閾値処理は、照明の変化を通してマーカーベース・特徴点ベースのパイプラインを機能させ続ける。FASTの閾値は、下流のすべてのモジュールが依存する特徴点の密度と安定性を左右する。ヒステリシス型の2閾値ロジックは、多くの採用/棄却判定(例:マッチングのフィルタリング)に一般化できる。SLAMのフロントエンドが屋内から屋外に移動した際に動作しなくなる場合、ハードコードされた大域閾値がよくある原因である。