第三章 檢測系統架構
3.3 影像處理流程
3.3.2 初步邊緣偵測
1 4 7 4 1 4 16 26 16 4 7 26 41 26 7 4 16 26 16 4 1 4 7 4 1
](3-2)
3.3.2 初步邊緣偵測
在實驗中使用Canny 邊緣偵測[28]得到初步的邊緣點,Canny 邊緣偵測是 J. F.
Canny 於 1986 年所發表的一個多及邊緣偵測演算法,並基於以下三個目標計算
- 23 -
最佳的邊緣點位置:
1. 低錯誤率:所有邊緣點都應該被找到,並盡可能貼近實際邊緣。
2. 邊緣點應有好的局部性:邊緣點和真實邊緣中心距離應該最小。
3. 單一邊緣響應:對每一個邊緣點應該只檢測出一個點,在單一邊緣點存 在時不應出現多重的邊緣。
依照上述幾點作者試著推導出一個最佳的邊緣檢測模型,也就是Canny 邊緣 檢測,主要步驟包含以下幾點:計算影像梯度大小和角度、運用非最大值抑制到 梯度大小的影像上、用雙門檻和連通性分析邊緣並連結邊緣。
首先用式(3-3)和式(3-4)計算算梯度大小和角度,x、y 代表影像座標,𝑔𝑥和𝑔𝑦 分別代表垂直和水平的梯度變化量。
𝑀(𝑥, 𝑦) = √𝑔𝑥2+ 𝑔𝑦2
(3-3)
𝛼(𝑥, 𝑦) = tan−1(𝑔𝑦
𝑔𝑥)
(3-4)
再來運用非最大值抑制(Non-maximal Suppression)來降低𝑀(𝑥, 𝑦)在局部最大 值周圍的稜紋的影響,利用水平、垂直、+45°、 − 45°四個方向的濾波器來比較 原始梯度值,使稜紋變細。
最後使用遲滯門檻值(Hysteresis Threshold)的方法,設定高門檻𝑇ℎ和低門檻𝑇𝑙, 如果有像素點高於高門檻𝑇ℎ,則立刻標示為邊緣點,且與邊緣點相鄰的點有介於 𝑇ℎ和𝑇𝑙之間的像素點的話,也視為邊緣點。
而門檻值的設置由上一章節所介紹的OTSU 演算法取得最佳門檻,因為實驗 用的影像物件與背景分明(如圖 3-8),圖 3-8 的(a)為原圖,圖 3-8 的(b)為圖(a)的影 像灰階直方圖,橫軸是像素值,縱軸為累加的個數,所以可以看出探針部分大多
- 24 -
分布在 50 到 100 像素區間,而背景的灰階值大多在 100 到 150 像素之間,類別 與類別間分明,所以非常適合以OTSU 的方法來計算門檻 k,而將經由 OTSU 得 到的門檻值k 設定為 Canny 邊緣偵測的高門檻𝑇ℎ,而低門檻𝑇𝑙為𝑇ℎ的二分之一(如 式3-5)。
𝑇
𝑙 = 0.5 ×𝑇
ℎ(3-5)
(a) (b)
圖 3-8 探針與影像灰階直方圖
圖3-9 (a)是沒使用 OTSU 門檻值的結果,綠色方塊為斜邊的局部放大圖,紅 色方塊為圓弧的局部放大圖,由此可見邊緣會出現毛邊,和不連續的情形,圖 3-9 (b)是 Canny 配合使用 OTSU 門檻值的結果,可以看到邊緣更完整,更貼近真實 邊緣,所以我們使用Canny 以及 OTSU 門檻值來計算探針的初步邊緣。
OTSU 門檻值 k
- 25 -
(a)
(b)
圖 3-9 有用 OTSU 和沒有使用 OTSU 門檻值比較圖
因為實驗中使用前照式照明,光源與攝影機鏡頭在同一側,所以圓弧的探針 表面會出現反光點,反光點的特徵與邊緣相似,往往會在邊緣檢測時連同邊緣點 一起被偵測出來,干擾到要量測的主要目標,影響後續的計算,為了解決此問題,
提出了一套刪除反光點的流程如圖3-10。
- 26 -
- 27 -
(a) (b)
圖 3-11 (a) 探針邊緣點與反光點 (b) 刪除反光點示意圖
(a) (b)
圖 3-12 (a) 刪除反光點後 (b) 完整邊緣影像
𝑎𝑣𝑔𝑥
𝐿𝑙𝑒𝑓𝑡 𝐿𝑟𝑖𝑔ℎ𝑡
P(x, y)
- 28 -