はじめに
境界検出は画像処理の中で特に重要な手法です.画像の中に含まれるエッヂを強調する方法は多くの画像処理の研究者によって研究されました.このサイトで紹介した Total Variationに基づく画像再構成や,画像とフィルタの畳み込み演算なども,こういった目的でなされることが多いです.また,古典的な方法であれば,Hough変換などが考えられるでしょう,
スパースモデリングに基づく画像の再構成 Part2. Total Variation最小化(Split Bregman)に基づく画像再構成 - IMACEL Academy -人工知能・画像解析の技術応用に向けて-| エルピクセル株式会社
問題設定
例えば,上のような画像を見てみましょう.画像の中心付近に左側と右側とを区別する線が見えると思いますが,このような境界線を検出するにはどうすればよいのでしょうか.
今回はJ.Brian Burnsらによって1986年に提案された,「Extracting Straight Lines」と,それの発展系の「LDS: a Line Segment Detector」を紹介します.
Extracting Straight Lines
Extracting Straight Lines のアルゴリズムでは,Gradient orientation と,Line Supportという概念が必要になります.それぞれに関して,具体的に説明していきます.
Gradient Orientation
Gradient とは勾配のことです.もし画像の輝度が大きく変化している部分があるなら,それは境界である可能性が高くなるでしょう.この輝度値変化のベクトルをGradient Orientation と論文では呼んでいます.
画像の輝度値を$I$として, \begin{align} \nabla u = \begin{pmatrix} \nabla_x u, \nabla_y u \end{pmatrix}^\top \end{align}
を各ピクセルで計算します. 先ほどの画像でこれを計算すると,以下のような結果が得られます.
ただし,ノイズによってGradient は歪められてしまうので,$|\nabla u|$がある閾値よりも小さいものはカットします.