劉繼承 張 琳 董青松 石祥華
(1.東北石油大學,黑龍江 大慶 163318;2.大慶油田天然氣分公司,黑龍江 大慶 163000)
邊緣檢測技術在圖像分析與識別領域至關重要,尋找一種最優邊緣檢測算法是近年來此領域的熱門課題之一。邊緣檢測是通過檢測圖像區域間的變化實現的,這些變化有灰度、顏色及紋理特征等。通常是將彩色圖像轉換為灰度圖像,再利用傳統的邊緣檢測算子(如一階微分算子——Prewitt算子、Roberts算子和Sobel算子,及二階微分算子——Laplace算子等),計算梯度的幅值和方向。這些算子易于實現,而且實時性好,但是在抗噪和單像素邊緣定位方面效果不太好,尤其是對噪聲的干擾非常敏感。上述算法中,基于多尺度小波分析的圖像邊緣檢測算法在抑制噪聲和提取邊緣定位方面表現良好,受到了國內外學者的廣泛重視[1]。1983年有學者提出尺度空間思想,對邊緣檢測中的多尺度和多分辨進行了深入研究。1992年又有學者提出小波變換多尺度邊緣檢測方法,同時將小波邊緣檢測方法與LOG算子和Canny最優檢測算子在小波意義下統一,更明確地表達了多尺度思想在邊緣檢測中的重要意義[1]。
多尺度小波變換圖像邊緣檢測算法存在的問題是大尺度下圖像邊緣細節信息會有丟失,導致檢測到邊緣點定位不準確而偏離實際邊緣;小尺度下圖像邊緣點又易受噪聲影響導致檢測到偽邊緣[2]。選取合適的尺度并采用合理的邊緣細化算法是平衡多尺度下邊緣檢測優/缺點的主要思路。筆者在多尺度小波變換得到的邊緣灰度圖像中選擇最優尺度灰度圖像,再選擇合適的灰度門限,將圖像轉換為二值圖像后,用邊緣細化算法將邊緣準確定位到單像素寬度,以期較傳統邊緣檢測算子在噪聲容限和單像素邊緣定位方面有所提高。
對于一幅普通圖像而言,邊緣就是圖像顏色或灰度發生突變之處,邊緣檢測的目的就是檢測出圖像中突變發生的位置。傳統的邊緣檢測算子對圖像進行邊緣檢測的基本原理就是求微分運算,找到圖像中的突變點作為圖像邊緣,原理簡單、操作容易,但是存在的最大問題就是對噪聲敏感。
較好地解決噪聲敏感問題的方法之一是對圖像進行多尺度邊緣檢測,這需要首先對圖像進行多尺度表達。對圖像進行小波變換是獲得圖像多尺度表達的一種方法,小波變換能夠把圖像分解成多種尺度成分,并對大小不同的尺度成分采用相應的時域或空域取樣步長,從而不斷地聚焦到圖像的任意微小細節、間斷點、奇異點和邊緣[3]。小波變換所獨有的這種多尺度特性恰好可以用于多尺度下圖像的邊緣檢測[4]。人在觀察目標時,隨著分辨率的增加,越走近目標觀察獲得的信息就越豐富;反之,獲得的信息越少[5]。在噪聲抑制與圖像細節表現之間尋求平衡是多尺度分析的主要任務。由于小波變換在各尺度上都提供了圖像的邊緣信息,所以稱為多尺度邊緣,小波變換是提取多尺度邊緣的基礎。
小波變換是將一個函數表示為一個尺度成分和這個尺度下的一個小的波動成分的一種運算。




對每個像素點(n,m)計算相角Af(2j,n,m)的正切值:
確定閾值T>0,對于Mf(2j,n,m),如果Mf(2j,n,m)≥T,Mf(2j,n,m)取得局部最大值,即此時的(n,m)為模極大值點。因為梯度的局部極大值對應著圖像f(n,m)的銳變處,而且圖像的邊緣也處于圖像的銳變處,所以圖像f(n,m)的梯度局部極大值點就對應著圖像的邊緣點[7]。
局部梯度幅值最大就是圖像的局部高頻信息,圖像的噪聲也是局部高頻信息,經過小波變換后也可能產生邊緣,這種邊緣為偽邊緣。圖像進行小波變換后無論在哪個尺度上,尖銳邊緣都有很大的信號值;相反,噪聲點的信號值會隨著尺度的增大而衰減[8]。
從圖1所示的實驗結果可以看出:隨著尺度的增大,圖像的細節逐漸減少消失,邊緣逐漸平滑。這正是多尺度小波變換對高頻信息進行平滑濾波的體現。但同時也存在圖像細節丟失的缺陷,直觀感覺就是圖像變模糊。






