0%

cs131 lecture 4 Edge Detection

edge 的重要性

  • 大部分的形狀等資訊可以從邊緣分析出來
  • 用 edge 來提取資訊、辨識物件
  • 回復幾何形狀與消失點(vanishing point)

edge 產生原因

  • 表面法向不連續性(Surface normal discontinuity):區塊內看到多個不同角度的表面
  • 深度不連續性 (Depth discontinuity):由物體前後距離不一所產生邊緣
  • 表面顏色不連續性 (Surface color discontinuity):物體改變顏色,例如材質顏色改變
  • 亮度不連續性 (Illumination discontinuity):陰影,光線亮度變化

邊緣檢測在一階微分應用

edge detection Using First/Second Derivative

透過一階微分找出亮度變化大的地方

First Derivative

1D function:

2D function:

轉換成 2D mask/filter

  • gradient vector:對 x,y 方向進行偏微分,也就是用上述兩個 Gx, Gy 的 mask 個別對影像進行 convolution
  • gradient magnitude:透過 x,y 方向梯度的加總得到最終梯度強度
  • gradient direction:gradient vector 中 gradient 變化量最大的角度

noise 對 edge detection 的影響

  • noise 對邊緣檢測的影響不大
  • 若有較大的影響可以考慮先對影像進行平滑運算
    • Median filter
    • Gaussian filter
    • Bilateral filter

Tradeoff:影像模糊度越強,noise 越少,但 edge 也會被模糊掉

edge detector

好的 edge detector 應避免這些事情發生

  • Poor robustness to noise:對 noise 抵抗能力低
  • Poor localization:與真實 edge 位置仍有小幅度差距
  • Too many responses:檢出太多不必要 edge

Sobel edge detector

Sobel Operator

高斯平滑 + 一階微分 組成

gradient magnitude & gradient direction

缺點

  • 準確率差,誤判率高
  • 對 noise 敏感

Line Detection

直線是一個很常見的特徵,例如在建築物、道路、零件電路板等都看得到
從 edge 資訊更進一步找出直線

Naïve method

對影像中的 edge 點任取兩個點,檢查在此點形成的線上是否有其他 edge 點
當點數量大於一定值時,視為真正的直線
缺點:

  • 時間複雜度為$ O(N^2) $ ,N 為 edge 數量

Hough transform

與蠻力法相似,用投票的方式來找出合適的線段
但不同的地方在於使用 hough space 將直線透過另一種公式做轉換

Hough space

直線方程式
$ y=ax+b $(1)
但這個方程式(1)不能表示垂直的線段

$ r = xcos \theta + ysin \theta $ (2)

因此由公式(2)可以簡單的改變$ \theta $ 值組合出多種不同角度的直線

單個 edge 點(x,y)在$ [r,\theta] $ hough space 下所呈現多條直線的結果為

可以看到單個點在$ [r,\theta] $空間下畫出一條彎曲線

加上不同 edge 座標點,可以在 hough space 下畫出多條彎曲線
並且有疊加交點,而此交點正好是兩點所形成的直線$ [r, \theta] $

可篩選交點數較多的點為真實直線,也可以篩選指定直線角度範圍

優點:

  • 概念簡單,好實現
  • 相同概念也可以用在檢測圓形

缺點:

  • 只得到直線角度資訊,沒有直線長度資訊

補充

消失點 vanishing point

消失點是三維空間中所有平行線相交的交點。
消失點的應用在檢測道路上有很大的幫助,在二維影像中車道最終會在消失點相交,但真實空間的車道是平行的。
透過 edge 尋找消失點,進行道路檢測。

VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition ICCV2017-用 DeepLearning 進行消失點檢測影片

參考

Line Detection by Hough transformation