基于暗通道先验的单幅图像去雾
基于暗通道先驗的單圖像去霧
參考文獻
 《Single Image Haze Removal Using Dark Channel Prior》
要點
本文提出了一個簡單而有效的圖像暗通道先驗,以去除單一輸入圖像中的霧霾。暗通道先驗是室外無霾圖像的一種統計。它是基于一個關鍵的觀測結果,即在室外無霾圖像中,大多數局部區域包含一些像素,這些像素在至少一個顏色通道中的強度非常低。利用該先驗知識和霧霾成像模型,可以直接估計霧霾的厚度,恢復出高質量的無霧霾圖像。
一、引言
本文中提出了一種新的暗通道先驗去霧方法。暗通道先驗是基于室外無霾圖像的統計信息。我們發現,在大多數不覆蓋天空的局部區域中,一些像素(稱為暗像素)在至少一個顏色(RGB)通道中通常具有非常低的強度。在朦朧的圖像中,通道中這些暗像素的強度主要由空氣光影響。因此,這些暗像素可以直接提供霧霾傳輸的精確估計。結合無霧成像模型和軟插值方法,可以恢復出高質量的無霧圖像,并生成良好的深度圖。
二、背景
在計算機視覺和計算機圖形學中,廣泛用于描述模糊圖像形成的模型是:
其中I是觀察到的強度,J是場景輻射度,A是全局大氣光,t是描述未散射到相機的光的部分的介質透射。去霧的目標是從I中恢復J、A和t。
在(1)中,右側的第一項J(x)t(x)稱為直接衰減,第二項A(1-t(x))被稱為空氣光。直接衰減描述了場景的亮度及其在介質中的衰減,而空氣光是由先前散射的光引起的,并導致場景顏色的變化。直接衰減是場景輻射的倍數失真,而空氣光是加性失真。
當大氣均勻時,透射比t可表示為:
β是大氣的散射系數,d是場景深度。該方程表明,場景輻射度隨深度呈指數衰減。如果我們能恢復透射,我們也能恢復到未知的深度。
幾何上,方程(1)意味著在RGB顏色空間中,向量A、I(x)和J(x)共面并且它們的端點共線(見圖)。投射t是兩個線段的比率:
其中c∈{r,g,b}是顏色通道索引。
三、暗通道先驗
暗通道先驗是基于對室外無霾圖像的以下觀察:在大多數非天空斑塊中,至少有一個顏色通道具有某些像素強度很低,接近于零。等價地,這種斑塊的最小強度接近于零。
為了正式描述這種觀察,我們首先定義了暗通道的概念。對于任意圖像J,其暗通道Jdark由下式給出:
其中,Jc是J的一個顏色通道,Ω(x)是以x為中心的局部圖。暗通道是兩個最小運算符的結果:括號內的對每個像素執行,如圖3b,括號外的是最小過濾器,如圖3c。最小算子是可交換的。
利用暗通道的概念,我們的觀察表明,如果J是室外無霾圖像,除天空區域外,J的暗通道強度較低,趨于零:
我們稱這種觀測為暗通道先驗。
暗通道中的低強度主要是由于三個因素造成的:a)陰影;b)彩色物體或表面;c)暗物體或表面
圖4ab示出了幾個室外無霧圖像和相應的暗通道,c是霧圖及其暗通道。
圖5a是觀測的所有5000個暗通道的強度直方圖,圖5b是相應的累積分布。我們可以看到暗通道中大約75%的像素有零值,90%的像素的強度低于25。這個統計數據給我們的暗通道提供了強有力的支持。我們還計算了每個暗通道的平均強度,并在圖5c中繪制了相應的直方圖。同樣,大多數暗通道的平均強度非常低,表明只有一小部分室外無霾圖像偏離了我們之前的圖像。
由于附加的空氣光,朦朧的圖像比透射比低的無霧圖像更亮。因此,朦朧圖像的暗通道在具有更密集的霾的區域中將具有更高的強度(參見圖4的右側)。從視覺上看,暗通道的強度是霧霾厚度的粗略近似值。
四、暗通道先驗去霧
4.1 估計透射
我們假設大氣光A是給定的。(第4.3節提出了一種自動估計A的方法。)首先通過以下公式對霧度成像方程(1)進行歸一化:
注意要獨立地標準化每個顏色通道。
進一步假設透射在局部圖Ω(x)中是常數。我們將這個傳輸表示為t~(x)。然后,我們計算了(7)兩邊的暗通道。等價地,我們把最小算子放在兩邊:
因為t~(x)是圖片中的一個常數,所以它可以放在min算子的外側。
由于場景輻射J是無霧圖像,J的暗通道由于暗通道先驗而接近于零:
由于Ac總是正的,這會導致:
將(10)代入(8)中,可以簡單地消除乘法項,估計投射t~:
如前所述,對于天空區域,暗通道先驗不是一個好的先驗。在朦朧圖像I中天空的顏色通常與大氣光A非常相似。有:
實際上,即使在晴天,大氣中也并非絕對沒有任何粒子。所以當我們看遠處的物體時,煙霧仍然存在。此外,煙霧的存在是人類感知深度的基本線索。這種現象稱為空中透視。如果我們徹底去除霧霾,圖像可能看起來不自然,我們可能會失去深度感。因此,我們可以選擇通過引入一個常數參數來為遠處的物體保留非常少量的霧。
這種修正的優點是自適應地為遠處的物體保留更多的霧。對于本文的所有結果,我們將其修正為0.95。
在(11)的推導中,暗通道先驗對于消除霾成像模型(1)中的乘性項(直接透射)至關重要,只剩下加性項(大氣光)。這種策略與以前的單圖像灰霾去除方法完全不同,后者嚴重依賴乘法項。相反,本文方法注意到加性項改變了局部暗像素的強度,在暗通道先驗的幫助下,乘性項被丟棄,加性項足以估計透射。我們可以進一步概括(1):
其中t1和t2不一定相同。使用推導(11)的方法,我們可以估計t2,從而分離加法項。該問題被簡化為乘法形式(J(x)t1),并且可以使用其他約束或先驗來進一步解開該項。加性項稱為面紗亮度,(13)可用于描述透過面紗或強光看到的場景。
圖6b顯示了使用(12)的估計傳輸映射。圖6d示出了相應的恢復圖像。可見,暗通道先驗在恢復色彩鮮艷、揭示低對比度物體方面是有效的。透射圖是合理的。主要的問題是有一些人工制造光環和塊。這是因為在一個圖中傳輸并不總是恒定的。下一節中,提出了一種軟摳圖方法來細化透射圖。
4.2 軟摳圖插值
我們注意到,霧度成像方程(1)具有與圖像消光方程相似的形式:
其中F和B分別是前景色和背景色,α是前景不透明度。霧霾成像方程中的透射圖正好是阿爾法圖。因此,我們可以應用matting的封閉式框架來細化透射。
用t(x)表示精細透射圖。將t(x)和t’(x)的向量形式表示為t和t’,我們最小化以下代價函數:
其中,第一項是平滑項,第二項是帶權重λ的數據項。矩陣L稱為拉普拉斯摳圖矩陣。其(i,j)元素定義為:
通過求解下列稀疏線性系統可獲得最佳t:
其中U是一個與L大小相同的單位矩陣。我們設置一個小的λ使t受到t~的軟約束。
在求解線性系統(17)之后,我們對t執行雙邊濾波,以平滑其小尺度紋理。圖6c示出了使用圖6b作為約束的細化結果。如我們所見,光暈和塊偽影被抑制。經過改進的透射圖能夠捕捉到銳利的邊緣不連續并勾勒出物體的輪廓。
4.3 估計大氣光
模糊圖像中最亮的像素被認為是最模糊的不透明像素。只有當天氣陰沉,陽光可以忽略時。在這種情況下,大氣光是場景的唯一照明源。因此,每個顏色通道的場景亮度由:
R是場景點的反射率,R<=1。霧度成像方程(1)可以寫成:
當像素處于無限距離(t≈0)存在于圖像中,最亮的I是最模糊的,它大約等于A。但在實踐中我們很少能忽略陽光??紤]到太陽光S,我們修改(18)和(19)為:
 
