趙良軍,董林鷺,楊平先,林國軍,石小仕,陳明舉
(1.企業信息化與物聯網測控技術四川省高校重點實驗室,四川 自貢 643000;2.四川輕化工大學 計算機科學與工程學院,四川 自貢 643000)
隨著人工智能的興起,數字圖像處理的應用越來越廣泛.其中,圖像邊緣提取直接影響圖像處理結果的好壞,如人臉定位[1]、車牌定位[2]、文字識別[3]等.邊緣提取目的,是將圖像中目標信息與背景信息進行分離處理,降低實際工程的復雜度,提高信息處理效率.因此,邊緣提取的研究意義巨大.
目前,對于邊緣提取算法,許多學者提出了不同的方法[4-5],在圖像處理過程中常用到的邊緣提取算法有利用一階偏導的Sobel 算子、Prewitt 算子和利用二階偏導的Log 算子[6-8];但這些算法簡單且無法克服邊緣不完整、不連續、抖動問題.Canny算子[9-10]較前幾種算子提取邊緣較完整,但在強高斯噪聲干擾下,同樣不能完整地提取出邊緣信息[11-13].因此,張寧波等[14]提出基于圖論的邊緣提取方法,將圖像看著無向圖,將所有權值的均值確定為閾值;該方法能改善圖像的抖動問題,但對于強噪聲的圖同樣無法提取出理想的邊緣信息.任克強等[15]提出融合模糊增強的改進Canny 算子,通過構造分段模糊隸屬度函數對高低灰度進行區別處理的方法來提取圖像邊緣,雖能有效地實現邊緣細化的目的,但對于被高噪聲污染的圖像同樣沒有好的提取效果.
本文受到生物對事物具有學習性的啟發,邊緣處理的圖像常常具有許多相似圖像,如車牌號、文字等,先對質量較高的同類圖像進行學習,使算法記錄下紋理特征;再利用局部均勻稀疏度方法,強化目標特征,弱化背景特征,克服了邊緣提取算法對閾值的依賴性.在提取圖像的邊緣時,由先驗知識與圖像內部紋理的共同作用下完成圖像邊緣提取.
實際工程中,對某圖像做邊緣提取處理時,往往有很多相似于該圖像的其他圖像,如車牌號、文字、二維碼等圖像提取邊緣,往往因為天氣、數據采集設備的限制,造成目標圖像質量下降.以往的做法是利用圖像內部像素結構變化來改善圖像質量,減少噪聲對圖像的污染,但該方法在強高斯噪聲污染下,因圖像內部結構遭到嚴重破壞,改善質量的效果并不理想.借助高質量相似圖像紋理信息的幫助,來處理圖像的邊緣提取問題,成為本文算法的核心思想.
1.1 算法學習過程將相似圖像R 分成若干碎片,用P1,P2,…,Pk∈R 表示,設噪聲建模表達式為q =p+n,p 表示細節部分,n 表示被污染的細節部分.本文的學習過程可以定義為^p =Aq,其中A表示學習獲得的先驗知識.為保證特征分解的有效性,令A為對稱矩陣,滿足

其中

表示各個碎片的特征向量,

表示各碎片特征值.因此,本算法學習過程相當于找相似圖像各碎片的特征向量U和特征值Λ.由此可知,U由碎片特征向量構成,滿足正交條件

為了保證找到與待處理圖像高度相似的碎片,則需要利用U的正交性,篩選相似度高的圖像碎片

在篩選過程中,同時考慮到圖像稀疏性方向會影響像素,加入對角權重矩陣[16],其中空間形狀自適應性由權重W1∈R 決定,碎片相似性強度由權重W2∈R決定,并滿足表達式

其中,1、2 表示群稀疏度的度量,目的是篩選出與待處理圖像相似的碎片.為了計算簡便,令W1=I,并且定義

其中,η表示歸一化常數,h表示稀疏度衰變參數.
最終篩選碎片的特征分解結果滿足

