朱紅高
(湖北職業(yè)技術(shù)學(xué)院 信息技術(shù)學(xué)院,孝感 432000)
所謂邊緣是指圖像中周圍像素灰度有階躍變化或屋頂狀變化的那些像素的集合,是圖像的最基本的特征[1]。它存在于目標(biāo)與背景、目標(biāo)與目標(biāo)、區(qū)域與區(qū)域、基元與基元之間。邊緣具有幅度和方向兩個基本特征,沿邊緣走向,像素值變化比較平緩;垂直于邊緣的走向,像素值變化比較明顯,可能呈現(xiàn)階躍狀,也可能呈現(xiàn)斜坡狀(即屋頂狀)。因此,邊緣可以分為兩種:一種為階躍性邊緣,它兩邊的像素灰度值有著明顯的不同;另一種為屋頂狀邊緣,它位于灰度值從增加到減少的變化轉(zhuǎn)折點。對于階躍性邊緣,二階方向?qū)?shù)在邊緣處呈現(xiàn)零交叉;而對于屋頂狀邊緣,二階方向?qū)?shù)在邊緣處取極值[2]。
邊緣檢測技術(shù)是圖像處理和計算機視覺等領(lǐng)域最基本的技術(shù)。如何快速地、精確地提取圖像邊緣信息,一直是國內(nèi)外研究的熱點,然而邊緣檢測又是圖像處理中的一個難題。早期經(jīng)典算法包括邊緣算子法,曲面擬合法,模版匹配法,門限化方法等等。近年來隨著數(shù)學(xué)理論及人工智能的發(fā)展,又涌現(xiàn)出許多新的邊緣檢測方法,如小波變換和小波包的邊緣檢測法、基于數(shù)學(xué)形態(tài)學(xué)、模糊理論和神經(jīng)網(wǎng)絡(luò)的邊緣檢測法。
經(jīng)典的邊緣檢測方法是對原始圖像中像素的某個小領(lǐng)域來構(gòu)造邊緣檢測算子。常用的邊緣檢測方法有Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG算子、Canny算子等。
目前應(yīng)用比較多的是基于微分的邊緣檢測算法[3],梯度算子是其中重要的一個檢測算法。由于邊緣檢測發(fā)生在圖像灰度值變化比較大的地方,對應(yīng)連續(xù)情況就是說函數(shù)梯度較大的地方,所以研究比較好的求導(dǎo)算子就成為一種思路。
邊緣檢測的實質(zhì)是采用某種算法來提取出圖像中對象與背景間的交界線。將邊緣定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界。圖像灰度的變化程度可以用圖像灰度分布的梯度決定,因此可以用局部圖像中像素的某小鄰域來構(gòu)造邊緣檢測子。以下是上述幾種經(jīng)典的邊緣檢測算子。
1.1.1 Roberts邊緣檢測算子
Roberts邊緣檢測算子是對每一個像素計算出(1)的向量,然后求出它的絕對值,再進行閾值操作。這就是Roberts邊緣檢測算子。
Roberts算子采用對角線方向相鄰兩像素之差近似梯度幅值檢測邊緣。檢測水平和垂直邊緣的效果好于斜向邊緣,定位精確度較高,對噪聲較敏感。
1.1.2 Prewitt邊緣檢測算子和Sobel邊緣檢測算子
Prewitt是使用兩個有向算子(一個水平的,一個垂直的),每一個逼近一個偏導(dǎo)數(shù)。 Prewitt邊緣檢測算子檢測圖像M的邊緣,可以先分別用水平算子和垂直算子對圖像進行卷積,得到的是兩個矩陣,在不考慮邊界的情況下也是和原始圖像同樣大小的M1,M2,它們分別表示圖像M中相同位置處的兩個偏導(dǎo)數(shù)。然后把M1,M2對應(yīng)位置的兩個數(shù)平方后相加得到一個新的矩陣G,G表示M中各個像素的灰度的梯度值(一個逼近)。然后就可以通過閾值處理得到邊緣圖像。
Sobel邊緣檢測算子和Prewitt邊緣檢測算子的不同就在于所使用的有向算子不一樣而已。Sobel算子利用像素點上下、左右鄰點的灰度加權(quán)算法,根據(jù)邊緣點處達(dá)到極值這一現(xiàn)象進行邊緣檢測。Sobel算子對噪聲具有平滑作用,提供較為精確的邊緣方向信息,但它同時也會檢測出許多的偽邊緣,邊緣定位精度不夠高。
一階微分組成的梯度是一種矢量,不但有大小還有方向,和標(biāo)量比較,數(shù)據(jù)存儲量比較大。Laplacian算子是對二維函數(shù)進行運算的二階微分算子[4],是一個標(biāo)量,與方向無關(guān),屬于各向同性的運算,對取向不敏感,因而計算量要小。Laplacian算子的優(yōu)點是各向同性,但是它有兩個缺點:1)邊緣的方向信息丟失;2)Laplacian算子是二階微分,雙倍加強了圖像中的噪聲影響。
因此,Marr提出首先對圖像用Gauss函數(shù)進行平滑,然后利用Laplacian算子對平滑的圖像求二階導(dǎo)數(shù)后得到的零交叉點作為候選邊緣,這就是LOG算子[5]。選用高斯函數(shù)(即Gauss函數(shù))是因為它近似滿足邊緣檢測最優(yōu)準(zhǔn)則并且到達(dá)時頻測不準(zhǔn)關(guān)系的最小下界。用LOG邊緣檢測算子須用較大的窗口才能得到較好的邊緣檢測的效果。然而,大窗口雖然抗噪能力強,但邊緣細(xì)節(jié)丟掉較多,而小窗口雖然獲得較高的邊緣定位精度,但對濾除噪聲又不夠有效。所以,這種方法在去除干擾和復(fù)雜形狀的邊緣提取之間存在矛盾。
Canny算子是一個具有濾波、增強和檢測的多階段的優(yōu)化算子[6]。在進行圖像處理前,Canny算子先利用高斯平滑濾波器來平滑圖像以去除噪聲(即用高斯平滑濾波器與圖像作卷積)。增強是將邊緣的鄰域(或局部)強度值有顯著變化的點突出出來,一般通過計算梯度幅值來完成。Canny算法采用一階偏導(dǎo)的有限差分來計算梯度的幅值和方向。對一個邊緣來說,其一階導(dǎo)數(shù)在邊界處存在一個向上的階躍,或者其二階導(dǎo)數(shù)過零點。在處理過程中,Canny算法還將經(jīng)過一個非極大值抑制的過程。最后Canny算法采用兩個閾值來連接邊緣。
圖像的邊緣檢測要求對于反映在低頻的大部分灰度信息,希望能分辨其中的細(xì)微的明暗差別,即有高的低頻頻率分辨能力。對于高頻的邊緣和紋理希望能準(zhǔn)確的定位,即有高的空域分辨力。用傳統(tǒng)的尺度分析方法來分析信號時,往往只用了信號的頻率信息,于是難以將信號中突變與噪聲分開。而小波分析理論,不僅可通過每個尺度的變換結(jié)果來分析信號,還可以通過它們在不同尺度上的演化來分析信號特征。
小波變換是應(yīng)用數(shù)學(xué)和工程學(xué)科中迅速發(fā)展的一個新領(lǐng)域,它是傳統(tǒng)的Fourier變換的繼承和發(fā)展。小波變換是時域-頻域的局部變換,具有一定的分析非平穩(wěn)信號的能力,主要表現(xiàn)在高頻處的時間分辨率高,低頻處的頻率分辨率高,即具有變焦特性,特別適合于圖像這一類非平穩(wěn)信號的處理,更有效地從圖像信號中提取有用信息。經(jīng)典的邊緣檢測算子都沒有自動變焦的思想。事實上,由于物理和光照的原因,圖像中的邊緣通常產(chǎn)生在不同尺度范圍內(nèi),形成不同類型的邊緣(如緩變和非緩變邊緣),這些信息是未知的,尤其對于緩變部分,即低頻和中頻部分,是圖像的大部分能量的所在,噪聲對應(yīng)于高頻部分。可以肯定,用單一尺度的邊緣檢測算子不可能檢測出所有的邊緣,以及避免在濾除噪聲時影響邊緣檢測的正確性。
基于小波變換的邊緣檢測算子是利用了小波函數(shù)良好的時頻局部化特性及多尺度分析能力,不僅對圖像的低頻子帶進行分解,還對圖像的高頻子帶進行分解,可以滿足不同分辨率下對局部細(xì)節(jié)進行邊緣提取的需要,尤其對于含噪圖像,在提取圖像邊緣時對噪聲的抑制效果更好[7~9]。
數(shù)學(xué)形態(tài)學(xué)是圖像處理和模式識別領(lǐng)域中的一門新興學(xué)科,具有嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),現(xiàn)已在圖像工程中得到了廣泛應(yīng)用?;舅枷胧怯镁哂幸欢ㄐ螒B(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對應(yīng)形狀以達(dá)到對圖像分析和識別的目的。獲得的圖像結(jié)構(gòu)信息與結(jié)構(gòu)元素的尺寸和形狀都有關(guān)系,構(gòu)造不同的結(jié)構(gòu)元素,便可完成不同的圖像分析。數(shù)學(xué)形態(tài)學(xué)包括二值形態(tài)學(xué)、灰度形態(tài)學(xué)和彩色形態(tài)學(xué),基本變換包括膨脹、腐蝕、開啟、閉合四種運算,并由這四種運算演化出了開、閉、薄化、厚化等,從而完成復(fù)雜的形態(tài)變換。目前隨著二值形態(tài)法的應(yīng)用越來越成熟,灰度和彩色形態(tài)學(xué)在邊緣檢測中的應(yīng)用也越來越引起人們的關(guān)注并逐漸走向成熟[2]。
模糊理論創(chuàng)立于1965年,由美國柏克萊加州大學(xué)電氣工程系教授zadeh在模糊焦合理論的基礎(chǔ)上提出,模糊理論的特點是能夠用模糊集合來反映事物的模糊性,不對事物做簡單的肯定和否定,而是用集合隸屬度來反映某一事物屬于某一范疇的程度。由于成像系統(tǒng)、視覺反映等因素造成圖像本身的模糊性,再加上邊緣定義區(qū)分的模糊性,使人們在處理圖像時很自然的想起了模糊理論的作用。其中較有代表性的是國外學(xué)者Pal和King提出的模糊邊緣檢測算法,其核心思想是:利用模糊增強技術(shù)來增加不同區(qū)域之間的對比,從而能夠提取出模糊的邊緣?;谀:碚摰倪吘墮z測法的優(yōu)勢就是自身的數(shù)學(xué)基礎(chǔ),缺點是計算要涉及變換以及矩陣逆變換等較為復(fù)雜的運算,另外在增加對比的同時,也增強了噪聲。
除了上面介紹的方法之外,還有基于分形幾何的邊緣檢測法[10]、基于局部直方圖相關(guān)的造影圖像邊緣檢測方法[11]、基于灰色系統(tǒng)理論的圖像邊緣檢測新算法[12]、神經(jīng)網(wǎng)絡(luò)法[13]、遺傳算法、動態(tài)規(guī)劃法、最小代價函數(shù)法等等。
通過本文的介紹可知,當(dāng)今較為常用的圖像邊緣檢測算法為經(jīng)典檢測算子、基于小波理論的算子和基于形態(tài)學(xué)等多種檢測算法。每一種算法都有其特點,但也存在一定的不足,特別是檢測精度和抗噪能力的均衡問題。因此,很多高校師生和社會的許多學(xué)者一直都致力于尋找更為全面的邊緣檢測算法,在這個領(lǐng)域還有很大的空間需要我們?nèi)ヅ?,共同尋找更好的邊緣檢測算法。
[1] 王鄭耀.數(shù)字圖像的邊緣檢測[D].西安:西安交通大學(xué),2003.
[2] 張小琳.圖像邊緣檢測技術(shù)綜述[J].高能量密度物理,2007,(1):37-40.
[3] 雷麗珍.數(shù)字圖像邊緣檢測方法的探討[J].測繪通報.2006,(3):40-42.
[4] 鄭南寧.計算機視覺與模式識別[M].北京:國防工業(yè)出版社,1998.
[5] 李小紅.基于LOG濾波器的圖像邊緣檢測算法的研究[J].計算機應(yīng)用與軟件,2005,22(5):107-108.
[6] 陳宏希.基于邊緣保持平滑濾波的canny算子邊緣檢測[J].蘭州交通大學(xué)學(xué)報,2006,25(1):86-90.
[7] 程正興.小波分析在圖像處理中的應(yīng)用[J].工程數(shù)學(xué)學(xué)報,2001,(12):57-68.
[8] 王建中,趙軍.圖像邊緣提取的小波多孔算法及改進[J].武漢理工大學(xué)學(xué)報,2004,26,(1):76-79.
[9] 孫琰.基于小波變換的圖像邊緣檢測技術(shù)[D] 西安:西北工業(yè)大學(xué),2004.
[10] 白建明,王之瓊.分形理論在x光片圖像邊緣增強中的應(yīng)用[J].黑龍江醫(yī)藥科學(xué),2006,29(1):78-79.
[11] 劉新春,陳仕東,柴振明.基于局部直方圖相關(guān)的造影圖像邊緣檢測方法[J].中國圖像圖形學(xué)報,2000,2(9):751-754.
[12] 馬苗,樊養(yǎng)余,謝松云.基于灰色系統(tǒng)理論的圖像邊緣檢測新算法[J].中國圖像圖形學(xué)報,2003,8(10):1136-1139.
[13] 肖鋒.基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)字圖像邊緣檢測算法的研究[J].西安科技大學(xué)學(xué)報,2005,25(3):372-375.