图像和视频的快速去雾算法研究
近年來,霧、霾天氣頻繁出現,在這種惡劣天氣條件下,物體的反射光會被大氣中的混濁介質吸收和散射,導致捕獲的室外圖像和視頻可見度低,細節模糊,色彩失真,嚴重影響圖像處理系統的性能。因此,圖像去霧算法的研究具有非常大的實際意義。視頻去霧算法對實時性要求極高,快速去霧算法的研究也極為重要。
國內外學者近年主要研究單幅圖像的去霧算法,視頻去霧算法的研究很少且不成熟,這是因為圖像去霧算法的復雜度較高,且處理時間較長。目前,最常用的去霧方法基于圖像增強理論,如直方圖均衡化、局部對比度增強、伽馬校正等。直方圖均衡化通過拉伸直方圖,來提高圖像的對比度[1],從而達到圖像去霧的目的。這種算法雖然簡單,實時性好,但是對比度增強力度相對較低。Tan[2]基于無霧圖像的對比度比有霧圖像要高的事實,通過最大化局部對比度實現了圖像去霧,但復原后的圖像容易產生色調偏移和顏色失真。其他去霧方法基于圖像復原理論,通過建立圖像退化模型來對有霧圖像進行復原。利用建立物理模型的方法雖然能得到理想的復原圖像,但通常需要場景深度或環境光等額外信息。Fatta[3]假設景物表面陰影和介質透射率局部不相關,利用獨立成分分析方法和馬爾科夫隨機場模型實現去霧,
但該方法對濃霧圖像的復原結果存在較大失真。Tarel等[4]采用中值濾波方法去除霧氣遮罩,但中值濾波器的性質會使復原圖像在景深發生突變的邊緣產生光暈效應。He等[5]提出一種基于暗通道先驗理論的單幅圖像去霧算法,假定在絕大多數非天空的局部區域里,某一些像素至少有一個顏色通道具有很低的值。文中還利用摳圖技術對透射率修正,使輸出圖像更加清晰自然。然而,對于圖像中較亮的區域,如天空和白色物體,這一假定并不成立。
對于視頻去霧,Oakley等[6]假定圖像中所有像素的場景深度相似,并從所有像素中減去相同的偏移值。Zhang等[7]首先估計出每一幀視頻序列的深度圖,然后利用空間和時間的相似性對深度圖進行修正。這些算法復雜度較低,但不適用于場景深度有變化的圖像。此外,傳統的視頻去霧算法運算時間較長,復原后的無霧視頻質量不高。因此,提出一種有效的實時視頻去霧算法有很大實際意義。
在本文中,基于信息丟失提出了一種實時圖像和視頻去霧算法。首先,利用改進的Patch Retinex White算法計算環境光。其次,通過最小化信息丟失估算出最優的透射率,并使用引導濾波[8]對透射率進行修正和細化,去除光暈和塊效應。對于視頻去霧方法,將RGB顏色空間轉換為YUV顏色空間,僅處理亮度(Y)分量,不對色度(U,V)分量做任何處理,以降低計算復雜度。結合物理模型以及求得的透射率和環境光,可以有效且快速地得到無霧圖像。
1 大氣散射模型有霧圖像的退化過程可以用大氣散射模型[4,6]表示。該模型由衰減模型[9]和環境光模型[10]兩部分組成,模型表達式為:
其中,x為圖像像素的空間坐標,I(x)是觀察到的有霧圖像,J(x)是去霧后的圖像,A表示環境光,t(x)表示透射率,用來描述光線通過傳輸介質到達相機的過程中沒有被散射的部分,t(x)和場景深度成反比,可以表示為:
其中,β為大氣散射系數;d為場景深度,即場景和相機之間的距離。如果能求出透射率,就可以得到場景深度。
圖像和視頻去霧去霧的目的就是根據已知的輸入圖像I(x)恢復出無霧圖像J(x),在此過程中需要首先估計出環境光A和透射率t(x),然后通過反解大氣散射模型得到輸出圖像J(x)。
1.1 估計環境光根據原始Patch Retinex White算法[11],環境光和圖像中最亮的像素點相對應。但是,當圖像中存在較亮的物體時,環境光的估計值不夠準確。本文采用改進的Patch Retinex White算法估計環境光。改進后的方法不再根據圖像中的最亮點來估計環境光,而是求圖像各個顏色通道的累積直方圖,取累計到某一個值P*N時對應的像素值作為環境光。其中P為百分值,實驗中取為1%~5%,N位圖像的像素總數。通過實驗結果可知這種簡單算法的魯棒性更好。環境光的估計值較準確,復原后遠處的濃霧區域不會過亮,近處的物體也不會很暗。本文中的實驗均是使用這種算法來估計環境光。
1.2 估計透射率通過增強的有霧圖像的對比度,可以得到清晰的無霧圖像。然而,由于過度增強,一些像素值會出現溢出現象,并被截斷為0或255。這將導致無霧霾圖像的信息丟失。通過最小化信息損失,可以找到最優的透射率。在極端的情況下,最佳的透射率不會產生任何信息丟失,對應的不等式是:
其中,Jc是無霧圖像J的一個顏色通道,Ω(x?)是以像素點x為中心的局部區域。本文假定在局部區域里,透射率是一個常量。在每個尺寸大小為15×15局部區域里,求出一個固定的透射率。結合上面的不等式和公式(1),可以得到兩個關于透射率的約束條件如式(5)、式(6)所示。
將這兩個約束條件進行合并,得到式(7)。
由于對比度和透射率成反比,透射率越小對比度越大,圖像越清晰。因此,最優的透射率是滿足公式(7)的最小值,如式(8)所示。
如果將霧全部去掉,圖像會因失去深度感并顯得不自然。因此,通過引入一個常量參數ω,可以保留遠處的少量霧氣。在本文試驗中,參數ω的值均取為0.95。
對于視頻序列,將有霧圖像序列的RGB顏色空間轉換為YUV顏色空間,不改變色度(U,V)分量,只對亮度(Y)分量進行去霧處理。根據實驗結果我們發現,利用這種方法得到的去霧結果可以和在RGB顏色空間得到的去霧結果相媲美;并且和亮度分量相比,色度分量受霧氣影響很小。同時,計算時間和復雜度大大降低,可達到實時性要求。因此,對于視頻序列,可以得到第k幀圖像的透射率,如式(9)所示。
事實上,局部區域內的透射率并不是一個不變的常亮,根據上面算法得到的透射率圖會出現光暈和塊效應,需要對透射率進一步修正。在本文中,采用引導濾波算法[8]來細化透射率,獲得更準確的透射率圖。
1.3 去霧估計出環境光和透射率后,可以通過解公式(10)得到無霧圖像和視頻序列。
當透射率t的值很小時,無霧圖像的噪聲會被放大。因此,一般設置一個最小值t0,當t小于t0時,令t=t0,實驗中t0取為0.1。
2 實驗結果本實驗在操作系統為Windows XP、處理器主頻為2.53 GHz、系統內存為1 G的PC機上運行。用本文算法、He算法對圖1(a)中 “snow,”“house”和“buildings”圖像進行去霧處理,并對處理后的結果做了比較。由圖像“snow”可以看出,He去霧算法不適用于包含天空的圖像,會在天空區域出現顏色失真,而利用本文算法得到結果圖像在天空區域的顏色過度自然。圖像“house”中的霧氣較濃,本文算法仍能有效去除部分霧氣,提高圖像的能見度。圖像“buildings”比較復雜,根據He算法得到的結果圖像去霧效果較好,但計算時間長、復雜度高、色調偏暗,并存在細節丟失;用本文算法得到的無霧圖像則能保留更多的細節,且亮度適中。
| 圖1 本文算法與He算法的比較 (a) 輸入圖像,上:圖像 “snow”,中:圖像“house”,下:圖像“buildings”;(b) He算法;(c) 本文算法Comparison with He’s method (a) input image. Top: “snow” image. Middle: “house” image. Bottom: “buildings” image,(b)He’s result,(c) our result |
為了進一步客觀地驗證本文算法的有效性,采用信息熵、平均梯度作為圖像質量的度量指標,度量結果如表1所示。
| 表1?不同算法處理結果比較Result obtained different algorithms |
平均梯度又稱為清晰度,它可以描述影像的清晰程度,反映了圖像細節反差程度和紋理變化特征,一般來說,平均梯度值越大表明圖像越清晰。而圖像的信息熵反映了圖像中平均信息量的多少,信息熵越大表明圖像自身信息更豐富。從表中可以看出,本文算法的各項度量指標均高于He算法,這從客觀上表明由本文算法的有效性。
我們還對圖2和圖3中的“Intersection”和“Road”視頻進行了去霧處理。從實驗結果可以看出,本文算法可以有效地去除視頻序列中的霧氣。用本文算法對1000幀分辨率為600×400的視頻序列進行處理,處理速度約為25幀~28幀每秒,能夠滿足實時性的要求。
| 圖2 對視頻“Road”的去霧結果 (a) 輸入視頻,(b) 去霧后的視頻,從左到右分別是第17、19和21幀Video dehazing on the “Road” sequence (a) the input haze sequences,(b) the dehazed sequences The frame numbers of the left,middle,and right columns are 17,19,and 21,respectively |
| 圖3 對視頻“Intersection”的去霧結果 (a) 輸入視頻,(b) 去霧后的視頻,從左到右分別是第17、19和21幀Video dehazing on the “Intersection” sequence (a) the input haze sequences,(b) the dehazed sequences The frame numbers of the left,middle,and right columns are 17,19,and 21,respectively |
本文提出一種簡單而快速的圖像和視頻去霧算法。首先,利用改進的Patch Retinex White理論計算出環境光,然后,通過最小化信息丟失求得最優的透射率,最后,根據大氣散射模型求出無霧圖像和視頻序列。實驗結果表明,該算法能有效去霧,并且能實現實時性。
參考文獻| [1] | Stark J A. Adaptive image contrast enhancement using generalization of histogram equalization[J].?IEEE Transactions on Image Processing, 2000,9(5): 889-896. |
| [2] | Tan K, Oakley J P. Physics-based approach to color image enhancement in poor visibilityconditions[J].?Optical Society of America, 2001,18(10):2460-2467. |
| [3] | Fattal R. Single image dehazing[J].?ACM Transactions on Graphics, 2008,27(3): 72-80. |
| [4] | Tarel J, Hautiere N, Fast visibility restoration from a single color or gray level image[C].?Proceedings of the 12th IEEE International Conference on Computer Vision, Japan, 2009: 1701-1708. |
| [5] | He K M, Sun J, Tang X O. Single image haze removal using dark channel prior[J].?IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011,33(12): 2341-2353. |
| [6] | Oakley J, Hong B. Correction of simple contrast loss in color images[J].?IEEE Transactions on Image Processing, 2007,16(2): 511-522. |
| [7] | Zhang J W, Liang L. Video dehazing with spatial and temporal coherence[J].?Visual Computer, 2011,27(6):749-757. |
| [8] | He K M, Sun K, Tang X O. Guided image filtering[J].?Pattern Analysis and Machine Intelligence, 2013,35(6): 1397-01409. |
| [9] | Tan R. Visibility in bad weather from a single image[C].?Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Washington, USA, 2008, 23-28. |
| [10] | Koschmieder H. Theorie der horizontalen sichtweite[J].?Beitr. Phys. Freien Atm., 1924,12(3):171-181. |
| [11] | Marc Ebner. A Parallel algorithm for color constancy[J].?Journal of Parallel and Distributed Computing, 2004,64(1):79-88. |
總結
以上是生活随笔為你收集整理的图像和视频的快速去雾算法研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 误差模型:过拟合,交叉验证,偏差-方差权
- 下一篇: 车道检测问题探究