(華東交通大學(xué) 電氣與自動(dòng)化工程學(xué)院,江西 南昌 330013)
近年來(lái),很多學(xué)者關(guān)注到了單幅圖像去霧方法,這些方法利用單幅圖像中的先驗(yàn)信息或一些合理的假設(shè),實(shí)現(xiàn)了圖像去霧。這些主流的去霧算法一般可分為三類:對(duì)比度拉伸算法[1-2]、基于Retinex模型的圖像增強(qiáng)算法[3]和基于大氣散射模型的去霧算法[4-7]。Tan[4]通過(guò)比較對(duì)比度高低的先驗(yàn)、規(guī)整化馬爾科夫隨機(jī)場(chǎng)的處理結(jié)果,使局部對(duì)比度最大化來(lái)對(duì)圖像進(jìn)行去霧處理; Fattal[5]假設(shè)鄰域內(nèi)的色度和透射率是完全不相關(guān)的,所以特征不突出的地方實(shí)現(xiàn)結(jié)果較不理想;Tarel[6]等人通過(guò)中值濾波估計(jì)消散函數(shù),沒有單中值濾波器邊緣保持特性,導(dǎo)致圖像恢復(fù)在深度突變的地方殘留少量霧氣;He[7]等人第一次提出了暗通道先驗(yàn)去霧方法并達(dá)到了比較好的去霧效果。針對(duì)圖像去霧領(lǐng)域中存在的失真問(wèn)題,從透射率錯(cuò)誤估計(jì)的方面改進(jìn)了這個(gè)方法,并進(jìn)行了分析。本文設(shè)計(jì)了一種場(chǎng)景透射率估計(jì)方法,首先通過(guò)對(duì)場(chǎng)景透射率進(jìn)行粗估計(jì)來(lái)得到一種塊透射率;再利用上下文正則化對(duì)塊透射率進(jìn)行更深一步的細(xì)化處理來(lái)得到較準(zhǔn)確的場(chǎng)景透射率;最后再使用一種改進(jìn)的容差機(jī)制修正場(chǎng)景透射率錯(cuò)誤估計(jì)的區(qū)域來(lái)獲得一個(gè)更加準(zhǔn)確的透射率值。最終,利用大氣散射模型和準(zhǔn)確的透射率來(lái)處理有霧圖像達(dá)到一個(gè)去霧的效果。
大氣散射模型數(shù)學(xué)模型表達(dá)式如下:
I(x)=t(x)J(x)+(1-t(x))A
(1)
式中,I(x)為有霧圖像;J(x)為無(wú)霧圖像;A為全球大氣光;t(x)為場(chǎng)景透射率。可以用下式來(lái)表示t(x):
t(x)=e-βd(x)
(2)
式中,β為介質(zhì)消光系數(shù);d(x)為目標(biāo)距離攝像機(jī)的距離;t(x)、J(x)被稱為直接衰減項(xiàng)。
本文探究了輻射的約束,這種限制能夠變成透射率的約束,通過(guò)透射率的約束來(lái)獲得粗估計(jì)的塊場(chǎng)景透射率。
去霧過(guò)程就是沿著A到I(x)的指向來(lái)獲得無(wú)霧清晰圖像J(x)??梢?,往外面推,能達(dá)到更好的去霧效果[8]。通過(guò)下式可以看出線性外推:
(3)
顧及到場(chǎng)景輻射都是帶有約束條件的,所以
C0≤J(x)≤C1,?x∈Ω
(4)
式中,C0和C1為兩個(gè)與給定圖像相關(guān)的常向量。因此,對(duì)于任意一個(gè)像素點(diǎn)x,J(x)的外推必須位于由C0和C1邊界點(diǎn)組成的輻射立方體(Radiance Cube)中,從另一面來(lái)看,對(duì)t(x)的邊界約束可以從對(duì)J(x)的邊界約束變化而來(lái)。假設(shè)A是給定的,這樣可以得到任意像素點(diǎn)x的邊界約束[9]。然后,t(x)的下界能夠利用式(3)和式(4)來(lái)獲得,最后能夠推導(dǎo)下面的對(duì)于t(x)的邊界約束:
0≤tb(x)≤t(x)≤1
(5)
式中,tb(x)為t(x)的下界,由式(6)給出:
(6)
(7)
式中,ωx為x為中心的局部塊??梢钥闯鲞吔缂s束是一種應(yīng)用范圍更廣的先驗(yàn)知識(shí)[10]。
為了更好地保護(hù)圖像的邊緣信息,通過(guò)在約束上加一個(gè)權(quán)函數(shù)W(x,y)的方法來(lái)實(shí)現(xiàn):
(8)
式中,x和y為相鄰的點(diǎn)?;趚與y的約束,加權(quán)函數(shù)對(duì)其進(jìn)行了調(diào)節(jié)[11]。
(9)
整個(gè)圖像域中的加權(quán)上下文正則化積分致使t(x)上的上下文正則化[12]
(10)
其中的圖像域。 對(duì)于正則化,用L1范數(shù)的積分來(lái)代替L2范數(shù)的積分[13]。
為了便于計(jì)算,式(10)的離散化形式為
(11)
式中,I為圖像像素點(diǎn)的下標(biāo)索引的集合;ωij為加權(quán)函數(shù)W(x,y)的離散化。代替式(11)的求和秩序,又引入差分算子,因此可以進(jìn)一步重寫式(11)為
(12)
為了便于計(jì)算,對(duì)式(10)用離散化形式來(lái)進(jìn)行表述:
(13)
(14)
根據(jù)1.2節(jié)的分析,通過(guò)最小化以下的目標(biāo)函數(shù)可以得到優(yōu)化的透射函數(shù)t(x):
(15)
第一個(gè)是數(shù)據(jù)保真項(xiàng),用于測(cè)量t(x)和根據(jù)邊界約束得出的基于塊的透射率之間的保真度;第二個(gè)是t(x)的上下文約束[14]。
詳細(xì)地說(shuō),相較于變量分裂的方法,加了一個(gè)輔助變量uj(j∈ω)產(chǎn)生了一個(gè)約束項(xiàng):uj=Dj?t,則式(15)的目標(biāo)函數(shù)就變成了包含兩個(gè)參數(shù)的有約束的優(yōu)化問(wèn)題:
(16)
然后使用二次性的懲罰函數(shù)用于將約束項(xiàng)納入式(16),這樣一來(lái),有約束的優(yōu)化問(wèn)題就等價(jià)轉(zhuǎn)化為一個(gè)無(wú)約束的優(yōu)化問(wèn)題:
(17)
式中,β為權(quán)重;uj為輔助變量。當(dāng)β→∞時(shí),式(17)將收斂于式(15)。
通過(guò)第1.3節(jié),可以獲得精確的場(chǎng)景透射率,但是由于在某些區(qū)域錯(cuò)誤地估計(jì)了獲得的場(chǎng)景透射率,因此需要找到錯(cuò)誤的估計(jì)區(qū)域并對(duì)其進(jìn)行修正[15]。
選取學(xué)校的一處景點(diǎn)的霧天圖像進(jìn)行分析,得到含明亮區(qū)域的去霧效果圖如圖1所示。從圖1(a)可以看出,天空附近的顏色失真十分嚴(yán)重,但從圖1(b)中可以看到天空區(qū)域的顏色,相比之下失真得顯然不是那么嚴(yán)重,但仍然有輕微的顏色失真。這些失真明顯是由邊界約束得出的基于塊的場(chǎng)景透射率引起的[16]。
圖1 含明亮區(qū)域的去霧效果圖
當(dāng)有霧圖像I接近全局大氣光A時(shí),實(shí)際局部塊的灰度值要大得多,如果通過(guò)使用式(6)來(lái)獲得透射率,則計(jì)算得出的透射率值要低于實(shí)際尺寸。在這種情況下,復(fù)原后將會(huì)被擴(kuò)大許多倍,因此天空區(qū)域的失真現(xiàn)象便會(huì)出現(xiàn)[17]。
不考慮邊界約束的假設(shè),推導(dǎo)出的透射率的函數(shù)應(yīng)為
(18)
根據(jù)以上的分析可以得出,如果想要消除色彩失真的現(xiàn)象并恢復(fù)真實(shí)無(wú)霧的圖像,將灰度值調(diào)整為接近全局氣體光A的明亮區(qū)域的透射率,使得估計(jì)的透射率t與實(shí)際透射率更加一致。對(duì)于這種情況,引入一個(gè)定義為容差的參數(shù)K,對(duì)于|I-A| (19) 本文從網(wǎng)上隨機(jī)選取了兩幅有霧圖像并實(shí)景拍攝了南昌市兩處地標(biāo)性景點(diǎn)的有霧圖像,圖2和圖3展示了本方法與He[7]、Meng[20]、Tan[4]、Tarel[6]等人提出的算法對(duì)有霧圖像的去霧效果和處理的細(xì)節(jié)。從圖像去霧來(lái)看,本文算法的效果可以很好地應(yīng)對(duì)亮度較大的天空位置失真與細(xì)節(jié)上halo失真的問(wèn)題。由表1中客觀評(píng)價(jià)數(shù)據(jù)可知,信噪比和信息熵的值越大,代表圖像去霧的效果更好,且本文算法處理的結(jié)果在信噪比、信息熵和細(xì)節(jié)強(qiáng)度、色調(diào)還原、結(jié)構(gòu)信息4個(gè)指標(biāo)上均優(yōu)于He、Meng、Tan、Tarel等人提出的算法,本文算法對(duì)圖像去霧的效果更好。 本文去霧流程如下。 圖2 實(shí)驗(yàn)效果比較 圖3 本文算法去霧效果細(xì)節(jié)處理 算法八一廣場(chǎng)(圖2第三行)滕王閣(圖2第四行)信噪比信息熵細(xì)節(jié)強(qiáng)度色調(diào)還原結(jié)構(gòu)信息信噪比信息熵細(xì)節(jié)強(qiáng)度色調(diào)還原結(jié)構(gòu)信息He61.876511.76840.15370.53640.697663.860914.65760.18830.85360.7168Meng66.676412.34430.20890.62760.715669.830814.87630.21980.87470.7148Tarel61.138711.37890.13760.46780.618761.455714.45520.15450.65590.5465本文68.878913.98720.27670.69760.739873.987615.76370.27820.89760.7456 (1) 場(chǎng)景透射率的粗估計(jì)。 輸入:全球大氣光A、有霧圖像I、塊大小sz×sz和上邊界點(diǎn)C1、下邊界點(diǎn)C0; ① 透射率下邊界tb: (2) 透射率細(xì)化。 輸出:透射率細(xì)估計(jì)t。 ② 初始化β0,βmax,βrate; Repeat: 求ui,ti,β,ui+1,ti+1。 β=β×βrate,ui+1=ui,ti+1=tiUntil:β≤βmax。 (3) 透射率修正。 輸出:修正透射率ttrue。 ① 初步修正透射率: ② 改進(jìn)容差機(jī)制系數(shù)K。 利用復(fù)合函數(shù)對(duì)容差機(jī)制系數(shù)K進(jìn)行改進(jìn),再把改進(jìn)后的容差系數(shù)帶入上式,計(jì)算使得透射率的增長(zhǎng)趨勢(shì)趨向于平緩。 本文算法的優(yōu)點(diǎn)在于能夠比較好地對(duì)灰度值大于全球大氣光區(qū)域進(jìn)行處理,對(duì)于在全球大氣光區(qū)域灰度值接近的場(chǎng)景透射率進(jìn)行了修正,改進(jìn)了原有的容差機(jī)制的模型,結(jié)合原有的冪函數(shù)和對(duì)數(shù)函數(shù),構(gòu)成一個(gè)遞減復(fù)合函數(shù),確保了透射率和領(lǐng)域的透射率在補(bǔ)償程度上差別不大,從而確?;叶戎岛腿虼髿夤鈪^(qū)域相近有較好的處理效果。穩(wěn)步提升透射率,然后提高透射率的升高強(qiáng)度,這樣就能非常好地去除彩色失真。本文算法普遍性強(qiáng),很多霧化圖像都可通用,方法過(guò)程簡(jiǎn)單,容易實(shí)現(xiàn),不需要構(gòu)造新的參數(shù),使用方便,且能夠無(wú)失真地恢復(fù)出清晰圖像。2 仿真分析
3 結(jié)束語(yǔ)