史佳霖,劉鵬,張?zhí)煲恚呑u(yù)軒,王彩霞
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
隨著社會(huì)發(fā)展和城市化進(jìn)程的快速推進(jìn),城市霧霾日益普遍。在數(shù)據(jù)處理方面,霧霾影響計(jì)算機(jī)視覺(jué)系統(tǒng)的數(shù)據(jù)采集。在霧霾天氣下,由于光線散射和光線吸收的影響,圖像的對(duì)比度和飽和度較低,色彩失真嚴(yán)重,導(dǎo)致采集到的圖像質(zhì)量下降。因此,開(kāi)發(fā)一種簡(jiǎn)單、高效的圖像去霧方法成為當(dāng)務(wù)之急,這對(duì)計(jì)算機(jī)視覺(jué)領(lǐng)域的未來(lái)研究具有重要意義。
當(dāng)前,圖像去霧方法主要可以分為兩種類型:基于增強(qiáng)的方法和基于復(fù)原的方法。其中,基于增強(qiáng)的方法是使用圖像處理算法對(duì)原始圖像進(jìn)行去霧處理,以圖像本身為基礎(chǔ)進(jìn)行除霧;而基于復(fù)原的方法則是基于物理模型進(jìn)行去霧,通過(guò)對(duì)原始數(shù)據(jù)進(jìn)行解析來(lái)還原真實(shí)圖像。
圖像去霧是一種通過(guò)應(yīng)用圖像增強(qiáng)算法來(lái)消除圖像受霧氣影響而產(chǎn)生的降質(zhì)效應(yīng)的方法。該方法不是針對(duì)霧氣本身進(jìn)行研究,而是利用圖像處理算法來(lái)增強(qiáng)圖像的清晰度和對(duì)比度以去除霧氣的影響。通常,圖像增強(qiáng)算法可以分為兩類:全局增強(qiáng)和局部增強(qiáng)。
全局增強(qiáng)算法包括直方圖均衡化、小波分析和Retinex 算法[1]等,這些方法廣泛應(yīng)用于各種場(chǎng)景,包括嵌入式系統(tǒng)中[2]。局部增強(qiáng)算法則包括局部直方圖均衡化、局部對(duì)比度增強(qiáng)和局部方差增強(qiáng)等方法,它們針對(duì)圖像中特定局域的區(qū)域進(jìn)行增強(qiáng),可以得到更加優(yōu)良的效果。
圖像復(fù)原是一種利用大氣散射物理模型的去霧技術(shù),該技術(shù)利用降質(zhì)模型對(duì)霧天下的圖像進(jìn)行建模,并采用參數(shù)估計(jì)方法實(shí)現(xiàn)圖像的恢復(fù)。目前已有多種基于不同原理的圖像復(fù)原方法,包括基于偏微分方程[3]、基于深度關(guān)系[4]和基于先驗(yàn)信息的圖像復(fù)原方法。
根據(jù)大氣散射模型[5],要想還原出一個(gè)清晰的真實(shí)景象,就必須先計(jì)算出對(duì)應(yīng)景象的整體大氣亮度和透射分布。基于暗通道先驗(yàn)的去霧算法是目前一種簡(jiǎn)單有效的估算全局大氣光和透過(guò)率的方法。但是,暗通道先驗(yàn)算法在處理室外圖像的天空區(qū)域時(shí)存在不適用的問(wèn)題,可能導(dǎo)致在大氣散射場(chǎng)景中,去霧算法中的透射率和大氣光照估計(jì)不準(zhǔn)確,進(jìn)而引發(fā)顏色失真和偏移等現(xiàn)象[6],同時(shí)還可能導(dǎo)致去霧圖像整體亮度偏暗。因此,文章提出了一種基于二進(jìn)制掩模的改進(jìn)天空區(qū)域識(shí)別,改善了基本的暗通道先驗(yàn)算法的兩個(gè)問(wèn)題:一是針對(duì)原始算法濾波器易產(chǎn)生塊狀現(xiàn)象和光暈效應(yīng)的問(wèn)題,提出一種隨著圖像大小變化而調(diào)整窗口大小的濾波器來(lái)解決問(wèn)題;二是針對(duì)已有的天區(qū)提取算法在處理含天區(qū)影像時(shí)失效的缺陷,研究基于天區(qū)影像的天區(qū)自動(dòng)辨識(shí)算法,并根據(jù)辨識(shí)的結(jié)果對(duì)整體大氣亮度及透射率的下界進(jìn)行修正。
1975 年,Mccarthney 等人[7]提出了一個(gè)適合于圖像去霧處理的空氣散射模型,該模型能較好地描述圖像去霧的過(guò)程。根據(jù)大氣光在霧天退化過(guò)程中傳輸?shù)奈锢硖匦钥梢杂靡韵鹿奖硎緸椋?-7]:
其中,I(x)表示有霧圖像;J(x)表示去霧后的圖像;場(chǎng)景輻射中大氣傳輸過(guò)程中的透射率用t(x) 表示;目標(biāo)輻射信息的直接衰減用J(x)t(x)表示,它反映了目標(biāo)電磁波信息通過(guò)傳輸介質(zhì)后到達(dá)傳感器的能量;A表示大氣光,大氣光經(jīng)過(guò)衰減后到達(dá)傳感器的能量用A(1 -t(x)) 表示。假設(shè)空氣是均勻的,而電磁波是均勻傳播的,透射率t表示為[7]:
其中,t≤1;β是大氣散射系數(shù);d(x)是場(chǎng)景深度。上式表明場(chǎng)景的輻射值隨距離呈指數(shù)衰減[8]。
暗通道先驗(yàn)[6]是通過(guò)對(duì)多幅室外無(wú)霧圖像的研究總結(jié)而來(lái)的規(guī)律。在這種無(wú)霧的戶外影像中,大多數(shù)非天空區(qū)域的像素至少有一個(gè)色彩通道的值偏低,近似于零,而該區(qū)域的像素亮度值偏低。對(duì)于任意圖像J,暗原色通道通過(guò)下式描述[7]:
其中,Jdark表示暗通道;Jc是J的顏色通道;Ω 表示以一個(gè)像素為中心的窗口。該式包含了提取R、G、B三個(gè)通道最小值與最小值濾波處理兩層計(jì)算,實(shí)驗(yàn)觀察表明,對(duì)于絕大多數(shù)戶外無(wú)霧的自然場(chǎng)景圖像J,除去天空區(qū)域以外,Jdark非常低且接近于0 值:Jdark→0。利用暗通道先驗(yàn),由大霧背景下的原始影像,可以得到估計(jì)透射圖和天空亮度值A(chǔ)[9]。
根據(jù)文獻(xiàn)[6]中暗原色先驗(yàn)理論得到:
將式(4)代入式(1)得到透射率t的預(yù)估值:
事實(shí)上,即便是晴朗無(wú)云的天氣,也會(huì)有極小的顆粒物,所以當(dāng)看到遠(yuǎn)方的東西時(shí),還是會(huì)感覺(jué)到迷霧的影響。同時(shí),霧還可以賦予圖片景深,使其更具真實(shí)感。所以,除霧時(shí),有必要保持一定的霧。這可以通過(guò)在式(5)中引入一個(gè)在[0,1]之間的因子ω,則式(5)修正為[7]:
式中,ω代表了霧的保留度,目的是使估計(jì)值接近于自然,這是因?yàn)榧词乖诖髿夥浅<儍舻那闆r下,大氣中仍然包含有水氣等成分。
大氣光值A(chǔ)可以借助暗通道圖從原始霧圖中求取。先提取暗通道圖像中前0.1%最亮的像素,即透射率最小的點(diǎn)。然后在原始圖像I(y)對(duì)應(yīng)的位置上找出最高亮度的點(diǎn),提取這些點(diǎn)的所有通道中最大的值作為大氣光值A(chǔ)的近似。最后,估計(jì)出了透射率t(x)和大氣光值A(chǔ),就可以利用有霧圖像模型來(lái)恢復(fù)圖像:
透射率t(x)接近零時(shí),由公式(1)可知J(x)t(x)接近零,容易引入噪聲。因此設(shè)置一個(gè)透射率下界t0,一般取0.1。
在暗通道先驗(yàn)算法中,考慮到真實(shí)場(chǎng)景中可能存在不符合暗通道規(guī)律的像素,例如圖像中的高亮建筑物或天空區(qū)域,這些像素的實(shí)際透射率如下:
因此,異常區(qū)域的實(shí)際透射率略高,而原算法估計(jì)的透射率較低,這使得在復(fù)原的過(guò)程中,色彩會(huì)發(fā)生很大的失真,從而影響到圖像的視覺(jué)效果。
針對(duì)在天空域中由于先驗(yàn)信息錯(cuò)誤而造成的色彩失真,文章中提出了一種基于天空區(qū)域識(shí)別的改進(jìn)算法。該算法的流程如下:首先利用區(qū)域窗口自適應(yīng)最小化濾波器獲得暗通圖像。然后實(shí)現(xiàn)對(duì)天空區(qū)域的自動(dòng)識(shí)別,并在此基礎(chǔ)上對(duì)天空區(qū)域進(jìn)行透射率和大氣光值的設(shè)定[10]。接著,通過(guò)引導(dǎo)濾波器對(duì)粗透射率圖進(jìn)行了細(xì)化。最后,利用大氣散射模型對(duì)原始圖像進(jìn)行復(fù)原。文章中采用Matlab2019b 平臺(tái)對(duì)霧天圖像進(jìn)行處理[11]。
在由He 等人[13]提出的暗通道先驗(yàn)去霧算法中(簡(jiǎn)稱He 方法),對(duì)于任何輸入的霧天圖像,采用固定窗口大小SZ(x)對(duì)RGB 三通道最小圖像進(jìn)行濾波。這種方法缺乏靈活性,且出現(xiàn)小黑區(qū)現(xiàn)象,降低了后續(xù)計(jì)算透射率和大氣光值的準(zhǔn)確性。另外,在實(shí)際應(yīng)用中處理的圖像大小也不均勻。為了根據(jù)圖像自身大小調(diào)整濾波尺寸模板,采用自適應(yīng)濾波窗口對(duì)不同大小的輸入圖像的RGB 三通道組成的最小圖像進(jìn)行濾波,自適應(yīng)獲得大霧天氣下不同尺寸模糊圖像的暗通道圖。暗通道實(shí)際上是取三個(gè)RGB 通道的最小值形成灰度圖像,再進(jìn)行最小值濾波[14]得到的。計(jì)算公式如下:
假設(shè)輸入的霧天圖像大小為M×N,這里設(shè)定的濾波窗口大小計(jì)算公式如下:
其中,α為調(diào)整參數(shù)[15],其經(jīng)驗(yàn)值為0.010;M表示圖像長(zhǎng)度;N表示圖像寬度。floor 將最終結(jié)果取整,它等同于計(jì)算窗口大小,這里參考了窗口。
圖1 展示了使用15×15 固定尺寸窗口和自適應(yīng)窗口,利用公式(3)對(duì)RGB 三通道最小圖像最小化處理得到的暗通道圖像。圖1(b)是濾波窗口大小為15×15 的暗通道圖像,而圖1(c)則顯示了改進(jìn)后的自適應(yīng)濾波窗口模板。很明顯,通過(guò)優(yōu)化后的自適應(yīng)窗口濾波模板可以獲得更清晰的暗通道圖像,并且大大地改善了原始圖像中較大的塊狀像素映射,場(chǎng)景中的信息也更加詳細(xì)。

