エッジの検出 - 和歌山大学

エッジの検出
画像中に表示された物理の輪郭(エッジ(edge))
や線では、一般的に濃淡が急激に変化しており、
これらは画像中のなんらかの構造を反映してい
ることが多い
このようなエッジや線の検出処理は、画像理解
や認識のための前処理として重要である
差分型によるエッジ検出
零交差法によるエッジ検出
テンプレート型エッジ検出オペレータ
画像例1
画像例1の明るさマップ
画像例2
画像例2の明るさマップ
差分型によるエッジ検出
差分
Roberts
Prewitt・Sobel
差分
・エッジ部分においては、一般的に濃度が急激に
変化しているため、「鮮鋭化」でも述べた差分によ
りエッジを検出できる
・すなわち、濃度値の変化を持つ画像に対して1次
微分を行えば、エッジ部分は取り出される
・水平方向(x方向)および垂直方向(y方向)の一
次微分は下の式により計算される:
f x (i, j )  f (i  1, j )  f (i, j )
f y (i, j )  f (i, j  1)  f (i, j )
画像の微分
明るさ
元画像
少しずらした元画像
両者の差
X
差分(続く)
これらの重み係数を取り出せば、オペレータは下
の(a)、(b)のようになる
-1 1
-1
1
(b) y方向の差分
(a) x方向の差分
微分の強度(すなわちエッジの強度)は次式で定
義される
f (i, j )  f x2 (i, j )  f y2 (i, j ) (3-1)
濃度の変化が最大となる向きは次式で求める
  tan
1
fy
fx
Roberts
斜め方向の差分オペレータも下の(a)、(b)のように考
えられ、これをRobertsのエッジ検出オペレータという
0 1
1 0
-1 0
0 -1
(a) 右上―左下方向の差分
(b) 左上―右下方向の差分
微分の大きさは次式となる
g (i, j )  { f (i, j )  f (i  1, j  1)} 2  { f (i  1, j )  f (i, j  1)} 2
f x (i, j)
Prewitt・Sobel
以上のように隣り合う画素同士の微分を行う場合、そ
の差分値は実際には二つの画素の中間の位置(例え
ば f (i, j) の場合、実際 f (i  0.5, j) は)における差分値を
求めていることになる。そこで、3*3のフィルタ
x
0 0 0
-1 0 1
0 0 0
(a) x方向の差分
x
0 -1 0
0 0 0
0 1 0
(b) y方向の差分
を用いて、注目画素の両側の濃淡値の差分を行うよう
にすれば、差分値は注目画素の位置と一致する
この方法は離れた画素間の差分を求めることになる
ため、ノイズの影響が小さくなるという利点もある
上記に対して差分を取る画素を増やし、さらに平滑
化の効果を高めたフィルタとして、
Prewittのエッジ検出オペレータ
-1 0 1
-1 -1 -1
-1 0 1
0 0 0
-1 0 1
1 1 1
(a) x方向の差分
(b) y方向の差分
Sobelのエッジ検出オペレータ
-1 0 1
-1 -2 -1
-2 0 2
0 0 0
-1 0 1
1 2 1
(a) x方向の差分
(b) y方向の差分
が提案されている
各種フィルタによる処理例
・図(a)の原画像に対して、上記
のそれぞれのエッジ検出オペレ
ータによる処理を行った例
(ただしエッジの強度)を同図
(b)~(e)に示す
・1方向のオペレータ出力による
処理結果の濃度値に適当な定
数を加えると、同図(f)のように
斜めから光を当てたような効果
(浮き彫り効果)が得られる
・これはエンボス(Emboss)
効果と呼ばれ、フォトレタッチな
どのグラフィックスソフトでよく
用いられる
零交差法によるエッジ検出
・強調処理で述べた2次微分(ラプラシアン)を用い
てエッジを検出する方法もよく用いられる
・2次微分を行うと、図のようにエッジの下端と上端
でそれぞれ正と負のピークを生じる
ラプラシアンフィルタ(Laplacian Filter)
原画像の2次微分であるラプラシアンフィルタによる結果
零交差法によるエッジ検出
・正から負へとピークが変化する途中で出力が0と
なる位置をエッジの中央位置として検出できる
・これを零交差(Zero-Crossing)法という
テンプレート型エッジ検出オペレータ
・微分操作を行わずにエッジを検出する方法に、テン
プレートマッチングの考え方を用いてエッジを検出す
るテンプレート型エッジ検出オペレータがある
・これは理想的なエッジパターンを想定し、画像の局
所領域内の濃淡パターンに最も良く合致するように
パラメータを求める方法です
・Kirschオペレータはエッジの方向別にテンプレートが
用意されている
・エッジの検出においては、画像とそれぞれのテンプ
レートとの積和演算を行い、最大値が得られたテンプ
レートの方向をエッジの濃度が変化する方向とし、そ
の出力値をエッジの強度とする
Kirschオペレータ
5 5 5
-3 0 -3
-3 0 -3
(a) 上方向
-3 -3 -3
-3 0 -3
5 5 5
(a) 下方向
5 5 -3
5 0 -3
-3 -3 -3
5 -3 -3
5 0 -3
5 -3 -3
-3 -3 -3
5 0 -3
5 5 -3
(b) 左上方向
(c) 左方向
(d) 左下方向
-3 -3 -3
-3 0 5
-3 5 5
-3 -3 -5
-3 0 5
-3 -3 5
-3 5 5
-3 0 5
-3 -3 -3
(b) 右下方向
(c) 右方向
(d) 右上方向
参考書リスト
藤岡 弘、中前幸治:「画像処理の基礎」、
昭晃堂、2002
末松良一、山田宏尚:「画像処理工学」、
コロナ、2000
鮮明化した画像例1
画像例1のエッジマップ
画像例1から抽出した輪郭線
二値化
輪郭線
領域
エッジ画像の細線化,2値化
エッジ画像
方法1:
2値化してから細線化を行う.
2値化したエッジ画像
2値画像の細線化
連結性を失わずに,領域の輪郭線の画素を削ることにより,領域を細くする.
0 0 0 0 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 1 1 0 0
0 1 1 1 1 0
0 0 1 1 1 1
0
0
0
0
0 0 0 0
1 1 1 0
1 1 1 0
1 1 1 0
1
1 1 1 0
1 1 1 0 0
0 0 0 1 1 1 1 1 0 0 0
0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
=境界線上の画素
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 0
0 0 1 1
0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 1 1 0
1 0 1 1 0 0
0
0
0
0
0
0
0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
細くなった領域
2. 2値化・細線化を同時に行う方法
エッジ画像の局所的な最大値(極値)を持つ画像を探し出し,それら
を境界線の画素とする方法.