其中,U表示特征向量矩陣,S表示特征值矩陣.
估計特征值Λ由各相似碎片的特征向量值λi組成,其表達式滿足

其中p表示圖像細節初始估計值.由于初始估計值的不確定性,本文利用最小化貝葉斯均值平方誤差(BMSE)判斷不同細節碎片p,表達式滿足

其中,條件分布f(q|p)滿足高斯獨立同分布,可得

先驗分布f(p)是根據k 個匹配碎片p1,p2,…,pk的唯一性來定義的,進而獲得f(p)的均值μ、協方差Σ,其表示式滿足:

其中權重ωi由(2)式定義,即

代入(6)和(7)式得到特征值Λ 的最小貝葉斯,表達式滿足

Λ最終表達式為

1.2 強化圖像細節特征設圖像是個整體變量F(x),x表示圖像內的灰度值.設局部均勻稀疏處理后的圖像是個整體變量F(y),y 表示局部均勻稀疏處理后圖像內的灰度值.增強過程滿足y =T(x).T(x)求解過程如下:

其中T-1(y)是T(x)的反函數.對上式兩邊y 同時求導,得到

將f(x)、f(y)的結果代入(11)式中,得到

同時對兩邊x積分,得到增強紋理的關系式為

圖像細節特征強化表達式滿足

其中pz表示細節特征強化后的圖像.
1.3 邊緣提取1)本文算法同樣需要計算出圖像的像素梯度幅值和其方向值,分別用M(x,y)、θ(x,y)表示,表達式滿足:

其中Gx、Gy數學表達式為:

pz(x,y)表示邊緣提取圖像中某一點像素值.
2)對計算出的M(x,y)值做非極大值抑制處理,目的是細化邊緣上的像素點.邊緣提取的原理是對圖像中相鄰2個像素點的值變化較大的點,將較大值的像素點作為輪廓的邊緣點,完成邊緣提取過程.
本文算法分為3 步(如圖1 所示):

圖1 本文算法流程圖Fig.1 The flowchart of the algorith in this paper
第1 步:對圖像進行濾波處理;
第2 步:對圖像進行細節強化,背景弱化處理;
第3 步:計算梯度值,做非極大值抑制處理,提取邊緣信息.
本文算法主要解決實際工程中現有邊緣提取算法不能有效提取強高斯噪聲環境下圖像的邊緣信息.因此,選取工程中常處理且目標與背景明確的二維碼、車牌號、文字等圖像作為實驗對象,并用Sobel算子、Robers 算子、Prewitt 算子、Log 算子和Canny算子與本文算法在無噪聲和有噪聲(高斯噪聲)情況下,提取圖像邊緣信息進行對比實驗.
3.1 無噪聲圖像邊緣提取如圖2 的(b)~(f)所示,分別對應Sobel算子、Robers算子、Prewitt算子、Log算子和Canny算子.從整體觀察,這5 種算子無法提取出圖2 的原圖(a)的中心處圖標,而本文算法能夠完整地提取出該圖標的邊緣輪廓.

圖2 無噪聲圖像的邊緣提取Fig.2 Edge extraction of noise-free images
本文將圖2 中各算子與本文算法提取的邊緣結果的部分細節做放大處理,如2(b)~(f)所示,放大區域用實線白框和虛線白框標出,對應的放大結果如圖3、圖4 所示.

圖3 圖2 中各邊緣提取結果的白色虛線處細節區域放大圖Fig.3 Parts marked by white dotted lines for each edge extraction result in Figure 2

