劉 晨,李丙春,袁 玲,張 奎,張宗虎
(喀什大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,新疆 喀什 844006)
圖像的邊緣檢測[1]是圖像處理中最困難的技術(shù)之一,邊緣檢測的精確度決定了計(jì)算及分析的成功與否,邊緣檢測是圖像分析處理的基礎(chǔ),具有十分重要的地位.近年來,人們研究了眾多圖像邊緣檢測方法,文獻(xiàn)[2-5]利用各種算子、變換域、水平集、模式特征等方式方法實(shí)現(xiàn)圖像邊緣的檢測與提取.
文獻(xiàn)[6-7]研究表明,圖像的邊緣信息可以根據(jù)人眼的視覺性特征通過圖像中的像素一致性來獲得,從而提出一種新的基于歐式距離圖的圖像邊緣檢測方法.該方法使用環(huán)繞圖像像素的矩形塊代替單個(gè)像素來描述圖像的結(jié)構(gòu)特性,計(jì)算區(qū)域的歐式距離從而放大圖像邊緣與背景的差異.文獻(xiàn)[8]在原先歐氏距離圖的基礎(chǔ)上,計(jì)算圖像塊的高斯加權(quán)的歐式距離.兩種基于歐式距離的計(jì)算方法能較好地突出圖像的邊緣輪廓,但是沒有區(qū)分圖像塊中心像素點(diǎn)對距離計(jì)算的影響,基于此本文提出一種新的歐氏距離的計(jì)算方法,強(qiáng)化圖像塊中心像素在距離計(jì)算中的作用,為了消除噪聲對距離圖的計(jì)算影響,利用主成分分析去除圖像塊組中的圖像塊之間的相關(guān)性,消除圖像塊組之間的冗余,得到新的歐氏距離圖,相較于以前的兩種歐氏距離圖,新的歐氏距離圖能更好地區(qū)分背景與邊緣信息,特別是在受到噪聲影響情形下.在前面分析的基礎(chǔ)上,首先對CV水平集方法進(jìn)行改進(jìn),再結(jié)合圖像的局部特性進(jìn)一步改進(jìn)水平集方法,通過改進(jìn)的方法對得到的距離圖進(jìn)行邊緣檢測,從而獲取最終的目標(biāo)輪廓.
文獻(xiàn)[7-8]分別定義了兩種歐氏距離計(jì)算方法:
(1)
(2)
其中v[Ni]是以i為中心的環(huán)繞i的圖像塊,G是高斯核.文獻(xiàn)[7]驗(yàn)證了由于人類的視覺特征,采用圖像塊的歐氏距離可以放大邊緣像素的差異,文獻(xiàn)[8]計(jì)算高斯加權(quán)的歐氏距離,考慮不同位置像素對距離計(jì)算的貢獻(xiàn)度的不同.本文改進(jìn)了歐氏距離計(jì)算公式,強(qiáng)化圖像塊的中心像素的作用,進(jìn)一步增強(qiáng)邊緣像素的作用.
歐式距離計(jì)算不足之處如圖1所示,假設(shè)圖像未受到噪聲的污染,圖1左半部分的亮度值為100像素,右半部分的亮度值為200像素,像素i,j,k分別以環(huán)繞圖像中心像素的圖像塊代替單個(gè)像素來描述圖像的結(jié)構(gòu)信息.根據(jù)文獻(xiàn)[9-10]可知,在圖像局部區(qū)域中,兩個(gè)圖像塊的歐氏距離值越小,則兩個(gè)像素的差異越小,兩個(gè)像素越相似.以公式(1)分別計(jì)算圖像塊距離dij和dik,可以得到dij=3×104,dik=6×104.由圖1可知,以i為中心圖像塊和以j為中心的圖像塊的中心像素i和j完全相同,以i為中心圖像塊和以k為中心的圖像塊的中心像素i和k完全不相同,但是距離dij和dik計(jì)算結(jié)果值在同一個(gè)數(shù)量級上,并沒有放大邊緣像素的差異.根據(jù)公式(1)和(2)分析,高斯加權(quán)的歐氏距離值是小于歐氏距離值的.為了強(qiáng)化邊緣中心像素差異,應(yīng)該強(qiáng)調(diào)圖像塊中心像素在距離圖計(jì)算中的作用.為此本文提出一種新的強(qiáng)化圖像塊中心像素的歐氏距離計(jì)算方法
(3)
圖1 中心像素點(diǎn)分析
式中:dc為圖像中兩個(gè)像素的新的歐式距離;v[Ni]是以i為中心的環(huán)繞i的圖像塊;c[Ni]是以i為中心的環(huán)繞i的圖像塊,但是圖像塊中像素灰度值都是中心像素i的灰度值.根據(jù)公式(3),可以計(jì)算得到dij=3×104,dik=1.5×105.在新的歐式距離計(jì)算中,具有不同中心像素的圖像塊距離dik的值遠(yuǎn)大于具有相同中心像素的圖像塊距離dij.從而強(qiáng)化了邊緣像素的差異,更加突出邊緣與背景區(qū)域信息.新的距離圖的計(jì)算方法具體如下:
(1) 定義變量并且初始化.輸入圖像I,距離圖D,新的歐氏距離Dc.
(2) 讀取輸入圖像沒有處理的像素點(diǎn)Ic,設(shè)置中心像素點(diǎn)Ic的搜索區(qū)域,設(shè)定搜索區(qū)域半徑為t,從而獲得搜索矩形區(qū)域Rs.
(3) 讀取Rs中的其他像素,分別構(gòu)造以中心像素Ic和Rs中其他像素Io的圖像塊,圖像塊的半徑為f.計(jì)算Rs中每一個(gè)像素點(diǎn)和中心像素點(diǎn)新的歐氏距離dc,并且累加Rs中的中心像素與其他像素所有的dc,計(jì)算Dc=Dc+dc.
(4) 計(jì)算當(dāng)前中心像素Ic的平均歐氏距離Dc=Dc/Rs(num),Rs(num)表示搜索矩形區(qū)域Rs的像素個(gè)數(shù).并將Dc作為距離圖D相對應(yīng)位置的像素值,Dc初始化為零值.
(5) 輸入圖像I其他沒有處理的像素點(diǎn)轉(zhuǎn)入步驟2.
(6) 對距離圖D進(jìn)行歸一化處理.D=(D-Vmin)/(Vmax-Vmin).Vmin和Vmax分別為步驟5中得到的距離圖D中的最小值和最大值.
在實(shí)際的計(jì)算中,圖像往往受到噪聲的污染,在進(jìn)行新的距離圖計(jì)算前,消除噪聲對計(jì)算距離圖的影響非常重要,利用主成分分析PCA去除圖像塊組中的圖像塊之間的相關(guān)性,降低圖像塊組之間的冗余.根據(jù)文獻(xiàn)[11-12]研究可知,PCA是將數(shù)據(jù)進(jìn)行降維的一種數(shù)據(jù)簡化技術(shù),是一種線性變換,PCA常應(yīng)用于人臉識(shí)別和異常檢測,本文利用PCA進(jìn)行圖像降噪.
圖2(a)是一副簡單的目標(biāo)為五角星的圖片,是無噪聲圖像,圖2a和2b分別是添加噪聲標(biāo)準(zhǔn)差為5和20的噪聲圖像.圖2(d)和2(e)是經(jīng)過PCA降噪后的結(jié)果圖.對圖2的處理結(jié)果可以采用峰值信噪比PSNR和結(jié)構(gòu)相似性指數(shù)SSIM來衡量降噪的效果.PSNR值越大降噪效果越好,SSIM值在0到1之間,越接近1降噪效果越好.經(jīng)過PCA處理后,標(biāo)準(zhǔn)差為5的噪聲圖的PSNR和SSIM值分別為45.133 9和0.984 8,標(biāo)準(zhǔn)差為20的噪聲圖的PSNR和SSIM值分別為35.624 0和0.847 9.從效果圖和評價(jià)準(zhǔn)上可以看出此種方法可以抑制噪聲.
圖2 不同噪聲水平以及降噪結(jié)果
前面計(jì)算距離圖,已經(jīng)在一定程度上增強(qiáng)了圖像的邊緣,將圖像的邊緣區(qū)域和平坦區(qū)域大致分布在兩個(gè)不同的灰度級別上,本文對經(jīng)典的CV水平集[13]方法進(jìn)行改進(jìn),使用改進(jìn)的CV水平集方法提取圖像邊緣.
設(shè)圖像I被閉合的輪廓曲線C劃分為內(nèi)部和外部兩個(gè)區(qū)域,內(nèi)外兩個(gè)同質(zhì)區(qū)域的灰度平均值分別為c1和c2,則CV水平集模型是極小化的能量泛函為
(4)
式中:,λ1,λ2為給定的參數(shù),L(C)為曲線C的長度,可以求得水平集函數(shù)的演化函數(shù)為
(5)
(6)
公式(6)變形為
(7)
圖3 活動(dòng)輪廓演化
改進(jìn)的CV水平集方法的有效性見圖4.圖4中第一行綠色虛線方框表示初始水平集函數(shù)位置.第二行為對應(yīng)得到的邊緣結(jié)果,從圖4中可以發(fā)現(xiàn)不論初始水平集函數(shù)位置和大小怎么選取,水平集函數(shù)最終都收斂于圖像的邊緣處,驗(yàn)證了本文提出方法的有效性.
圖4 不同初始位置邊緣檢測
由上述分析可知:(7)式水平集函數(shù)最終的零水平集是水平集函數(shù)內(nèi)外區(qū)域的均值平均;(7)式中c1和c2表示兩個(gè)聚類中心;(7)式是依據(jù)硬閾值點(diǎn)對圖像進(jìn)行像素不同的分類,沒有完整考慮不同像素之間的區(qū)別,其是基于圖像全局性質(zhì)的,并沒有考慮像素之間的局部性質(zhì).根據(jù)以上分析,本文提出結(jié)合全局和局部信息的水平集函數(shù)演化方程公式,以便適應(yīng)于復(fù)雜圖像的聚類,公式為
(8)
將(8)式進(jìn)行變形可得
(9)
根據(jù)CV模型的最終演化方程(5),提出結(jié)合局部信息的CV模型演化方程為
(10)
根據(jù)文獻(xiàn)[17]可知,具有局部信息的水平集分割方法對水平集的初始位置敏感,本文先使用對初始位置不敏感改進(jìn)的(7)式進(jìn)行預(yù)分割,再使用結(jié)合局部信息的(10)式進(jìn)行進(jìn)一步分割.傳統(tǒng)的水平集方法,初始水平集函數(shù)初始化為符號距離函數(shù),并且在輪廓的演化過程中,為了保持?jǐn)?shù)值的穩(wěn)定,每次演化水平集函數(shù)都需要重新初始化,導(dǎo)致計(jì)算量大,并且不穩(wěn)定.本文使用文獻(xiàn)[18-19]提出的高斯濾波正則化函數(shù)實(shí)現(xiàn)活動(dòng)輪廓的正則化,此正則化函數(shù)可以保持水平集函數(shù)的光滑,并且無須重新初始化水平集函數(shù).則改進(jìn)的水平集模型具體實(shí)現(xiàn)步驟為:
(1) 輸入距離圖像D,初始化水平集函數(shù)φ;
(2) 根據(jù)公式(6)和(10)更新水平集函數(shù)φ,對水平集函數(shù)進(jìn)行高斯函數(shù)光滑;
(3) 檢查演化方程是否穩(wěn)定,不穩(wěn)定返回步驟2,穩(wěn)定則結(jié)束.
本文在無噪聲圖片以及受到不同噪聲污染的圖片上驗(yàn)證所提出的邊緣檢測方法的有效性,并與文獻(xiàn)[7-8]兩種基于歐氏距離的邊緣檢測提取方法、經(jīng)典CV水平集方法[13]以及經(jīng)典的canny算子方法進(jìn)行對比實(shí)驗(yàn).實(shí)驗(yàn)中的參數(shù)設(shè)置,水平集函數(shù)內(nèi)外值分別為-1和1.即φ(x,y)=1∶(x,y)∈out(C),φ(x,y)=-1∶(x,y)∈in(C).時(shí)間步長Δt=0.05,空間步長Δx=VΔy=1.初始水平集位置為距離圖像外側(cè)邊緣5像素位置的矩形框.高斯濾波正則化函數(shù)中sigma為1.5,窗口半徑取值為5.水平集函數(shù)的高斯核函數(shù)sigma為3,窗口半徑取值為7,PCA降噪.窗口半徑為3,訓(xùn)練窗口半徑為20.在3種距離圖的計(jì)算中,圖像塊窗口f取值為1,搜索窗口t取值為3.其他方法中的參數(shù)取值參照具體文獻(xiàn).實(shí)驗(yàn)(1)圖片為合成圖片,實(shí)驗(yàn)(2)和(3)圖片分別來源于文獻(xiàn)[7-8],實(shí)驗(yàn)(4)—(6)圖片來源于文獻(xiàn)[20].采用Matlab2012進(jìn)行程序編寫.
實(shí)驗(yàn)(1)是一幅簡單目標(biāo)為五角星的圖像,如圖5所示,圖5(a)是無噪聲圖像,圖5(b)和5(c)分別是添加噪聲標(biāo)準(zhǔn)差為5弱噪聲和標(biāo)準(zhǔn)差為20強(qiáng)噪聲的圖像.圖5a(1)—5c(1)是文獻(xiàn)[7]提出的歐式距離計(jì)算方法分別針對圖5(a)—5(c)得到的歐式距離圖.圖5a(2)—5c(2)是文獻(xiàn)[8]提出的高斯歐式距離計(jì)算方法分別針對圖5(a)—5(c)得到的歐式距離圖.圖5a(3)—5c(3)是本文提出的方法,分別針對圖5(a)—5(c)得到的歐式距離圖.通過圖5可以發(fā)現(xiàn),在簡單的無噪聲中,3種歐式距離計(jì)算方法都能有效地將背景和邊緣分布在兩極灰度上.但是隨著噪聲的增強(qiáng),前面兩種距離圖方法明顯受到噪聲的影響,計(jì)算結(jié)果出現(xiàn)偏差.本文提出的新的強(qiáng)化圖像塊中心像素的歐氏距離能增強(qiáng)中心位置像素的作用,并且使用主成分分析消除圖像塊之間的冗余性,在噪聲圖片中更能突出圖像邊緣信息,從而使得距離圖的計(jì)算基本不受噪聲的影響,如圖5所示.通過圖5可以看出,不管是無噪聲圖像還是受到不同噪聲大小影響的圖像,本文方法最終都能正確計(jì)算距離圖.
圖5 簡單圖像無噪聲以及不同噪聲水平距離圖
實(shí)驗(yàn)(2)—(6)是圖6—10表示景物、實(shí)物、人物、建筑、空域等五大類實(shí)際圖像以及添加不同噪聲水平的噪聲圖像.通過圖6—10實(shí)驗(yàn)結(jié)果來看,3種歐氏距離計(jì)算方法在無噪聲情況下能很好地區(qū)分背景區(qū)域和邊緣區(qū)域.隨著噪聲水平的增強(qiáng),歐氏距離圖和高斯歐氏距離圖都出現(xiàn)了計(jì)算誤差,并且隨著噪聲水平的增加,誤差水平逐步加大,本文方法相較于其他兩種方法能更好地區(qū)分背景區(qū)域和邊緣區(qū)域,幾乎不受到噪聲的影響,在無噪聲和不同噪聲水平下計(jì)算得到的距離圖基本一致.文獻(xiàn)[7]歐氏距離圖是采用環(huán)繞像素點(diǎn)的圖像塊來描述圖像結(jié)構(gòu),隨著噪聲的增大,必然受到影響.文獻(xiàn)[8]高斯歐氏距離圖是在中心像素為基本條件基礎(chǔ)下,考慮不同位置的像素點(diǎn)對中心像素點(diǎn)貢獻(xiàn)的不同,隨著噪聲的增大也會(huì)受到影響.本文方法考慮到環(huán)繞像素點(diǎn)的不同圖像塊中心像素點(diǎn)之間的差異,并且在計(jì)算之前,使用PCA主成分分析消除不同像素塊之間的冗余性進(jìn)行降噪處理,使得新的距離圖的計(jì)算基本不受噪聲的影響.
圖6 荷花無噪聲和噪聲圖不同距離圖以及邊緣檢測結(jié)果
在最終的邊緣提取上,本文方法在無噪聲和噪聲圖像上都能較為正確地提取圖像邊緣信息.在無噪聲的情況下,使用歐氏距離圖方法[7]、高斯歐氏距離圖方法[8]和本文方法都能正確提取圖像的邊緣信息,canny方法的圖像邊緣細(xì)節(jié)增多,經(jīng)典CV方法只能對一些簡單規(guī)則圖像能正確提取邊緣,細(xì)節(jié)豐富的圖像邊緣不能很好地提取.而隨著噪聲水平的增加,文獻(xiàn)[7-8]、canny方法、CV方法都不能正確提取圖像的邊緣信息,在強(qiáng)噪聲影響下,有的方法甚至在人工目視下,都不能區(qū)分提出的邊緣,而本文的邊緣提取不受噪聲的影響.
圖7 帽子無噪聲和噪聲圖不同距離圖以及邊緣檢測結(jié)果
圖8 人物無噪聲和噪聲圖不同距離圖以及邊緣檢測結(jié)果
圖9 建筑無噪聲和噪聲圖不同距離圖以及邊緣檢測結(jié)果
圖10 飛機(jī)無噪聲和噪聲圖不同距離圖以及邊緣檢測結(jié)果
首先本文距離圖的計(jì)算不受噪聲的影響,其次在對無噪聲圖像和不同噪聲影響的圖像距離圖進(jìn)行邊緣提取,使用改進(jìn)的全局CV水平集方法,再結(jié)合圖像的局部信息進(jìn)一步改進(jìn)水平集方法,最終得到的圖像邊緣檢測基本不受到噪聲的影響,都能提取出圖像中人們感興趣的邊緣信息,如文中的荷花邊緣、帽子邊緣、人物邊緣、房屋邊緣和飛機(jī)邊緣.其他對比實(shí)驗(yàn)方法只有在無噪聲情況下才能較為正確提取圖像邊緣信息,隨著噪聲水平的增加,已經(jīng)不能檢測圖像的邊緣信息.值得注意的是,對于細(xì)節(jié)更為豐富的圖像,歐式距離不能很好地表示圖像的結(jié)構(gòu)信息,這也是文獻(xiàn)[7-8]以及本文沒有使用細(xì)節(jié)豐富的經(jīng)典Lena等作為測試圖像的原因.
本文提出一種新的歐氏距離計(jì)算方法,強(qiáng)化距離計(jì)算中圖像塊中心像素作用,并且在計(jì)算之前使用主成分分析PCA消除圖像塊之間的冗余性,從而得到新的更能突出邊緣和背景信息的距離圖,使得新的距離圖的計(jì)算不受噪聲影響,最后對距離圖使用改進(jìn)的水平集方法進(jìn)行邊緣檢測.實(shí)驗(yàn)結(jié)果表明,本文提出方法相較于其他方法可以有效地得到圖像目標(biāo)輪廓,為后續(xù)圖像分析處理提供便利.