劉 洋,劉雪芹,梁云輝,李學德
(江蘇省水利勘測設計研究院有限公司,江蘇 揚州 225217)
圖像修復是根據圖像退化提出的一種圖像處理技術,造成圖像退化的原因有很多種,比如說,傳感器的非線性性,光學成像系統(tǒng)的幾何畸變與噪聲干擾,圖像運動造成的運動模糊,圖像保存年代久遠等等。
在每個工程竣工后,需要將工程竣工圖紙打印曬藍后存檔,在經過很長時間保存后,藍圖中的線條會逐漸變淡或消失,如圖1所示,進而影響借閱人對圖紙的使用,因此若發(fā)現(xiàn)此現(xiàn)象,需要對圖紙進行復原,因此,本文針對這種圖紙退化提出了PCNN與STF結合的退化增強方法。
傳統(tǒng)PCNN的方法是,利用PCNN集體點火的特性定位退化點,進而利用傳統(tǒng)的非線性濾波器對退化點鄰域進行濾波。然而,無論采用哪一種非線性濾波器都不能保證具有普適性,由于STF能夠包含一切非線性濾波器,通過最優(yōu)化的方式,對PCNN定位的退化點鄰域內找出最適合的非線性濾波器,但是STF需要多次迭代,運算速度緩慢,因此在保證復原效果的基礎上,通過圖像退化點鄰域局部掃描方式來加快運算速度。最后,通過計算信息熵和PSNR值,對圖像進行濾波時不可避免地要破壞源圖像的細節(jié),這樣,通過計算復原后的圖像信息熵,可以對傳統(tǒng)PCNN方法和本文提出的方法進行對比,好的方法必然帶來低的信息熵值。而PSNR是最普遍,最廣泛使用的評鑒圖像質量的客觀量測法,不過高PSNR值與高視覺品質無法掛鉤,因此,本文僅僅用作參考。
圖1 老舊水利工程圖紙退化圖
PCNN[1- 2]出現(xiàn)之前,Echorn[3]等人對貓科動物的視覺皮質研究時發(fā)現(xiàn)視神經活動具有同步動態(tài)性,提出了一種Echorn的視覺皮質模型。PCNN的特點與這一模型有著相同的特點,也就是具有相同輸入的神經元會幾乎同步的輸出脈沖,因此,PCNN被認為是Echorn模型的剪裁和簡化版本。PCNN被學術界稱為第三代神經網絡,其顯著特點就是不需要繁復的訓練過程,然后PCNN需要配置的參數(shù)非常多,需要經過大量的實驗來確定PCNN的參數(shù),稍后將介紹Yuli Chen等人[4]的PCNN做分割[5]的自動參數(shù)設置的方法,這種方法利用圖像的先驗統(tǒng)計概率知識對參數(shù)進行有效估計,與大量實驗相比具有事半功倍的作用。
PCNN是由脈沖耦合神經元(Pulse Coupled Neuron,PCN)組成的,每一個PCN由三個部分組成:輸入域,調制域和脈沖發(fā)生器,如圖2所示。每一個PCN從輸入域接收信號,輸入域又分為連接輸入區(qū)和反饋輸入區(qū),每一個輸入區(qū)有不同的突觸和不同的時間常數(shù),信號經過輸入域后進入調制域,調制域對輸入信號進行加乘耦合。最后信號送入脈沖發(fā)生器,脈沖發(fā)生器可以看作一個階躍函數(shù)。
圖2 脈沖耦合神經元(PCN)
本文提出的方法使用K.Zhan等人[6]提出的PCNN的簡化形式突變皮質層模型(Spiking Cortical Model, SCM),這種PCNN模型兼具計算復雜度小和運算速度快的特點,SCM可用如下所示的離散數(shù)學形式表示:
Uij[n]=e-αfUij[n-1]+
(1)
(2)
Eij[n]=Eij[n-1]+VEYij[n]
(3)
式中,Uij,Sij,Eij,Yij—神經元(每一個灰度圖像像素對應一個神經元)的內部活動項,外部輸入刺激,動態(tài)閾值以及點火輸出;αf—指數(shù)衰減常數(shù);W矩陣—神經元之間的連接權值;VL、VE—連接輸入和動態(tài)閾值的幅值常數(shù);β—連接強度常數(shù)。
本文的算法對SCM做了一點改變,有兩處和SCM不同,一處在公式(2)所列出的點火函數(shù),為了進一步加快運算速度,舍棄了sigmoid點火函數(shù),采用傳統(tǒng)的線性點火函數(shù),另一處在公式(3),省去了動態(tài)閾值的指數(shù)衰減常數(shù)。使每一個神經元有且只有一次點火。
本文提出的算法,PCNN用作退化點挑選功能,如上節(jié)所述,一共有5個常數(shù)需要設置,分別是αf,W,VL,VE,β。Yuli Chen等人提出的理論有力的解決了這個問題,雖然上述文章將之用作分割,但是在選取退化點方面同樣使用。這里省略原文的理論分析過程,直接給出利用先驗知識獲取的常數(shù)值,它們的數(shù)學表達形式如下:
(4)
(5)
VL=1
(6)
VE=e-αf+1+6βVL
(7)
β=0.1
(8)
其中σ(I)是輸入圖像的方差,而W的權值有所更改,本文的算法使用弱權值連接,以保證退化點在第一時間被挑選出來,β的表達式比較復雜,由于算法對β的要求不是很高,因此任意選取了一個值。
在1986年,P.D.Wendit[7]等人基于信號恢復提出了層疊濾波器,層疊濾波器是由一系列正布爾函數(shù)(Positive Boolean Functions,PBF)構成的,因此它能組成各種現(xiàn)在廣泛運用的非線性濾波器,如中值濾波器,非線性均值濾波器,排序統(tǒng)計濾波器等等。不過只有通過一系列迭代過程獲取PBF的輸出值,才能得到最優(yōu)化的層疊濾波器,但是必要的時間花費,可以獲得更好的圖像恢復效果。
3.2.1閾值分解函數(shù)
假設s是一幅灰度圖像,Xl(s)是閾值分解函數(shù),X(s)是閾值分解之后的圖像,假設圖像s的最高灰度級為M,STF第一步閾值分解可以表示為:
3.2.2PBF函數(shù)
PBF函數(shù)滿足多對一的映射:f:{0,1}N→{0,1}即任意N維布爾序列映射到一維布爾序列,并且PBF函數(shù)具有層疊特性:x≥y→f(x)≥f(y),這里,x和y都是N維向量。
本算法擬使用線性可分PBF函數(shù),下面給出線性可分PBF函數(shù)定義:
(11)
(12)
(13)
(14)
這里N代表STF的移動窗的大小,本文采用的窗口大小為7,窗口過小會導致退化恢復過度,窗口太大會導致大量細節(jié)被模糊化,因此采取比較適中的7窗口。
3.2.3基于PBF的STF定義與最優(yōu)化方法
STF其實就是一個建立在PBF基礎上的移動窗口濾波器,其表達形式如下:
(15)
tl=Xl(s)
(16)
在本文中求解PBF的目標函數(shù)是最小平均絕對值誤差(Minimized Mean Square Error,MSE),其表達形式如下:
(17)
3.2.4局部掃描方法減少運算量
由于此種STF方法是對全局圖像進行處理,進程十分緩慢,我們將利用PCNN定位的退化點,進行局部掃描,意思就是僅僅對退化點周圍5×5范圍內的圖像進行STF最優(yōu)化濾波,大大減少了運算量。由于5×5范圍的圖像中有可能包含不止一個退化點,我們將使用圖39個模板(中的幾個來進行濾波,挑選模板的原則是該模板僅僅包含我們當前處理的一個退化點,對于處理后的結果取中值代替原來的退化點即可,假設有n個模板符合要求,那么處理的結果表示為:
STFmedian=median{STF1,STF2,…,STFn}(18)
圖3 TF濾波所用模板
在本文之前,有很多基于PCNN的濾波算法,比如馬義德等人[8]和石紅美等人[9]的PCNN模型,使用了PCNN與傳統(tǒng)線性或者非線性濾波器的結合,以往的實驗結果說明非線性濾波器具有更好的濾波效果,在濾波的同時能更多的保存圖像的邊緣信息,不至于過度模糊化。而本文提出的算法使用了統(tǒng)一的非線性濾波器STF,以小小的時間代價避免了單一非線性濾波器帶來的誤操作。使用STF濾波的例子也很多,比如Anwtasios N. Venetaanopoulos[10]等人提出的最優(yōu)多層層疊濾波器圖像恢復算法,Jaakko T. Astola[11]等人提出的自適應層疊濾波器算法,本文使用層疊濾波器與上述不太一樣,僅僅對局部區(qū)域進行掃描,這樣不僅大大減少了運算時間,而且使圖像得到最大面積的有效保護,下面給出算法的基本流程圖,如圖4所示。
在這個流程圖中,PCNN與STF挑選并增強待恢復圖像退化點這一步,可以用細化的流程圖,如圖5所示。本文采取了兩步走增強退化點,第一步用PCNN挑選退化點,送入STF中增強,接著對待增強圖像提取邊緣點,對第一步中選取的退化點進行有效的剔除,可以有效的保護好邊緣不受處理,進而對新挑選出來的退化點進行重新送入STF處理,最后輸出圖像。
圖4 PCNN-STF算法流程圖
圖5 邊緣剔除算法流程圖
算法使用的檢測算法是信息熵H和PSNR值,下面給出兩種方法的計算公式:
(19)
(20)
(21)
式中,pi—圖像中灰度值為i的像素所占的比例;l—灰度級,與圖像的存儲級別有關;Imax—輸入圖像最大灰度級。
為了驗證PCNN-STF算法比傳統(tǒng)PCNN算法的優(yōu)越性,這里主要對比的算法主要是PCNN-中值和PCNN-平均值,實驗采用了圖1作為輸入,實驗的環(huán)境是MATLAB7.11,后期會將算法用OPENCV實現(xiàn)集成入相機處理算法中,實現(xiàn)算法的實時運行,進而可以測試算法的時效性,準確性。
圖6—8分別給出了經過PCNN-STF,PCNN-中值,PCNN-平均值算法給出的輸出效果圖,表1給出了三種算法的熵和PSNR的對比值。
圖6 PCNN-STF復原效果圖
圖7 PCNN-中值復原效果圖
圖8 PCNN-平均值復原效果圖
本文選取的是10年前泵站站身的工程圖紙,對比圖6—8可以看出,PCNN-STF算法的直觀效果最好,此外從表1可以看出PCNN-STF算法熵值較高,PSNR值較低,熵值反映了一幅圖的細節(jié),說明新算法保護細節(jié)的能力比較強,PSNR值往往不能真實反映圖像給人的直觀映像。
針對圖紙曬藍后保存過程中,因時間過長導致圖紙上的線條淡化模糊,本文對傳統(tǒng)PCNN修復算法提出改進,提出了PCNN-STF算法,不僅有效的復原了圖紙,并且在保護細節(jié)的能力上也有了不小的提升,不過對于圖紙上一些尺寸數(shù)字并不能很好的修復,因為這些數(shù)字的信息丟失過大,修復難度過高,因此本文暫時無法進行修復。