圖像處理領(lǐng)域中涉及很多特征,角點特征,邊緣特征,形狀特征,紋理特征,顏色特征,直方圖統(tǒng)計特征等等(還有很多^_^)。這些特征有些是比較底層的特征,如角點特征,邊緣特征,顏色特征等,有些則是較為高層的特征,如形狀特征,紋理特征,直方圖統(tǒng)計特征。
這里我們主要談?wù)摰讓犹卣髦械倪吘壧卣?,提取這些特征的手段叫作邊緣特征提取或叫作邊緣檢測。邊緣檢測常用的算子中分為一階檢測算子和二階檢測算子,這里提及的算子有些類似數(shù)學中的微分的概念(要有一定的數(shù)學基礎(chǔ)哦)。邊緣檢測的另外一種形式也被成為相位一致性,這個概念我到后面再談及,有了這個概念之后幫助我們從圖像頻域分析邊緣提取這一過程。
表1 圖像處理邊緣檢測算子分類表格
基于邊緣檢測的分析不易受整體光照強度變化的影響,同時利用邊緣信息容易凸顯目標信息和達到簡化處理的目的,因此很多圖像理解方法都以邊緣為基礎(chǔ)。邊緣檢測強調(diào)的是圖像對比度。對比度從直觀上的理解就是差異的大小,若對于灰度圖像來說就是灰度值(亮度值)的差別,若對于彩色圖像則是顏色的差異了。這些差異可以增強圖像中的邊界特征,因為這些邊界就是圖像對比度較大的體現(xiàn)。
這就是我們感知目標邊界的大體機制,因為目標的表現(xiàn)就是與它周圍的亮度差別。
一、水平差分算子、垂直差分算子
亮度變化可以通過對相鄰點進行差分處理來增強。對水平方向的相鄰點進行差分處理可以檢測垂直方向上的亮度變化,根據(jù)其作用通常被稱為水平邊緣檢測算子(horizontal edge detector),這樣就可以檢測出垂直邊緣Ex;對垂直方向的相鄰點進行差分處理可以檢測水平方向上的亮度變化,根據(jù)其作用通常被稱為垂直邊緣檢測算子(vertical edge detector),這樣就可以檢測出水平邊緣Ey。
Ex = |Px,y - Px+1,y|Ey = |Px,y - Px,y+1|
將水平邊緣檢測算子和垂直邊緣檢測算子結(jié)合,就可以同時檢測出垂直邊緣和水平邊緣,即:
Ex,y =|Px,y - Px+1,y + Px,y - Px,y+1|
由此可以得到
Ex,y =|2 x Px,y - Px+1,y - Px,y+1|
圖1 一階差分模板
利用泰勒級數(shù)分析可以知道相鄰兩點的差值是一階導數(shù)的估算值,誤差。如果在相鄰兩個差分點之間插入一個像素來實現(xiàn),相當于,相當于用兩個相鄰點的一階差分作為新的水平差值Exx,其中
Exxx,y = Ex x+1,y + Ex x,y = |Px+1,y - Px,y + Px,y - Px-1,y| = |Px+1,y - Px-1,y |
利用泰勒級數(shù)分析可以知道一階微分的估算值是由一個像素隔開的兩個點的差值,誤差。
圖2-1 改進的一階差分模板My
圖2-2 改進的一階差分模板Mx
二、一階邊緣檢測
(a) Roberts交叉算子
Roberts交叉算子實現(xiàn)的基礎(chǔ)是一階邊緣檢測,利用兩個模板,計算對角線上而不是坐標軸上的兩個像素的微分。這里命名這兩個模板分別為M+,M-
圖3-1 Roberts交叉算子模板M+
圖3-2Roberts交叉算子模板 M-
(b) Prewitt邊緣檢測算子
邊緣檢測類似微分處理,它檢測的變化的部分,必然對噪聲和圖像的亮度變化都有相應(yīng)處理。因此,把均值處理加入到邊緣檢測過程中一定要非常謹慎。我們可以把垂直模板Mx擴展成三行,而水平模板My擴展成三列。這樣就得到Prewitt邊緣檢測算子。
圖4-1 Prewitt算子模板Mx
圖4-2 Prewitt算子模板My
(c) Sobel邊緣檢測算子
如果把使兩個Prewitt模板算子中心像素的權(quán)值去兩倍的數(shù)值,便得到有名的Sobel邊緣檢測算子,它是由矢量方式確定邊緣的兩個掩碼組成的。Sobel很受歡迎是因為它比Prewitt算子等同時期的其他邊緣檢測算子性能更好。
圖5-1 Sobel算子模板Mx
圖5-2 Sobel算子模板My
Sobel算子的通用形式綜合了一條坐標軸上的最優(yōu)平滑和另一條坐標軸上的最優(yōu)差分。值得注意的是,大的邊緣檢測模板的好處是它減少噪聲的平滑效果更好,然而邊緣模糊卻成為一個大難題。
(d) Canny邊緣檢測算子
Canny邊緣檢測算子可以說是當前最受歡迎的邊緣檢測方法。它由三個主要目標形成:
無附加響應(yīng)的最優(yōu)檢測
檢測邊緣位置和實際邊緣位置之間距離最小的正確定位
減少單邊緣的多重響應(yīng)而得到單響應(yīng)
Canny指出高斯算子對圖像平滑處理是最優(yōu)的。Canny邊緣檢測一般處理的步驟可以粗略的分為以下四個步驟:
應(yīng)用高斯平滑處理
應(yīng)用Sobel算子
應(yīng)用非極大值抑制(非極大值抑制實質(zhì)上是找到邊緣強度數(shù)據(jù)中的最高點)
滯后閾值處理來連接邊緣點(閾值處理需要兩個閾值,即上限閾值和下限閾值 )
三、二階邊緣檢測
一階邊緣檢測的前提是微分處理可以使變化增強。找圖像變化率最大的地方不僅可以通過一階變化率的極值尋找,同時也可以通過二階變化的過零點來尋找。
(a) Laplacian算子
二階微分可以利用兩個相鄰一階微分的差值來近似。這也和數(shù)學中的概念相一致。
圖6-1 垂直二階模板
圖6-2水平二階模板
如果把水平二階算子和處置二階微分算子結(jié)合起來,可以得到一個全Laplacian模板算子。
圖7 Laplacian邊緣檢測算子
(b) Marr-Hidreth算子
Marr-Hidreth也是利用高斯濾波。該算子的曲面圖是墨西哥帽子的形狀,所以有時也被成為“墨西哥帽子”算子,如下圖所示。
圖 8 LoG算子的形狀
實際上,如果把高斯平滑和Laplacian算子結(jié)合起來,可以得到一個LoG(Laplacian of Gaussian)算子,它就是Marr-Hidreth的基。
各算子的效果比較:
圖 8 LoG算子的形狀
四、其他邊緣檢測
邊緣檢測作為視覺處理的初級階段,方法有很多種,這里我們再提及兩個設(shè)計最優(yōu)的邊緣檢測方法,Spacelk方法和Petrou方法。有興趣的朋友可以進一步了解。這里需要提及的是Spacek算子使定位信噪比和峰值分離比的乘積最大化。Spacek算子比Canny算子具有很高的性能。Petrou算子使用的模板比較大,以便保存最優(yōu)性,因此Petrou算子可以處理比較大的計算復雜度,但在使用的時候,應(yīng)當具體問題具體分析。
五、相位一致性
邊緣檢測算子的比較突出了它們的一些內(nèi)在問題:不完整輪廓問題、閾值選擇問題和噪聲響應(yīng)問題。因為光照強度在圖像的不同區(qū)域是不一樣的,選擇單個閾值通常不能適用于圖像中的所有區(qū)域。這些問題單靠簡單初級的處理難以解決。需要優(yōu)化方法或者使用較為高級的手段才能達到一定的效果。
相位一致性(Phase congruency)方法是一個特征檢測算子,它由如下兩個優(yōu)點:
可以檢測大范圍的特征
對局部(和平滑)光照變化具有不變性
這兩個優(yōu)點其實就是一致性檢測具有局部對比度不變性:即使階梯邊緣強度變小,其變化位置并不改變。
-
圖像處理
+關(guān)注
關(guān)注
27文章
1289瀏覽量
56720 -
邊緣檢測
+關(guān)注
關(guān)注
0文章
92瀏覽量
18204
原文標題:圖像處理算法——邊緣檢測
文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論