圖1 自適應(yīng)窗口的最小濾波獲得暗通道圖像的比較
天空區(qū)域的三個(gè)顏色通道的亮度都很高,這與之前所使用的暗通道不符,透光率過(guò)低會(huì)導(dǎo)致霧后天空區(qū)域的顏色失真,因此需要調(diào)整天空區(qū)域的透光率以保證圖像恢復(fù)的準(zhǔn)確性。在正常拍攝條件下,天空一般位于圖像的上半部分,具有較高的亮度特征。文章中利用連通性和高亮度這兩個(gè)特征來(lái)判斷霧圖像[16]中的可疑天空區(qū)域。
通常天區(qū)具有很高的亮度值,所以可以設(shè)置一個(gè)亮度值門(mén)限Ti= 0.90Lmax(Lmax為最亮像素的灰度級(jí)),以便在影像中識(shí)別出所有亮度值的像素點(diǎn)。然后對(duì)各像素的亮度值與亮度門(mén)限進(jìn)行比較,得到對(duì)應(yīng)的二進(jìn)制掩模圖M[17]。具體的步驟為:遍歷霧圖像中與灰度圖相對(duì)應(yīng)的每個(gè)像素點(diǎn)X,如果像素的灰度值大于等于Ti,則將M(X)設(shè)為1,否則設(shè)為0。圖2 展示了幾種常見(jiàn)包含天空區(qū)域的圖片處理的結(jié)果。結(jié)果表明,經(jīng)過(guò)亮度閾值篩選后,二值圖像中可疑天空像素以白色[18]表示。

