(東華大學(xué) 機(jī)械工程學(xué)院,上海 201620)
在日常生活中,視頻監(jiān)控系統(tǒng)對(duì)公共安全至關(guān)重要[1]。然而,在惡劣環(huán)境下,視頻監(jiān)視系統(tǒng)的一些功能無(wú)法正常發(fā)揮作用,包括物體檢測(cè)、物體跟蹤等。霧霾是影響較嚴(yán)重的惡劣天氣之一。在霧霾天氣條件下,生產(chǎn)、生活和科學(xué)研究將會(huì)受到較大影響。因此,對(duì)霧天圖像進(jìn)行處理,恢復(fù)視覺(jué)清晰自然、降低霧霾天氣對(duì)戶外圖像采集設(shè)備的影響具有重要意義和應(yīng)用前景[2]。
目前,圖像去霧技術(shù)可以簡(jiǎn)單分為兩類,基于圖像增強(qiáng)的去霧方法和基于圖像復(fù)原的去霧方法。圖像增強(qiáng)方法包括Retinex 方法[3]、直方圖均衡方法[4]等。這些方法通過(guò)增強(qiáng)感興趣區(qū)域的同時(shí)削弱其他區(qū)域以實(shí)現(xiàn)去霧效果?;趫D像增強(qiáng)的去霧方法只是提高對(duì)比度來(lái)滿足視覺(jué)效果,而沒(méi)有考慮霧度的實(shí)際影響,因此,在實(shí)際應(yīng)用中性能并不理想?;趫D像復(fù)原方法揭示了圖像去霧的原因并進(jìn)行了分析,根據(jù)大氣光散射對(duì)成像的影響建立物理模型,添加相應(yīng)的約束條件和估算模型中的必要參數(shù)來(lái)復(fù)原無(wú)霧圖像。
近年來(lái),基于先驗(yàn)的圖像去霧方法已成為除霧領(lǐng)域的最新技術(shù)。文獻(xiàn)[5]對(duì)戶外無(wú)霧圖像進(jìn)行分析總結(jié),提出了一種基于暗通道先驗(yàn)的去霧方法。但是,該方法沒(méi)有考慮到由景深引起的局部塊之間的透射差異,因此,除霧后的邊緣會(huì)丟失細(xì)節(jié)信息和出現(xiàn)光暈等問(wèn)題。此后,文獻(xiàn)[6]提出了基于引導(dǎo)濾波的圖像去霧方法,該方法能提高算法的運(yùn)行速度,但帶來(lái)了顏色過(guò)飽和和大氣光值估算不準(zhǔn)確的問(wèn)題。文獻(xiàn)[7]提出了一種基于邊界約束的圖像復(fù)原技術(shù),該方法通過(guò)對(duì)傳輸函數(shù)的固有邊界添加約束并結(jié)合加權(quán)的L1 范數(shù),從而求出圖像的透射率。該方法可以獲得較高的對(duì)比度,減弱圖像噪聲,但需要提高算法效率。文獻(xiàn)[8]利用顏色衰減先驗(yàn)建立了用于景深計(jì)算的線性模型。其模型參數(shù)可以通過(guò)監(jiān)督學(xué)習(xí)方法進(jìn)行評(píng)估,最后通過(guò)深度圖信息復(fù)原圖像。但是當(dāng)圖像中出現(xiàn)較明亮區(qū)域時(shí),大氣光值估算會(huì)出現(xiàn)錯(cuò)誤,且該算法處理后的圖像表面存在一層霧氣。文獻(xiàn)[9]提出了一種基于霧線先驗(yàn)的圖像去霧算法。該方法利用聚類等方式尋找霧線建立數(shù)學(xué)模型,根據(jù)霧線上每個(gè)像素點(diǎn)到大氣光值距離從而計(jì)算圖像的初始透射率。該方法能夠有效解決局部去霧算法中的塊效應(yīng)[10],但在該算法中僅使用顏色索引進(jìn)行聚類,因此估計(jì)的初始透射率不準(zhǔn)確,從而導(dǎo)致在去霧圖像中丟失諸如邊緣之類的細(xì)節(jié),圖像整體上也會(huì)出現(xiàn)顏色過(guò)飽和的問(wèn)題。
針對(duì)基于霧線先驗(yàn)算法中,圖像初始透射率估算不準(zhǔn)確和邊緣信息丟失等問(wèn)題,提出了基于邊窗盒子濾波和透射率修正的圖像去霧算法。首先,利用非局部總廣義變分(TGV)正則化[11]的方法估算圖像的初始透射率,以解決圖像中出現(xiàn)色彩過(guò)飽和的問(wèn)題,提高初始透射率的準(zhǔn)確性;然后,利用邊窗盒子濾波算法進(jìn)行優(yōu)化以保留邊緣細(xì)節(jié)信息[12];最后,根據(jù)求解出的參數(shù)復(fù)原出無(wú)霧圖像。通過(guò)對(duì)主客觀仿真實(shí)驗(yàn)進(jìn)行評(píng)價(jià)分析,驗(yàn)證了本文算法的有效性和可靠性,且本文算法能夠有效地消除霧氣對(duì)圖像的影響,解決了霧線先驗(yàn)算法中的色調(diào)偏移和細(xì)節(jié)信息丟失等問(wèn)題。
室外圖像通常會(huì)因?yàn)殪F霾、霧氣和煙霧等環(huán)境因素而發(fā)生降質(zhì),這些現(xiàn)象主要由于大氣中存在大量懸浮顆粒,大氣光經(jīng)過(guò)其發(fā)生散射,從而引起透射程度發(fā)生變化和圖像的分辨率降低。該過(guò)程由兩部分組成:一是入射光在傳播過(guò)程中的衰減;另一部分是大氣中環(huán)境光的成像[13]。
在圖像去霧復(fù)原方面,應(yīng)用廣泛的圖像去霧模型[14]定義為
式中:x為像素位置坐標(biāo);I(x)為輸入的霧天圖像的強(qiáng)度;J(x)是復(fù)原后無(wú)霧圖像的場(chǎng)景輻射度;A為大氣光值,通常假設(shè)為全局常量;t(x)為圖像透射率,表示在大氣光透射過(guò)程中相機(jī)可以捕獲的部分;J(x)t(x)描述了介質(zhì)中場(chǎng)景輻射的直接衰減,其原因是光線被懸浮粒子干擾而被散射;A(1?t(x))為經(jīng)過(guò)散射后的大氣光值。
文獻(xiàn)[9]提出了一種基于霧線先驗(yàn)的圖像去霧算法。觀察發(fā)現(xiàn)一幅清晰無(wú)霧的圖像可以由數(shù)百種不同的顏色表示,對(duì)顏色標(biāo)記后的圖像進(jìn)行聚類處理。結(jié)果顯示,不同顏色的像素在RGB 空間中形成不同的簇,對(duì)于確定的簇而言,簇上的像素點(diǎn)分布在整個(gè)圖像的不同位置。對(duì)有霧圖像的進(jìn)行聚類,發(fā)現(xiàn)不同顏色的像素點(diǎn)在RGB 空間中不再聚類成簇,而是形成一條霧線,這條線稱為霧線。在霧線三維模型中由其兩端的兩個(gè)參數(shù)確定,一個(gè)是大氣光值,另一個(gè)是場(chǎng)景輻射度。因此當(dāng)霧線確定之后,可以根據(jù)霧線上像素點(diǎn)的位置來(lái)估算每個(gè)像素點(diǎn)的透射率。霧線可以定義為
根據(jù)(1)式可得:
將霧線轉(zhuǎn)換到球面坐標(biāo)系為
式中:大氣光值A(chǔ)為球面坐標(biāo)系的球心;r(x)表示像素點(diǎn)到球心的距離,即 |I?A|;θ和φ分別表示經(jīng)度和緯度;在球坐標(biāo)系中,t(x)與r(x)有關(guān),不隨經(jīng)度θ和緯度φ的改變而變化。在無(wú)霧圖像中,如果像素點(diǎn)(x和y)的經(jīng)度和緯度相同,那么兩個(gè)像素具有相同的RGB值,則這些像素點(diǎn)處于一條霧線上,即:
因此,霧線上像素點(diǎn)的透射率可以表示為
透射率t(x)∈[0,1],當(dāng)t(x)取得最大值時(shí),此時(shí)rmax=||J(x)?A||,透射率可以表示為
如果霧線上包含清晰無(wú)霧的像素點(diǎn),那么該處為霧線上的最大點(diǎn),則rmax(x)可以表示為
因此圖像的初始透射率為
本文算法的流程如圖1所示,包括非局部TGV正則化處理、邊窗盒子濾波處理、弱暗通道處理3個(gè)部分。首先,對(duì)原始有霧圖像進(jìn)行處理得到弱暗通道圖,取該圖中亮度前0.1%的像素點(diǎn),將取得的像素點(diǎn)中亮度最大的像素點(diǎn)作為大氣光值;其次,利用聚類方法求得原圖中的霧線,從而確定圖像的初始透射率;然后,利用非局部TGV 對(duì)初始透射率正則化處理,以解決初始透射率估算不準(zhǔn)確的問(wèn)題;之后,利用邊窗盒子濾波對(duì)處理后的初始透射率進(jìn)行處理,以解決圖像在處理過(guò)程中出現(xiàn)邊緣紋理模糊以及細(xì)節(jié)丟失問(wèn)題,從而獲得更加準(zhǔn)確的透射率;最后,利用圖像去霧模型來(lái)恢復(fù)無(wú)霧圖像。
圖1 本文算法流程圖Fig.1 Flow chart of proposed algorithm
根據(jù)霧度形成模型,可以推斷出傳輸?shù)囊粋€(gè)邊界值為tnb(x),如(11)式所示
結(jié)合估算的初始圖像透射率和邊界值透射率,最終初始透射率為
由于存在噪聲影響,在初始傳輸圖中存在一些缺陷,并且在去霧的結(jié)果中出現(xiàn)光暈和塊效應(yīng)。故上述估計(jì)圖像的初始透射率不能直接用于復(fù)原始圖像。因此,使用非局部TGV 正則化[11]在原有的基礎(chǔ)上進(jìn)行進(jìn)一步估算,從而得到比較準(zhǔn)確的圖像傳輸圖。通過(guò)最小化以下成本函數(shù)得到比較準(zhǔn)確的圖像初始透射率
式中:第1項(xiàng)為數(shù)據(jù)項(xiàng),體現(xiàn)優(yōu)化透射率topt(x)和初始透射率tinit(x)的近似性。將L1范數(shù)代替平方歐幾里德范數(shù),以避免由于噪聲以及圖像顏色和深度之間的歧義性導(dǎo)致的異常值具有魯棒性。σ(x)為每個(gè)霧線中初始透射率的標(biāo)準(zhǔn)差。第2項(xiàng)為正則化項(xiàng),表示傳輸?shù)募僭O(shè)或先驗(yàn)。該假設(shè)為基于傳輸?shù)姆侄纹交褂梅蔷植慷ATGV 正則器構(gòu)造正則項(xiàng),其定義為
式中:w(x)=(ω1,w2)T為輔助變量;? (x)為以像素x為中心的區(qū)域;t(x)和t(y)為偏差;〈w(x),x?y〉代表內(nèi)積,為測(cè)量t的總偏差;α0和α1是用戶定義的支持函數(shù);T是各向異性擴(kuò)散張量,定義為
式中:和分別是梯度的歸一化方向和垂直方向;?I為圖像的梯度;γ和β分別是張量T的大小標(biāo)量和清晰度標(biāo)量。對(duì)于(13)式中的數(shù)據(jù)項(xiàng)的處理,使用原始對(duì)偶最小化算法進(jìn)行求解,即:
其中q1、q2和p是對(duì)偶變量。
圖2為非局部TGV 正則化算法與暗通道先驗(yàn)算法及基于霧線先驗(yàn)算法對(duì)透射率的估計(jì)結(jié)果比較。在基于暗通道先驗(yàn)算法的透射率圖中,建筑的邊緣出現(xiàn)了大量的光暈,同時(shí)出現(xiàn)了大量與霧度無(wú)關(guān)的細(xì)節(jié)信息。在霧線先驗(yàn)算法的透射率圖中,出現(xiàn)了色彩過(guò)飽和的現(xiàn)象。所提算法的透射率圖中很好地定義了對(duì)象邊界,消除了光暈,且透射率圖是分段平滑,其結(jié)果更貼近真實(shí)的透射率。
圖2 透射率估計(jì)結(jié)果比較Fig.2 Comparison of transmittance estimation results
在霧線模型中,通過(guò)聚類的方法來(lái)尋找霧線,從而估算圖像中每個(gè)像素點(diǎn)的初始透射率。霧線上的點(diǎn)分布在圖像的不同位置,因此該處理過(guò)程是非局部的。在該算法中,圖像的預(yù)處理只是用顏色去標(biāo)記圖像的信息,然后進(jìn)行聚類。一方面,圖像中的某些邊緣信息會(huì)因此丟失,從而獲得邊緣信息不完整的去霧圖像;另一方面,圖像部分區(qū)域內(nèi)的像素點(diǎn)具有相似性,因此在求解初始透射率的過(guò)程中,該區(qū)域內(nèi)的透射率也會(huì)相互接近,出現(xiàn)初始透射率估計(jì)不準(zhǔn)確。因此,采用邊窗盒子濾波來(lái)對(duì)初始透射率圖進(jìn)行優(yōu)化處理,從而獲得邊緣信息完整的無(wú)霧圖像。
邊窗盒子濾波將窗口的邊緣放在待處理像素的位置,將每個(gè)目標(biāo)像素視為一個(gè)潛在的邊緣[15],并在其周圍生成多個(gè)局部窗口,每個(gè)窗口用窗口的一條邊或一個(gè)角來(lái)標(biāo)記目標(biāo)像素。位于邊緣處的像素存在8個(gè)方向的側(cè)窗,邊上的側(cè)窗分別為上(U)、下(D)、左(L)和右(R);位于角上的側(cè)窗有西南(S W)、東南(S E)、東北(NE)和西北(NW)。邊窗盒子濾波可以表示為
式中:wij是基于內(nèi)核函數(shù)F的像素j的權(quán)重,它位于目標(biāo)像素i的附近;為屬于像素點(diǎn)i處的側(cè)窗;Nn為像素點(diǎn)i處有效側(cè)窗的數(shù)量;side={U,D,L,R,S W,S E,NE,NW}是側(cè)窗索引的集合。
通過(guò)在每個(gè)側(cè)窗中應(yīng)用濾波內(nèi)核函數(shù)F,可以獲得8個(gè)輸出,表示為
式中:θ=k×π/2,k∈[0,3],為邊窗和水平方向的夾角;ρ∈{0,r},r為邊窗的半徑。
對(duì)圖像進(jìn)行邊緣信息保留處理相當(dāng)于最小化邊緣處的輸入與輸出之間的距離,即濾波器輸出應(yīng)與邊緣處上的輸入相同或盡可能接近。因此,將輸入強(qiáng)度最小距離的側(cè)窗作為最終輸出,則邊窗盒子濾波可以表達(dá)為
式中:It為引導(dǎo)圖像;pt為輸入圖像;k為i附近的像素;為像素k的側(cè)窗;和分別為處的均值和方差;表示在中p的平均值;ε表示為防止過(guò)大的正則化參數(shù)。
為了更好地說(shuō)明邊窗盒子濾波的保邊能力,將邊窗盒子濾波和引導(dǎo)濾波[16]進(jìn)行仿真實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如圖3所示。圖3(b)為引導(dǎo)濾波優(yōu)化處理后的透射率傳輸圖,該圖的邊緣處存在光暈效應(yīng),且在標(biāo)記處缺失了必要的邊緣信息;圖3(c)為經(jīng)過(guò)引導(dǎo)濾波處理后的復(fù)原圖像,其存在明顯的色彩不真實(shí)現(xiàn)象;圖3(d)為經(jīng)過(guò)邊窗盒子濾波優(yōu)化的圖像透射率傳輸圖,細(xì)節(jié)信息明顯,無(wú)光暈現(xiàn)象和塊效應(yīng);圖3(e)為復(fù)原的原始無(wú)霧圖像,去霧效果好,結(jié)構(gòu)信息完整,圖像飽和度適中,視覺(jué)效果好。
圖3 邊窗盒子濾波與引導(dǎo)濾波效果對(duì)比Fig.3 Comparison of side window box filtering effect and guided filtering effect
在單幅圖像去霧算法中,對(duì)于大氣光值的確定,文獻(xiàn)[6]等人假設(shè)其是一個(gè)常量,具體做法是從暗通道圖中按照亮度的大小取前0.1%的像素點(diǎn),在這些位置中,在原始的有霧圖像中尋找對(duì)應(yīng)具有最高亮度點(diǎn)的值作為大氣光的參考值。通過(guò)這種方式選取大氣光參考值,會(huì)造成較大的偏差。當(dāng)霧天圖像中無(wú)可識(shí)別的天空區(qū)域,以及霧氣分布不集中分布時(shí),圖像的暗通道圖幾乎處于全暗狀態(tài),如圖4(b)所示,無(wú)法在暗通道中找出合理的像素點(diǎn)作為大氣光值。因此,對(duì)暗通道圖像進(jìn)行補(bǔ)償處理,得到弱暗通道圖[17],結(jié)果如圖4(c)所示。在弱暗通道圖中,取亮度前0.1%的像素點(diǎn),將取得的像素點(diǎn)中亮度最大的像素作為大氣光參考值。
圖4 暗通道圖與弱暗通道圖對(duì)比Fig.4 Comparison of dark channel diagram and weak dark channel diagram
為了更合理評(píng)價(jià)所提算法的去霧效果,在Windows7操作系統(tǒng)、Inter(R)Pentinum(R)CPU G2020 @ 2.90GHZ的環(huán)境下,利 用Matlab R2013b進(jìn)行去霧仿真實(shí)驗(yàn),分別從主觀和客觀兩個(gè)方面,將本文算法與當(dāng)前幾種比較主流的去霧算法進(jìn)行對(duì)比分析。其中主觀評(píng)價(jià)屬于定性評(píng)估,包括兩個(gè)方面內(nèi)容,細(xì)節(jié)對(duì)比和圖像整體評(píng)價(jià)。
首先驗(yàn)證所提算法在圖像邊緣信息保留處的有效性,將本文算法與文獻(xiàn)[6]和文獻(xiàn)[9]進(jìn)行細(xì)節(jié)對(duì)比。實(shí)驗(yàn)結(jié)果如圖5所示,第2、4和6行顯示了去霧結(jié)果的放大區(qū)域。通過(guò)對(duì)比后可以看出,本文算法在保留邊緣信息方面有著較好的處理效果,輪廓清晰可見(jiàn),無(wú)光暈以及偽影等現(xiàn)象。
圖5 細(xì)節(jié)區(qū)域的去霧效果對(duì)比Fig.5 Comparison of detailed regions dehazing effects
為了進(jìn)一步說(shuō)明本文算法在去霧整體方面的有效性和實(shí)用性,選取多張霧天圖像進(jìn)行驗(yàn)證分析,結(jié)果如圖6所示。圖6(b)為文獻(xiàn)[6]利用基于暗通道先驗(yàn)的圖像去霧算法的處理結(jié)果,其去霧不徹底,圖像局部還存在少量霧氣,圖像整體視覺(jué)效果偏暗。對(duì)于天空區(qū)域,出現(xiàn)了一定的塊效應(yīng)和色彩失真現(xiàn)象。圖6(c)為文獻(xiàn)[8]利用顏色衰減先驗(yàn)的圖像去霧算法,其去霧后的圖像存在一層輕微白霧,這主要是由于求解圖像的深度時(shí),利用合成的數(shù)據(jù)集去估算,與圖像真實(shí)的深度信息存在偏差所致,且在圖像邊緣處,細(xì)節(jié)信息不夠清晰。圖6(d)為文獻(xiàn)[9]利用霧線先驗(yàn)的非局部圖像去霧算法,從結(jié)果可以看出,去霧圖像出現(xiàn)了顏色過(guò)飽和與色彩偏移的問(wèn)題。在原圖中局部顏色較深的部分,去霧后圖像的該區(qū)域偏暗,且在景深處仍有霧氣。圖6(e)為本文算法處理后的結(jié)果,與之前的去霧算法相比,除霧程度高,視覺(jué)效果好,且圖像邊緣信息保留完整。
圖6 不同算法的去霧效果對(duì)比Fig.6 Comparison of dehazing effects with different algorithms
為了驗(yàn)證本文算法在量化評(píng)估方面的去霧效果,選取信息熵、運(yùn)行時(shí)間、峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)等去霧圖像客觀評(píng)價(jià)指標(biāo)對(duì)圖6進(jìn)行定量分析,實(shí)驗(yàn)結(jié)果如表1~4所示。圖像信息熵反映圖像的清晰度和信息量的指標(biāo),信息熵值越大,表示圖像越清晰,所包含的信息量越大,細(xì)節(jié)信息也越多。根據(jù)表1的信息熵結(jié)果可知,在整體上本文算法比其他算法更有優(yōu)勢(shì),視覺(jué)效果好。
PSNR反映圖像細(xì)節(jié)信息的完整度,峰值信噪比值越大,表示去霧后的圖像與原始圖像在結(jié)構(gòu)信息上越吻合。
式中:MSE表示為原圖與處理后圖像的均方差;MAXI數(shù)值一般為255。
表1 不同去霧算法復(fù)原圖像的信息熵Table1 Information entropy of restored images with different dehazing algorithms
表2 不同去霧算法復(fù)原圖像的PSNRTable2 PSNR of restored images with different dehazing algorithms
根據(jù)表2的結(jié)果可知,本文算法在去霧后圖像結(jié)構(gòu)信息較完整,受到噪聲影響少。
SSIM 用于衡量圖像結(jié)構(gòu)完整性。其值越大,表示去霧后的圖像與原始圖像的差距越小,圖像質(zhì)量就越好。
式中:μx、μy分別表示為圖像x和圖像y的均值;σx、σy分別表示為圖像x和圖像y標(biāo)準(zhǔn)差;C1、C2為常數(shù)。
表3 不同去霧算法復(fù)原圖像的SSIMTable3 SSIM of restored images with different dehazing algorithms
根據(jù)表3中的結(jié)構(gòu)相似性的實(shí)驗(yàn)結(jié)果可知,本文算法處理后的圖像在亮度、對(duì)比度和結(jié)構(gòu)上與原始圖像更加貼合,且無(wú)失真現(xiàn)象。根據(jù)表4中算法運(yùn)行時(shí)間的結(jié)果可知,本文算法處理圖片耗時(shí)較短,且優(yōu)于其他算法。
表4 不同去霧算法復(fù)原圖像的運(yùn)行時(shí)間Table4 Running time of restored images with different dehazing algorithms
本文算法針對(duì)霧線先驗(yàn)算法存在顏色過(guò)飽和、透射率計(jì)算不準(zhǔn)確等問(wèn)題,首先對(duì)霧線先驗(yàn)中初始透射率估算不準(zhǔn)確的情況,提出利用非局部TGV 正則化的方法,對(duì)初始透射率進(jìn)行改進(jìn)。經(jīng)過(guò)處理后的圖像初始透射率更加貼近真實(shí)情況,有效地改善了霧線先驗(yàn)算法中明亮區(qū)域色彩過(guò)飽和以及局部偏暗的問(wèn)題,提高了算法的實(shí)用性。然后,利用邊窗盒子濾波算法保留圖像邊緣信息的有效性,對(duì)改進(jìn)后的圖像初始透射率進(jìn)行優(yōu)化處理。處理后的圖像在細(xì)節(jié)上有著豐富的紋理信息,在邊緣處圖像無(wú)光暈及重影現(xiàn)象。實(shí)驗(yàn)結(jié)果表明,本文算法能夠有效保證圖像的去霧效果,同時(shí)解決了復(fù)原圖像在邊緣處信息丟失的問(wèn)題,提高了算法的可靠性;但本文算法中部分天空區(qū)域色彩視覺(jué)不佳,如何優(yōu)化天空區(qū)域的處理效果是以后需要重點(diǎn)研究的地方。