魯 丹,方 帥,2,邵 堃
1.合肥工業(yè)大學(xué) 計算機與信息學(xué)院,合肥 230009
2.中國科學(xué)院 安徽光學(xué)精密機械研究所,合肥 230031
在夜間,圖像同樣會受到霧、霾的影響而造成圖像清晰度降低,尤其夜間的環(huán)境光主要是來自人造光,這又會導(dǎo)致圖像明暗不一,因此需要一種新的算法來解決以上兩個問題以保證精確的圖像特征提取、目標分割與跟蹤、場景理解等計算機視覺任務(wù)。
近年來,國內(nèi)外學(xué)者對光照充足情況下(白天)霧天圖像復(fù)原技術(shù)進行了深入的研究并取得了很高的成就。依據(jù)是否依賴大氣散射模型可以將現(xiàn)有的圖像去霧技術(shù)分為兩類。一是基于非物理模型的方法,主要是使用圖像增強算法[1-6],比較典型和常用的包括Retinex算法、直方圖均衡化算法。另一種是基于模型的方法。目前,廣泛使用的是基于物理模型[7-11]的圖像復(fù)原算法。該算法使用大氣散射模型來求解復(fù)原場景的反照率。由于該模型的求解是一個病態(tài)的問題,因此對于單幅圖像復(fù)原處理需要依靠一定的先驗,來縮小解空間范圍,使其變成可解的優(yōu)化問題。針對夜間的圖像去霧,由于受到霧氣散射和人造光照的雙重影響,因而呈現(xiàn)出對比度低、亮度低、噪聲大、大氣光顏色失真等現(xiàn)象。因此傳統(tǒng)的針對白天圖像去霧的算法不適用于夜間的圖像去霧。目前針對夜間圖像去霧算法的研究屈指可數(shù),S.C.Pei和T.Y.Lee提出了一種針對夜間圖像去霧算法[12]。他主要是根據(jù)白天的霧天圖像大氣光偏灰色,而夜間的霧天圖像大氣光偏藍,通過顏色轉(zhuǎn)換預(yù)處理,將夜間的圖像轉(zhuǎn)換成白天大氣光偏灰色的圖像。然后按照白天霧天圖像成像模型復(fù)原出清晰圖像。最后使用雙邊濾波進行對比度校正。該算法在原圖信息已經(jīng)發(fā)生變化后(顏色轉(zhuǎn)換后)的基礎(chǔ)上進行復(fù)原,因此該算法不是完全基于物理模型復(fù)原的。
根據(jù)夜間圖像成像規(guī)律,本文提出了一種人造光照下的單幅霧天圖像復(fù)原算法。該算法不僅考慮到夜間不均勻的環(huán)境光,而且還對圖像進行光照補償,提高亮度。實驗結(jié)果顯示,本文取得了較好的去霧結(jié)果。
文獻[9-11]提出的去霧模型,被廣泛應(yīng)用于計算機視覺領(lǐng)域,通常描述如下:
I表示為霧天圖像,N表示清晰圖像,即去霧后的圖像,A表示環(huán)境光,x為像素的坐標,t(x)表示光線透射率。當(dāng)大氣中為均勻介質(zhì)時,t(x)表示如下:
公式(2)中,β為大氣介質(zhì)消光系數(shù),d(x)為場景深度。
暗原色先驗[11]是基于對戶外無霧影響的清晰圖片的統(tǒng)計而設(shè)計的實驗假設(shè):在無霧圖像的每一個塊中,至少存在一個顏色通道值很低。公式表示如下:
Jc表示J的一個顏色通道,Ω(x)表示以x為中心的局部塊。
夜晚環(huán)境下的人造光通常是由路燈、樓房、車輛照明燈發(fā)出的,因此它們的形狀是不規(guī)則的,并且亮度相對較高。如圖1:(a)中人造光主要來自路燈,(b)的人造光主要來自汽車,(c)中的人造光主要來自樓房。
圖1 夜間圖片
夜晚,大部分場景都偏暗,因此光源的亮度特性會格外突出,從而檢測光源可以從亮度信息著手。夜間大多數(shù)情形下,光源中心亮度最強并且接近白色,而向四周擴散時,顏色和亮度都會逐漸衰弱。利用這種特性可以檢測出光源,并且控制檢測光源區(qū)域面積的大小。本文統(tǒng)計了1 000幅帶人造光源(路燈、大廈燈光、車輛照明燈)的夜間圖像,將這些圖像適當(dāng)放大縮小,使得光源大小相同(光源占400個像素)。首先人工標定光源的中心點,然后找出距離中心點一個像素大小的周邊像素,分別計算這些像素的每個通道的均值,接下來找出距離中心點為兩個像素大小的周邊像素,計算均值,以此類推。
距離中心點的像素個數(shù)與各通道像素均值大小分布的折線圖如圖2。
圖2 距離中心點的像素個數(shù)與各通道像素均值大小分布的折線圖
距離中心點的像素個數(shù)與(1-最小通道值/最大通道值)均值的百分比分布的折線圖如圖3。
圖3 距離中心點的像素個數(shù)與(1-最小通道值/最大通道值)均值的百分比分布的折線圖
根據(jù)圖2的統(tǒng)計結(jié)果,光源區(qū)域(距離中心像素9個點,圖2中淺紫色線左邊的位置,面積大小約為400)及其鄰近區(qū)域(圖2中淺紫色線與深紫色線之間的位置)最大通道值始終很大,而遠離光源位置(距離中心點14個像素以外),最大通道值迅速降低。因此根據(jù)最大通道值的范圍可以檢測出光源區(qū)域及其鄰近區(qū)域。
公式表述如下:
由以上統(tǒng)計結(jié)果:ν取230,η取0.2即可。本文從Flickr選出了200幅夜間霧天圖像,并用公式(4)(5)來檢測光源。圖4中展示了部分實驗結(jié)果,根據(jù)統(tǒng)計結(jié)果與實驗結(jié)果圖可以看出,該算法不僅對簡單光源場景(如圖4(a))適用,而且對復(fù)雜光源場景(如圖4(b))同樣適用。該算法能夠快速無誤地檢測出光源,因此該算法具有一定的魯棒性。
圖4 光源檢測結(jié)果
與傳統(tǒng)的大氣散射模型相比,本文模型多考慮了兩個方面,一是不均勻的環(huán)境光,二是光照補償項。
由公式(1)得到傳統(tǒng)的去霧模型:
I(x)在本文中為夜間的霧天圖像,N(x)為直接對夜間圖像進行去霧后的圖像,即夜晚清晰圖像。該圖像明暗不均,遠離光源的位置亮度較低。為了得到光照均勻的復(fù)原圖像J(x),對N(x)進行光照補償,增加了光照補償項S(x),其中:
ρ(x)為光照補償系數(shù),離光源越近位置(圖中較亮的部分),補償系數(shù)越小,遠離光源的位置(圖中較暗的部分),補償系數(shù)越大。N(x)+S(x)表示對夜晚去霧后的圖像進行光照補償,得到光照均衡的清晰圖像J(x)(N(x)+S(x)=J(x)),該圖像對比度增強,明暗均勻。因此,本文算法的新模型為:
傳統(tǒng)的白天霧天圖像,光照主要來自無窮遠處射入的太陽光,因此場景中的環(huán)境光是均勻的,A是一個常量。而人造光源是以光源為中心向四周快速衰減式發(fā)散的,因此導(dǎo)致了夜晚圖像的環(huán)境光照不均勻,環(huán)境光A不能假設(shè)為常量。根據(jù)公式(4)(5)檢測到的光源,發(fā)現(xiàn)對于發(fā)光強度大的光源(離相機近的光源,或者是強光源),檢測出的面積多,對于發(fā)光強度弱的光源,檢測的面積小。如圖4中(b),前面的路燈發(fā)出的光對整幅圖影響比較大,因此檢測的面積比較大,后面路燈影響小,檢測的面積也小。
根據(jù)以上結(jié)論,本文提出了一種人造光照下的環(huán)境光A的求法。首先把每個檢測區(qū)域的像素點看成一個小的點光源,對于發(fā)光強度大的光源,它是由很多個點光源疊加成,因此計算后,它對圖像的光照影響大,而對于發(fā)光弱的光源,檢測的面積比較小,每點光源疊加后的影響自然也小。環(huán)境光A的表達式如下:
通常情況下,相機離光源有一定距離,光源的影響范圍又有一定的局限性,可以假設(shè)場景到相機與光源到相機的夾角為0,則:
其中d(xi)為相機到第i個點光源的深度,d(x)為相機到場景深度,則ΔD(xi)為場景到光源的深度。
由公式(9)可以看出,場景到點光源深度與場景到相機深度是有聯(lián)系的。結(jié)合公式(2)中場景的傳輸圖可得到:
天空區(qū)域也可能存在部分光,根據(jù)公式(8)ΔD→∞,A→0,為了防止A太小,給A一個下界a0的約束。同時考慮到ΔD的近似估計,當(dāng)距離光源位置較遠時,誤差就會加大,所以本文還將像素點的位置信息考慮到環(huán)境光A的計算中,A的最終表達式如下:
其中:
(xi,yi)為第i個點光源的坐標,(x,y)為圖像中每個像素點的坐標。
夜間圖像整體偏暗,即使有人造光存在,也只是部分位置光線充足,去霧后,整體視覺效果仍然不好,因此必須對它進行光照補償。光照補償?shù)乃枷胫饕牵拷庠吹奈恢?,補償程度較小,離光源較遠的位置,補償程度較大。因此它跟環(huán)境光A是成相反的趨勢。
公式(7)中,A,ρ都是關(guān)于t(x)的函數(shù),該公式是不可解的。因此,本文根據(jù)文獻[11,13]的算法得到的傳輸圖與復(fù)原圖像作為初始值,迭代一次來求得本文的傳輸圖和清晰圖像。
根據(jù)公式(7)可得:
算法1求J的算法
1.初始化:根據(jù)文獻[11,13]的算法得到t(0),J(0)
2.根據(jù)t(0),結(jié)合公式(10)、公式(11)求出A0,根據(jù)公式(12)求出ρ0。
夜間霧天圖像顏色存在失真,從而復(fù)原出的結(jié)果也會出現(xiàn)顏色失真(偏藍,偏綠等等),因此文中最后對復(fù)原結(jié)果進行了顏色校正。本文采用的算法是文獻[14]提出的Grey Edge假設(shè):場景中所有物理表面的平均反射的差分是無色差的(灰色的),用公式表示如下:
其中,fx(x)為場景中某物理表面上一點的顏色,X表示空間位置三維坐標;λ為光譜的波長,ω代表整個可見光范圍。e(λ)為光源的光譜分布??臻g中點X處物體表面的對波長為λ的光線的物理反射率為S(X,λ),成像設(shè)備(一般為相機)的感光函數(shù)則表示為:c(λ)=(R(λ),G(λ),B(λ))T。
為了得到更具有一般性的Grey Edge算法,閔可夫斯基范式也被引入到Grey Edge算法;同時為了減少噪音的影響,Grey Edge算法還引入了高斯平滑操作,并且將顏色導(dǎo)數(shù)推廣到更高的n階。于是得到了一個更為通用顏色恒常性計算的算法框架:
本文采用的硬件平臺是Pentium Dual-Core 2.70 GHz處理器,2.00 GB內(nèi)存,軟件仿真環(huán)境是MATLAB 7.0。
圖5 算法流程圖
圖5給出了本文算法流程圖,首先檢測出光源區(qū)域,然后用He的方案求出初始傳輸圖t(0)和J(0),根據(jù)初始傳輸圖求出環(huán)境光A0和光照補償系數(shù)ρ0,然后求出傳輸圖t1和清晰圖像J1。最后用EBCC對顏色進行修正。
圖6給出了本文的實驗結(jié)果,(a)為原圖,(b)為使用公式(4)(5)檢測的光源部分,(c)為環(huán)境光,它是以光源為中心向四周快速衰減的,(d)為光照補償系數(shù),呈現(xiàn)出與環(huán)境光相反的趨勢,(e)為復(fù)原結(jié)果,該結(jié)果整體偏紫,顏色失真,(f)為使用顏色恒常性對顏色修正后得到的復(fù)原結(jié)果,該結(jié)果比較接近真實場景。如臺階,修正后顏色為灰色。
圖6 實驗結(jié)果
為了測試本文算法的有效性,從圖片分享網(wǎng)站Flickr上檢索“nighttime haze”,選取了五張代表性的圖片進行測試,分別是:“Pavilion”、“Building”、“Bus”、“Yard”和“Street”,其中“Bus”是S.C.Pei論文里的原圖。
圖7中(a)為原圖,(b)為He算法復(fù)原的結(jié)果,從圖中可以看出整體亮度比較低,細節(jié)不清晰,顏色失真,復(fù)原結(jié)果跟原圖相差不大。(c)為S.C.Pei的實驗結(jié)果,相比于He的實驗結(jié)果,該方法部分細節(jié)得以顯現(xiàn),但是噪聲比較大,如“Bus”圖。同時,該方法是以一幅目標圖為標準進行顏色轉(zhuǎn)換的,目標圖的選取對圖像復(fù)原結(jié)果的影響也比較大。(d)是本文算法未進行顏色修正的實驗結(jié)果,從圖中可以看出,整體光照比較均衡,大部分細節(jié)得以顯現(xiàn),基本上消除了霧的影響,但是顏色失真比較嚴重。(e)為對原圖直接進行顏色校正的結(jié)果,直接校正后只是顏色發(fā)生了變化,亮度并未提高,細節(jié)仍然嚴重丟失。(f)為本文最終實驗結(jié)果,它同時保留了(d)與(e)的優(yōu)點,光照均衡,細節(jié)清晰,顏色接近真實場景。因此本文算法有更多的優(yōu)勢。
本文采用文獻[15]的圖像質(zhì)量評價方法,計算統(tǒng)計值。值越大,圖像質(zhì)量越好。本文計算了對于不同輸入圖像使用不同方法處理得到結(jié)果的統(tǒng)計值,如表1所示。
圖7 實驗結(jié)果對比
表1 ˉ×的統(tǒng)計結(jié)果(單位1E+3)
表1 ˉ×的統(tǒng)計結(jié)果(單位1E+3)
Pavilion Building Bus Yard Street Night haze 3.28 0.85 4.77 2.50 1.59 HE 2.85 0.79 4.11 2.04 1.45 S.C.Pei 2.90 1.93 4.80 3.76 3.27 EBCC 3.36 0.80 3.85 2.32 1.32本文方法7.32 4.67 5.42 5.65 5.22
從表1可以看出,He的方法處理后的圖像統(tǒng)計值低于原始圖像(Night haze)的統(tǒng)計值,這與圖7(b)中展現(xiàn)的其結(jié)果偏暗、細節(jié)較少且不清晰的現(xiàn)象吻合。S.C.Pei的方法處理的結(jié)果統(tǒng)計值較原圖有所提高,但提高幅度有限。這與圖7(c)中結(jié)果也比較一致。直接對原圖進行顏色校正后,統(tǒng)計值接近原圖值。因此對于人造光照下霧天圖像,本文算法能夠取得較好的去霧效果,圖像質(zhì)量顯著提高。
為進一步驗證本文算法的實用性,本文還人工采集了夜間霧天圖像進行測試,圖8為部分實驗結(jié)果。
圖8 采集圖片處理結(jié)果
從實驗結(jié)果可以看出,本文算法對于現(xiàn)實中復(fù)雜多樣的環(huán)境仍然能取得較好的效果。
本文針對人造光照下的霧天圖像成像規(guī)律,提出了一種新的模型。該模型不僅考慮到了人造光照導(dǎo)致環(huán)境光的不均勻,還且還考慮到對圖像進行光照補償,從而消除圖像的明暗不一,最后對復(fù)原后的圖像進行顏色修正處理,恢復(fù)真實色彩。在實驗部分給出了本文算法與相關(guān)算法結(jié)果的定量評價指標,定量地說明了本文算法具有更好的視覺質(zhì)量。
[1]王子須,于素萍.一種避免顏色失真的圖像增強算法[J].計算機工程與應(yīng)用,2013,49(12):106-109.
[2]席志紅,趙藍飛,刑代玉.基于格林函數(shù)的圖像增強算法[J].計算機工程與應(yīng)用,2013,49(15):204-209.
[3]方帥,楊靜榮,曹洋,等.圖像引導(dǎo)濾波的局部多尺度Retinex算法[J].中國圖象圖形學(xué)報,2012,17(7):748-755.
[4]詹翔,周焰.一種基于局部方差的霧天圖像增強算法[J].計算機應(yīng)用,2007,27(2):510-512.
[5]李拂曉,紀玉波.一種有霧圖像低對比度增強的方法[J].遼寧石油化工大學(xué)學(xué)報,2011,31(2):45-49.
[6]朱凱軍,周焰,蘭祖送.基于區(qū)域分割的霧天圖像增強算法[J].計算機測量與控制,2006,14(5):661-663.
[7]游謙,黎英,李玉成,等.基于雙邊濾波的RGB通道去霧算法研究[J].計算機工程與應(yīng)用,2014,50(6):157-160.
[8]孫洪偉,朱志超,方帥,等.一種提高霧天圖像清晰度的方法[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2011,34(1):83-86.
[9]Tan R T.Visibility in bad weather from a single image[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[10]Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.
[11]He K,Sun J,Tang X.Single image haze removal using dark channel prior[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2009:1956-1963.
[12]Pei S C,Lee T Y.Nighttime haze removal using color transfer pre-processing and dark channel prior[C]//19th IEEE International Conference on Image Processing,2012:957-960.
[13]He K,Sun J,Tang X.Guided image filtering[C]//LNCS 6311:ECCV 2010,2010:1-14.
[14]van de Weijer J,Gevers T,Gijsenij A.Edge-based color constancy[J].IEEE Transactions on Image Processing,2007,16(9):2207-2214.
[15]Jobson D J,Rahman Z,Woodell G A.The statistics of visual representation[C]//Proceedings of the International Society forOpticalEngineering VisualInformation,2002:25-35.