本發(fā)明屬于圖像信息處理技術(shù)領(lǐng)域,特別是涉及基于暗通道與非局部先驗(yàn)的圖像去霧方法及系統(tǒng)。
背景技術(shù):
目前,用于安全監(jiān)控的攝像機(jī)等戶外視覺系統(tǒng)的應(yīng)用越來越廣泛。而且,近年來智能視覺監(jiān)控系統(tǒng)、智能車輛視覺導(dǎo)航系統(tǒng)、智能機(jī)器人視覺系統(tǒng)等智能視覺系統(tǒng)發(fā)展十分迅速。視覺系統(tǒng)所采集的圖像的質(zhì)量直接影響了系統(tǒng)工作的穩(wěn)定性。在霧霾等惡劣天氣狀況下,由于大氣中微小粒子散射作用的影響,導(dǎo)致獲取的圖像產(chǎn)生對(duì)比度降低、飽和度下降和色調(diào)偏移等問題,干擾了圖像特征的提取,直接影響視覺系統(tǒng)效用的發(fā)揮。因此,采用合適的方法對(duì)圖像進(jìn)行處理,使霧化圖像清晰化,具有重要的現(xiàn)實(shí)意義。
現(xiàn)有的針對(duì)圖像去霧的方法主要分為三類:圖像增強(qiáng)的方法,圖像復(fù)原方法以及圖像融合的方法。圖像增強(qiáng)的方法未考慮霧霾天氣下圖像質(zhì)量下降的原因,通過常見的圖像增強(qiáng)的方法來提高圖像亮度和對(duì)比度,從而改善圖像的質(zhì)量,此類方法以Retinex算法為代表,Retinex理論是基于色彩恒常性,該理論假設(shè)圖像是由入射分量和反射分量組成的,入射分量反映的是圖像的照度信息,通常情況下變化緩慢,對(duì)應(yīng)于圖像的低頻部分,反射分量反映的是圖像的本質(zhì)信息?;赗etinex理論的圖像增強(qiáng)的目的就是通過濾波器濾除圖像的入射分量,消除光照不均的影響,得到的反射分量即為圖像增強(qiáng)結(jié)果,該方法需要恰當(dāng)?shù)倪x取濾波器的相關(guān)參數(shù),否則無法改善圖像質(zhì)量。
圖像復(fù)原的方法通過研究霧天圖像降質(zhì)的原因,建立霧天圖像退化的物理模型,通過合理估計(jì)模型當(dāng)中的參數(shù),即可得到無霧圖像或無霧圖像的最優(yōu)估計(jì)值,例如:圖像去霧當(dāng)中,廣泛采用的基于大氣散射模型的圖像復(fù)原方法需要估計(jì)圖像的大氣光值和圖像的透射率,最后將合理估計(jì)得到的參數(shù)代入模型進(jìn)行去霧。圖像復(fù)原的方法從圖像退化的本質(zhì)出發(fā)進(jìn)行去霧,因此最終得到的結(jié)果真實(shí)自然。
近年來,基于圖像融合的去霧方法得到廣泛關(guān)注,此類方法通過采用合適的融合策略,將從輸入圖像得到的多幅增強(qiáng)后的圖像進(jìn)行融合來改善輸入圖像的質(zhì)量。這類方法在合理地選擇融合圖像和融合策略的情況下可以有效去除圖像當(dāng)中的霧。
論文名:Single image haze removal using dark channel prior,期刊:IEEE transactions on pattern analysis and machine intelligence,年份:2011年。He Kaiming等人提出了一種基于暗通道先驗(yàn)的去霧算法,算法首先基于有霧圖像的暗通道圖像估計(jì)圖像的大氣光值,其次基于暗通道先驗(yàn)估計(jì)圖像的透射率,然后利用軟摳圖算法對(duì)估算的透射率圖像進(jìn)行優(yōu)化,最后基于大氣散射模型恢復(fù)無霧圖像。該算法能夠取得較好的去霧效果,但算法當(dāng)中的摳圖處理過程具有極高的時(shí)空復(fù)雜度,因而該算法不具備實(shí)時(shí)性。
論文名:Investigating haze-relevant features in a learning framework for image dehazing,會(huì)議:IEEE Conference on Computer Vision and Pattern Recognition,年份:2014年。Tang K等人首次利用基于學(xué)習(xí)的方法進(jìn)行圖像去霧。算法當(dāng)中首先提取輸入圖像與透射率相關(guān)的多尺度的特征,然后采用隨機(jī)森林的方法學(xué)習(xí)得到圖像的特征與圖像的透射率之間的關(guān)系。基于學(xué)習(xí)的方法需要大量的訓(xùn)練數(shù)據(jù),現(xiàn)實(shí)生活中很難采集到有霧圖像及其對(duì)應(yīng)的無霧圖像,文章當(dāng)中作者基于場(chǎng)景深度與圖像內(nèi)容不相關(guān)的假設(shè)合成有霧圖像作為訓(xùn)練數(shù)據(jù),該假設(shè)只在少數(shù)情況下成立,因而會(huì)導(dǎo)致訓(xùn)練數(shù)據(jù)不準(zhǔn)確,訓(xùn)練后得到的去霧模型不具備普適性。同時(shí)采用上述的基于學(xué)習(xí)的去霧算法只提取了有霧圖像的顏色特征,沒有提取紋理結(jié)構(gòu)特征,致使透射率的估計(jì)精度受到限制,導(dǎo)致去霧不完全等問題。
論文名:Non-Local Image Dehazing,會(huì)議:IEEE Conference on Computer Vision and Pattern Recognition.,年份:2016。Berman D等人提出了一種基于非局部先驗(yàn)的去霧方法,當(dāng)前的去霧算法大都是基于塊先驗(yàn)的方法,基于塊先驗(yàn)的去霧方法估計(jì)的透射率比較粗糙,容易導(dǎo)致去霧后圖像的塊效應(yīng)?;诜蔷植肯闰?yàn)的方法是基于像素點(diǎn)的操作因而不會(huì)產(chǎn)生塊效應(yīng),而且算法的運(yùn)行速度快,能夠滿足實(shí)時(shí)性的要求,但是基于非局部先驗(yàn)的算法存在去霧不徹底、天空區(qū)域失真等問題。
針對(duì)上述背景內(nèi)容,基于非局部先驗(yàn)的方法速度較快,估計(jì)的透射率較準(zhǔn)確,具有較高的實(shí)際應(yīng)用價(jià)值,因此在本文中對(duì)非局部先驗(yàn)去霧算法進(jìn)行改進(jìn),以便更好地應(yīng)用于圖像去霧。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了克服現(xiàn)有去霧算法的不足,提供一種基于暗通道與非局部先驗(yàn)的單幅圖像去霧方法及系統(tǒng),能夠去除圖像當(dāng)中的霧,還原場(chǎng)景內(nèi)容,改善圖像的視覺效果,而且要求算法運(yùn)行速度快,具有較高的實(shí)際應(yīng)用價(jià)值。
本發(fā)明的技術(shù)方案:
一種基于暗通道與非局部先驗(yàn)的圖像去霧方法,步驟如下:
(1)求取有霧圖像的暗通道圖像
首先求取有霧圖像每個(gè)像素點(diǎn)的R,G,B三個(gè)通道值的最小值,然后進(jìn)行最小值濾波即得到有霧圖像的暗通道圖像,具體表達(dá)式如下:
其中,I表示有霧圖像;Ic表示I的R,G,B三個(gè)顏色通道之一;Ic(y)表示圖像當(dāng)中單個(gè)像素點(diǎn)的某一個(gè)顏色通道的值;Ω(x)是以像素點(diǎn)x為中心的一個(gè)濾波區(qū)域;Jdark即為I的暗通道圖;
(2)根據(jù)暗通道圖像估計(jì)有霧圖像的大氣光強(qiáng)
計(jì)算暗通道圖像中像素值前0.1%的像素點(diǎn)的位置,然后求取有霧圖像中對(duì)應(yīng)位置的像素值的平均值作為有霧圖像的大氣光值A(chǔ);
(3)基于非局部先驗(yàn)估計(jì)有霧圖像的透射率
1)首先將有霧圖像I(x)與大氣光值A(chǔ)做差,將得到的圖像記為IA(x),則大氣散射模型表示成:
IA(x)=t(x)·[J(x)-A](1-2)
其中,J(x)表示復(fù)原的清晰圖像,t(x)是透射率,描述物體反射光線能夠經(jīng)過衰減到達(dá)觀測(cè)點(diǎn)的比例,將IA(x)表示成球坐標(biāo)形式為:
IA(x)=[r(x),θ(x),φ(x)](1-3)
其中,半徑r(x)的計(jì)算表達(dá)式為:
r(x)=t(x)||J(x)-A||,0≤t(x)≤1(1-4)
此時(shí)球坐標(biāo)系的原點(diǎn)對(duì)應(yīng)圖像的大氣光值A(chǔ);
2)依據(jù)變換后像素點(diǎn)的[θ(x),φ(x)]值的大小,對(duì)有霧圖像當(dāng)中的像素點(diǎn)采用KD-Tree的方法進(jìn)行聚類,根據(jù)非局部先驗(yàn),位于同一類當(dāng)中的像素點(diǎn)大致呈線狀分布,因此聚類后得到多條haze-line,假設(shè)圖像整體的大氣光值是一致的,每條haze-line都經(jīng)過球坐標(biāo)系的原點(diǎn),依據(jù)非局部先驗(yàn)位于同一條haze-line的像素點(diǎn)在無霧圖像J(x)中的對(duì)應(yīng)點(diǎn)的像素值是相同的,根據(jù)公式(1-4),得知位于同一條haze-line上的點(diǎn)的半徑的差異是與透射率的差異成正比的;假設(shè)每條haze-line上最大半徑對(duì)應(yīng)的點(diǎn)為清晰無霧的點(diǎn),即半徑最大的像素點(diǎn)所對(duì)應(yīng)的透射率為1;最大半徑的定義式如下:
根據(jù)上述求得的最大半徑得到同一條haze-line上其他像素點(diǎn)對(duì)應(yīng)的透射率為:
(4)對(duì)透射率圖像進(jìn)行修正
1)采用上述的方法估計(jì)得到的透射率會(huì)存在誤差,接下來分析誤差產(chǎn)生的原因并進(jìn)行修正。
2)每條haze-line上半徑最大的點(diǎn)不一定是清晰無霧的點(diǎn),當(dāng)半徑最大的點(diǎn)受霧影響時(shí),最大半徑小于理想的清晰無霧的點(diǎn)的半徑,采用公式估計(jì)的透射率的值偏大;針對(duì)以上問題提出如下改進(jìn):
設(shè)定透射率的取值空間為[0.1,1],對(duì)透射率進(jìn)行剪切處理,得到圖像記為由于估計(jì)得到的透射率較實(shí)際偏大,加入?yún)?shù)p進(jìn)行修正:根據(jù)恢復(fù)的無霧圖像的像素值大于0得到每個(gè)像素點(diǎn)對(duì)應(yīng)的透射率的下限值為:其中,Ic(x)表示有霧圖像的像素點(diǎn)的RGB三個(gè)顏色通道值之一,Ac表示大氣光值的三個(gè)顏色通道值之一;采用下限值約束后的透射率的表達(dá)式為:
3)基于非局部先驗(yàn)估計(jì)得到的透射率是以像素點(diǎn)為單位進(jìn)行估計(jì)的,沒有加入圖像的空間限制。通常情況下,圖像當(dāng)中的點(diǎn)與其鄰近的點(diǎn)的透射率差異很小,當(dāng)像素點(diǎn)受到噪聲影響導(dǎo)致最終估計(jì)的透射率不準(zhǔn)確時(shí),通過加入空間限制項(xiàng)可以減少透射率估計(jì)的誤差。實(shí)驗(yàn)中通過最小化如下的關(guān)于的目標(biāo)方程,實(shí)現(xiàn)對(duì)透射率的進(jìn)一步優(yōu)化:
其中,是經(jīng)式(1-7)處理得到的透射率圖像,σ(x)是位于同一條haze-line上的點(diǎn)的透射率的標(biāo)準(zhǔn)差,λ是用來控制數(shù)據(jù)項(xiàng)和平滑項(xiàng)的參數(shù),Nx是像素點(diǎn)的四鄰接的像素集合,I(x)和I(y)表示的是引導(dǎo)圖像當(dāng)中像素點(diǎn)的像素值。通常情況下采用圖像的強(qiáng)度圖像作為引導(dǎo)圖像,即I(x)表示的是原始圖像的強(qiáng)度通道。在這里我們采用透射率的下限值tLB作為引導(dǎo)圖像,因?yàn)樵趖LB當(dāng)中包含了較多的紋理細(xì)節(jié)和邊緣特征,因而采用tLB得到的透射率圖像更加精細(xì)準(zhǔn)確。
4)將上述得到的透射率與大氣光值代入大氣散射模型,即可恢復(fù)無霧圖像,通過實(shí)驗(yàn)觀察到,恢復(fù)的圖像在場(chǎng)景深度小的部分去霧不完全。因此對(duì)透射率圖像進(jìn)行進(jìn)一步的修正,具體的過程如下:因?yàn)閳D像當(dāng)中場(chǎng)景深度較小的部分通常位于圖像的底部,因此首先計(jì)算透射率圖像下半部分的平均值m,設(shè)定閾值T=m-a,a為常數(shù),用于控制閾值,將透射率圖像當(dāng)中大于閾值的部分縮小為原來的η倍。
(5)利用大氣散射模型恢復(fù)無霧圖像
對(duì)透射率進(jìn)行上述修正后,可以取得較好的去霧效果,但是當(dāng)有霧圖像中含有大面積天空時(shí),去霧后的圖像會(huì)出現(xiàn)噪聲放大與顏色失真現(xiàn)象。這是由于天空區(qū)域的透射率的值比較小,采用如下表達(dá)式:
進(jìn)行去霧時(shí),由于圖像天空區(qū)域的像素值I(x)與大氣光值A(chǔ)接近,與較小的t(x)相除后會(huì)將差異擴(kuò)大,這與天空區(qū)域平坦光滑的特性是相反的,此會(huì)造成去霧后圖像的天空區(qū)域產(chǎn)生失真。
針對(duì)上述問題,采用設(shè)定自適應(yīng)透射率下限閾值t0的方法進(jìn)行改進(jìn),閾值的表達(dá)式為:
其中,α和β為可調(diào)系數(shù),用于控制天空區(qū)域的弱化程度,n為透射率圖像當(dāng)中像素值小于α的像素點(diǎn)的個(gè)數(shù),N為透射率圖像的像素總數(shù)。
通過設(shè)置透射率下限閾值可以增大天空區(qū)域的透射率,進(jìn)而能夠改善去霧后天空區(qū)域的顏色失真與噪聲放大現(xiàn)象,同時(shí)采用自適應(yīng)閾值的方法,根據(jù)天空區(qū)域的面積自適應(yīng)調(diào)節(jié)閾值,增強(qiáng)了算法的魯棒性。
將修正后的透射率t(x)與估計(jì)得到的大氣光值A(chǔ)代入以下公式:
即可恢復(fù)清晰的圖像。其中設(shè)置透射率的下限值t0可以減少圖像的失真,這是因?yàn)樵趫?chǎng)景的透射率過小的情況下,恢復(fù)的圖像受噪聲影響嚴(yán)重,此外實(shí)驗(yàn)中將t0設(shè)置為自適應(yīng)參數(shù),可以改進(jìn)圖像當(dāng)中天空區(qū)域顏色失真的現(xiàn)象。實(shí)驗(yàn)中將ω設(shè)置為大于1的數(shù),這樣可以為圖像的遠(yuǎn)景部分保留一定量的霧,使得去霧后的圖像看起來更加真實(shí)自然。
為了改善去霧后圖像的視覺效果,對(duì)恢復(fù)的清晰圖像進(jìn)行自動(dòng)色階處理。自動(dòng)色階算法將每個(gè)顏色通道中位于上下限閾值之外的像素映射到純白或純黑,同時(shí)將中間像素按比例重新分配以提高圖像的對(duì)比度。
其中閾值設(shè)置的方法具體如下:首先統(tǒng)計(jì)有霧圖像R,G,B三個(gè)顏色通道的直方圖,然后設(shè)定剪切比例,根據(jù)剪切比例,計(jì)算剪切的上下限閾值。
相應(yīng)的,本發(fā)明提供一種基于暗通道與非局部先驗(yàn)的圖像去霧系統(tǒng),包括:
(1)暗通道計(jì)算模塊,用于求取有霧圖像的暗通道圖像;
(2)大氣光計(jì)算模塊,用于計(jì)算暗通道圖像中像素值前0.1%的像素點(diǎn)的位置,然后求取有霧圖像中對(duì)應(yīng)位置的像素值的平均值作為圖像的大氣光值A(chǔ);
(3)透射率計(jì)算模塊,用于基于非局部先驗(yàn),求取有霧圖像的透射率:
(4)透射率修正模塊,用于對(duì)透射率圖像進(jìn)行修正:
(5)去霧計(jì)算模塊,用于恢復(fù)無霧圖像:
所述暗通道計(jì)算模塊,具體用于:
求取霧化圖像的暗通道圖像,首先求取有霧圖像每個(gè)像素點(diǎn)的R,G,B三個(gè)通道值的最小值,然后進(jìn)行最小值濾波即可得到有霧圖像的暗通道圖像。此步驟的具體表達(dá)式如下:
其中,I表示有霧圖像;Ic表示I的R,G,B三個(gè)顏色通道之一;Ic(y)表示圖像當(dāng)中單個(gè)像素點(diǎn)的某一個(gè)顏色通道的值;Ω(x)是以像素點(diǎn)x為中心的一個(gè)濾波區(qū)域;Jdark即為I的暗通道圖。
所述大氣光計(jì)算模塊,具體用于:
計(jì)算暗通道圖像中像素值前0.1%的像素點(diǎn)的位置,然后求取有霧圖像中對(duì)應(yīng)位置的像素值的平均值作為有霧圖像的大氣光值A(chǔ)。
所述透射率計(jì)算模塊,具體用于:
1)首先將有霧圖像I(x)與大氣光值A(chǔ)做差,將得到的圖像記為IA(x),則大氣散射模型可以表示成:
IA(x)=t(x)·[J(x)-A](2-2)
其中J(x)表示復(fù)原的清晰圖像,t(x)是透射率,描述物體反射光線能夠經(jīng)過衰減到達(dá)觀測(cè)點(diǎn)的比例,將IA(x)表示成球坐標(biāo)形式為:
IA(x)=[r(x),θ(x),φ(x)](2-3)
其中,半徑r(x)的計(jì)算表達(dá)式為:
r(x)=t(x)||J(x)-A||,0≤t(x)≤1(2-4)
此時(shí)球坐標(biāo)系的原點(diǎn)對(duì)應(yīng)圖像的大氣光值A(chǔ)。
2)依據(jù)變換后像素點(diǎn)的[θ(x),φ(x)]值的大小,對(duì)有霧圖像當(dāng)中的像素點(diǎn)采用KD-Tree的方法進(jìn)行聚類,根據(jù)非局部先驗(yàn),位于同一類當(dāng)中的像素點(diǎn)大致呈線狀分布,因此聚類后會(huì)得到多條haze-line,假設(shè)圖像整體的大氣光值是一致的,因此每條haze-line都會(huì)經(jīng)過球坐標(biāo)系的原點(diǎn),依據(jù)非局部先驗(yàn)位于同一條haze-line的像素點(diǎn)在無霧圖像J(x)中的對(duì)應(yīng)點(diǎn)的像素值大致是相同的,根據(jù)像素點(diǎn)的半徑的計(jì)算公式(2-4),可以得知位于同一條haze-line上的點(diǎn)的半徑的差異是與透射率的差異成正比的。假設(shè)每條haze-line上最大半徑對(duì)應(yīng)的點(diǎn)為清晰無霧的點(diǎn),即半徑最大的像素點(diǎn)所對(duì)應(yīng)的透射率為1。最大半徑的定義式如下:
根據(jù)上述求得的最大半徑可以得到同一條haze-line上其他像素點(diǎn)對(duì)應(yīng)的透射率為:
所述透射率修正模塊,具體用于:
1)采用上述的方法估計(jì)得到的透射率會(huì)存在誤差,接下來分析誤差產(chǎn)生的原因并進(jìn)行修正。
2)每條haze-line上半徑最大的點(diǎn)不一定是清晰無霧的點(diǎn)。當(dāng)半徑最大的點(diǎn)受霧影響時(shí),最大半徑小于理想的清晰無霧的點(diǎn)的半徑,因此最終采用公式估計(jì)的透射率的值偏大。針對(duì)以上問題提出如下改進(jìn):
設(shè)定透射率的取值空間為[0.1,1],對(duì)透射率進(jìn)行剪切處理,得到圖像記為由于估計(jì)得到的透射率較實(shí)際偏大,加入?yún)?shù)p進(jìn)行修正:根據(jù)恢復(fù)的無霧圖像的像素值大于0可以得到每個(gè)像素點(diǎn)對(duì)應(yīng)的透射率的下限值:其中,Ic(x)表示有霧圖像的像素點(diǎn)的RGB三個(gè)顏色通道值之一,Ac表示大氣光值的三個(gè)顏色通道值之一。采用下限值約束后得到的透射率表達(dá)式為:
3)基于非局部先驗(yàn)估計(jì)得到的透射率是以像素點(diǎn)為單位進(jìn)行估計(jì)的,沒有加入圖像的空間限制。通常情況下,圖像當(dāng)中的點(diǎn)與其鄰近的點(diǎn)的透射率差異很小,當(dāng)像素點(diǎn)受到噪聲影響導(dǎo)致最終估計(jì)的透射率不準(zhǔn)確時(shí),通過加入空間限制項(xiàng)可以減少透射率估計(jì)的誤差。實(shí)驗(yàn)中通過最小化如下的關(guān)于的目標(biāo)方程,實(shí)現(xiàn)對(duì)透射率的進(jìn)一步優(yōu)化:
其中,是經(jīng)式(2-7)處理得到的透射率圖像,σ(x)是位于同一條haze-line上的點(diǎn)的透射率的標(biāo)準(zhǔn)差,λ是用來控制數(shù)據(jù)項(xiàng)和平滑項(xiàng)的參數(shù),Nx是像素點(diǎn)的四鄰接的像素集合,I(x)和I(y)表示的是引導(dǎo)圖像當(dāng)中像素點(diǎn)的像素值。通常情況下采用圖像的強(qiáng)度圖像作為引導(dǎo)圖像,即I(x)表示的是原始圖像的強(qiáng)度通道。在這里我們采用透射率的下限值tLB作為引導(dǎo)圖像,因?yàn)樵趖LB當(dāng)中包含了較多的紋理細(xì)節(jié)和邊緣特征,因而采用tLB得到的透射率圖像更加精細(xì)準(zhǔn)確。
4)將上述得到的透射率與大氣光值代入大氣散射模型,即可恢復(fù)無霧圖像,通過實(shí)驗(yàn)觀察到,恢復(fù)的圖像在場(chǎng)景深度小的部分去霧不完全。因此對(duì)透射率圖像進(jìn)行進(jìn)一步的修正,具體的過程如下:因?yàn)閳D像當(dāng)中場(chǎng)景深度較小的部分通常位于圖像的底部,因此首先計(jì)算透射率圖像下半部分的平均值m,設(shè)定閾值T=m-a,a為常數(shù),用于控制閾值,將透射率圖像當(dāng)中大于閾值的部分縮小為原來的η倍。
所述去霧計(jì)算模塊,具體用于:
對(duì)透射率進(jìn)行上述修正后,可以取得較好的去霧效果,但是當(dāng)有霧圖像中含有大面積天空時(shí),去霧后的圖像會(huì)產(chǎn)生噪聲放大與顏色失真。這是由于天空區(qū)域的透射率的值比較小,采用如下表達(dá)式:
進(jìn)行去霧時(shí),由于圖像天空區(qū)域的像素值I(x)與大氣光值A(chǔ)接近,與較小的t(x)相除后會(huì)將差異擴(kuò)大,這與天空區(qū)域平坦光滑的特性是相反的,因此會(huì)導(dǎo)致去霧后圖像天空區(qū)域的顏色失真與噪聲放大。
針對(duì)上述問題,采用設(shè)定自適應(yīng)透射率下限閾值t0的方法進(jìn)行改進(jìn),閾值的表達(dá)式為:
其中,α和β為可調(diào)系數(shù),用于控制天空區(qū)域的弱化程度,n為透射率圖像當(dāng)中像素值小于α的像素點(diǎn)的個(gè)數(shù),N為透射率圖像的像素總數(shù)。
通過設(shè)置透射率下限閾值可以增大天空區(qū)域的透射率,進(jìn)而能夠減少去霧后天空區(qū)域的顏色失真與噪聲放大現(xiàn)象,同時(shí)采用自適應(yīng)閾值的方法,根據(jù)天空區(qū)域的面積自適應(yīng)調(diào)節(jié)閾值,增強(qiáng)了算法的魯棒性。
將修正后的透射率t(x)與估計(jì)得到的大氣光值A(chǔ)代入以下公式:
即可恢復(fù)清晰的圖像。其中設(shè)置透射率的下限值t0可以減少圖像的失真,這是因?yàn)樵趫?chǎng)景的透射率過小的情況下,恢復(fù)的圖像受噪聲影響嚴(yán)重,此外實(shí)驗(yàn)中將t0設(shè)置為自適應(yīng)參數(shù),可以改進(jìn)圖像當(dāng)中天空區(qū)域顏色失真的現(xiàn)象。實(shí)驗(yàn)中將ω設(shè)置為大于1的數(shù),這樣可以為圖像的遠(yuǎn)景部分保留一定量的霧,使得去霧后的圖像看起來更加真實(shí)自然。
為了改善去霧后圖像的視覺效果,對(duì)恢復(fù)的清晰圖像進(jìn)行自動(dòng)色階處理。自動(dòng)色階算法將每個(gè)顏色通道中位于上下限閾值之外的像素映射到純白或純黑,同時(shí)將中間像素按比例重新分配以提高圖像的對(duì)比度。
其中閾值設(shè)置的方法具體如下:首先統(tǒng)計(jì)有霧圖像R,G,B三個(gè)顏色通道的直方圖,然后設(shè)定剪切比例,根據(jù)剪切比例,計(jì)算剪切的上下限閾值。
本發(fā)明的有益效果:
(1)利用非局部先驗(yàn)估計(jì)圖像的透射率,可以減輕采用塊假設(shè)進(jìn)行估計(jì)時(shí),透射率圖像的塊效應(yīng)問題,與He Kaiming的算法相比,本發(fā)明估計(jì)的透射率圖像更加精細(xì)準(zhǔn)確,去霧效果更好。
(2)改善了采用Berman D的方法透射率估計(jì)粗糙,近處去霧效果不好以及天空區(qū)域失真的問題。
(3)本發(fā)明的復(fù)雜度是圖像像素?cái)?shù)量的線性函數(shù),在同等實(shí)驗(yàn)條件下,運(yùn)行速度遠(yuǎn)優(yōu)于He Kaiming的算法,在實(shí)時(shí)性系統(tǒng)中具有較高的實(shí)際應(yīng)用價(jià)值。
附圖說明
圖1為基于暗通道與非局部先驗(yàn)的單幅圖像去霧方法的流程示意圖。
圖2為透射率圖像計(jì)算流程示意圖。
圖3為有霧圖像及采用兩種算法進(jìn)行去霧的結(jié)果:
其中,(a)為原始有霧圖像;(b)為采用Berman D的非局部先驗(yàn)的方法進(jìn)行去霧的結(jié)果;(c)為采用本方明的方法的去霧結(jié)果。
圖4為有霧圖像及采用三種算法進(jìn)行去霧的結(jié)果:
其中,(a)為原始有霧圖像;(b)為采用He Kaiming的暗通道的方法得到的去霧結(jié)果;(c)為采用暗通道的方法得到的透射率圖像;(d)為采用Berman D的非局部先驗(yàn)的方法進(jìn)行去霧的結(jié)果;(e)為采用非局部先驗(yàn)的方法得到的透射率圖像;(f)為本發(fā)明的去霧結(jié)果;(g)為本發(fā)明得到的透射率圖像。
圖5為本發(fā)明暗通道與非局部先驗(yàn)的圖像去霧系統(tǒng)的模塊示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施實(shí)例和附圖詳細(xì)闡述本發(fā)明。
圖1為本發(fā)明去霧方法的流程示意圖,包括:
(1)求出有霧圖像(見附圖4(a)所示)的暗通道圖,按照公式(1-1)求取霧化圖像的暗通道圖像,濾波模板大小為15×15。
(2)求取圖像的大氣光強(qiáng),求得暗通道圖像當(dāng)中像素值大小為前0.1%的像素點(diǎn)的位置,求取有霧圖像中對(duì)應(yīng)位置的像素點(diǎn)的平均值作為圖像的大氣光值A(chǔ)。
(3)利用非局部先驗(yàn)計(jì)算透射率圖像。
(4)對(duì)透射率圖像進(jìn)行修正:
1)設(shè)定透射率的取值空間為[0.1,1],對(duì)透射率圖像進(jìn)行剪切處理,得到圖像記為由于估計(jì)得到的透射率較實(shí)際偏大,加入?yún)?shù)p進(jìn)行修正:具體實(shí)施中將其設(shè)置為0.1。根據(jù)恢復(fù)的無霧圖像的像素值大于0可以得到每個(gè)像素點(diǎn)對(duì)應(yīng)的透射率的下限值:采用公式(1-7)計(jì)算下限約束后的透射率。
2)通過加入空間限制項(xiàng)可以減少透射率估計(jì)的誤差。實(shí)驗(yàn)中通過最小化目標(biāo)方程(1-8),減少誤差,具體實(shí)施中λ設(shè)置為0.1。
3)對(duì)透射率圖像進(jìn)行進(jìn)一步的修正,首先計(jì)算透射率圖像下半部分的平均值m,圖4(a)所對(duì)應(yīng)的平均值為0.5976,將a設(shè)置為0.1,則閾值T為0.4976,同時(shí)設(shè)置η為0.95,即將透射率圖像當(dāng)中大于閾值的部分縮小為原來的0.95倍。
(5)利用大氣散射模型恢復(fù)出無霧圖像:
針對(duì)去霧后圖像天空區(qū)域的顏色失真與噪聲放大問題。采用設(shè)定自適應(yīng)透射率下限閾值t0的方法進(jìn)行改進(jìn),設(shè)置α和β分別為0.15和0.3。根據(jù)表達(dá)式(1-10)計(jì)算得到圖像3(a)的閾值為0.2496,圖像4(a)的閾值為0.15,圖像3(a)的天空區(qū)域的面積大于圖像4(a)的天空區(qū)域的面積,因此閾值也相應(yīng)的增大,可以得知采用自適應(yīng)閾值的方法,算法的魯棒性得到增強(qiáng)。
將修正后的透射率t(x)與估計(jì)得到的大氣光值A(chǔ)代入公式(1-11)即可得到清晰的圖像。具體實(shí)施中將ω的值設(shè)置為1.06,這樣可以保留一部分霧,使得去霧后的圖像看起來更加真實(shí)自然。同時(shí),對(duì)恢復(fù)的清晰圖像進(jìn)行自動(dòng)色階處理,改善去霧后圖像的視覺效果,實(shí)驗(yàn)中設(shè)置剪切比例為5%。
圖5為本發(fā)明去霧系統(tǒng)的組成示意圖,包括:
(1)暗通道計(jì)算模塊,用于求出有霧圖像(見附圖4(a)所示)的暗通道圖,按照公式(2-1)求取霧化圖像的暗通道圖像,濾波模板大小為15×15。
(2)大氣光計(jì)算模塊,用于求取經(jīng)過暗通道計(jì)算模塊得到的輸入圖像的暗通道圖像當(dāng)中像素值前0.1%的像素點(diǎn)的位置,然后求取有霧圖像中對(duì)應(yīng)位置的像素值的平均值作為圖像的大氣光值A(chǔ);
(3)透射率計(jì)算模塊,用于基于非局部先驗(yàn),求取圖像的透射率:
(4)透射率修正模塊,用于對(duì)透射率圖像進(jìn)行修正:
1)設(shè)定透射率的取值空間為[0.1,1],對(duì)透射率圖像進(jìn)行剪切處理,得到圖像記為由于估計(jì)得到的透射率較實(shí)際偏大,加入?yún)?shù)p進(jìn)行修正:具體實(shí)施中將其設(shè)置為0.1。根據(jù)恢復(fù)的無霧圖像的像素值大于0可以得到每個(gè)像素點(diǎn)對(duì)應(yīng)的透射率的下限值:采用公式(2-7)計(jì)算下限約束后的透射率。
2)通過加入空間限制項(xiàng)可以減少透射率估計(jì)的誤差。實(shí)驗(yàn)中通過最小化目標(biāo)方程(2-8),減少誤差。具體實(shí)施中λ設(shè)置為0.1。
3)對(duì)透射率圖像進(jìn)行進(jìn)一步的修正,首先計(jì)算透射率圖像下半部分的平均值m,圖4(a)所對(duì)應(yīng)的平均值為0.5976,將a設(shè)置為0.1,則閾值T為0.4976,同時(shí)設(shè)置η為0.95,即將透射率圖像當(dāng)中大于閾值的部分縮小為原來的0.95倍。
(5)去霧計(jì)算模塊,用于恢復(fù)無霧圖像:
針對(duì)去霧后圖像天空區(qū)域的顏色失真與噪聲放大現(xiàn)象。采用設(shè)定自適應(yīng)透射率下限閾值t0的方法進(jìn)行改進(jìn),設(shè)置α和β分別為0.15和0.3。根據(jù)表達(dá)式(2-10)計(jì)算得到圖像3(a)的閾值為0.2496,圖像4(a)的閾值為0.15,圖像3(a)的天空區(qū)域的面積大于圖像4(a)的天空區(qū)域的面積,因此閾值也相應(yīng)的增大,可以得知采用自適應(yīng)閾值的方法,算法的魯棒性得到增強(qiáng)。
將修正后的透射率t(x)與估計(jì)得到的大氣光值A(chǔ)代入公式(2-11)即可得到清晰的圖像。具體實(shí)施中將ω的值設(shè)置為1.06,這樣可以保留一部分霧,使得去霧后的圖像看起來更加真實(shí)自然。同時(shí),對(duì)恢復(fù)的清晰圖像進(jìn)行自動(dòng)色階處理,改善去霧后圖像的視覺效果,實(shí)驗(yàn)中設(shè)置剪切比例為5%。
經(jīng)過上述步驟,圖4(g)為本發(fā)明對(duì)霧化圖像4(a)的去霧結(jié)果。
上述實(shí)例的實(shí)施平臺(tái)為Windows 7操作系統(tǒng)、處理器主頻為3.40GHz、系統(tǒng)內(nèi)存16G的PC上,MATLAB R2014a軟件。圖4(b)和圖4(d)分別為He Kaiming與Berman D的兩種方法對(duì)圖4(a)的去霧結(jié)果。
對(duì)于圖像大小為1024×768的圖4(a),本發(fā)明的處理時(shí)間為5.79s,而He的處理時(shí)間為61.84s。
本發(fā)明若移植于FPGA硬件平臺(tái),采取并行運(yùn)算,則可進(jìn)一步加速。