劉躍元,王 梅,曾俊杰,吳慕云,李 強
(成都理工大學(xué) 信息科學(xué)與技術(shù)學(xué)院(網(wǎng)絡(luò)安全學(xué)院、牛津布魯克斯學(xué)院),成都 610059)
霧霾等惡劣天氣通常會影響計算機系統(tǒng)視覺在日常生活和生產(chǎn)活動中的應(yīng)用,例如:城市交通監(jiān)控系統(tǒng),軍事偵察等[1].所以,降低霧霾等惡劣天氣對圖像質(zhì)量的影響及對在智能交通、軍事偵察等領(lǐng)域具有直接的應(yīng)用價值.如今關(guān)于霧天圖像復(fù)原的算法種類繁多,總的來說,有以下兩種分類:一類是基于圖像增強的方法,但是對于有著復(fù)雜的結(jié)構(gòu)場景的有霧圖像在該類方法處理下去霧效果并不明顯;另一類是基于物理模型的圖像去霧的方法,這種方法是構(gòu)建大氣散射模型,復(fù)原出無霧圖像[2].
近年來,基于物理模型的圖像復(fù)原算法已經(jīng)有了很大的進展.Fattal 利用大氣散射模型,用數(shù)理統(tǒng)計的方法去假設(shè)條件,獲取透射率,但該方法不適用于濃霧天氣或者灰度化的圖像[3].Meng 等根據(jù)分離變量的方法求取透射率,但是去霧后的圖像存在一定的色差[4].Tan 等對大氣光強的最優(yōu)解進行估計獲取去霧圖像,但去霧后的圖像存在飽和度過高的問題[5].Tarel 等利用改進后的中值濾波算法對大氣光強的值進行估計,但是對于突變的景深區(qū)域,去霧后可能產(chǎn)生光暈現(xiàn)象[6].He 等提出了著名的暗通道先驗理論,由于處理過程中計算量大且復(fù)雜,該算法的執(zhí)行效率極低,不具備實時性[7];隨后,He 等提出采用引導(dǎo)濾波算法[8],改進后的算法大大地降低了算法復(fù)雜度,并且圖像去霧效果自然,清晰度高,但是當(dāng)圖像中存在大片濃霧、天空區(qū)域時,這種情況下暗通道先驗理論這一假設(shè)并不適用.
綜上所述,在圖像去霧領(lǐng)域中,相比其他類的算法,基于先驗理論的單幅圖像去霧技術(shù)取得的成果顯著,但對于濃霧、天空等區(qū)域,去霧后圖像的輪廓信息和景物特征模糊不清,因此,如何達到運算效率和圖像清晰度間的平衡,如何解決天空等區(qū)域出現(xiàn)色斑失真的問題,使圖像處理結(jié)果不僅要滿足視覺要求,還要考慮算法的運算效率.
本文基于大氣散射模型,建立了霧天圖像復(fù)原的關(guān)系,以暗通道原理作為基礎(chǔ)知識,復(fù)原霧天圖像.首先分析天空失真的原因,引入容差機制,改善天空去霧效果;其次增強算法的自適應(yīng)性,分析各參數(shù)對透射率精度和程序運行時間的影響,并且利用QT 完成圖像去霧的軟件設(shè)計,實現(xiàn)霧天圖像的去霧處理,比較傳統(tǒng)去霧算法與改進后的去霧算法的圖像效果.
基于暗原色先驗的圖像去霧流程圖如圖1所示,基于He 等在對數(shù)量眾多的無霧圖像進行了反復(fù)實驗和觀察得出了一個統(tǒng)計規(guī)律,被稱為暗原色先驗理論[7].獲得暗通道圖,再獲取大氣光強、估計透射率,根據(jù)大氣散射模型進行圖像去霧與圖像復(fù)原獲得最終的去霧圖像.
圖1 去霧流程圖
如圖2所示,輸入的圖2(a)有霧圖像,物體特征較為模糊;圖2(b)透射率圖,沒有物體的輪廓特征;圖2(c)去霧后的圖像,明顯看到天空區(qū)域出現(xiàn)失真,該區(qū)域出現(xiàn)有大面積的光暈現(xiàn)象,并且去霧后圖像亮度很低.這是因為當(dāng)圖像中存在大片濃霧、天空區(qū)域或者圖像亮度接近于大氣光亮度時,這種情況下暗通道先驗理論這一假設(shè)并不適用,此時得到的透射率與真實透射率偏差很大,圖像去霧后會失真,出現(xiàn)色斑.
圖2 傳統(tǒng)的暗原色去霧
在圖像去霧領(lǐng)域中,相比其他類的算法,基于暗原色先驗的去霧算法取得的成果顯著,復(fù)原后的圖像質(zhì)量較好;但是由于采用暗原色先驗知識來得到透射率,其算法時間復(fù)雜度較高,運行時間消耗長,并且去霧效果受濾波核的影響較大.因此本文采用引導(dǎo)濾波方法來優(yōu)化透射率,去霧后圖像的輪廓信息和景物特征更為清晰,并且運算時間變短,節(jié)省了內(nèi)存空間.
He 等提出的一種圖像濾波技術(shù),被稱為引導(dǎo)濾波,基本原理是將霧天圖像的灰度圖作為引導(dǎo)圖像G,將透射率圖作為原始的輸入圖像P,經(jīng)過濾波處理之后使輸出圖像Q能實現(xiàn)以下兩個目的:(1)有著透射率圖P的整體特征;(2) 獲取霧天圖像G的輪廓細節(jié)[8].
如圖3所示,圖3(a)為霧天圖像;通過引導(dǎo)濾波優(yōu)化后的圖3(b)透射率圖,在細節(jié)方面更為清晰,物體紋理分明;通過引導(dǎo)濾波后的圖3(c)圖像復(fù)原圖,色彩自然,在天空與非天空區(qū)域交界處的色斑消失.與之前的傳統(tǒng)去霧效果相比,采用引導(dǎo)濾波算法來進行圖像去霧,天空區(qū)域的光暈現(xiàn)象有所減弱,圖像邊緣更加清晰,但是在天空區(qū)域存在一定程度的失真,整個得到的去霧圖像較灰暗.
圖3 引導(dǎo)濾波算法去霧
若去霧圖像中存在大范圍的天空區(qū)域,在利用基于暗原色先驗的引導(dǎo)濾波算法進行圖像復(fù)原后,去霧圖像的天空區(qū)域?qū)霈F(xiàn)塊狀色斑,這種大面積的顏色失真嚴重影響著圖像復(fù)原的效果.對于大部分戶外的有霧圖像而言,經(jīng)過該算法去霧后的圖像通常都有著很好的效果,其原因是這些有霧圖像的絕大多數(shù)像素符合暗原色先驗知識這一假設(shè)[9].
如圖4所示,通過多次的實驗結(jié)果可知,含大量天空區(qū)域的圖4(a)無霧圖像;其對應(yīng)的圖4(b)暗原色圖,有大量灰白的區(qū)域;其對應(yīng)的圖4(c)暗通道直方圖,從圖中可以直觀地看出,暗通道的強度值很高并且趨近于255,暗通道這一先驗知識對天空等明亮區(qū)域不成立,在這些區(qū)域的暗通道的像素值都普遍偏大.利用暗原色先驗來復(fù)原這類霧天圖像,天空等明亮區(qū)域的部分圖像經(jīng)常被當(dāng)作霧濃度很高的區(qū)域來進行去霧處理,導(dǎo)致該部分的去霧程度過大,得到的去霧圖像色彩失真嚴重,并且在天空等明亮區(qū)域有明顯的細紋理[10].
圖4 含大量天空區(qū)域無霧圖像的暗原色及直方圖
式(1)將當(dāng)前幀與背景幀相減,然后取得絕對值,這個絕對值就是幀差法結(jié)果圖像的灰度值.
首先,在大環(huán)境上。國家在文化產(chǎn)業(yè)振興規(guī)劃方面做了大量的努力和工作,與此同時,我國文化產(chǎn)業(yè)的發(fā)展也呈現(xiàn)出強勁的發(fā)展勢頭,這使得貴州獲得了乘勢而上的良好時機。國家旅游局發(fā)布的《2016年上半年旅游統(tǒng)計數(shù)據(jù)報告及下半年旅游經(jīng)濟形勢分析》顯示,今年上半年,我國旅游市場規(guī)模穩(wěn)步擴大,繼續(xù)領(lǐng)跑宏觀經(jīng)濟[4]。貴州省文化部門的改革也為貴州的文化產(chǎn)業(yè)發(fā)展帶來了很大的機遇。文化部門的體制改革誕生了一批大型文化企業(yè),這些文化企業(yè)在不斷地創(chuàng)造著文化生產(chǎn)力。
由式(1)可知,式(2)的分母小于1,對于含天空區(qū)域的有霧圖像,根據(jù)這種方法求得的透射率比實際的透射率小.當(dāng)透射率t越小時,去霧程度越厲害,復(fù)原后的圖像存在過度增強.因為在天空區(qū)域,暗通道先驗這一前提假設(shè)不成立,所以其去霧圖像的天空等明亮區(qū)域失真嚴重.
對于包含天空等明亮區(qū)域的霧天圖像,天空部分不滿足暗通道先驗這一前提假設(shè),根據(jù)這種方法求得的透射率并不準確,其比實際的透射率小,導(dǎo)致去霧程度過大,得到的去霧圖像色彩失真嚴重,并且在天空等明亮區(qū)域有明顯的細紋理.為了解決這種問題,使得到的透射率更接近于實際值,有良好的去霧效果,并且仍然采用基于暗原色先驗的去霧算法.因此引入容差參數(shù)K來修正透射率,使其更接近真實情況的透射率,減弱了天空等明亮區(qū)域產(chǎn)生的色彩失真現(xiàn)象.因此,添加容差參數(shù)修正后的透射率為:
重新定義去霧圖像為:
(1)對于|I(x)?A<k|的區(qū)域,代表天空等明亮區(qū)域,先驗假設(shè)不成立,在這類區(qū)域用基于暗原色先驗的去霧算法得到的透射率不準確,其值需要修正;
(2)而對于|I(x)?A>k|的區(qū)域滿足暗原色先驗這一假設(shè),所得透射率不需修正.
在本文中,K的取值為:K=50.引入容差機制主要是對原算法的一種補充和擴展,仍然以暗原色先驗這一假設(shè)為基礎(chǔ),使之前的算法的應(yīng)用范圍更具有魯棒性,在不同亮度情況下可以獲取更佳的透射率.引進容差機制主要是對天空等明亮區(qū)域進行去霧的一種弱化效果,因為該區(qū)域的暗原色像素值接近于大氣光強A,通過這種方法,使其去霧力度降低,從而去霧效果更為真實,可以很好的改善天空區(qū)域的顏色失真現(xiàn)象.
如圖5所示,加入容差機制后對圖5(a)有霧圖像進行去霧,得到的透射率被修正,圖5(b)透射率圖更為精細,圖5(c)復(fù)原后的圖像沒有明顯的白邊,天空區(qū)域的色彩失真有所改善,波浪狀的細紋消失,有著很好的去霧效果.
圖5 容差參數(shù)去霧算法
在估計大氣光A值時,其求取的原則是:在暗通道圖中找出前0.1%大小的灰度值,將其映射到輸入的霧天圖像中得到對應(yīng)的像素點,并將這個點對應(yīng)的最大值作為大氣光強A的預(yù)估值.若選取的亮度最大值點的像素值過大,接近于255,即大氣光估計值接近255,復(fù)原后的圖像色彩會有一定程度的失真[11,12].
但是當(dāng)所估計的大氣光強A的值接近于255,如圖6所示,圖6(a) 中有霧圖像的大氣光強估計值A(chǔ)=255,由式(4)可知,將會導(dǎo)致透射率t過小,對有霧圖像的去霧程度偏大,所以在圖6(b)的復(fù)原圖像中會出現(xiàn)部分失真.
圖6 大氣光強增大的圖像去霧
為避免獲得的大氣光估計值過高,在本文中設(shè)置了一個大氣光閾值MaxAtomLight,令其MaxAtomLight=220,其如式(5)所示:
在式(5)中,當(dāng)大氣光強A大于閾值220 時,其大氣光強等于閾值;當(dāng)大氣光強A小于閾值220 時,其值保持不變.對大氣光強值進行修正后,如圖7所示,利用改進的算法對圖7(a)有霧圖像進行去霧處理,其結(jié)果如圖7(b)所示.
圖7 大氣光強修正的圖像去霧
采用暗通道原理對有霧圖像進行圖像復(fù)原,復(fù)原輸出的圖像看起來都不太明亮[13].為了解決這個問題,文中利用自動色階算法來調(diào)節(jié)輸出圖像的色彩純度,使復(fù)原圖像看起來更加自然.自動色階算法的具體實現(xiàn)步驟:
(1)統(tǒng)計圖像中3 個通道的直方圖;
(2)計算出圖像中像素值兩端的極限值,確定像素的上限和下限;
(3)構(gòu)建對應(yīng)的映射表,按相應(yīng)比例對其他的像素值進行線性處理.改進后的算法流程圖如圖8所示.
圖8 改進后流程圖
為驗證算法的實用性和有效性,本文設(shè)計圖像去霧軟件來實現(xiàn)多種復(fù)原圖像的算法,去霧算法種類分為3 種:傳統(tǒng)去霧、導(dǎo)向濾波、改進后的去霧算法.設(shè)置可調(diào)參數(shù):濾波核和大氣光強值,可根據(jù)輸入的有霧圖像特征進行調(diào)節(jié).驗證流程如圖9所示.
圖9 驗證流程
從主觀上進行去霧效果評價,可以看出選擇傳統(tǒng)暗原色先驗去霧算法進行去霧,天空區(qū)域顏色失真有色斑出現(xiàn);選擇導(dǎo)向濾波算法進行去霧,整體圖像較灰暗;選擇改進后的算法進行去霧,去霧效果最好,并且可以顯示所選擇的去霧算法耗費的時間.在去霧過程中用戶可根據(jù)具體的霧天圖像特征對參數(shù)大氣光強和濾波核大小進行相應(yīng)的調(diào)節(jié),從而達到更好的去霧效果.至于對比度,本文算法與傳統(tǒng)暗原色去霧算法和導(dǎo)向濾波算法在整體上相當(dāng),但是本文算法在細節(jié)恢復(fù)上要好些.圖10–圖12的示例圖中,三者在局部的對比度差異較為明顯.在圖像中人物和復(fù)雜的鋼鐵支架部分經(jīng)過本文改進去霧算法后的圖像中細節(jié)更為清晰,對比度更高.
圖10 傳統(tǒng)暗原色去霧
圖11 導(dǎo)向濾波去霧
圖12 改進后去霧
通過主觀分析本文改進算法能有效去除霧氣對場景的影響,增加圖像的清晰度,圖像能見度有了明顯改善,有霧圖中一些場景信息經(jīng)去霧后得到很好的恢復(fù),顏色也保持了場景原本的顏色,圖像去霧效果十分顯著.但是主觀評價帶有一定的色彩性和人為因素的干擾,所以本文通過圖像的均值、方差和清晰度進行客觀的評價.其中,均值能反應(yīng)圖像的亮度和增強效果;方差能反映圖像的對比度,清晰度則直接能反應(yīng)圖像的清晰程度,清晰度越大圖像就越清晰.其公式如式(6):
其中,F表示清晰度,a×b表示圖像的大小,ΔIx和ΔIy像素點在X,Y方向上的差分.計算結(jié)果如表1.
表1 各評價指標結(jié)果
根據(jù)客觀數(shù)據(jù)評價結(jié)果顯示,比較3 種算法在均值、方差、清晰度的數(shù)值,可以明顯看出改進后的算法均值最大,證明圖像的增強效果明顯增加;方差值最大表明圖像的灰度層級分散,則對比度明顯變大;清晰度值最大直接表明了改進后算法能夠明顯增強圖像的清晰程度.
本文對基于暗原色先驗的去霧算法進行了研究,引入容差參數(shù)減弱了天空區(qū)域失真的現(xiàn)象,設(shè)置可調(diào)參數(shù)優(yōu)化了算法的適應(yīng)性,取得了一些研究成果,但是由于能力與時間的限制,本文的算法仍有部分內(nèi)容可待進一步研究討論.例如容差參數(shù)的確定.對于包含天空等明亮區(qū)域的霧天圖像,其不滿足暗通道先驗,引入容差參數(shù)K來修正透射率,但是該值是人為手動設(shè)置的,對于不同的有霧圖像其適合的容差參數(shù)不一致,如何使不同的有霧圖像自動匹配合適的容差參數(shù),這個問題可待進一步研究.