蒲亨飛 黃治勇



摘? 要:圖像去霧技術的目的是為了去掉圖像中霧的影響,從而獲得高質量的圖像。本文主要從圖像增強、圖像復原和深度學習的角度歸納總結了圖像去霧方法的研究狀況,對暗通道先驗等經典算法以及新活躍在去霧領域的幾種深度學習去霧算法做了進一步的分析,并對各類算法的性能進行了總結,最后針對各類圖像去霧方法指出了存在的問題及未來的展望。
關鍵詞:圖像去霧;暗通道先驗;神經網絡;大氣散射模型;透射率
中圖分類號:TP391.4? ? ?文獻標識碼:A
An Overview of Research on Image Dehazing Algorithms
PU Hengfei, HUANG Zhiyong
(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China)
18198542837@163.com; 1392599321@qq.com
Abstract: Image dehazing technology aims to remove haze in image, so as to obtain high-quality images. This article summarizes the research status of image dehazing methods from perspectives of image enhancement, image restoration and deep learning. It makes further analysis of classic algorithms such as dark channel priors and several deep learning dehazing algorithms that are newly active in the field of dehazing. It also analyzes performance of each algorithm, and finally points out existing problems and future prospects for various image dehazing methods.
Keywords: image dehazing; dark channel prior; neural network; atmospheric scattering model; transmittance
1? ?引言(Introduction)
目前對于霧天圖像的處理方法[1]主要有圖像增強和圖像復原兩種方法。圖像增強的方法是盡量去除圖像噪聲,提高圖像對比度,改善圖像的視覺效果,但對于部分信息可能會造成一定損失。圖像復原的方法主要是基于大氣散射模型,進行一系列的去霧處理。這種方法更有針對性,達到的效果也自然,信息損失小,但模型中各參數的估計是研究的難點。此外,近年來,卷積神經網絡(Convolutional Neural Networks, CNN)在許多方面的應用都取得了不錯的效果,基于CNN的相關工作也逐漸被用在圖像去霧領域。本文在現有的計算機視覺和圖像處理研究成果上,對圖像相關去霧技術展開詳細介紹,并指出去霧技術的未來發展趨勢。
2? 基于圖像增強的去霧算法(Dehazing algorithm based on image enhancement)
2.1? ?直方圖均衡化
直方圖均衡化的主要思路是讓圖像的直方圖分布更加均勻,進而提升圖像的對比度,現階段主要有局部均衡化和全局均衡化兩種方法。全局均衡化是對圖像整體做均衡化處理,放大圖像信息量多的灰度區域,提升圖像的視覺效果。該方法比較簡單,但局部細節效果不明顯,適用于簡單場景的霧天圖像。局部均衡化是將均衡化算法分散到圖像的局部區域,然后通過局部的運算獲得所需的增強效果,適用在深度信息變化復雜而對比度不高的霧天的圖像處理,但該算法會加大噪聲對圖像的影響。局部均衡化算法有自適應均衡化和限制對比度自適應均衡化兩種。
2.2? ?Retinex理論
Retinex理論的思路同樣是圖像增強,該理論強調色彩的恒常性,對光照不均勻引起的對比度低的彩色圖像增強效果不錯。Retinex算法有單尺度Retinex算法、多尺度Retinex算法以及色彩恢復多尺度Retinex算法。單尺度Retinex算法通過估計環境亮度獲得反射圖像,無須校正場景,實現簡單,但易出現光暈現象。多尺度Retinex算法能實現動態壓縮和顏色不變性,視覺效果更好,但該算法也易產生光暈。色彩恢復多尺度Retinex算法補償了前兩種算法損失的部分色彩,但該算法參數設定復雜,計算量大,適用性不高。
2.3? ?同態濾波
同態濾波算法[2]結合了灰度變換和頻率濾波,主要通過對亮度范圍進行壓縮以及增強對比度的方式來進行圖像處理。相關研究顯示,在濾波處理之前使用非線性變換易產生光暈效應。此外,小波變換去霧算法也常被用于圖像增強。
3? 基于圖像復原的去霧算法(Dehazing algorithm based on image restoration)
3.1? ?大氣散射模型
在圖像去霧領域,由于霧霾等天氣對圖像去霧產生了不利的影響,McCartney提出了霧天大氣散射模型,如圖1所示。
此模型包括衰減模型和環境光模型,表達式為:
(1)
其中,是全局大氣光強,是有霧圖像,是待恢復無霧圖像,為透射率;又是透射率函數,表示大氣散射系數,代表景物深度。對于晴朗無霧天氣,接近于0,可以得到=;而在有霧情況下,>0,則不可忽略。待恢復圖像表達式為:
(2)
因此,圖像去霧過程就是用已知的求解未知的過程。但要求解,還需要根據求未知的透射率和大氣光。
3.2? ?估計大氣光值
大氣光值的估計有以下幾種常用方法:第一種是暗通道估計法。從暗原色通道中選取最亮的區域部分像素點的最大灰度值當作大氣光。該方法魯棒性好,但一般獲得的大氣光值較高且耗時長。第二種是分塊遞歸思想估計法。將有霧圖像均勻分為幾個區域,分別求取各區域的平均亮度值,選取亮度值最大的區域,當分解區域達到設定值大小時,將該區域中亮度最大的點當作大氣光。第三種是分段思量估計法。大部分的有霧圖像,天空區域一般分配在圖像的上1/3區域,因此將有霧圖像水平分為三個區域,在最上的1/3區域使用暗通道估計算法估計大氣光。此外,還有一些快速估計大氣光的方法,此類方法估算簡單但精確率不高。
3.3? ?粗略透射率估計
3.3.1? ?暗通道去霧估計算法
He[3]等的暗原色先驗理論表明,對有霧圖像進行局部最小值濾波就能得到暗原色圖像,任意一幅無霧圖像的暗通道可以表示為:
(3)
其中,是圖像RGB通道的亮度值;是RGB的顏色通道;是有霧圖像的暗通道;是以像素點為中心的區域,區域大小一般取15×15的窗口。對于室外無霧圖像非天空區域,暗通道圖像的像素趨近于0,因此對公式(3)兩邊做局部最小值濾波再變形得到:
(4)
其中,是引入的霧化常量參數,0<≤1,目的是為了保留圖像中遠處的少量霧氣,一般取=0.95。
3.3.2? ?迭代思想估計算法
由公式(2)可知,是的直線方程,當在0到255變化時,會產生失真。因此使用公式(5)來衡量失真度,使用均方誤差公式(6)來衡量對比度增強。有霧圖像的暗通道可以表示為:
(5)
(6)
公式(6)中,代表平均值,代表像素點總數,要使-最小,需將有霧圖像均勻分塊,計算各自區域-的最小值,并把該值當作所有像素點的粗略透射率。
3.4? ?精確透射率估計
為獲得精確透射率,需要對上述粗略透射率進行優化,常用幾種優化方法如下:
Soft Matting算法,又稱為軟摳圖算法,該算法表達式為:
(7)
其中,為前景,為后景,為合成系數。定義一個最小化代價函數,通過相關求解獲得優化的透射率表達式為:
(8)
其中,為優化后的精確透射率,為拉普拉斯摳圖矩陣,為調整系數,為單位矩陣。通過將設置為一個較小值(一般設置為10-4),通過對產生一定的約束。軟摳圖算法一般能得到較為精確的透射率,但算法復雜度高,不便于實際使用。
雙邊濾波算法。該算法屬于非線性濾波方法,輸出的像素值由鄰域中像素值加權決定[4],該算法既考慮了空域信息,又結合了灰度相似性,能達到去噪和保持邊緣信息的效果。雙邊濾波器使用不同維度的高斯函數生成了兩個模板,將這兩個模板相乘得到雙邊濾波器的模板表達式為:
(9)
其中,為模板窗口的中心坐標,為模板窗口的其他系數的坐標,和分別為空域和閾值模板濾波半徑。同模板中非中心像素點與中心點的距離成逆向增減關系,如果距離增大則減小,距離減小則增大。因此,的取值直接影響濾波效果。如果取值過小,特別是近似為1時,空間模板濾波就難以起作用;如果取值過大,計算量會急劇增加,算法復雜度也會急劇增加。與值域像素值間的差值同樣存在逆向變化的關系,差值減小則增大,差值增大則減小。
導向濾波算法。該算法計算速度快,執行效率高,只需在濾波處理時導入一幅引導圖像。假設輸出圖像與引導圖像有如下約束關系:
(10)
其中,為濾波輸出圖像,是以像素為中心的局部窗口,與是引導圖像在的線性不變函數。為了獲得與最優解,采用最小二乘法[5]擬合線性關系,函數為:
(11)
引入平滑因子是為了防止值過大[6],通過線性回歸求得:
(12)
其中,和分別表示導向圖在的平均值和方差,是窗口中輸入圖像的均值。引導濾波算法相比軟摳圖算法在復雜度上有所降低,縮短了處理時間,但某種程度上降低了去霧效果。
3.5? ?后處理
經過上述步驟獲得了大氣光值及透射率,因此根據大氣散射模型,可以得到去霧處理后的效果圖。正常來說,此時的去霧圖像相對偏暗,在此基礎上可以進行后處理,比如利用伽馬校正、自適應對比度增強等方式繼續處理,以增強圖像去霧的效果。
3.6? ?基于先驗知識的去霧算法
TAN[7]假設局部區域的大氣光值固定,通過最大化局部對比度方式處理有霧圖像,搭建馬爾可夫模型框架,構造代價函數,利用圖分割的知識估算最佳大氣光。該算法增強了圖像的對比度,改善了圖像的可視度,但去霧后色彩效果太過飽和,且在部分交界區域產生光暈效應。
FATTAL[8]假設局部區域的反射率為常向量,物體表面色度與介質傳播具有局部統計不相關性,通過相關分析來估計常向量反射率。但相關成分變化不明顯或顏色信息過少都會影響估計的準確性。
HE[3]等通過對大量的戶外無霧圖像的統計,發現無霧圖像的大部分區域內總會有一些灰度很低的點,因此提出了暗通道先驗算法。該算法先使用暗通道估計大氣光強,并粗略估算出對應的透射率值,然后通過Soft Matting算法進一步優化透射率,最后利用霧天圖像的光學模型恢復出圖像,去霧效果明顯,顏色自然。但該方法的時間復雜度較高,缺少實時性。
KRATZ[9]等通過最大后驗概率對景物反射率和景物深度進行建模,該方法對圖像的邊緣處理有較好的效果,但色彩對比度太過飽和。
TAREL[10]等提出了一種快速去霧算法。該算法通過中值濾波的變形來估計耗散函數,但應用中值濾波估計法,不合適的參數設定易帶來Halo效應。
WANG[11]等采用馬爾科夫隨機場混合多層色度先驗的細節,提出了一種多尺度深度融合去霧算法,得到具有豐富細節信息的較高質量恢復圖像,但該算法易包含噪聲。
ZHU[12]等提出了一種基于色彩衰減先驗的單幅圖像快速去霧方法,通過對大量圖像的近景、中景、遠景進行統計分析,得出霧的濃度與圖像亮度和飽和度之差有正比關系的結論。但此方法收集樣本比較困難,且缺少理論依據。
綜上,盡管基于圖像復原的去霧方法取得了較大的進展,但簡化的大氣散射模型會導致透射率和大氣光估計出現一定的誤差,且先驗信息不具有普遍適用性,易出現去霧不徹底和顏色失真等現象。
4? 基于深度學習的去霧算法(Dehazing algorithm based on deep learning)
CNN在圖像去霧領域的應用主要可以分為兩類:間接端到端網絡和直接端到端網絡。其中間接端到端去霧網絡大部分仍然以大氣散射模型為基礎,利用神經網絡對模型中的參數進行估計;而直接端到端去霧網絡則通過學習有霧圖像到無霧圖像之間的映射關系來恢復無霧圖像,此過程又稱為深度學習中的end to end。
CAI[13]等提出了一種名為DehazeNet的可訓練的端到端系統來估計透射率。DehazeNet采用CNN深層架構,用于體現圖像去霧中已建立的假設/先驗。此外,該系統還提出了一種新的非線性(nonlinear)激活函數,也稱為雙邊整流(BReLU)線性單元,它可以提高去霧圖像質量。實驗表明,該系統比現有方法性能更好。但大氣光散射模型依賴于單一光源模型,而未考慮多光源的場景,且在景深區域的去霧效果有待提升。
REN[14]等基于CNN提出了一種多尺度深度神經網絡結構來估計透射率,先用粗糙網絡生成粗粒度的透射圖,再用精細網絡進一步得到更細致的圖像。為了訓練多尺度深度網絡,該算法基于相關深度數據集,合成了一個由有霧圖像和相應的透射率組成的數據集。實驗表明,該算法在質量和速度上均有提升。采用此方法雖然不易受場景的約束,但是其網絡模型中采用的最大池化等操作會造成細節丟失,且夜間霧天圖像處理不好。
ZHANG[15]等基于CNN提出了一種基于去霧公式的新型端到端聯合優化去霧網絡,利用兩個子網絡估計出透射率和大氣光值,然后基于生成對抗網絡損失函數聯合訓練獲得無霧圖像。該網絡包含金字塔密集連接透射率估計網絡、大氣光估計網絡、去霧網絡和聯合鑒別器四個模塊,其中,透射率估計網絡包含邊緣保持密集連接的編碼器-解碼器模塊,用于透射率估計;聯合鑒別器模塊用于判斷去霧圖像和估計透射率的真假。
LI[16]等提出了一種用CNN構建的一體化除霧網絡模型,該模型沒有估算中間參數和大氣光值,直接通過輕量級CNN輸出無霧圖像。實驗結果證明此模型在PSNR、SSIM和主觀視覺質量方面有了較大的提升。此外,這種一體化的端到端設計可以輕松地將該模型嵌入其他深度模型中去,以提高圖像處理的任務性能。
CHEN[17]等提出了一種端到端門控上下文聚合網絡來直接生成清晰的無霧圖像。該網絡利用平滑擴張技術,可消除網格化偽影(Grid Artifacts),并通過門控子網融合不同級別的特征。在該網絡中輸入有霧圖像,通過編碼器編碼為特征圖,通過聚合附近區域信息并融合不同級別的特征來增強圖像。此外,利用平滑的擴張卷積和額外的門控子網將增強后的特征圖解碼回原始圖像空間,以獲取目標霧度殘留物。該算法在PSNR和SSIM的指標上提升很大。
YANG[18]等提出了一種基于解耦的新型去霧網絡,該網絡利用解耦與重建的物理模型,將有霧圖像解耦為隱含特征值,再根據隱含特征值還原圖像。該算法還收集了大量天然有霧圖像和戶外無霧圖像數據集,以評估圖像去霧算法效果。
ENGIN[19]等提出了一種Cycle-Dehaze端到端網絡,可以直接從有霧的輸入圖像生成無霧圖像,不用估算模型參數。該網絡使用不成對的方式訓練網絡,并與感知損失相結合來減小該架構的循環一致性損失。該算法通過在該網絡中輸入低分辨率圖像,利用拉普拉斯金字塔來放大低分辨率圖像。此算法提升了圖像的視覺效果,并獲得比CycleGAN架構更優的PSNR和SSIM值。
MAI[20]等通過BP神經網絡挖掘圖像顏色和場景深度的關系,再由景深得到場景的傳播圖。LI[21]等提出了一種基于殘差的深度卷積神經網絡去霧算法,提高了去霧效率。針對深度學習算法去霧后仍有殘霧,陳永[22]等提出了一種雙域分解的多尺度深度學習去霧算法,該方法設計了含有一個高頻子霧網絡與低頻子霧網絡的多尺度深度學習網絡,得到良好的去霧效果,但算法復雜度較高。
綜上,間接端到端去霧網絡在細節效果方面有了一些提升,但大多以大氣散射模型為基礎,估計的透射率一般包含較多的細節信息。此外,大多數方法將大氣光設置為固定常量值,去霧后的圖像易出現顏色失真。而直接端到端方法在一定程度上提高了圖像復原質量,但在端到端學習過程中易出現過擬合情況,容易忽略圖像原有的風格特征,導致局部區域去霧不徹底或過度去霧,復原出的圖像出現顏色失真。
5? ?結論(Conclusion)
本文對圖像去霧技術進行了綜述性介紹,其中,基于圖像增強的方法實現簡單,視覺效果明顯,已廣泛地應用到各個領域中。而基于圖像復原和深度學習的去霧方法針對性更強,去霧也更自然。盡管去霧算法得到了迅速發展,也取得了許多研究成果,但目前仍存在許多難點需要克服,同時理論研究成果與實際應用還有一定的差距,存在的問題歸納如下:
第一,光路傳播圖的自動求取問題。霧天給光線的傳播造成了大量的散射效應,則圖像去霧應當從霧天對成像的影響角度切入,把求取反映景深信息的光路傳播圖放在關鍵的一環,通過綜合考慮基于暗原色原理與基于大氣散射模型的各種算法的優缺點,研究獲取符合人類視覺感知機理的光路傳播圖。
第二,去霧算法的自適應、實時性、復雜度高等問題。戶外應用的場景,環境復雜多變,霧的濃淡難以用肉眼判斷,現有的去霧算法,尤其是單幅圖像去霧質量較好的算法,都普遍存在復雜度高、實時性低的問題。例如,要對視頻圖像去霧,若攝像機固定,則可以通過通用策略求取傳播圖,然后應用于霧天視頻處理;若攝像機處于移動狀態,背景和前景時刻在變化,則無法應用通用策略,需研究新的增強或復原手段對視頻每一幀進行快速去霧,或者利用硬件加速來協同處理。
第三,去霧結果的評測問題。目前,基于圖像去霧的評測指標繁雜,主觀性因素成分重,沒有足夠的說服力,因此在后續的研究中需要建立一套統一的圖像質量評價體系。
綜上,盡管各種去霧算法得到了一定的發展,但由于有霧圖像中參數信息的誤差性,現階段的去霧算法還不能夠達到完美的效果,因此,圖像去霧領域仍具有較大的發展前景。
參考文獻(References)
[1] 郭璠,蔡自興,謝斌,等.圖像去霧技術研究綜述與展望[J].計算機應用,2010,30(09):2417-2421.
[2] 史昭君,朱家明,楊偉丹,等.基于同態濾波對太陽耀斑影像云處理的研究[J].北京電子科技學院學報,2018,26(04):46-52.
[3] HE K, SUN J, TANG X, et al. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 33(12):2341-2353.
[4] NARASIMHAN S G, NAYAR S K. Contrast restoration of weather degraded images[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2003, 25(6):713-724.
[5] 張昌利,孟穎,李鵬超,等.基于導向濾波優化暗原色先驗的公路能見度檢測方法[J].科學技術與工程,2018,18(06):162-168.
[6] 陳子妍,龍道銀,王霄,等.基于逆通道與改進引導濾波的暗通道去霧算法[J/OL].計算機工程,2020:1-10[2020-08-03].https://doi.org/10.19678/j.issn.1000-3428.0057530.
[7] TAN R T. Visibility in bad weather from a single image[J]. IEEE Conference on Computer Vision and Pattern Recognition, 2008(2):2347-2354.
[8] FATTAL R. Single image dehazing[J]. Acm Transactions on Graphics, 2008, 27(3):1-9.
[9] KRATZ L, NISHINO K. Factorizing scene albedo and depth from a single foggy image[C]// International Conference on Computer Vision. Proceedings of the 12th International Conference on Computer Vision. Japan: Kyoto, 2009:1701-1708.
[10] TAREL J P, NICOLAS H. Fast visibility restoration from a single color or gray level image[J]. IEEE Conference on Computer Vision, 2009(5):2201-2208.
[11] WANG Y, FAN C. Single image defogging by multiscale depth fusion[J].IEEE Transactions on Image Processing, 2014, 23(11):4826-4837.
[12] ZHU Q, MAI J, SHAO L. A fast single image haze removal algorithm using color attenuation prior[J]. IEEE Transactions on Image Processing, 2015, 24(11):3522-3533.
[13] CAI B, XU X, JIA K, et al. DehazeNet: An end-to-end system for single image haze removal[J]. IEEE Transactions on Image Processing, 2016, 25(11):5187-5198.
[14] REN W, LIU S, ZHANG H, et al. Single image dehazing via multi-scale convolutional neural networks[C]// European Conference on? Computer Vision. 2016 14th European Conference on Computer Vision. Springer: Cham, 2016:154-169.
[15] ZHANG H, PATELV M. Densely Connected Pyramid Dehazing Network[J]. IEEE Conference on Computer Vision and Pattern Recognition, 2018(3):3194-3203.
[16] LI B, PENG X, WANG Z, et al. An all-in-One network for dehazing and beyond[J]. Journal of Latex Class Files, 2015,
14(8):1-12.
[17] CHEN D, HE M, FAN Q, et al. Gated context aggregation network for image dehazing and deraining[C]// Winter Conference on Applications of Computer Vision. 2019 IEEE Winter Conference on Applications of Computer Vision. New York: IEEE Press, 2019:1375-1383.
[18] YANG X, XU Z, LUO J, et al. Towards perceptual image dehazing by physics-based disentanglement and adversarial training[J]. National Conference on Artificial Intelligence, 2018(2):7485-7492.
[19] ENGIN D, GENC A, EKENEL H K, et al. Cycle-dehaze: Enhanced CycleGAN for single image dehazing[J]. Computer Vision and Pattern Recognition, 2018(14):825-833.
[20] MAI J, ZHU Q, WU D, et al. Back propagation neural network dehazing[C]// International Conference on Robotics and Biomimetics. Proceedings of IEEE International Conference on Robotics and Biomimetics. Indonesia: Bali, 2014:1433-1438.
[21] LI J, LI G, FAN H, et al. Image dehazing using residual-based deep CNN[J]. IEEE Access, 2018(5):26831-26842.
[22] 陳永,郭紅光,艾亞鵬.基于雙域分解的多尺度深度學習單幅圖像去霧[J].光學學報,2020,40(02):71-82.
作者簡介:
蒲亨飛(1995-),男,碩士生.研究領域:圖像處理.
黃治勇(1996-),男,碩士生.研究領域:數字圖像處理,深度學習.