構造体 F_EDGE_CORR_PARAMS
[2次元エッジ検出]


説明

相関エッジ用パラメータ構造体

相関エッジ用パラメータを指定するための構造体です。 本ページで相関エッジフィルタの概要と各種パラメータの設定方法を説明します。

相関エッジフィルタ概要
相関エッジフィルタは局所領域内の関数曲線(後述のシグモイド画像)を使用してエッジ強度を計測するフィルタです。 局所領域内の分散値も計測し、分散値がしきい値以上となる画素のみエッジ強度を求めます。
シグモイド画像の例を図1に示します。 シグモイド画像はサイズ width × height の局所領域であり、 長さ方向の濃度プロファイルが図2のようなシグモイド関数 $ f(x) = \frac{1}{1 + \exp(-kx)} $ になるように構成されています。
edge_corr_sigmoid_img.png

図1. シグモイド画像(X方向)

edge_corr_sigmoid.png

図2. シグモイド関数

このシグモイド画像を図3のように対象画像の注目画素にあてはめ、濃度分布の一致度を求めることでX方向のエッジ強度を取得します。
edge_corr_scan.png

図3. 注目画素へのシグモイド画像のあてはめ

シグモイド画像を図4のように90度回転させて同様の操作を行うことで、Y方向のエッジ強度も取得します。 X方向とY方向の結果を統合することで最終的なエッジ強度とエッジ方向を得ます。
edge_corr_sigmoid_img_y.png

図4. Y方向のシグモイド画像


変数

INT width
 相関エッジフィルタの長さ
INT height
 相関エッジフィルタの高さ
DOUBLE var_threshold
 分散しきい値
DOUBLE sigmoid_k
 シグモイド係数
INT mag_threshold
 強度しきい値
INT nms_length
 非極大抑制のフィルタ片幅

構造体

相関エッジフィルタの長さ

相関エッジで使用する局所領域の長さ(幅)方向のサイズです。画素単位で設定します。 下図の W に相当します。

edge_corr_operator.png

3以上255以下の奇数かつ heightwidth となるように設定してください。 推奨値は 13 です。

パラメータ決定方法
対象物の輪郭線が( width - 1 ) / 2 より小さい場合は、下図左のように線幅と( width - 1 ) / 2 が一致するように設定してください。 例えば文字のような細い線のエッジを抽出したい場合は太さに合わせて値を調節する必要があります。
edge_corr_width_good.png

正しい設定例

ある程度幅のある対象物の場合は推奨値程度の値を設定してください(上図右)。
下図のように width が線幅を超えてしまうとエッジ強度が低下してしまいます。
edge_corr_width_bad.png

誤った設定例

相関エッジフィルタでは下図のようにキズや汚れのような細い線のエッジ強度とある程度幅のある対象物のエッジ強度に差が生じます。 これによりエッジ強度のしきい値で対象物のエッジのみ取得することが可能となります。
edge_corr_width_effective.png

効果的な使い方の例:キズや汚れ

相関エッジフィルタの高さ

相関エッジで使用する局所領域の高さ方向のサイズです。画素単位で設定します。 下図の H に相当します。

edge_corr_operator.png

1以上255以下の奇数かつ heightwidth となるように設定してください。 推奨値は 5 です。

パラメータ決定方法
通常は推奨値を使用してください。 デジタル処理による誤差、およびビデオノイズによる誤差を軽減させたい場合には値を大きくしてください。 しかし値を大きくすると傾いているものに対してエッジ強度が低くなる傾向があります。 なお、フィルタ長さ width の値が推奨値から大きく変化している場合は、 width の3分の1程度に設定することも検討してください。

分散しきい値

相関エッジで使用する領域内の濃度分散値の下限値です。 領域内の濃度分散値が設定値を超えた場合にエッジであるとみなします。 ソーベルエッジでいう強度しきい値と同じ性質を持ち、対象となるマスターパタンと背景のコントラストによって値を調整します。

0より大きな値で設定してください。 推奨値と設定可能な上限値は次の表の通りです。

画像型推奨値上限値
F_IMG_UC82516384 (= 2^14)
F_IMG_S1616384001073741824 (= 2^30)
F_IMG_US1616384001073741824 (= 2^30)
F_IMG_DOUBLE画像の値域によって変化上限なし

※FPMの相関エッジでは F_IMG_UC8 のみに対応しています。

パラメータ決定方法
画像内の対象物と背景の濃度差を計測し、何箇所か計測した中で最も濃度差の小さい値を以下の式に代入して採用してください。
分散しきい値 = (濃度差)2 / 4
*注意* 濃度差計測では若干広めにとってしまう可能性が高いので、計測値より少し低めの値を式に代入することをお勧めします。
算出した分散しきい値を用いて、一旦エッジ抽出を行い、エッジが取れているかどうか確認してください。 以下の2つの状況に当てはまる場合は値を調節してください。
  • 対象物のエッジは取れているが、ノイズからもエッジが出ている場合 → 大きくする
  • ノイズからのエッジはないが、対象物のエッジも取れていない場合  → 小さくする
随時エッジ抽出を行い、エッジを確認しながら値を調節することをお勧めします。 対象物のエッジが消えない程度に分散しきい値の値を決定してください。

シグモイド係数

相関エッジに使用するためのマスター(シグモイド画像)となるシグモイド関数の形状を決める係数です。 値が小さい場合にはなだらかなモデル(ボケた画像)、値が大きい場合には急峻なモデル(2値的な画像)をマスターとします。

0より大きな値を設定してください。 推奨値は 1.0 です。

パラメータ決定方法
通常は推奨値を使用してください。 ただし、対象物のエッジが鮮明な場合は10.0程度まで増加させることを、エッジがぼけている場合は0.1程度まで減少させることを検討してください。

強度しきい値

相関エッジで使用するエッジ強度の下限値(256倍値)です。 エッジ強度が設定値を超えた場合にエッジであるとみなします。 相関エッジの強度は一般的なエッジの強度とは考え方が違い、マスターとなるエッジモデル(シグモイド画像)との類似度を強度としています。

0以上255以下の値を設定してください。 推奨値は 160 です。

パラメータ決定方法
通常は推奨値を使用してください。
以下のような場合に限り調節を行ってください。 随時エッジ抽出を行い、エッジを確認しながら値を調節することをお勧めします。
【局所領域内に対象のエッジ以外のものが含まれる場合】
局所領域内にキズや汚れなどのエッジ以外の濃度変化がある場合、エッジ強度が低下します。 このような状況の場合は、局所領域がキズや汚れに掛からないようにフィルタ長さ width を小さくするか、もしくは強度しきい値を小さくしてください。

非極大抑制のフィルタ片幅

非極大抑制処理(細線化処理)時のフィルタサイズ片幅です。画素単位で設定します。

1以上の値を設定してください。 推奨値は ( width - 1) / 2 です( width はフィルタ長さ)。

パラメータ決定方法
通常は推奨値を使用してください。 正しいエッジ位置の近隣に余計なエッジが生じる場合には値を大きくしてください。


Documentation copyright © 2009-2024 FAST Corporation.
Generated on Fri Aug 9 16:38:49 2024 for FIEライブラリ by doxygen 1.5.6-FASTSP-p2