圖1 實驗結果
經小波邊緣提取得到的圖像邊緣比較粗,難以達到單像素的精度,需要對圖像的邊緣進行細化。圖像邊緣細化是圖像處理中的基本技術,它要求完整地保存圖像的拓撲結構,以便于代替原始圖像進行識別和處理。將一個圖像的主要邊緣清晰、完整地提取出來,得到細化的、完整的邊緣,將為圖像檢索、目標分割及識別等后續處理帶來極大的便利[9]。
此處的邊緣細化算法采用改進的Zhang-suen算法,其基本思想是在細化過程中不斷移動3×3的模板,使它與圖像中的各點重合。在掃描圖像的過程中,定義待刪除的像素為P1,P1周圍的近鄰像素位置關系如圖2所示。
定義n(P1)和s(P1)兩個參數,其中n(P1)是與P1相鄰的非零像素個數,s(P1)是沿著P2→P3→P4→P5→P6→P7→P8→P9→P2的順序由0過渡到1的總次數。對于考察點P1=1,如果同時滿足2≤n(P1)≤6、s(P1)=1、P2P4P8=0且P2P6P8=0這4個條件,則可將P1刪除。細化過程是將滿足條件的像素點予以刪除。反復迭代直到再也沒有像素點滿足上述條件為止,此時完成檢驗,得到了細化后的圖像邊緣。這樣,所有檢測到的邊緣可以定位到單像素寬度,完整地保留了圖像的邊緣信息[10]。
圖3給出了不存在噪聲時,傳統邊緣檢測算子檢測的結果。






圖3 無噪聲圖像傳統邊緣檢測結果
由圖3可以看出,傳統的邊緣檢測算子在沒有噪聲的情況下可以得到較好的邊緣檢測效果。實際的數字圖像總是存在一定功率的噪聲,如椒鹽噪聲及高斯噪聲等,其中椒鹽噪聲可以通過中值濾波較好地去除,高斯噪聲是圖像噪聲容限方面要考慮的主要噪聲。圖4給出了存在高斯噪聲(μ=0,σ=0.01)時傳統的邊緣檢測算子的檢測的結果。






圖4 傳統方法檢測的含高斯噪聲圖像結果
可以看出,在有高斯噪聲存在的情況下,傳統的邊緣檢測方法檢測的圖像邊緣出現缺失,偽邊緣被檢測出大范圍出現,對邊緣檢測結果造成了極大破壞。采用基于二進小波變換的多尺度邊緣細化檢測方法檢測得到的邊緣如圖5所示。
從視覺直觀感受來看,加入高斯噪聲的傳統邊緣檢測方法的檢測結果受噪聲干擾很大;而采用筆者提出的方法后,圖像邊緣的連續性和準確性都比傳統方法的檢測結果有較大改善。

圖5 檢測結果
在此,定量地來探討圖像邊緣檢測結果的比較。邊緣檢測過程會產生3個主要類型的誤差,即邊緣點丟失、邊緣點定位偏離以及將噪聲波動誤認為是邊緣點。以Canny最優邊緣檢測準則為參考依據,Canny最佳邊緣檢測三準則具體如下:
a. 最優檢測。對于真實存在的邊緣不漏檢,當然也不會把非邊緣點檢出,使得輸出信噪比最大。
b. 最優檢測精度。所得邊緣點的位置與實際邊緣點的位置最近。
c. 檢測點與邊緣點一一對應。每個實際存在的邊緣點與檢測到的邊緣點一一對應。

信噪比SNR越大,能夠準確檢測到的真實邊角和較少含有偽邊界的可能性也就越大。檢測精度L為檢測到的邊界與真實邊界之間倒數的數學期望,檢測精度越高,測量誤差越小。偽邊界平均距離M為隨機噪聲與檢測函數卷積之后偽邊界出現的平均距離,偽邊界平均距離越長測量結果中出現偽邊界的個數就越少[12]。
以主要性能指標信噪比SNR作為邊緣檢測評價標準,將沒有噪聲存在時的Canny邊緣檢測算子檢測的邊緣作為實際邊緣,與存在(μ=0,σ=0.01)高斯噪聲時傳統的最優邊緣檢測算法Canny邊緣檢測和筆者所提方法進行比較,Canny邊緣檢測的SNR=1.005 0,小波多尺度邊緣檢測的SNR=1.534 8。
筆者研究了基于二進小波變換的圖像多尺度邊緣檢測及其邊緣細化算法,在與傳統邊緣檢測方法進行比較的基礎上,對傳統方法在無噪聲和有噪聲存在時邊緣檢測的結果進行比較,并就筆者所提方法與傳統邊緣檢測方法的標信噪比進行了定量分析。實驗結果表明:基于二進小波變換的圖像邊緣提取細化算法較傳統邊緣檢測方法在噪聲容限和邊緣細化到單像素寬度方面有明顯改善。與傳統邊緣算法相比,小波變換邊緣檢測細化算法具有定位精確和計算量小的優點,對噪聲的敏感程度也遠低于傳統邊緣算法。