楊 洋 宋春花
(太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院 山西 晉中 030600)
由于近幾年來(lái)工業(yè)生產(chǎn)技術(shù)的發(fā)展以及自然氣候的變化,霧霾天氣成為當(dāng)下社會(huì)一種越來(lái)越常見的天氣現(xiàn)象。在這種天氣條件下,室外的圖像采集會(huì)受到相當(dāng)大的影響,例如:出現(xiàn)所得到的圖像清晰度低、色彩飽和度嚴(yán)重不足、圖像細(xì)節(jié)丟失比較嚴(yán)重等問(wèn)題[1-2]。故為了提升圖像采集在惡劣天氣狀況下工作的實(shí)用性和準(zhǔn)確性,對(duì)霧天降質(zhì)圖像的去霧處理就變得尤為重要[3-4]。
目前,在圖像去霧處理方面,根據(jù)理論來(lái)劃分的去霧方式主要有兩大類[5],一種方法是基于圖像增強(qiáng)[6-8],這種方法突出了圖像的細(xì)節(jié)特征,增強(qiáng)了圖像的對(duì)比度,以此來(lái)實(shí)現(xiàn)圖像去霧,但是因?yàn)檫@種方法并沒有考慮圖像降質(zhì)的本質(zhì)問(wèn)題,使得去霧效果不理想,相對(duì)來(lái)說(shuō)容易導(dǎo)致圖像失真的情況發(fā)生;另一種方法是基于物理建模的圖像復(fù)原[9-10],這種方法從圖像降質(zhì)的本質(zhì)出發(fā),構(gòu)建了大氣散射模型,該模型通過(guò)假設(shè)法和先驗(yàn)的知識(shí)來(lái)反推未降質(zhì)的圖像,使得圖像的信息能夠得到很好的保存,運(yùn)用這類算法復(fù)原的圖像既真實(shí)又自然,所以受到了國(guó)內(nèi)外研究人員的高度關(guān)注,其中耳熟能詳?shù)慕?jīng)典算法就是暗通道先驗(yàn)算法。
本文提出一種高斯自適應(yīng)多尺度加權(quán)濾波去霧算法。針對(duì)單幅圖像的去霧,構(gòu)建了最小通道與高斯函數(shù)之間的關(guān)聯(lián),通過(guò)加權(quán)濾波的方式,對(duì)最小值濾波進(jìn)行多尺度濾波加權(quán)合并得到暗通道圖像,由于暗通道圖像能反映霧濃度信息,結(jié)合高斯函數(shù)模型,將其中的標(biāo)準(zhǔn)差轉(zhuǎn)化為標(biāo)準(zhǔn)差變量,自適應(yīng)調(diào)整透射率從而得到粗糙透射率;之后將得到的粗糙透射率進(jìn)行多尺度的引導(dǎo)濾波,并且加權(quán)合并得到最終優(yōu)化的透射率;最后結(jié)合加權(quán)大氣光強(qiáng)并依據(jù)大氣散射模型對(duì)圖像進(jìn)行去霧復(fù)原處理。本文的去霧算法合理地解決了高亮、云霧、光照不均勻區(qū)域等問(wèn)題,同時(shí)去霧之后的圖像有著更好的、更加清晰的圖像對(duì)比度,去霧精確性強(qiáng)、魯棒性高,去霧效果好。
在計(jì)算機(jī)圖形和計(jì)算機(jī)視覺學(xué)方面,目前,用于有霧圖像處理的最廣泛使用的方法是McCartney等提出的大氣散射模型。該模型的公式如下:
I(x)=J(x)t(x)+A[1-t(x)]
(1)
式中:x表示的是圖像的像素點(diǎn)坐標(biāo);I(x)表示拍攝采集到的有霧圖像;J(x)表示去霧后所得到的圖像;t(x)表示透射率;A表示大氣光強(qiáng)值。
t(x)=e-βd(x)
(2)
式中:d(x)表示場(chǎng)景深度,即場(chǎng)景到圖像采集系統(tǒng)的距離;β表示介質(zhì)散射系數(shù)。從參數(shù)中可以看出,去霧后的圖像、透射率和大氣光強(qiáng)為三個(gè)未知變量,由此可以看出大氣散射模型去霧的關(guān)鍵在于通過(guò)相關(guān)方法對(duì)透射率的計(jì)算和大氣光強(qiáng)的估算。式(2)中由于圖像景深信息很難獲取,透射率的獲取難度很大,因此,提出的暗通先驗(yàn)算法提供了新的思路。
He等觀察并統(tǒng)計(jì)了5 000幅室外無(wú)霧圖像,提出了經(jīng)典的暗通道先驗(yàn)理論,使用式(3)來(lái)表示。
(3)
式中:Jc(y)表示某個(gè)像素值的通道;Ω(x)表示以x為中心的確定半徑的方形濾波窗口。由此提出了暗通道先驗(yàn)理論:
Jdark(x)→0
(4)
假設(shè)獲得了大氣光值,根據(jù)式(1)和式(4),可以得到透射率:
(5)
式中:Idark(x)是有霧圖像的暗通道操作。由于此算法使用了最小濾波的方法,給暗通道圖像帶來(lái)明顯的塊狀效應(yīng),導(dǎo)致原始圖像的邊緣特征保存得不好,為了進(jìn)行優(yōu)化處理,He等采用soft—matting算法;此外,對(duì)于明亮區(qū)域(如天空等)的透射率估計(jì)太小的情況時(shí)有發(fā)生,從而在白色和天空區(qū)域,暗通道先驗(yàn)算法無(wú)法起到很好的效果。
關(guān)于上述問(wèn)題,本文提出一種自適應(yīng)的高斯多尺度加權(quán)濾波去霧算法。算法流程如圖1所示,該算法主要分為四個(gè)部分,第一個(gè)部分是通過(guò)多尺度最小值加權(quán)濾波得到暗通道圖像;第二部分是建立最小通道與高斯函數(shù)之間的關(guān)系,通過(guò)線性約束和自適應(yīng)標(biāo)準(zhǔn)差調(diào)整像素灰度值后,可獲得粗級(jí)透射率;第三部分將所得粗級(jí)透射率進(jìn)行多尺度加權(quán)引導(dǎo)濾波,來(lái)得到優(yōu)化透射率;第四部分將大氣光強(qiáng)進(jìn)行加權(quán)平均,改進(jìn)大氣光強(qiáng)的獲得值。最后,通過(guò)大氣散射的物理模型獲取除霧后的最終圖像。
圖1 算法流程
2.1.1多尺度最小值加權(quán)濾波
多尺度是對(duì)單尺度的概括,將不同尺度的圖像進(jìn)行最小值濾波,并結(jié)合線性加權(quán)的方法進(jìn)行處理,平衡了動(dòng)態(tài)范圍的壓縮和色彩保真度。選擇小、中、大三個(gè)不同尺度的標(biāo)準(zhǔn)差進(jìn)行加權(quán)平均,能夠起到很好的效果。
暗通道Idark(x)的計(jì)算公式:
(6)
式中:Idark(τ)(x)是第τ個(gè)尺度的暗通道圖像;ατ是對(duì)應(yīng)尺度的權(quán)重;n是尺度的個(gè)數(shù)。本文選擇了三個(gè)尺度來(lái)進(jìn)行最小值濾波,結(jié)果如圖2所示。
(a)尺度1 (b)尺度2
2.1.2高斯模型自適應(yīng)線性約束
假設(shè)大氣光已知,對(duì)式(5)進(jìn)行最小通道處理,可得到:
(7)
將式(7)化簡(jiǎn)可得到:
(8)
(9)
高斯函數(shù)可以通過(guò)調(diào)節(jié)標(biāo)準(zhǔn)差δ來(lái)調(diào)整像素的灰度值,當(dāng)δ值取較小的時(shí)候,可以估計(jì)出較小的透射率;反之,則可以估計(jì)較大的透射率。并且當(dāng)δ的值較小時(shí),遠(yuǎn)處的景象恢復(fù)得比較好而近處的景象太過(guò)于飽和;反之,近處的景象恢復(fù)效果好,而遠(yuǎn)處的景象去霧效果不夠明顯,霧度較大。效果如圖3所示。
(a) 原霧圖 (b) δ=0.3
故δ若取定值則無(wú)法同時(shí)保證近處景象和遠(yuǎn)處景象的去霧效果,因此本文采用了δ(x)來(lái)自適應(yīng)地調(diào)節(jié)標(biāo)準(zhǔn)差值的大小,即近處景象選取較大的δ的值,遠(yuǎn)處景象選取較小的δ的值。從而得到粗級(jí)透射率:
2.1.3多尺度加權(quán)引導(dǎo)濾波
假設(shè)引導(dǎo)圖像I與輸出圖像q是在像素點(diǎn)k為中心、半徑為r的窗口Ωr(k)內(nèi)進(jìn)行線性變換的關(guān)系為:
q(x)=akI(x)+bk?∈Ωr(k)
(10)
式中:ak與bk為常量。
為了克服這種問(wèn)題,本文利用了加權(quán)引導(dǎo)濾波的方式將代價(jià)函數(shù)轉(zhuǎn)化為:
(11)
(12)
bk=μp,r(k)-akμI,r(k)
(13)
式中:μ表示的是均值。將不同尺度窗口求得的值進(jìn)行平均化,然后將結(jié)果作為該像素點(diǎn)的ak與bk的值,得到:
(14)
式中:|Ωr(x)|是窗口Ωr(x)的像素個(gè)數(shù)。
對(duì)于得到的粗糙透射率圖像進(jìn)行多尺度加權(quán)引導(dǎo)濾波之后,可以得到優(yōu)化的透射率圖像,記作t(x)優(yōu),從而優(yōu)化了透射率,如圖4所示。
(a) 粗糙透射率 (b) 尺度4 (c) 尺度5
本文通過(guò)加權(quán)平均的方法來(lái)求大氣光強(qiáng)值A(chǔ),將圖像的光亮區(qū)域定義為U(x),像素的總數(shù)為M,光亮區(qū)域的像素總數(shù)為m。
暗通道Idark(x)的最大像素值可以表示為Imax(x),即:
(15)
光亮區(qū)域像素最大值的中值Umed為:
Umed=med[max(U(x))]
(16)
式中:med表示取中值。
改進(jìn)之后的加權(quán)大氣光強(qiáng)為:
A=nUmed+(1-n)Imax(x)
(17)
通過(guò)優(yōu)化后的透射率t(x)優(yōu)和大氣光值A(chǔ),使用式(1)可以對(duì)圖像進(jìn)行還原,得到如下公式:
(18)
為了防止分母無(wú)限趨近于0,因此利用t0來(lái)限制透射率的下限,令t0=0.1。
為了驗(yàn)證提出的去霧算法的有效性,本文利用了在單幅圖像去霧領(lǐng)域經(jīng)常用到的圖片進(jìn)行測(cè)試,同時(shí)與現(xiàn)有的經(jīng)典的去霧算法去霧之后的圖片進(jìn)行了對(duì)比和分析。實(shí)驗(yàn)所用到的軟件是MATLAB R2018b,操作系統(tǒng)為64位Windows 10,硬件采用的平臺(tái)是Intel(R) Core(TM) i7- 8750H CPU @ 2.20 GHz 2.21 GHz,8 GB內(nèi)存。
本文的算法與He等[11]、Tarel等[12]、Meng等[13]、Fattal等[14]、Ren等[15]的算法進(jìn)行了圖像效果的比較,實(shí)驗(yàn)結(jié)果如圖5所示。
(a) 原始霧圖
圖5(b)中He等的方法是暗通道先驗(yàn)去霧的結(jié)果,通過(guò)實(shí)驗(yàn)可以得出霧圖還原之后圖像色彩比較自然,基本上消除了霧霾的影響,但是對(duì)于明亮場(chǎng)景的圖像恢復(fù)時(shí)候會(huì)出現(xiàn)暗色調(diào)的情況,尤其是對(duì)于景深處,除霧效果不明顯,并且某些地方的細(xì)節(jié)會(huì)丟失。圖5(c)中Tarel等的方法是一種利用中值濾波和變形代替軟摳圖的基于快速濾波的去霧算法,雖然這種方法速度快而且薄霧圖像恢復(fù)的能見度很高,但是,這種方法的全局顏色和局部窗口的細(xì)節(jié)會(huì)存在失真的情況,較難處理有場(chǎng)景景深跳變的圖像,其中第一幅圖和第五幅圖的局部失真情況較為嚴(yán)重。圖5(d)中Meng等的方法是一種具有邊界約束的圖像去霧方法,通過(guò)實(shí)驗(yàn)結(jié)果來(lái)看,這種方法雖然能夠達(dá)到基本的去霧效果,但是這種方法犧牲了圖像的細(xì)節(jié)部分,從而使得復(fù)原后圖像顯得過(guò)于飽和,從而在顏色方面出現(xiàn)失真情況,其中第一、第二、第四和第五幅圖片可以明顯地看出色彩失真。圖5(e)中Fattal的方法是一種從單幅輸入圖像中估計(jì)傳輸函數(shù)的方法,此方法適用于不均勻的霧和薄霧圖像的處理,并且增加了圖像的能見度,但是難以恢復(fù)濃霧圖像和信噪比低的圖像,例如第四幅和第五幅圖,恢復(fù)效果極差。圖5(f)中Ren等的方法是通過(guò)多尺度卷積神經(jīng)網(wǎng)絡(luò)的方法來(lái)進(jìn)行圖像去霧處理,此方法達(dá)到了比較不錯(cuò)的去霧效果,而且去霧時(shí)間較快,但是所去霧的圖片光暈過(guò)于明顯,在細(xì)節(jié)方面處理不夠理想,對(duì)于比較暗的圖片進(jìn)行去霧處理光暈更加明顯,其中第一幅和第五幅圖片光暈非常明顯。本文方法從圖5(g)中可以看出,恢復(fù)后的圖像有很好地效果,細(xì)節(jié)豐富、亮度適中、色彩鮮明。近處的景象,細(xì)節(jié)能夠很好地體現(xiàn)出來(lái);遠(yuǎn)處的景象,譬如天空等遠(yuǎn)景,去霧之后所得圖像色彩效果也極佳。基本上恢復(fù)了圖像,達(dá)到了去霧的水平,顏色鮮艷處過(guò)飽和現(xiàn)象也有很好的解決。
主觀評(píng)價(jià)通常有一定的局限性,單純從圖像的處理程度來(lái)評(píng)價(jià)一個(gè)算法的優(yōu)劣性往往會(huì)有失偏頗,所以需要采用客觀分析的方法來(lái)進(jìn)行。現(xiàn)如今運(yùn)用最多的就是可見邊緣梯度法,通過(guò)可見邊集合數(shù)e、平均梯度r、飽和像素點(diǎn)的個(gè)數(shù)百分比σ還有運(yùn)行時(shí)間作為評(píng)價(jià)標(biāo)準(zhǔn)。其中:e和r的值能夠表示去霧效果,值越高,除霧效果越好;飽和像素點(diǎn)的個(gè)數(shù)σ和運(yùn)行時(shí)間t越小越好。e、r、σ可以用以下公式來(lái)表示:
(19)
(20)
(21)
(a) e值對(duì)比
從柱狀圖可以看出,關(guān)于可見邊e的計(jì)算,Ren等的算法與本文算法接近,而且優(yōu)于He等、Tarel等、Meng等、Fattal的算法,本文算法有著更高的對(duì)比度,細(xì)節(jié)的有效強(qiáng)度也更大;關(guān)于平均梯度r的計(jì)算,本文算法均優(yōu)于其他五種算法,平均梯度的值都比其他算法的值高,這說(shuō)明本文算法能夠更好地表征圖像的相對(duì)清晰度;關(guān)于飽和像素點(diǎn)的個(gè)數(shù)百分比σ的計(jì)算,可以得出本文算法優(yōu)于He等、Tarel等、Meng等、Fattal的算法,Ren等的算法在某些色彩鮮艷的圖片,例如:第一幅圖和第二幅圖,σ的值低于本文算法,此算法對(duì)于此類圖片處理效果優(yōu)于本文,但是其他類型的圖片σ的值大于本文算法處理后得到的值;關(guān)于運(yùn)行時(shí)間t,本文算法由于不同尺度濾波的次數(shù)較多,所以導(dǎo)致運(yùn)行時(shí)間方面會(huì)有所欠缺,時(shí)間較長(zhǎng),在五幅圖的處理中,所需要的處理時(shí)間大部分都長(zhǎng)于其他幾種算法。
針對(duì)于單幅圖像的去霧,本文提出一種優(yōu)化算法,經(jīng)過(guò)大量的實(shí)驗(yàn)結(jié)果證實(shí),此算法無(wú)論在主觀分析方面或是在客觀分析方面,去霧效果都優(yōu)于之前的算法,體現(xiàn)出了其去霧的優(yōu)勢(shì)。但是,優(yōu)勢(shì)是有的,缺點(diǎn)也存在,本文算法的去霧相比于其他算法所需時(shí)間要長(zhǎng)一些,如何在提升去霧效果的同時(shí)壓縮時(shí)間也是接下來(lái)的重要目標(biāo)與工作。