本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,涉及了去除加性噪聲的圖像去噪領(lǐng)域。
背景技術(shù):
圖像去噪旨在通過(guò)對(duì)被噪聲污染的圖像進(jìn)行某種處理,以降低噪聲對(duì)原始有用信息的影響,盡可能的還原出被噪聲污染前的原始圖像。
獨(dú)立分量分析(Independent Component Analysis,ICA)是20世紀(jì)90年代發(fā)展起來(lái)的一種新的信號(hào)處理技術(shù)?;镜腎CA是指從多個(gè)源信號(hào)的線(xiàn)性混合信號(hào)中分離出各源信號(hào)的技術(shù)。除了需要已知源信號(hào)是統(tǒng)計(jì)獨(dú)立外,無(wú)其他先驗(yàn)知識(shí),ICA是伴隨著盲信源問(wèn)題而發(fā)展起來(lái)的,故又稱(chēng)盲分離。在時(shí)間信號(hào)處理方面由于ICA可以在n個(gè)原信號(hào)和線(xiàn)性混合系數(shù)都未知的情況下可以把這n個(gè)原信號(hào)從他們線(xiàn)性混合成的n個(gè)混合信號(hào)中分離出來(lái),并且它的假設(shè)條件僅是這n個(gè)原信號(hào)之間是相互獨(dú)立的,所以ICA在時(shí)間信號(hào)分離方面具有良好的應(yīng)用優(yōu)勢(shì)。在圖像信號(hào)處理方面,加性噪聲圖像可以看成是噪聲與純凈圖像的線(xiàn)性相加,而實(shí)際中噪聲和原始純凈圖像一般是相互獨(dú)立的,符合ICA應(yīng)用的假設(shè)條件,所以ICA可以應(yīng)用在含有加性噪聲情況下的圖像去噪處理。
但I(xiàn)CA方法在進(jìn)行圖像去噪時(shí),需要至少2幅帶噪聲的圖像或者一幅純凈無(wú)噪圖像和一幅噪聲圖像,并且圖像之間相互獨(dú)立。在只能提供一幅含噪圖像的情況,ICA方法不具備圖像去噪應(yīng)用條件。本發(fā)明將ICA和NLTV相結(jié)合進(jìn)行圖像去噪。在對(duì)含加性噪聲的輸入含噪圖像進(jìn)行NLTV初步去噪后,得到初步去噪圖像,這個(gè)初步去噪圖像在一定程度上可以認(rèn)為是另一張帶噪聲圖像。再利用這二幅圖像,應(yīng)用ICA方法進(jìn)行圖像去噪。
GUY GILBOA和STANLEY OSHER提出的非局部TV模型(Nonlocal Total Variation,NLTV)是將GUY GILBOA和STANLEY OSHER提出的非局部算子(見(jiàn)文獻(xiàn):NONLOCAL OPERATORS WITH APPLICATIONS TO IMAGE PROCESSING.SIAM Multiscale Modeling and Simulation.Vol.7,No.3,pp.1005–1028)引入到Rudin-Osher-Fatemi提出的總變分(Total Variation,TV)模型中得到的,NLTV模型具有在去除圖像噪聲的同時(shí)能較好地保留圖像的紋理細(xì)節(jié)的特點(diǎn)。本文中所提到的NLTV模型是指GUY GILBOA和STANLEY OSHER提出的非局部TV模型。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決ICA技術(shù)只能應(yīng)用于只有單一輸入含噪圖像情況下的圖像去噪問(wèn)題的缺點(diǎn),提出一種基于ICA和NLTV的圖像去噪方法,提高了ICA在圖像去噪領(lǐng)域的應(yīng)用價(jià)值。
本發(fā)明方法利用NLTV方法對(duì)輸入的含噪圖像u0進(jìn)行初步去噪,得到初步去噪圖像u1,在獲得的u1、u0基礎(chǔ)上應(yīng)用ICA方法對(duì)輸入圖像u0去噪,得到ICA方法去噪后的圖像u2。為了獲得更好的去噪效果,對(duì)u2再一次進(jìn)行NLTV去噪,輸出的去噪結(jié)果圖像作為最后去噪結(jié)果圖像。本發(fā)明方法和NLTV相比具有更好的圖像去噪效果。去噪后的圖像有更高的峰值信噪比。
本發(fā)明所述的基于ICA和NLTV的圖像去噪方法,包括如下步驟:
(1)首先輸入N×N大小的含噪圖像u0。
(2)設(shè)置本發(fā)明去噪方法中的相關(guān)參數(shù),包括ICA迭代收斂閾值e,第一輪NLTV的搜索窗口大小N1×N1、鄰域窗口大小N2×N2、保真參數(shù)λ1、像素相似度權(quán)重函數(shù)ω1的參數(shù)h1、像素相似度權(quán)重函數(shù)ω1中高斯核的標(biāo)準(zhǔn)差σ1,分裂的Bregman迭代輔助變量b1k的初始值b10、平滑參數(shù)θ1。第二輪NLTV的搜索窗口大小N3×N3、鄰域窗口大小N4×N4、保真參數(shù)λ2、像素相似度權(quán)重函數(shù)ω2的權(quán)重函數(shù)參數(shù)h2、像素相似度權(quán)重函數(shù)ω2中高斯核的標(biāo)準(zhǔn)差σ2,分裂的Bregman迭代輔助變量b2k的初始值b20、平滑參數(shù)θ2。
(3)對(duì)噪聲圖像u0用NLTV方法進(jìn)行第一輪去噪。在本步驟中,對(duì)NLTV模型采用分裂的Bregman算法進(jìn)行數(shù)值迭代求解,迭代一次后獲得初步去噪圖像u1。用于基于ICA方法的圖像去噪[步驟(4)-(10)]。
(4)將u0與u1看成是純?cè)雸D像與無(wú)噪圖像線(xiàn)性混合成的兩個(gè)信號(hào),基于這兩個(gè)圖像信號(hào)構(gòu)建混合矩陣S,對(duì)S進(jìn)行中心化后得到矩陣Se,對(duì)Se進(jìn)行白化處理,得到處理結(jié)果Z。
(5)建立初始解混矩陣B。
(6)建立初始隨機(jī)列向量L,L各向量元素取值范圍是[0,1]。
(7)對(duì)L進(jìn)行迭代。目的是通過(guò)L的迭代運(yùn)算結(jié)果來(lái)逼近解混矩陣B的一個(gè)列向量的真值。
(8)若滿(mǎn)足L迭代的停止條件,則轉(zhuǎn)向步驟(9),否則返回步驟(7)。
(9)用迭代結(jié)果L替換B的一個(gè)列向量,如果B的列向量全被替換過(guò)一次,則轉(zhuǎn)向步驟(10),否則返回步驟(6)。
(10)進(jìn)行W=BTS運(yùn)算。W的第一行行向量經(jīng)轉(zhuǎn)換即得到去噪后的圖像u2,轉(zhuǎn)換規(guī)則是:W的第一個(gè)行向量的第(α-1)×N+β列元素轉(zhuǎn)換為u2的第α列第β行元素,其中α和β取值均為1,2,3,...,N。
(11)為了對(duì)u2進(jìn)一步去噪,建立第二輪NLTV模型。
(12)對(duì)步驟(11)建立的NLTV模型,用分裂的Bregman算法求解,得到三步式數(shù)值迭代計(jì)算公式。并設(shè)迭代計(jì)數(shù)變量初值k=0。
(13)用步驟(12)中得到的分裂的Bregman算法三步式數(shù)值迭代計(jì)算公式進(jìn)行順序迭代運(yùn)算,得到本次迭代的輸出圖像u3k+1。
(14)計(jì)算步驟(13)中的迭代輸出圖像u3k+1的峰值信噪比PSNR,如果本次迭代后輸出圖像u3k+1的峰值信噪比PSNR小于等于上一次迭代輸出圖像u3k的峰值信噪比PSNR,則迭代結(jié)束,將上一次迭代輸出圖像u3k作為最優(yōu)值ufinal輸出,即令ufinal=u3k,并轉(zhuǎn)到步驟(15);如果本次迭代后輸出圖像u3k+1的峰值信噪比PSNR大于上一次迭代輸出圖像u3k的峰值信噪比,則更新k值:k=k+1,并返回到步驟(13),繼續(xù)迭代運(yùn)算。
(15)將結(jié)果ufinal作為最終去噪結(jié)果圖像輸出。
本發(fā)明的優(yōu)點(diǎn)是:將具有只要滿(mǎn)足n個(gè)原信號(hào)之間相互獨(dú)立,不需要其他的先驗(yàn)條件之優(yōu)勢(shì)的ICA應(yīng)用于單幅圖像去噪;通過(guò)NLTV去噪方法對(duì)輸入的含噪聲圖像u0進(jìn)行初步去噪,利用初步去噪后的圖像u1與原噪聲圖像u0進(jìn)行ICA迭代,去除圖像u0的噪聲,得到去噪后圖像u2,然后再對(duì)u2再一次進(jìn)行NLTV去噪,輸出的去噪結(jié)果圖像作為最后去噪結(jié)果圖像,以獲得更好的去噪效果;本發(fā)明采用了分裂Bregman迭代進(jìn)行NLTV模型的數(shù)值實(shí)現(xiàn),它將迭代過(guò)程分成三步,降低了迭代的復(fù)雜性,加快去噪運(yùn)算的速度。
附圖說(shuō)明
附圖1是本發(fā)明方法的流程圖。
附圖2是本發(fā)明仿真實(shí)驗(yàn)所用的原始圖像,圖2a是Lena圖像,圖2b是Peppers圖像。
附圖3是本發(fā)明對(duì)原始Peppers圖像加均值為零標(biāo)準(zhǔn)差為15的高斯噪聲后的圖像進(jìn)行去噪的仿真結(jié)果,其中,圖3a是待去噪的含噪圖像(所含噪聲的標(biāo)準(zhǔn)差為15),圖3b是NLTV去噪結(jié)果,圖3c是本發(fā)明方法的去噪結(jié)果。
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步說(shuō)明本發(fā)明。
本發(fā)明所述的基于ICA和NLTV的圖像去噪方法,步驟如下:
(1)首先輸入N×N大小的含噪圖像u0。
(2)設(shè)置本發(fā)明方法中的相關(guān)參數(shù),包括ICA迭代收斂閾值e,第一輪NLTV的搜索窗口大小N1×N1、鄰域窗口大小N2×N2、保真參數(shù)λ1、像素相似度權(quán)重函數(shù)ω1的參數(shù)h1、像素相似度權(quán)重函數(shù)ω1中高斯核的標(biāo)準(zhǔn)差σ1,分裂的Bregman迭代輔助變量b1k的初始值b10、平滑參數(shù)θ1。第二輪NLTV的搜索窗口大小N3×N3、鄰域窗口大小N4×N4、保真參數(shù)λ2、像素相似度權(quán)重函數(shù)ω2的參數(shù)h2、像素相似度權(quán)重函數(shù)ω2中高斯核的標(biāo)準(zhǔn)差σ2,分裂的Bregman迭代輔助變量b2k的初始值b20、平滑參數(shù)θ2。
(3)本發(fā)明中為了應(yīng)用ICA方法進(jìn)行圖像去噪,除了輸入的含噪圖像u0,還需另一幅含噪圖像u1,本發(fā)明通過(guò)用NLTV方法對(duì)含噪圖像u0進(jìn)行初步去噪來(lái)獲得u1(稱(chēng)為第一輪NLTV去噪)。首先建立NLTV模型(稱(chēng)為第一輪NLTV模型):其中J(u1)是第一輪NLTV模型的目標(biāo)函數(shù),Ω是u0、u1的圖像空間,λ1是保真參數(shù),u0是輸入的含噪聲的待去噪圖像,u1是去噪后的圖像;是GUY GILBOA和STANLEY OSHER提出的非局部梯度算子,其中變量p1表示當(dāng)前像素點(diǎn),變量q1表示以p1為中心的搜索窗口內(nèi)的一點(diǎn),u1(p1)、u1(q1)分別是圖像u1上的點(diǎn)p1和q1的像素灰度值;是圖像u0中的兩個(gè)像素點(diǎn)p1和q1的相似度權(quán)重函數(shù),表示圖像u0中以p1為中心的大小為N2×N2的圖像塊和以q1為中心的大小為N2×N2的圖像塊之間的高斯加權(quán)距離,表示求和范圍是以p1或q1為中心的N2×N2鄰域內(nèi)的每一像素點(diǎn)(不包括p1或q1自身),共N2×N2-1項(xiàng),是標(biāo)準(zhǔn)差為σ1的高斯核,h1是權(quán)重函數(shù)ω1(p1,q1)的常數(shù)參數(shù),在步驟(2)中對(duì)h1、σ1進(jìn)行賦值。對(duì)該NLTV模型,采用分裂的Bregman算法進(jìn)行迭代逼近求解。引入輔助函數(shù)w1k和輔助變量b1k,構(gòu)造如下三步迭代格式:
其中,k的取值是0,1,2,…,等非負(fù)整數(shù),迭代初始值u10=u0,bk、wk分別表示分裂的Bregman迭代的輔助變量和輔助函數(shù),θ1是控制迭代結(jié)果的平滑參數(shù),b1k的初始值b10、以及λ1和θ1的賦值在步驟(2)中進(jìn)行預(yù)設(shè)。
求解式(3-1)和式(3-2),并數(shù)值化,式(3-3)也數(shù)值化,由此得到數(shù)值化后的三步迭代格式,如步驟(4)中的式(3‐4)、(3‐5)和式(3‐6)所示。第一次迭代運(yùn)算前,令k=0;
順序地應(yīng)用公式(3‐4)、(3‐5)、(3‐6)進(jìn)行迭代,
其中表示求和范圍是以p1為中心的搜索窗口N1×N1內(nèi)除p1以外的每一像素點(diǎn),求和項(xiàng)數(shù)共N1×N1-1項(xiàng),ω1(p1,q1)是u0的兩個(gè)像素點(diǎn)p1和q1的相似度權(quán)重函數(shù)。
在本步驟中,設(shè)初值k=0,順序地按式(3-4)、(3-5)、(3-6)進(jìn)行迭代運(yùn)算一次,得到初步去噪后的圖像u1=u11;
(4)使用u0與u1進(jìn)行中心化和白化處理。具體方法是:首先將大小N×N的圖像u0轉(zhuǎn)換成1×N2的行向量X,轉(zhuǎn)換規(guī)則是u0的第α(α=1,2,3,...,N)列第β(β=1,2,3,...,N)行元素轉(zhuǎn)為X的第(α-1)×N+β列元素;用同樣方法將大小N×N的圖像u1轉(zhuǎn)換成1×N2的行向量Y。用X和Y構(gòu)建混合矩陣并進(jìn)行中心化和白化。中心化是將原始數(shù)據(jù)減去平均數(shù)。白化也稱(chēng)為球化,它的本質(zhì)是去相關(guān)。如果均值為零的隨機(jī)向量O=[o1,o2,...,on]T滿(mǎn)足E{OOT}=I,其中I是單位矩陣,那么隨機(jī)向量O=[o1,o2,...,on]T是白化向量。
對(duì)S進(jìn)行中心化后得到矩陣Se:
其中xi和yi分別是X和Y的第i個(gè)元素,i=1,2,…,N×N,是X的所有元素的均值,是Y的所有元素的均值,
對(duì)Se進(jìn)行白化處理,即白化矩陣W0與Se相乘,得到Z:
Z=W0Se
其中白化矩陣W0=Λ-1/2UT,Λ是SeT的協(xié)方差矩陣的特征值矩陣,U是SeT的協(xié)方差矩陣的特征向量矩陣。Z將參與后續(xù)的步驟。這一處理可以降低后續(xù)步驟的計(jì)算復(fù)雜度。
(5)設(shè)置解混矩陣B的初始值為2×2的零矩陣。
(6)建立一個(gè)大小為2×1,的隨機(jī)列向量L,L各元素取值范圍是[0~1]。
(7)對(duì)L進(jìn)行迭代。迭代公式如下:
L=E{Zg(LTZ)}-E{g1(LTZ)}L,
L=L-BBTL,
L=L/||L||,
其中E{·}是均值運(yùn)算,g(·)為任意二次函數(shù),在本發(fā)明中令g(·)為g(t)=t2。g1(·)是g(·)的一階導(dǎo)數(shù)。
(8)如果L滿(mǎn)足||LTL|-1|<e,則轉(zhuǎn)到步驟(9);如果L不滿(mǎn)足||LTL|-1|<e,則返回到步驟(7)。其中e是ICA方法中的收斂閾值,為常數(shù),其值在步驟(2)預(yù)先設(shè)置。
(9)用L來(lái)替換更新B中的一個(gè)列向量。如果B的所有列向量都被替換更新一次,則轉(zhuǎn)到步驟(10)。如果B的所有列向量沒(méi)有被替換更新完,則返回到步驟(6)。
(10)利用得到的解混矩陣B分離出噪聲,獲得去噪后的圖像。步驟如下:先計(jì)算解混結(jié)果W=BTS,再將W中的兩個(gè)1×N2大小行向量都轉(zhuǎn)換成N×N大小的矩陣,則可以得到分離后的去噪圖像u2和噪聲圖像。轉(zhuǎn)換規(guī)則是:W的第一個(gè)行向量的第(α-1)×N+β列元素轉(zhuǎn)為u2的第α列第β行元素,其中α和β取值均為1,2,3,...,N。
(11)為了再次提升去噪效果,將u2進(jìn)行第二輪NLTV去噪。建立NLTV模型其中J(u3)是第二輪NLTV模型的目標(biāo)函數(shù),Ω表示u2、u3的圖像空間,λ2是保真參數(shù),u3是去噪后的圖像;是GUY GILBOA和STANLEY OSHER提出的非局部梯度算子,其中p2表法當(dāng)前像素點(diǎn),q2給示以p2為中心的搜索窗口內(nèi)的一點(diǎn),u3(p2)、u3(q2)分別是圖像u3上的點(diǎn)p2和q2的像素灰度值;
是圖像u2的兩個(gè)像素點(diǎn)p2和q2的相似度權(quán)重函數(shù),表示圖像u2中以p2為中心的大小為N4×N4的圖像塊和以q2為中心的大小為N4×N4的圖像塊之間的高斯加權(quán)距離,表示求和范圍是以p2或q2為中心的N4×N4鄰域內(nèi)的每一像素點(diǎn)(不包括p2或q2自身),共N4×N4-1項(xiàng),是標(biāo)準(zhǔn)差為σ2的高斯核,h2是權(quán)重函數(shù)ω2(p2,q2)的常數(shù)參數(shù),在步驟(2)中對(duì)h2、σ2進(jìn)行賦值。
(12)對(duì)步驟(11)建立的NLTV模型,采用分裂的Bregman迭代實(shí)現(xiàn),迭代過(guò)程分成三步,如式(12-1)、(12-2)和式(12-3)所示,降低了迭代的復(fù)雜性,加快了迭代速度。
其中,k的取值是0,1,2,…,等非負(fù)整數(shù),迭代初始值u30=u2,b2k、w2k分別表示分裂的Bregman迭代的輔助變量和輔助函數(shù),λ2就是步驟(11)建立的NLTV模型中的保真參數(shù),θ2是控制迭代結(jié)果的平滑參數(shù),b2k的初始值b20、λ2以及和θ2的賦值在步驟(2)中進(jìn)行預(yù)設(shè)。
求解式(12-1)和式(12-2),并數(shù)值化,式(12-3)也數(shù)值化,由此得到數(shù)值化后的迭代格式,如式(13-1)、(13-2)和式(13-3)所示。第一次迭代前,設(shè)k=0。
(13)順序地按式(13-1)、(13-2)和式(13-3)進(jìn)行迭代計(jì)算。
其中ω2(p2,q2)是u2的像素點(diǎn)p2和q2間的相似度權(quán)重函數(shù),表示求和范圍是以p2為中心的搜索窗口N3×N3內(nèi)除p2以外的每一像素點(diǎn),求和項(xiàng)數(shù)共N3×N3-1項(xiàng);
(14)計(jì)算步驟(13)的輸出圖像u3k+1的峰值信噪比PSNR,如果本次迭代后輸出圖像u3k+1的峰值信噪比PSNR小于等于上一次迭代輸出圖像u3k的峰值信噪比PSNR,則滿(mǎn)足迭代停止條件,將上一次迭代輸出圖像u3k作為最優(yōu)值ufinal輸出,即令ufinal=u3k,并轉(zhuǎn)到步驟(15);如果本次迭代后輸出圖像u3k+1的峰值信噪比PSNR大于上一次迭代輸出圖像u3k的峰值信噪比PSNR,則不滿(mǎn)足迭代停止條件,更新k值:k=k+1,并返回到步驟(13),繼續(xù)迭代運(yùn)算。
(15)將結(jié)果ufinal作為最終去噪結(jié)果圖像輸出。
本發(fā)明的效果可以通過(guò)以下實(shí)驗(yàn)進(jìn)一步證實(shí)。
1、實(shí)驗(yàn)條件:
使用Matlab軟件對(duì)256×256尺寸的Lena、Peppers和House圖像進(jìn)行仿真實(shí)驗(yàn)。在圖2所示的原始干凈的圖像上分別疊加標(biāo)準(zhǔn)差為15和20的高斯噪聲(均值為零)后作為待去噪的輸入圖像。本實(shí)驗(yàn)的參數(shù)為:
對(duì)于標(biāo)準(zhǔn)差為15的Lena噪聲圖:e=0.0001、N1×N1=5×5、N2×N2=5×5、h1=9、σ1=6、λ1=1、θ1=11.5、b1=0、w1=0、N3×N3=5×5、N4×N4=5×5、h2=13、σ2=6、λ2=1、θ2=11.5、b2=0、w2=0。
對(duì)于標(biāo)準(zhǔn)差為20的Lena噪聲圖:e=0.0001、N1×N1=3×3、N2×N2=3×3、h1=9、σ1=6、λ1=1、θ1=11.5、b1=0、w1=0、N3×N3=5×5、N4×N4=5×5、h2=13、σ2=6、λ2=1、θ2=11.5、b2=0、w2=0。
對(duì)于標(biāo)準(zhǔn)差為15的Peppers噪聲圖:e=0.0001、N1×N1=5×5、N2×N2=5×5、h1=9、σ1=6、λ1=1、θ1=11.5、b1=0、w1=0、N3×N3=5×5、N4×N4=5×5、h2=13、σ2=8、λ2=1、θ2=11.5、b2=0、w2=0。
對(duì)于標(biāo)準(zhǔn)差為20的Peppers噪聲圖:e=0.0001、N1×N1=3×3、N2×N2=3×3、h1=14、σ1=6、λ1=1、θ1=11.5、b1=0、w1=0、N3×N3=5×5、N4×N4=5×5、h2=14、σ2=6、λ2=1、θ2=11.5、b2=0、w2=0。
2、實(shí)驗(yàn)內(nèi)容
按照上面所述的實(shí)驗(yàn)步驟進(jìn)行Matlab實(shí)驗(yàn)仿真,并將本發(fā)明方法與NLTV方法(采用分裂的Bregman算法迭代逼近來(lái)求解)進(jìn)行比較。
3、實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果見(jiàn)表一以及附圖3。實(shí)驗(yàn)結(jié)果表明本發(fā)明方法比NLTV方法有更高的峰值信噪比(PSNR),去噪效果更好。
表一 用本發(fā)明方法和NLTV方法去噪前后圖像的峰值信噪比
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并不對(duì)本發(fā)明做形式上的限制,凡是依據(jù)本發(fā)明對(duì)以上實(shí)例所做的簡(jiǎn)單修改,等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的范圍內(nèi)。