在這種情況下,整個圖像中最亮的像素可以比大氣光更亮。它們可以在一輛白色的汽車或白色的建筑物上(圖7d和7e)。
霧圖像的暗通道近似于霧密度(見圖7b)。因此,我們可以利用暗通道來探測霧霾最不透明的區域,提高對大氣光的估計。我們首先選取暗通道中最亮的0.1%像素。這些像素通常是最不透明的(由圖7b中的黃線限定)。在這些像素中,選擇輸入圖像I中具有最高強度的像素作為大氣光。這些像素位于圖7a中的紅色矩形中。請注意,這些像素可能不是整個輸入圖像中最亮的像素。
即使圖像中不存在無限遠處的像素,這種方法也能很好地工作。在圖8b中,我們的方法設法檢測出最混濁的不透明區域。然而,t在這里并不接近于零,因此這些區域的顏色可能不趨近A。幸運的是,t在這些最混濁的不透明區域很小,因此陽光的影響很弱。因此,這些區域仍然可以提供A的良好近似值。該圖像的霧消除結果示于圖8c中。
4.4 恢復場景亮度
利用大氣光和透射圖,可以根據(1)恢復場景亮度。但是當透射t(x)接近零時,直接衰減項J(x)t(x)可能非常接近零。直接恢復場景亮度J(x)容易產生噪聲。因此,我們通過下限t0限制透射t(x),即我們在非常密集的霾區保留少量霾。最后的場景亮度J(x)由下式給出:
t0的經典值為0.1。由于場景亮度通常不如大氣光明亮,因此去除霧霾后的圖像看起來很暗淡。所以我們增加了J(x)的曝光量來顯示。一些最終恢復的圖像如圖6e所示。
4.5 片大小
一方面,對于較大的尺寸,暗通道先驗變得更好,因為包含暗像素的概率增加。我們可以在圖9中看到:斑塊越大,暗通道越暗。另一方面,假設在片中的透射是恒定的就不太合適了。如果斑塊尺寸過大,深度邊緣附近的光暈可能會變得更強(圖10c)。
總結
以上是生活随笔為你收集整理的基于暗通道先验的单幅图像去雾的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: DebugView使用笔记
- 下一篇: php公钥模数,php – 如何从公共
