エッジ検出gydF4y2Ba

エッジ検出とはgydF4y2Ba

エッジ検出は,gydF4y2Ba画像処理gydF4y2Ba技術のひとつで,画像内にある物体のエッジを見つけるために用いられます。エッジは輝度の不連続性から検出することができ,物体の輪郭やgydF4y2Ba特徴抽出gydF4y2Ba、gydF4y2Ba画像のセグメンテーションgydF4y2Ba(領域分割)等のgydF4y2Ba画像解析gydF4y2Baに使われます。エッジ検出は車道における白線検出や部品の輪郭抽出、また検査位置の検出等、画像処理、コンピュータビジョン、マシンビジョンの分野における様々なアプリケーションで活用されています。

エッジ検出による車体や白線の検出gydF4y2Ba

細胞のエッジ検出gydF4y2Ba

エッジエッジの使用例gydF4y2Ba

エッジ検出は前処理として様々な画像処理技術と組み合わせて使用することができます。例えば,下の画像はある細胞のセグメンテーションをエッジ検出とモルフォロジー処理を組み合わせて行った例になります。細胞と背景の画素値が近い為,単純な閾値を用いたgydF4y2Ba二値化gydF4y2Baでは領域分割がうまくいきませんが,エッジ検出を前処理として活用することでモルフォロジー処理が有効に働き,最終的に細胞の領域分割をうまく行えています。gydF4y2Ba

エッジ検出を用いた細胞のセグメンテーションgydF4y2Ba

また,次のgydF4y2Baハフ変換gydF4y2Baによる円検出を行った例では,エッジ検出の前処理を加えることで物体を強調することができ,入力画像に対してそのまま円検出を行うよりも検出率を高められています。gydF4y2Ba

エッジ検出を活用した円検出gydF4y2Ba

エッジ検出は2次元画像だけでなく3次元のボリュームデータに対しても行うことも可能です。次の画像はMRIボリュームデータに対してエッジ検出を行った結果を,複数枚に分割して並べたものになります。gydF4y2Ba

3次元ボリュームデータに対するエッジ検出gydF4y2Ba

エッジ検出の原理gydF4y2Ba

エッジ検出には主に一次微分を使った勾配法と二次微分を使ったラプラシアン法があります。ある画素値の変化に対するエッジ検出を考えた場合,勾配法では一次微分を行ったあとの極大値や極小値に注目することでエッジを検出することができます。ラプラシアン法を用いた場合は二次微分を行い,その変曲点(ゼロクロッシング)をエッジとして検出することができます。gydF4y2Ba

画素値の変化に対する一次微分と二次微分gydF4y2Ba

実際の画像データはピクセル単位の離散的な位置情報をもった行列として表現されます。画像データにおける微分操作はあるピクセルに対して隣接するピクセルとの画素差をとることで実現され,これを全画素に行うことで微分画像を得ることができます。この操作は微分フィルターと呼ばれる行列(オペレータ,カーネルと呼ばれることもあります)と対象となる画像データとの畳み込み演算を行うことで得られます。微分フィルターには前進差分,後退差分,中心差分などがあります。gydF4y2Ba

微分フィルターの例gydF4y2Ba

勾配法の使った場合,単に隣接画素との変化が大きい箇所をエッジとしてしまうと,画像中に含まれるノイズもエッジとして誤検出してしまう恐れがあります。この影響を軽減させるために平滑化処理を行います。例えば,横方向にエッジ検出を行いたい場合は横方向に微分操作を行いますが,このとき縦方向へは平滑化を行うことでノイズの影響を低減させます。この結果,縦方向のエッジを検出するフィルターとして働きます。実際の微分操作と平滑化は別々に行われるのではなく,微分フィルターと平滑化フィルターの畳み込み演算で得られるエッジ検出用フィルターを使って同時に行われます。gydF4y2Ba

エッジ検出用フィルターの導出例gydF4y2Ba

最終的なエッジは,勾配の大きさ(各々の向きの勾配の二乗平均)に対し,設定した閾値で二値化を行うことで得られます。このため,適切なエッジ検出のためには画像に応じた適切な閾値を設定する必要があります。gydF4y2Ba

勾配法によるエッジ検出処理gydF4y2Ba

