1D エッジ検出 – サブピクセルの精度

イントロダクション

1Dエッジ検出ツールの主な強みの1つは、ピクセルグリッドよりも高い精度でエッジを検出できる能力です。これは、(ピクセル値の)導関数プロファイルの値を補間し、その最大値を解析的に見つけることができるためです。

例: パラボラフィッティング

エッジに対応するピクセル値のサンプルプロファイル(赤)を考えてみましょう:

サンプルエッジプロファイル(赤)とその導関数(緑)。
導関数は0.5だけシフトしていることに注意してください。

最も急なセグメントは、ポイント4.0から5.0の間で、これは導関数(緑)の最大値に対応しており、これは4.5である。サブピクセルの精度がない場合、エッジはこのポイントで見つかるでしょう。

ただし、隣接するプロファイルポイントの値に関する情報を考慮して、より高い精度でエッジの位置を抽出することは可能です。最も簡単な方法は、導関数プロファイルの連続する3つのポイントにパラボラをフィットさせることです:

連続する3つのポイントにパラボラをフィットさせる。

これで、探しているエッジポイントは、パラボラの最大値から取ることができます。この場合、それは4.363であり、これは既にサブピクセルの精度の結果です。ただし、この精度はまだ非常に高くありません。この例で考慮している特定のプロファイルは、完璧なガウスエッジがポイント430にあるところから作成され、カメラがポイント4.3のエッジを見ていると仮定して、100回ダウンサンプルされました。得られた誤差は0.063 pxです。他の実験から知っているように、最悪の場合、この誤差は1/6 pxまでになります。

高度な: Aurora Visionで使用可能なメソッド

より高度な方法も使用できますが、これは3つの連続するポイントではなく、4つの連続するポイントを考慮し、ノイズや他の実際のエッジの歪みがある場合でも最高の精度を確保するための追加の技術を使用します。 Aurora Vision Studioでは、3つの異なるプロファイル補間メソッドとして使用できます:

  • リニア – ピクセル単位の精度の結果をもたらす最も単純な方法、
  • Quadratic3 – 3つの連続するポイントにパラボラを適用する改良された方法、
  • Quadratic4 – 4つの連続するポイントにパラボラを適用する高度な方法。

これらの方法の完璧なガウスエッジ上の精度はそれぞれ、1/2 px、1/6 px、1/23 pxです。 ただし、Quadratic4メソッドは、エッジがわずかにぼやけている場合にその性能が著しく異なります。画像品質がほぼ完璧に近い場合、精度は1/50 pxを超えることさえあります。