圖2 基于圖像亮度和連通性的可疑天空像素識(shí)別
基于圖像分割的算法,從值為1 的所有連接區(qū)域中消除位于圖像下部的連接部分。接下來(lái),設(shè)置閾值Tn(代表包含在連接區(qū)中的像素?cái)?shù)目)。
在一個(gè)二進(jìn)制掩碼圖中,用一個(gè)迭代數(shù)值1來(lái)遍歷全部連接的部分。若當(dāng)前連接區(qū)的像素?cái)?shù)少于Tn時(shí),將該區(qū)像素值設(shè)定為0,判斷該區(qū)為非天空區(qū)域。反之,則應(yīng)將其視為可疑的天空區(qū)域。在經(jīng)過(guò)上述處理的二進(jìn)制掩碼圖中,像素值為1 的連通區(qū)域被識(shí)別為可疑天空區(qū)域,而像素值為0 的連通區(qū)域被識(shí)別為非天空區(qū)域。本文采用自適應(yīng)濾波窗和圖像亮度分割方法對(duì)天空區(qū)域和非天空區(qū)域進(jìn)行分割。圖3 顯示了將該方法與暗通道算法對(duì)典型大霧天氣下的天空探測(cè)的比較結(jié)果。其中,二值圖像中的白色區(qū)域代表了天空區(qū)域。與暗通道圖像比較,文章中所提出的圖像辨識(shí)方法,其辨識(shí)結(jié)果與原影像的邊界相當(dāng)。而暗通道圖像并沒(méi)有很好地保留天空區(qū)域,導(dǎo)致識(shí)別結(jié)果與原始圖像存在較大的偏差。