ラプラシアン法では,二次微分を行った結果に対しゼロクロッシング点を見つけることでエッジを検出します。二次微分は対象の画像と微分フィルターとの畳み込み演算を二回行うことで得られますが,一次微分フィルター同士を畳み込むことで得られる二次微分フィルターを使うことで,一度の操作で同じ結果を得ることができます。さらに,縦方向と横方向に対する各々の二次微分フィルターを足し合わせたものはラプラシアンフィルターと呼ばれ画像に対するラプラシアンを返すフィルターとなります。gydF4y2Ba

ラプラシアンフィルタ——の導出gydF4y2Ba

エッジ検出のアルゴリズムgydF4y2Ba

エッジ抽出のための様々なアルゴリズムが提案されていますが,ここでは,勾配法とラプラシアン法の代表的なエッジ検出の手法とであるソーベル法とガウスのラプラシアン法に加えて,弱いエッジの検出も可能な強力なエッジ検出となるキャニー法についてご紹介いたします。gydF4y2Ba

1.ソーベル法(Sobel)gydF4y2Ba

前の節で紹介したエッジ検出フィルターは平滑化操作に平均化を使っているのに対し,ソーベル法は中央の重みをおおきくした加重平均を用いており,より滑らかな平滑化を期待できます。ソーベル法で用いるエッジ検出用のフィルターは下図のようになります。gydF4y2Ba

ソーベルフィルタgydF4y2Ba

2.ガウスのラプラシアン法(日志:高斯拉普拉斯算子)gydF4y2Ba

ラプラシアンフィルターに関してもそのままではノイズに対する感度が高いため,ノイズの影響を低減するための平滑化を行う必要があります。ガウスのラプラシアン法ではあらかじめ対象の画像にガウシアンフィルターを用いた平滑化を行ってからラプラシアンフィルターを適応させます。この平滑化とラプラシアンの操作は,ガウシアンフィルターとラプラシアンフィルターを畳み込んで得られるガウスのラプラシアン(日志)フィルターを使うことで一回の畳み込み演算にまとめることができます。ガウスのラプラシアン(日志)フィルターの式とグラフ化した結果は下記のようになります。gydF4y2Ba

ガウスフィルター(hgydF4y2BaggydF4y2Ba)とガウスのラプラシアンフィルター(h)の計算式gydF4y2Ba

3.キャニー法(精明的)gydF4y2Ba

キャニーキャニーはエッジも正确に検出できる强な検出手ののですまた他エッジ検出と比较ノイズに対する误検出も少ないにますますもなります。最终ななエッジ抽出いいいガウシアンフィルターを縦横向向次次いいいいいいいいい勾配ききささささささささささいいいいいいいいいにいにににいにににににににいにいますを行うため,取得した勾配の向き邻接する画素比较をおこないの最最位置をししし位置での勾配勾配ますますささに対しに対しに対しに対しに対しに対してててをを使っててエッジでないところ切り,キャニーでは二つ阈値を使うでヒステリシスヒステリシス阈値使うでおりヒステリシスヒステリシスをせており,上部の以上の场は,下の阈値以の场エッジ非エッジみなし场场とみなし,上下の阈値の间と.gydF4y2Ba

上記のエッジ検出を適応させた結果は次のようになります。ソーベル法では強いエッジ部のみを検出しているのに対し,キャニー法では弱いエッジも検出していることが見て取れます。gydF4y2Ba

各エッジ検出の手法と比較gydF4y2Ba

(左から,元画的像,ソーベル法,ガウルのラプラシアン法,キャニー法)gydF4y2Ba

MATLABを活用したエッジ検出gydF4y2Ba

エッジ検出は画像における轮郭検出や特徴抽出に有效です。一方で,所望の结果を得るために,対象の画像や处理速度に応じた手法の选択とパラメータの调整が不可欠です。gydF4y2BaMATLABgydF4y2Ba®gydF4y2Baの画像処理系オプション製品であるgydF4y2Ba图像处理工具箱™gydF4y2Baではエッジ検出を含め,様々なgydF4y2Ba画像処理アルゴリズムgydF4y2Baをコンパクトな記述で実行することができます。豊富な可視化機能も有しており,結果を確認しながらプログラムを組むことで,効率よくアルゴリズムの開発を行うことができます。プログラミングのご経験が浅い方でも使いやすいようにデザインされており,ヘルプドキュメントや実際に動かせる例を参考にしながらすぐに動かすことができます。gydF4y2Ba



ソフトウェアリファレンスgydF4y2Ba

参考:gydF4y2Ba史蒂夫による画像処理gydF4y2Ba,gydF4y2Ba画像強調gydF4y2Ba,gydF4y2Ba画像および動画処理gydF4y2Ba