圖4 圖2 中各邊緣提取結果的白色實線處細節區域放大圖Fig.4 Parts marked by solidline frames for each edge extraction result in Figure 2
如圖3、圖4 所示,Sobel算子、Robers算子、Prewitt算子、Log 算子提取邊緣時,提取不完整,其中Robers算子提取效果最差.Canny 算子與本文算法提取邊緣較完整,但是在轉角處本文算法與Canny算法都出現了抖動現象.從抖動程度和邊緣區分度分析,本文算法優于Canny 算子.結合整體觀察和細節分析,在無噪聲情況下本文算法優于傳統邊緣提取算法.
3.2 噪聲圖像邊緣提取選取二維碼、車牌號、文字等圖像加入不同強度的高斯噪聲,驗證本文算法抗噪聲性能.
在實驗中,本文算法引入相似圖像,如圖5(c)、圖6(c)、圖7(c)和(d)所示,先使算法學習高質量圖像內部紋理信息,在邊緣提取時起到先驗知識作用,而其他算子直接對噪聲圖像進行邊緣提取.

圖5 二維碼圖像加入標準差為0.3 的高斯噪聲邊緣提取效果圖Fig.5 Effect graphs of Gaussian noise edge extraction with standard deviation of 0.3 for QR code images

圖6 車牌圖像加入標準差為0.5 的高斯噪聲邊緣提取效果圖Fig.6 Effect graphs of Gaussian noise edge extraction with standard deviation of 0.5 for license plates

圖7 文字圖像加入標準差為0.7 的高斯噪聲邊緣提取效果圖Fig.7 Gaussian noise edge extraction effect diagram with standard deviation of 0.7 in character image
圖5(b)為二維碼圖像加入標準偏差為0.3的高斯噪聲圖.觀察圖5(d)~(g),各算子提取效果與本文算法對比,從整體觀察,對噪聲圖像中心處圖標,本文算法提取最完整,Canny算子提取到部分邊緣信息,其他算子無法提取圖標輪廓.觀察二維碼紋理,Sobel算子、Robers算子和Prewitt算子無法提取出紋理輪廓,Log算子能提取大部分紋理輪廓,但抖動、殘缺非常嚴重,Canny算子和本文算法能提取出完整紋理信息.同時,本文算法較Canny 算子,在克服抖動問題上性能明顯更優.
在實際中,車牌號圖像和文字很容易獲得高質量的相似圖像.因此,本文對該類圖像加大了噪聲污染程度,進一步凸顯本文算法的抗噪性能.圖6是一幅加入標準偏差為0.5 的高斯噪聲污染的車牌號圖像,觀察對比圖6 中(d)~(h),傳統的邊緣檢測算子已無能為力,而本文算法能夠清晰地檢測出車牌號的目標邊緣.圖7 是一幅加入了標準偏差為0.7 的高斯噪聲的文字圖像,Sobel 算子、Robers算子和Prewitt算子無法提取到文字邊緣信息,Log算子和Canny算子在提取文字邊緣信息的同時,將噪聲邊緣一同提取出來,嚴重干擾了圖像邊緣信息的識別.本文算法在完整提取出文字邊緣的同時,并沒有受到噪聲的干擾,但缺陷是部分邊緣紋理出現抖動.
綜上,本文算法在無噪聲且無先驗知識情況下,能克服傳統算子邊緣提取不完整、不連續和缺口等問題,但在克服邊緣抖動性能上還不夠理想.在強高斯噪聲污染情況下,本文算法明顯優于其他算子,能完整提取出圖像邊緣信息.因此,本文算法主要適用于有可學習的同類型且相似度高的圖像邊緣提取工程中.
本文提出了一種基于先驗知識的邊緣提取算法,主要分為3 步:
第1 步,學習相似圖像的紋理信息,使算法具有先驗知識;
第2 步,對圖像進行局部稀疏處理,強化目標信息,弱化背景信息;
第3 步,計算像素梯度幅值和其方向值,標出變化值較大像素點,完成邊緣提取過程.
實驗結果表示,本文算法能克服傳統算子邊緣提取時不連續、不完整和缺口等問題,對邊緣抖動問題有所改善,但性能還有待提高.本文算法主要針對目標信息與背景信息明確的圖像邊緣提取,同時需要有相似圖像供其學習的外部條件.
致謝四川輕化工大學科研項目(2018RCL21)對本文給予了資助,謹致謝意.