圖3 利用亮度和暗通道連通性進(jìn)行天空探測(cè)的比較
文章中選擇了三種常用的高分辨率霧圖作為實(shí)驗(yàn)對(duì)象。如圖4 所示,將Tarel 算法、He 算法以及它們的改進(jìn)算法與文章中的算法進(jìn)行比較。

圖4 不同除霧算法比較
可以看出,文章的算法在處理天空區(qū)域時(shí)呈現(xiàn)出更自然、色彩柔和且失真較小的特點(diǎn),避免了He 算法的顏色過(guò)飽和問(wèn)題,并改善了Tarel 算法和He 改進(jìn)算法的去霧效果不足的問(wèn)題。
文章中利用平均梯度、信息熵和霧濃度對(duì)復(fù)原圖像進(jìn)行評(píng)價(jià)。平均梯度的計(jì)算公式為:
信息熵計(jì)算公式如下[19]:
霧濃度計(jì)算公式如下:
通常較高的平均梯度會(huì)使圖像更清晰。隨著信息熵的增大,圖像的細(xì)節(jié)特征也隨之增強(qiáng)。霧濃度越低,圖像中含有的霧越少[20]。
通過(guò)觀察圖4 的去霧結(jié)果可以得知,文章提出的算法與He 改進(jìn)算法有較高的相似度,無(wú)論在減色程度還是在保留細(xì)節(jié)方面都取得了顯著的效果[21]。綜合對(duì)比分析表1、表2 和表3 中的圖像質(zhì)量指標(biāo),本文算法在平均梯度和霧濃度上明顯減少,同時(shí)在信息熵上有較大提升。本算法對(duì)于含有天空區(qū)域的圖像具有優(yōu)秀的恢復(fù)效果。

表1 不同算法去霧結(jié)果的平均梯度

表2 不同算法去霧結(jié)果信息熵指數(shù)

表3 不同算法去霧結(jié)果的霧濃度指數(shù)
基于上述數(shù)據(jù),文章結(jié)合自適應(yīng)濾波模板和二值掩碼識(shí)別算法,根據(jù)圖像大小和天空中像素的不同特性,如連通性、亮度、位置和概率分布,提出了一種在天空區(qū)域進(jìn)行單圖像去霧的方法。該算法可以自動(dòng)調(diào)整透光率的下限,以適應(yīng)濃霧地區(qū)較高的透光率需求,并提出了估算不同地區(qū)大氣光值的方法。實(shí)驗(yàn)結(jié)果顯示,文章提出的方法對(duì)于包含有天空的圖像,有較好的恢復(fù)效果。提高了計(jì)算機(jī)視覺(jué)系統(tǒng)在工程應(yīng)用中的實(shí)用性。