天天看點

綜述:視訊和圖像去霧算法以及相關的圖像恢複和增強研究摘要:INDEX TERMS:索引術語一、介紹二、霧天圖像的檢測與分類三、圖像去霧算法四、視訊去霧算法五、圖像去霧算法的客觀品質評價标準六、實驗七、結論緻謝參考文獻

綜述:視訊和圖像去霧算法以及相關的圖像恢複和增強研究

翻譯自IEEE的一篇文章《Review of Video and Image Defogging Algorithms and Related Studies on Image Restoration and Enhancement》

——作者為:YONG XU1,2, (Senior Member, IEEE), JIE WEN1, LUNKE FEI1,AND ZHENG ZHANG1, (Student Member, IEEE)

摘要:

INDEX TERMS:索引術語

一、介紹

二、霧天圖像的檢測與分類

2.1 圖像中霧區的檢測

2.1.1 基于半逆圖像的霧區檢測

2.1.2 基于氣象能見度距離的霧區探測

2.2 霧天圖像的分類算法

三、圖像去霧算法

3.1 基于圖像恢複的圖像去霧

3.1.1 基于多幅圖像的圖像恢複

3.1.1.1 在同一天氣下拍攝的多幅圖像

3.1.1.2 在不同天氣下拍攝的多幅圖像

3.1.2 基于單幅霧圖的圖像恢複

3.1.2.1 Fattal的恢複算法

3.1.2.2 Tan等人的恢複算法

3.1.2.3 He等人的恢複算法以及他們的改進算法

3.1.2.4 Tarel等人的恢複算法

3.1.2.5 Bayesian去霧

3.1.2.6 基于學習的恢複算法

3.2 基于圖像對比度增強的圖像去霧

3.2.1 基于Retinex理論的圖像去霧

3.2.2 基于傳統對比度增強方法的圖像去霧

3.2.2.1 亮度變換

3.2.2.2 同态濾波

3.2.2.3 高增濾波

3.2.2.4 小波變換

3.3 基于融合政策的圖像去霧

四、視訊去霧算法

五、圖像去霧算法的客觀品質評價标準

5.1 圖像可見度評價标準

5.1.1 盲評價名額

5.1.2 圖像可見度測量(IVM)

5.1.3 圖像對比度

5.1.4 視覺對比度測量(VCM)

5.2 色彩恢複評價标準

5.3 圖像結構相似性

六、實驗

七、結論

緻謝

參考文獻

摘要:

在霧霾天氣下,視覺系統擷取的視訊和圖像會嚴重退化,影響目标的檢測、跟蹤和識别。 是以,從這樣一個有霧的視訊或圖像中恢複真實場景具有重要意義。 本文的主要目的是對現有的視訊和圖像去霧算法進行總結。我們首先回顧了霧圖像的檢測和分類方法。然後,總結了現有的圖像去霧算法,包括圖像恢複算法、圖像對比度增強算法和基于融合的圖像去霧算法,并介紹了目前的視訊去霧算法。 本文總結了目前比較常用的幾種圖像品質客觀評價方法,并對幾種經典的圖像去霧算法進行了實驗比較。最後提出了需要進一步研究的視訊和圖像去霧問題。

The code of all algorithms will beavailable at http://www.yongxu.org/lunwen.html.

INDEX TERMS:索引術語

Foggy image classification, image defogging, video defogging, image quality assessment.(霧圖像分類,圖像去霧,視訊去霧,圖像品質評估)

一、介紹

霧霾是陸地和海洋上常見的現象,在霧霾天氣裡,大氣中有許多相當大的顆粒。 它們不僅吸收和散射場景中的反射光,而且還将一些大氣光散射到相機上。 是以,錄影機擷取的圖像品質下降,對比度低、可見度差[1],這将嚴重影響視覺系統,尤其是可見光視覺系統。 由于圖像的退化,圖像中的目标和障礙物難以檢測。 這不利于自動視訊處理,如特征提取、目标跟蹤和目辨別别,也是空中、海上和道路交通事故的主要原因之一。 是以,設計一種圖像去霧算法對提高視覺系統的環境适應性具有重要意義。

随着計算機技術的發展,視訊和圖像去霧算法受到了廣泛的關注,并廣泛應用于民用和軍事領域,如遙感、目标檢測和交通監控等。Hautiere等[2]采用圖像去霧算法提高了車輛視覺系統的可視性,有效地防止了交通事故的發生。對于戶外場景的圖像,Narasimhan等人分析了灰霾、霧、雲、雨等不同天氣條件下的視覺表現[3],建立了基于大氣散射現象的圖像去霧實體成像模型[4][5]。由于現有的去霧或去霧算法沒有明确的邊界,是以本文将圖像去霧指的是能夠從圖像中去除霧或霾的算法。針對室外場景,提出了許多基于實體模型的改進去霧算法。一些視訊和圖像去霧算法也被提出用于現實世界的交通監控場景[6]-[9]。為了提高無人地面車輛(USV)視覺系統的可見度,Ma等人在霧海圖像恢複之前,提出了一種改進的基于暗通道的圖像去霧算法,并将提出的單幀圖像去霧算法推廣到了快速視訊去霧[10]。在能見度較低的情況下,如霧天,很難找到跑道以及來自視覺系統的危險。為了解決這個問題,Rajput等人提出了一種基于Retinex理論的對比度增強算法,有效地提高了視覺系統擷取的霧狀圖像的可見度[11]。大多數現有的去霧算法也旨在從陸地圖像中去除霧。然而,對海洋和空氣的研究卻很少。以上應用均表明,視訊和圖像去霧算法具有重要意義,值得研究。

近年來,一些機構對圖像去霧進行了研究,取得了良好的效果。在美國,美國國家航空航天局(NASA)的角度研究中心(LRC)(the Langley Research Center(LRC) of National Aeronautics and Space Administration(NASA))從1995年開始研究圖像增強和去霧算法,他們的研究為基于Retinex理論的圖像增強領域做出了巨大貢獻1。他們的算法可以在惡劣天氣條件下,如煙、霧、霾、水下、夜間或低照度條件下,極大地提高圖像采集的可見性[11]–[15]。在DSP微處理器上,他們的算法可以達到每秒30幀的速度,圖像大小為256×256[16]。法國道路和橋梁中心實驗室(the French Central Laboratory of Roads and Bridges)在提高霧天車輛通行系統的可見性方面取得了重大進展[2],[17]–[19]。他們還建立了三個霧天道路圖像資料庫(FRIDA)2,用于識别能見度恢複算法。哥倫比亞大學計算機視覺實驗室(the Computer Vision Laboratory of Columbia University)建立了一個天氣和照明資料庫(WILD)3,該資料庫是在室外城市場景的各種天氣和照明條件下獲得的[3]。他們提出了許多圖像去霧算法,通過使用同一場景的多幅圖像來提高可視性[3]–[5],[20]–[23]。以色列理工學院混合成像實驗室(the Hybrid Imaging Laboratory of Technion of Israel)的一個小組通過多極化圖像[24]-[28]開發了一種圖像去霧算法。微軟研究亞洲視覺計算組(the Visual ComputingGroup of Microsoft Research Asia)與中國香港大學合作,在單一圖像去霧方面取得了顯著的進步,并提出了圖像恢複的暗通道,獲得了室外霧狀圖像的生動修複效果[29 ],[30 ]。

1 更多關于Retinex算法的結果見:

http://dragon.larc.nasa.gov/retinex/background/retpubs.html

2 FRIDA:

http://perso.lcpc.fr/tarel.jean-philippe/index.html

3 WILD:

http://www.cs.columbia.edu/CAVE/software/wild/index.php

4 更多基于極化的去霧算法的結果可參考:

http://webee.technion.ac.il/~yoav/research/instant-defogging.html

綜述:視訊和圖像去霧算法以及相關的圖像恢複和增強研究摘要:INDEX TERMS:索引術語一、介紹二、霧天圖像的檢測與分類三、圖像去霧算法四、視訊去霧算法五、圖像去霧算法的客觀品質評價标準六、實驗七、結論緻謝參考文獻

本文旨在研究近十年來提出的圖像和視訊去霧算法。完整的視訊去霧系統如圖1所示。現有的視訊和圖像去霧算法大多沒有考慮是否有霧的因素。然而,對于智能去霧算法來說,判斷霧和非霧圖像的方法是非常重要的。是以,在本文中,我們也将對其進行簡要的總結。本文的結構如下。在第二節中,我們将首先提供一些判斷圖像是否需要處理的方法。第三節總結了許多用于單圖像去霧的去霧算法。第四節介紹了幾種最新的視訊去霧算法。第五節介紹了幾種常用的圖像去霧算法的品質評價标準。第六節為實驗部分,最後對論文進行了總結,并提出了今後需要研究的問題。

二、霧天圖像的檢測與分類

現有的視訊和圖像去霧算法總是直接應用于圖像,而不管是否存在霧。但在實際應用中,需要知道在目前環境下采集的圖像是否需要用去霧算法進行處理。主要原因如下:如果不作判斷,用去霧算法得到的恢複圖像的可見性可能比原始圖像差。同時,去霧算法的使用也非常耗時,不利于實作目标的實時檢測、跟蹤和識别。有兩種方法可以判斷目前場景是否有霧。第一種方法是以圖像的不可見區域為霧區的霧檢測方法。第二種方法是foggyimage分類法。

2.1 圖像中霧區的檢測

有兩種方法可以檢測圖像的霧區,第一種方法是基于半逆圖像,第二種方法是基于氣象可視距離。

2.1.1 基于半逆圖像的霧區檢測

Ancuti等人首次提出了一種基于“半逆”圖像的霧區檢測算法5[31]。通過選擇原始圖像像素的最大值及其逆圖像像素,得到半逆圖像S:

(1)

其中c為一個RGB通道,為原圖像,為原圖像的逆圖像。

Ancuti等人在對逆圖像進行重新規格化後,檢測到Lch顔色空間的h*通道中有霧的區域,并将半逆圖像與原圖像相差較大的像素視為清晰像素,并将剩餘像素作為霧區像素,這種霧區檢測方法是基于圖像霧區像素的強度值通常遠大于空白區像素的強度值。

在圖像的天空或多霧區域,像素通常在所有顔色通道中都具有高強度,即>0.5。是以,在這些區域中,半逆圖像将具有與原始圖像相同的值。然而,在清晰區域中,至少有一個半逆圖像通道,其中像素值将被逆圖像替換。也就是說,式(1)的輸出分别是霧區的原始圖像和清晰區的逆圖像。利用原始圖像與半逆圖像的差異,可以很容易地檢測出霧區。該算法簡單有效,但不适用于目前場景是否有霧的判斷。這是因為通過該算法,清晰圖像的天空區域或白色區域将被誤認為是霧區。

思考:這種霧區檢測方法是基于圖像霧區像素的強度值通常遠大于空白區像素的強度值,但是在圖像的天空區域像素強度值很高,容易被誤認為是誤區。是以該方法雖簡單有效,但是卻不适合判斷目前場景是否有誤。

2.1.2 基于氣象能見度距離的霧區探測

國際照明委員會(CIE)定義了圖像的氣象可見度距離及其測量方法[32]。圖像的氣象可見度距離廣泛應用于車輛視覺系統中的霧圖像檢測領域[33]。對于霧狀圖像,Hautiere和Tarel等人通過計算氣象可視距離,提出了一種白天霧區探測算法[34],他們首先使用Canny-Deriche濾波器來提取圖像輪廓,進而突出道路的邊緣;然後采用區域生長算法确定路面層;第三,确立了擷取目标區域的四種條件;最後,通過計算測量帶寬得到圖像的可見距離。Hautiere和Tarel等人使用水準線表示可見距離,在車載攝像系統中,水準線以上的區域通常對比度較低,可視為霧區或不可見區。Bronte等人也通過估計可視距離來檢測圖像的霧區[35]。

基于氣象能見度的霧檢測方法将霧圖像分為可見區和不可見區。雖然霧探測算法具有探測圖像霧區的能力,但也存在一些不足。圖像水準線上方的不可見區域并不意味着它就是霧區。一些自然清晰圖像的遠處場景也顯得模糊,用霧檢測算法可能會誤認為是不可見區域或霧區,而且對于一些霧分布不均勻的霧圖像,很難找到一條水準線來分割霧區和清晰區域。但氣象可視距離可以用來判斷哪個地區有霧薄或濃霧。這可能有助于估計去霧算法的參數 *。

2.2 霧天圖像的分類算法

霧狀圖像分類方法需要建立包含大量清晰圖像和霧狀圖像的圖像庫。該方法提取了兩類圖像之間差異較大的特征,并利用有效的分類器對特征進行訓練,得到分類超平面。最後,一個待查詢圖像可以被分類為模糊圖像或清晰圖像,如圖2所示。

圖2:霧天圖像分類流程圖

在霧的分類方法中,特征是最重要的,直接決定了分類精度,沒有一種特征能夠準确地對霧圖像和清晰圖像進行分類。Li等人指出對于圖像可見度,暗通道和圖像對比度的強度可以作為霧狀和清晰圖像分類的特征[36]。Yu等人提取圖像可見度、圖像視覺對比度和暗通道圖像強度作為特征,并使用支援向量機(SVM)對霧狀圖像進行分類[37]。圖像可見度也可用氣象可見度距離計算。圖像視覺對比度的測量是Jobson等人首次提出的[38]。利用大氣散射模型,張等人取每幅霧狀圖像與同一場景的清晰圖像之間的角度偏差作為霧狀圖像分類的特征[39]。他們還使用SVM對霧狀圖像進行分類。盡管他們的方法可以獲得良好的分類性能,但在實際應用中很難同時獲得同一場景的清晰圖像和模糊圖像。Pavlic等人根據傅裡葉變換功率譜和SVM對公路車輛視覺系統的影響,提出了一種基于全局特征的霧狀圖像分類方法[40]。

未來霧天圖像分類仍有一些問題需要解決,主要問題如下:

(1)沒有一個完美的标準來判斷圖像是一個有霧的圖像還是清晰的圖像。例如,在晴天,一些遠處自然清晰的圖像變得模糊,很難确定它們是否需要處理。換言之,有些圖像很難被歸入模糊圖像或清晰圖像的類别。

(2)有必要找到更有效的特征來識别霧狀圖像。因為計算效率很重要,是以需要快速提取特征。一些品質評價名額可以作為霧天圖像分類的特征。

(3)判斷現場的霧度是很重要的。對于一些去霧算法,如果能從圖像分類中得到目前環境的霧度,則可以對去霧算法的一些參數進行自适應調整,以獲得更好的性能,這對視訊和圖像去霧在現實世界中的應用是有益的。此外,還可以根據霧圖像的霧度自适應選擇最佳的去霧算法。

三、圖像去霧算法

在一些文獻中,根據是否使用實體模型,可将圖像去霧算法簡單地分為兩類[36][41][45]。第一類是基于實體模型[19][22][46]–[48]的圖像恢複。該方法根據霧天圖像退化的原因,建立實體成像模型。這類算法需要估計實體模型的參數,如大氣光和透射(深度)。通過對實體模型的逆解,可以得到恢複後的圖像。圖像複原算法的目的是在保持良好的色彩複原性能的前提下,獲得一幅具有良好視覺效果的自然清晰的圖像。另一類是基于圖像增強[49]–[54]的去霧算法,不考慮霧環境下的實體成像模型。嘗試采用多種圖像增強方法來增強霧天圖像的對比度和可見性。近年來,基于融合的去霧算法通過融合多幅輸入圖像來增強圖像,受到了廣泛的關注[55]–[58]。是以,基于融合的去霧算法可以看作是去霧算法的第三類。圖像去霧算法的類别如圖3所示。

圖3:圖像去霧算法分類

3.1 基于圖像恢複的圖像去霧

1976年,McCartney首次提出了基于Mie散射理論的大氣散射實體模型[59]。圖4顯示了霧天氣下的實體大氣散射模型。

圖4:霧天條件下的實體大氣散射[22]

實體模型由大氣光學模型和正透射模型(direct transmission model)組成。圖4顯示了霧狀條件下圖像的退化原因。在正透射模型中,大氣散射會使成像光衰減,導緻圖像邊緣細節和物體紋理退化。在大氣光學模型中,一些陽光也會被大氣散射并傳輸到相機,這些光不是場景光,可以被視為圖像的霧分量,其影響類似于遮住圖像中對象的面紗。對于清晰的圖像,正透射模型在成像模型中占很大比例。随着霧濃度的增加,正透射模型所占的比例減小,而大氣光學模型所占的比例增大,圖像的可見度降低。也就是說,大氣光學模型是導緻在霧天條件下獲得的圖像是低對比度和低能見度的模糊圖像的主要原因。

Narasimhan和Nayar[5][23],Nayar和Narasimhan[60]認為散射系數與均勻大氣中可見光的波長無關,并提出了一個簡單的圖像恢複實體模型:

(2)

其中,是天空的亮度,是場景點x的歸一化亮度,為大氣散射系數,表示場景點x與錄影機之間的距離。在公式(2)的右側,第一項表示正透射模型,第二項表示大氣光學模型。式(2)還表明,由于距離的增加,正透射模型的比例将減小。這也是為什麼圖像中一些遙遠的場景在晴天看起來模糊的原因。

He等人[29]進一步簡化了式(2):

(3)

其中,代表清晰圖像,是透射,是與物體在無限距離内相對應的大氣光值,通常是從天空區域簡單估計的。

式(3)中隻有兩個未知參數。如果能得到透射比和大氣光照值,則得到恢複圖像。對于基于實體模型的去霧算法,參數直接決定去霧結果。這意味着參數估計越精确,去霧性能越好。我們應該指出,簡化的實體模型是建立在單散射和均勻大氣媒體假設的基礎上的,是以在某些情況下,該模型可能不是最好的成像模型,例如海霧或非均勻霧。

在過去的幾年中,許多基于實體模型的圖像恢複算法被提出,并且可以根據使用的圖像數量分為兩類:第一類是基于多重圖像的圖像恢複,第二類是基于單一圖像的圖像恢複[61],[62]。

3.1.1 基于多幅圖像的圖像恢複

基于多幅圖像的圖像恢複算法可以分為兩類,如圖3所示。研究人員使用了在同一天氣下拍攝的多幅霧狀圖像。第二種方法使用不同天氣條件下所需的多種場景圖像。

3.1.1.1 在同一天氣下拍攝的多幅圖像

參考文獻[24]、[26]、[28]、[63]針對大氣粒子散射的空氣光是部分偏振的(極化的)這一事實,提出了一些利用多個偏振圖像的圖像去霧算法。Treibitz等人将圖像恢複效果與一幅或兩幅偏振圖像進行了比較,證明了使用兩幅偏振圖像可以降低圖像恢複的噪聲[64]。利用不同方向的偏振濾波器,得到了同一場景下不同亮度的偏振圖像。這種圖像恢複算法利用至少兩幅偏振圖像來估計實體模型的參數,然後對實體模型進行逆解。

Schechner等人首先讨論了一種使用兩幅偏振圖像的圖像恢複算法[28]。兩幅偏振圖像分别通過平行和垂直方向拍攝。基于偏振圖像的圖像去霧算法假定正透射不受方位的影響,将兩幅偏振圖像分别定義為式(4)和式(5)。

(4)

(5)

是正透射模型。和分别是平行和垂直極化圖像的大氣光學模型。

(6)

(7)

其中,和是兩個平行和垂直偏振圖像的大氣光值,可以從天空區域估計。極化/偏振的程度是:

(8)

在偏振去霧方法中,各偏振圖像的偏振度和大氣光是估計複原圖像的關鍵參數,偏振度可由偏振圖像的兩個大氣光值來估計:

(9)

然後可以從式(4)-式(9)估計大氣光學模型和透射率。

(10)

(11)

是以,可以利用透射率和大氣光學模型對方程(3)的實體模型進行反求,得到恢複圖像。基于偏振圖像的原始圖像去霧算法沒有考慮晴天擷取的自然圖像也會遇到大氣散射的問題。是以,通過保留一部分光線,可以得到更自然的複原圖像。出于這個想法,Schechner等人通過将系數乘以極化度(偏振度),提出了一種改進算法,即[26]。Miyazaki等人以交通圖像的兩個交通量作為參考,估計參數[63]。他們的算法需要建立一個交通标志資料庫來查找兩個交通标志,這很難滿足實時處理的需要。考慮到一些圖像沒有天空區域,Shwartz等人[27]提出了一種通過選擇場景中的兩個相似特征來估計的新方法。為了抑制基于極化/偏振的去霧算法的噪聲放大,提出了一種自适應正則化方法來進一步優化恢複圖像[64]。

在基于偏振的去霧算法中,的值由人工估計。雖然基于偏振的去霧算法比一些基于光學濾波的算法有更好的性能,但是手動操作不利于自動去霧(劣勢)。基于大氣光偏振特性的去霧算法。是以,随着極化程度的降低,其效果将降低。而且,在濃霧天氣也會失效。此外,對于某些場景,特别是帶有移動錄影機的場景,由于場景随濾波器旋轉的變化速度更快,是以很難獲得兩個偏振圖像。

3.1.1.2 在不同天氣下拍攝的多幅圖像

Narasimhan等人研究了利用不同天氣條件下采集的兩幅或多幅圖像進行圖像複原的算法[3]–[5],[21]–[23]。Narasimhan等人分析了不同天氣條件下的視覺表現,提出了一個實體雙色大氣散射模型[60]。基于該模型,他們提出了霧天條件下場景識别的地理測量架構,并從兩幅或多幅霧天圖像中計算出了場景的三維結構和顔色[21]。但是如果場景中物體的顔色與霧或霾的顔色相似,使用該模型進行去霧是不穩定的。為了解決這個問題,提出了一種單色大氣散射模型[22],Narasimhan等人文中還提出了一種基于該模型的快速圖像去霧算法[22]。首先,在不同的天氣條件下,兩幅場景圖像的強度變化可以引起深度不連續和場景結構的變化。然後利用場景結構增強對比度。他們将他們的算法擴充到視訊去霧,進而提高了監視場景的可見性。

上述圖像恢複算法僅适用于監控場景。對于其他的動态場景,特别是車載錄影機,由于這兩幅圖像很難同時獲得,這些算法都會失敗,我們應該指出,單色大氣散射模型隻描述了均勻天氣條件對場景強度的影響,是以在霧或霾不均勻的天氣裡,它會失效。

3.1.2 基于單幅霧圖的圖像恢複

與使用多幅圖像的圖像恢複算法相比,單幅圖像恢複算法具有許多優點,近年來受到了廣泛的關注[19]、[29]、[47]、[65]、[68]。單圖像去霧算法能夠在任何條件下增強任意的霧圖像。

如前幾節所述,透射和大氣光值是反演實體模型的關鍵參數。但是,式(3)的實體模型是一個欠定方程(當方程的個數少于未知函數的個數時,就稱為欠定的),是以我們應該用一些先驗知識來估計上述兩個參數。

3.1.2.1 Fattal的恢複算法

Fattal提出了一種基于表面着色(表面聚焦)和透射是局部不相關的假設來估計透射和大氣光的方法[48],他通過兩個分解步驟提出了一個重新定義的實體模型。他首先将未知清晰圖像分解為地表反照率系數和陰影因子的乘積,即。然後他進一步把分解成兩個分量。一個分量與大氣光平行,另一個分量是剩餘分量。使用獨立分量分析(ICA)算法[69]和高斯-馬爾可夫随機場模型[70]計算傳輸。在小視窗條件下,基于表面着色和透射不相關的假設,利用獨立分量分析算法估計大氣光。Fattal的去霧方法利用統計特性來估計圖像恢複的參數。是以,性能在很大程度上取決于輸入圖像。當圖像有濃霧且信噪比不足時,該方法将失敗。

3.1.2.2 Tan等人的恢複算法

Tan等人根據兩個基本觀察結果,提出了一種基于單幅圖像的自動去霧算法:一是清晰圖像或增強圖像通常比霧圖像具有更高的對比度;二是大氣光在小的局部區域變化平穩[71]。Tan等人首先使用白平衡操作将輸入圖像轉換為白色。然後用馬爾可夫随機場對大氣光學模型進行模組化。基于此模型,可以通過最大化恢複圖像的局部對比度來估計大氣光。他們的算法可以自動增強有霧圖像的可視性,并且不需要任何使用者互動操作。在他們提出的方法中,大氣光的全局參數簡單地由輸入圖像的最高亮度(強度)來估計。他們的方法的目的是獲得具有最大對比度的恢複圖像。他們沒有考慮到顔色恢複,這會使增強圖像的顔色失真。由于采用基于小塊(局部)的光學方法來估計大氣光學模型,是以在得到的圖像中可能會出現一些“光暈”效應,特别是深度不連續區域。

3.1.2.3 He等人的恢複算法以及他們的改進算法

為了解決上述問題,He等人提出了一種新的基于單幅圖像的去霧算法,該算法是一種有效的室外圖像恢複方法[29]。

He等人研究了大量清晰的室外圖像,發現在清晰的室外圖像的大部分區域(除了天空區域和白色區域),都有一個最小值為零的像素通道。這也被稱為暗通道先驗理論。暗通道圖像是由:

(12)

其中,表示以像素x為中心的正方形視窗,r、g、b分别為紅色、綠色、藍色分量。對于清晰的圖像,除了天空區域和白色區域,。

根據他們的發現,He等人[29]首先提出了暗通道先驗(DCP)理論,通過在等式(3)的局部區域進行以下最小操作來估計用于圖像恢複的傳輸:

(13)

就式(12)和式(13)而言,粗略的透射是:

(14)

由于在暗通道圖像的局部區域使用最小濾波,暗通道圖像将具有塊僞影(光暈僞影)。這也會導緻存儲的圖像有塊僞影。為了解決塊效應,原有的DCP去霧算法采用了軟摳圖操作來優化透射。在原有的DCP算法中,還利用DCP理論得到了大氣光照值。He等人第一次選擇暗通道圖像中亮度最高0.1%的局部區域,然後簡單地選擇原始霧圖像所選區域中亮度最高的像素作為大氣光。最後,通過式子(15)獲得複原圖像:

(15)

其中,是通過軟摳圖優化的透射,是用來防止分母為0的小常數。

DCP去霧算法能有效地去除室外霧圖中的霧。Gibson等人提供了一個數學解釋,為什麼DCP理論對圖像去霧效果良好[72]。多霧圖像的顔色資訊越多,恢複效果越好,但如果圖像有較大的天空區域、較大的白色區域或濃霧和非均勻霧,則DCP理論将失效,而且用于改善透射的軟摳圖算法費時費力,不适用于實際應用。然而,如果我們使用粗糙的透射率進行圖像去霧,結果圖像将具有由基于塊/片/局部的最小濾波引起的光暈。Huang等人分析了原有DCP去霧算法的缺點,提出了一種改進的三子產品DCP算法用于單圖像去霧[47]。他們的算法也能增強沙塵暴圖像。為了提高效率,Xie等人建議使用多尺度retinex算法來估計透射[73]。Gibson等人也使用中值濾波優化透射,此外,他們的工作還表明,在圖像壓縮之前執行去霧算法比在壓縮之後執行去霧算法要好[74]。但使用中值濾波可能會導緻邊緣退化。一些研究人員嘗試使用在保留邊緣資訊方面具有良好性能的濾波器來代替軟摳圖算法。例如,基于權重最小二乘(WLS)的邊緣保持平滑法[75]、局部自适應維納濾波[76]、雙邊濾波[77]和聯合雙邊濾波[78]是很好的候選方法。He等人提出了一種引導圖像濾波方法,該方法具有更好的邊緣保持效果,并且比雙邊濾波和聯合雙邊濾波快[30]。在此基礎上,進一步提出了一些改進的基于引導圖像濾波的去霧算法。例如,Pei等人使用DCP理論和引導圖像濾波恢複夜間煙霧圖像[79]。Chen提出了一種改進的DCP去霧算法,利用可見光(VL)和近紅外(NIR)圖像恢複近紅外圖像[80]。為了提高去霧效率,Lin和Wang[9]首先使用下采樣算法調整了透射的大小,然後使用引導圖像濾波優化透射。利用上述保邊緣濾波器代替軟摳圖算法進行圖像去霧,不僅可以大大提高去霧效率,而且可以獲得較好的邊緣恢複效果。

Meng等人提出了一種改進的DCP去霧算法,該算法通過對透射函數施加強有的邊界限制,并使用基于混合正則化的權重L1範數來優化透射[81],該算法中,恢複的圖像總是在界限範圍内,且粗透射圖為:

(16)

其中,和是透射圖的兩個邊界限制,A是大氣光——每一個通道在每次形成最小濾波和最大濾波後被選擇的最大光照強度。

Meng等人[81]使用以下最優透射函數和基于混合正則化的權重L1範數來優化粗透射圖:

(17)

式中,λ是平衡目标函數兩項的正則化參數,W是權重矩陣,D是一階微分算子,而o和⊗分别是元素乘法算子和卷積算子。通過最小化上述目标函數,可以得到良好的透射t。這種傳輸優化算法對有霧圖像的恢複有很好的效果,但通過疊代計算得到的良好透射是非常耗時的。疊代次數和兩個邊界限制不能自适應調整。

3.1.2.4 Tarel等人的恢複算法

由于軟摳圖算法過于複雜,Tarel等人提出了一種利用中值濾波及其變體代替軟摳圖算法的快速圖像複原算法[19]。Tarel等人的算法能實時處理彩色或灰色圖像。該算法通過白平衡算法将大氣光照值設為(1,1,1)。由于最小濾波是恢複圖像中産生塊效應的原因,他們隻使用暗通道圖像來估計大氣遮蔽。對于每個像素,他們假設大氣遮蔽V(x)小于原始霧圖像的最小分量。他們希望獲得最大的V,大部分地區是平滑的,除了圖像的邊緣區域。為了提高效率,同時保留邊緣和角點,他們利用中值濾波及其變體。前兩個中值濾波算子用于獲得以下粗糙的大氣散射遮蔽:

(18)

是原始霧圖像的最小分量,,,并且p表示恢複程度,p通常設定為[0.9,0.95]範圍内的常數,是中值濾波視窗的直徑。

Tarel等人提出了一種中線沿直線的中位數算法(Median of Median Along Linesalgorithm)來實作粗大氣散射遮蔽的優化。然後還可以通過式(3)獲得恢複的圖像。Tarel等人的去霧算法可以恢複灰色和彩色圖像。

3.1.2.5 Bayesian去霧

基于場景反照率和景深是兩個統計上獨立的分量,Kratz和Nishino提出了一種用于單圖像去霧的貝葉斯去霧算法[65][82]。他們首先将圖像分解成場景反照率和深度:

(19)

他們定義,,,和可分别視為場景反照率和景深的項。然後應用階乘馬爾可夫随機場(FMRF)對這兩項與輸入圖像之間的依賴關系進行模組化:

(20)

通過最大熵公式(20)估計場景反照率C和深度D。然後通過反求實體模型得到恢複圖像。

Wang等人提出了一種基于貝葉斯理論和馬爾可夫正則化的多尺度深度融合深度圖估計算法[53]。他們首先假設每個先驗深度圖由噪聲和真深度圖t組成,如下所示:

(21)

其中,表示真實深度圖對先驗圖的貢獻程度的權重。他們用高斯函數來模拟噪聲。然後通過最大化後驗函數來估計真深度圖。

(22)

他們使用Gibbs分布對進行模組化,并将式(22)轉換為能量函數,定義為:

(23)

其中,。第一項是同時具有平滑和邊緣保持限制的平滑項,第二項可以看作是噪聲分量。通過能量函數的疊代計算,可以得到精确的深度圖和恢複圖像。該算法在減少光暈僞影方面是有效的,但疊代時間長,需要人工設定參數。

3.1.2.6 基于學習的恢複算法

Tang等人提出了一種新的基于學習的透射估計方法[83]。他們利用随機森林學習了一個回歸模型,該模型揭示了霧霾相關特征與其圖像斑塊真實透射率之間的關系。對于一幅未知的霧狀圖像,首先将圖像分割成若幹小塊,提取與霧度相關的特征,然後利用學習後的随機森林模型得到每一小塊圖像的透射,再将每一小塊圖像的透射聚合得到粗透射。該算法還利用引導圖像濾波進一步優化透射。基于學習的算法具有學習不同天氣條件下的自适應回歸模型的能力,能夠對霧不均勻或濃霧情況下的霧圖像進行恢複。但是基于學習的算法也有很多缺點。該算法需要大量的無霧和有霧圖像對作為學習回歸模型的訓練資料,但是很難獲得大量的訓練資料,回歸模型估計的粗透射不是圖像的真實透射。它不能揭示圖像的真實深度資訊,特别是邊緣區域。

3.2 基于圖像對比度增強的圖像去霧

圖像對比度增強算法旨在提高圖像的對比度,廣泛應用于圖像去霧、水下圖像增強和醫學圖像增強等領域。

3.2.1 基于Retinex理論的圖像去霧

Edwin Land首次提出了基于色彩恒常性的Retinex理論[84]。Retinex一詞來自兩個詞“retina”和“cortex”,這兩個詞表示生物視覺感受。Retinex理論在圖像去霧、暗圖像增強、Mars Express圖像增強等領域有着廣泛的應用[12]、[85]–[87]。

Retinex理論認為圖像由入射分量和反射分量組成。入射分量表示圖像的亮度資訊,也稱為亮度圖像。反射分量表達圖像的内部資訊,又稱反射圖像。Retinex模型如圖5所示。

圖 5:Retinex模型[80]

基于Retinex理論,圖像可以描述為:

(24)

其中,S是原始霧圖像,R是反射分量,L是入射分量,(x,y)是圖像的位置坐标。

基于Retinex的去霧算法通過對Retinex模型的求解來實作圖像的去霧。為了從S中獲得R,對等式(24)的兩邊應用對數:

(25)

從式(25)中,如果我們可以得到L,則可以得到R,是以L的估計直接決定了圖像去霧的效果。為了估計入射分量(L),早期研究提出了基于随機路徑的算法[88]、基于激情方程的疊代算法(the passion equation-based iteration algorithm)[89]和基于高斯差分(DOG)算子的多尺度算法。Hurlbert等人總結了上述入射分量的估計方法[90]。另外,McCann等人提出了兩種基于多分辨率金字塔的Retinex算法:McCann99 Retinex算法和Frankle-McCann Retinex算法[91][92]。用于圖像增強的Retinex算法的目标是同時實作動态壓縮、顔色恒定性和顔色/亮度還原[93]。上述估計算法比較複雜,在色彩對比方面性能不佳。由于高斯函數在大範圍空間常數下具有良好的性能,Jobson等人提出使用高斯函數來估計入射分量[93],[94]。這也是最初的單尺度Retinex(SSR)算法,其中入射分量由下式估計:

(26)

其中,*表示卷積運算,高斯函數可以被表示為:,其中是高斯函數的尺度參數,k是一個歸一化因子,用來保證。對于一個RGB圖像,圖像的反射由下式實作:

(27)

其中,是一個RGB圖像三個通道中的一個。在SSR算法中,尺度參數決定了圖像增強的性能。如果值較大,則增強後的圖像保持了良好的色彩/亮度再現,但圖像細節的恢複效果不佳。否則,就會産生相反的效果。換句話說,SSR算法不能同時實作動态範圍壓縮和顔色/亮度再現(還原)。

為了克服上述缺點,提出了多尺度Retinex(MSR)算法和帶顔色恢複的多尺度Retinex(MSRCR)算法[12]、[13]、[93]、[95]、[96]。與SSR算法不同,MSR算法在每個通道中使用三個不同尺度的歸一化高斯濾波器,可以看作是三個不同尺度的SSR算法輸出的權重和,定義為:

(28)

其中,表示每個尺度的權重。在MSR算法中,三個權重都等于1/3。對于大多數圖像,高斯函數的三個尺度分别設定為15、80和250[96]。最後,采用增益/偏移算法将反射分量變換到顯示域[0,255]。

MSR算法具有小尺度動态範圍壓縮、圖像邊緣細節增強、大尺度色彩平衡等優點。但MSR算法不能實作良好的顔色恢複。為了解決這個問題,MSRCR算法使用顔色恢複步驟來控制飽和度:

(29)

其中,Ci是顔色恢複函數。在通過式(29)獲得反射分量之後,還需要将輸出轉換為顯示域。Moore等人提出了一種處理基于Retinex算法的輸出自動規範化方法[97]。Jobson等人提出了一種将輸出轉換到顯示域的“标準增益/偏移”算法[96]。

Petro等人分析了SSR、MSR和MSRCR算法,指出顔色恢複函數存在顔色反轉的風險,并提出了一種應用于亮度通道的顔色恢複方法[98]。源代碼和線上示範可以在首頁上通路。14

霧是圖像的低頻成分,為了增強室外霧圖像場景,Wang等人首先利用小波變換對霧圖像進行增強,然後利用SSR算法提高亮度,實作無霧圖像[49]。Zhao等人用非線性的雙彎曲函數(S型函數)代替MSR算法中的對數函數進行霧狀圖像去霧[54]。原始的SSR、MSR和MSRCR算法使用高斯濾波來估計入射分量,這将導緻增強圖像的邊緣退化。原因是高斯濾波不具有良好的邊緣保持性能。為了解決這個問題,Hu等人首先使用雙邊濾波器估計入射分量,然後使用Gamma調整和雙彎曲函數進一步增強反射圖像[99]。Yang等人提出了一種新的可變濾光片Retinex算法,該算法自适應地為霧圖像的每個局部區域選擇尺度參數[100],該算法可以大大提高圖像的局部對比度,提高圖像的可見度。

3.2.2 基于傳統對比度增強方法的圖像去霧

在這一部分中,我們将簡要總結基于傳統圖像對比度增強方法的圖像去霧算法,如亮度變換、同态濾波、高增強濾波和小波。

3.2.2.1 亮度變換

由于大多數像素具有較大的顔色值或灰階值,是以霧狀圖像的直方圖通常集中分布。是以,霧狀圖像具有低對比度和動态範圍。亮度變換是一種簡單有效的方法,它通過重新分布直方圖來增強圖像[101]。幂律gamma變換(power-law:幂次法則;幂次定律)、分段線性變換和直方圖均衡化(HE)是典型的對比度增強算法,廣泛應用于夜間圖像增強、X射線圖像增強和圖像去霧等領域。在圖像去霧領域,通常在最後一步采用幂律gamma變換和分段線性變換來提高增強圖像的亮度。Gao等人[102]将其應用于由MSR算法獲得的增強圖像的每個通道。在基于Retinex的算法中,用于将反射分量變換到顯示域的增益/偏移步驟也可以看作是一種特殊的分段線性變換。利用分段線性變換進一步提高了SSR算法得到的增強圖像的可見性[85]。

HE方法通過重新配置設定圖像直方圖來擴大圖像的動态範圍來增強圖像。該方法分為兩類:全局直方圖均衡化(GHE)和局部直方圖均衡化(LHE)[52],[103]。GHE算法可以增強霧狀圖像的整體對比度,但不能增強霧狀圖像的局部對比度。對于霧分布不均勻的霧圖像,GHE算法不能取得良好的性能。特别是在深度不連續區域,GHE算法會産生暈輪僞影。Jun和Rong[104]使用GHE算法首先對霧狀圖像進行增強,然後使用小波變換來減少暈輪僞影和噪聲。

為了增強圖像的局部資訊,提出了各種LHE算法及其改進[103]、[105]、[106]。Kim提出了一種部分重疊子塊直方圖均衡化(POSHE)算法。POSHE算法首先對每個子塊執行GHE算法,然後對重疊像素應用權重融合政策[103]。POSHE算法不僅提高了圖像的對比度,而且減少了塊效應。Patel等人比較了多種局部直方圖均衡化算法的亮度保持性能[107]。Ramya等人提出了一種保持亮度的動态模糊直方圖均衡化(BPDFHE)算法,以增強霧狀圖像的可見度并保持色彩清晰度[7]。為了減少由HE算法引起的噪聲,提出了對比度受限的自适應直方圖均衡化(CLAHE)算法[108]。Xu等人[8]對HIS空間的亮度分量執行CLAHE算法,以增強霧狀圖像的可見性,同時降低噪聲。

盡管圖像對比度可以通過直方圖拉伸來增強,但圖像往往顯得不切實際。當圖像深度變化很大或有不均勻的霧或霾時,這種簡單的技術将失敗。直接在每個通道上執行HE算法會改變霧狀圖像的顔色結構,導緻HE算法出現顔色失真問題。盡管我們隻能将HE算法應用于強度通道以減少顔色失真,但由于亮度對霧圖像的所有通道的影響,增強圖像也會遇到顔色退化的問題。然而,對于一些濃霧霧圖像,基于HE算法得到的增強圖像的可見性要優于基于Retinex算法和基于實體模型的算法。

3.2.2.2 同态濾波

一般來說,在頻域中,圖像的高頻分量與圖像邊緣等強度發生顯著變化的圖像區域相關聯。低頻分量表示圖像的反射區域,包括天空區域。實體模型中的大氣光分量可以看作是低頻的主要分量。霧狀圖像的邊緣資訊通常由于霧的影響而退化。換言之,高頻分量減少而低頻分量增加。是以,如果我們能夠改善圖像的高頻成分,削弱圖像的低頻成分,霧狀圖像的可見度可能會得到增強。同态濾波方法具有與Retinex理論相似的模型,但不需要估計入射分量[109],同态濾波通過使用高通濾波來增強高頻分量和減少低頻分量來增強圖像。該算法簡單、快速,但對濃霧或非均勻霧也不能增強。

3.2.2.3 高增濾波

高增強濾波還通過放大高頻分量來增強圖像[101]。高增濾波和基于Retinex的算法也有一些相似之處,高增濾波的掩模圖像可以看作是基于Retinex算法的反射圖像。高增濾波将掩模圖像和原始圖像融合,提高高頻分量,增強圖像的可見性和邊緣資訊。該算法簡單快速。該算法可以增強視覺效果,但會導緻顔色失真和噪聲放大。

3.2.2.4 小波變換

與同态濾波和高增濾波方法類似,小波變換也通過改善高頻分量和降低低頻分量來增強圖像[110]。Busch等人提出了一種基于小波變換的交通控制系統霧能見度分析方法[111]。Jia和Yue[112]首先使用小波變換分解YUV空間的亮度分量,然後對低頻子帶應用高斯濾波去除大氣光模型,并使用高通濾波器增強高頻子帶中的圖像資訊,最後通過小波逆變換得到增強圖像。Rong等人使用了反銳化掩蔽算法來增強低頻的對比度[113]。基于小波變換的算法在抑制光暈效應和噪聲方面有很好的性能,但對于大霧和非均勻霧的圖像,其可見度并不能得到改善。這主要是因為使用的濾鏡很簡單,不考慮場景資訊。換句話說,通過簡單的濾波不能很好地估計霧分量和邊緣資訊。Yang等人結合小波變換和實體模型進行圖像去霧[114]。他們利用小波變換得到的低頻信号來估計圖像的粗透射,然後利用引導圖像濾波來優化圖像去霧的透射。

3.3 基于融合政策的圖像去霧

近紅外圖像和可見光圖像的融合算法已經應用于許多領域,如人臉識别、目标檢測、目标跟蹤和識别[115]-[117]。一般來說,近紅外(NIR)的散射小于可見光(VL)。是以,在霧天,近紅外圖像比VL圖像具有更詳細的資訊和更高的對比度。基于這個事實,Schaul等人提出将近紅外圖像和VL圖像融合以增強霧狀圖像的可見度[58]。利用權重最小二乘優化架構直接融合兩幅原始圖像。在濃霧天氣條件下,如果近紅外圖像對比度很低,算法将失敗。近紅外圖像去霧和VL圖像去霧是未來的另一個研究方向,将有助于提高目标的檢測、跟蹤和識别性能。

Ancuti等人提出了一種基于融合的單幀圖像去霧算法,該算法通過融合來自原始霧圖像的多幅圖像[31]。他們首先使用半逆方法(見第A(1)節,即1.1節)來檢測霧圖像中的霧區,然後估計清晰區域中的大氣值。然後使用下式獲得幾幅圖像:

(30)

其中,ai是[0,1]範圍内的一個常量值,i∈[1,k],k表示用于融合的圖像數量,I是原始霧狀圖像。然後對每個圖像Li執行霧區檢測操作,選擇對應圖像Li的低色差區域作為最終輸入圖像進行融合。最後,通過對輸入圖像進行簡單的權重融合,實作了圖像的複原。

上述算法基于半逆圖像的霧區檢測。對于某些場景,特别是海洋場景,由于原始圖像和逆圖像的差别很小,基于半逆方法的霧霾檢測會失敗。這意味着如果霧區檢測失敗,将獲得不良性能。

為了解決上述問題,Ancuti等人提出了另一種簡單的基于融合的去霧算法,該算法通過另外兩個同樣來自原始圖像的輸入圖像來實作[118],[119]。第一個輸入圖像通過原始霧圖像的白平衡操作獲得,第二個輸入圖像通過簡單的線性變換獲得,該線性變換用于增強霧圖像的對比度。最後,采用三權圖的像素融合方法對兩幅輸入圖像進行融合,以提高霧天圖像的可見度。Ancuti等人還擴充了他們的基于融合的水下圖像增強算法[55]。他們提出的基于融合的去霧算法簡單快速,可以達到與實體去霧算法類似的效果,如DCP算法[29]和Fattal算法[48]。但當圖像中含有不均勻的霧時,它就失效了。原因是該算法沒有考慮霧圖像的深度資訊。

基于融合政策,Fu等人利用不同尺度伽馬校正得到的兩幅輸入圖像進行沙塵暴圖像增強[57]。Guo等人提出了一種改進的基于不同輸入圖像融合的單幀圖像去霧算法[56]。

基于融合的算法是對于單幀圖像去霧新穎有效。第二個輸入圖像用于增強融合圖像的對比度,第一個輸入圖像用于補償顔色失真,并減少由第二個輸入圖像引起的光暈效應和噪聲。換句話說,第一個圖像用于恢複顔色和降低噪聲,第二幅圖像用于增強圖像的可見性。盡管這些算法快速、簡單,但如果第二幅輸入圖像不能有效地增強霧狀圖像的可見性,則無法獲得良好的性能。表1總結了一些典型的圖像去霧算法的優缺點。

表1::一些典型圖像去霧算法的比較

去霧方法 優點 缺點 應用

在不同天氣下拍攝的多幅圖像 顔色恢複得很好 (1)源圖像難以擷取。(2)未恢複出霧濃或不均勻的圖像。 特殊應用,如監視和薄霧天氣。

在同一天氣下拍攝的多幅圖像 在薄霧條件下,(得到的複原圖像)色彩保真度良好、圖像能見度高 (1)大氣光值手動設定。(2)恢複濃霧圖像失敗。(3)源圖像難以得到。 鏡頭靜止,并且是薄霧天氣。

Fattal [48] 在非均勻霧或薄霧條件下,圖像能見度高 在濃霧或信噪比不足的情況下無法增強圖像。 單色有霧圖像。

Tan et al.[71] 霧天圖像的對比度良好 霧天圖像可能會過度還原,産生暈輪效應和色彩失真。 單色或灰色有霧圖像。

He et al.[29,30] 産生的圖像是一種近似自然的清晰圖像,具有良好的色彩恢複效果 (1)非均勻霧和濃霧天氣下圖像恢複失敗。(2)無法恢複大面積天空或大面積白色的圖像。 單色圖像,特别是有薄霧的戶外圖像。

Tarel et al.[19] (1)快速;(2)薄霧圖像能見度高 (1)顔色失真。(2)無法處理場景深度不連續的圖像。 單色或灰色圖像。

Bayesian去霧 光暈效應小,霧天圖像能見度高 (1)計算量大。(2)可能會導緻邊緣退化和顔色失真。 單色霧度圖像,特别是薄霧度圖像。

基于學習 [84] 也許适合所有的場景 (1)難以擷取大資料集。(2)缺乏完善的學習模式。(3)現有算法不夠成熟。 彩色圖像。

基于Retinex

簡單和快速,非常适合低亮度的霧天圖像

(1)對不均勻霧天圖像增強失敗。(2)不能增強霧天圖像的局部資訊。

單色或灰色圖像。可以提高低亮度圖像的可視性。

亮度轉換 産生的圖像對比度高 (1)顔色和邊緣失真。(2)增加噪聲(Boost noise)。3)光暈效應。 單色或灰色圖像,特别是與薄霧和相同深度的圖像。

小波變換 突出顯示霧天圖像的局部資訊或邊緣資訊。良好的噪聲抑制。 (1)濃霧或非均勻霧圖像增強失敗。(2)可能使産生的圖像過亮或過暗。 單色或灰色圖像,特别是有薄霧或均勻霧的圖像。

基于融合的算法 一般來說,基于融合的算法比單一圖像去霧算法具有更好的性能。 融合方法複雜,效率低。 單色或灰色圖像。

四、視訊去霧算法

以往的圖像去霧算法在提高霧圖像的可見度方面具有良好的性能。然而,在一些實際應用中,如無人駕駛飛機或車輛的場景監視和視覺系統中,我們需要提高視訊系統所擷取視訊的實時可見性。與各種圖像去霧算法相比,針對霧天情況下視訊序列的可見性問題,提出的算法很少,而且大多數視訊去霧算法都是針對同一背景圖像的視訊監控提出的。但是,許多算法已經被提出用于視訊增強和視訊去噪。Rao等人将現有的視訊去噪技術和夜間視訊增強算法分為兩類:自增強和基于上下文的融合增強( context-based fusion enhancement)[120]。自增強算法逐幀執行去霧算法,不考慮幀間相關資訊。基于上下文的融合增強算法可以充分利用幀間相關資訊。換言之,該類别融合不同或相鄰幀的資訊以進行視訊增強,進而能夠保留視訊的顔色細節。對于視訊去霧,Guo等人提出了兩種基于通用霧掩模分量估計的監控場景快速去霧算法[121]。視訊去霧算法可分為三類,如圖6所示。第一類是基于幀的視訊去霧算法,它對視訊的每個幀執行單個圖像去霧算法[74],[122]。第二類是基于融合的視訊去霧算法,它是基于每個視訊幀的增強背景圖像和前景圖像的融合。視訊去霧算法的第三類是基于通用分量的去霧算法,它基于對可用于所有視訊幀的通用分量的估計。在每個幀上執行單個圖像去霧算法非常耗時,并且可能導緻顔色和亮度突變。是以,本文主要介紹了第二類和第三類視訊去霧算法。

圖6:視訊算法的分類

基于融合的去霧算法首先提取每個幀的背景和前景。然後采用單圖像去霧算法分别對背景圖像和前景圖像進行增強。最後,通過融合每幀增強後的背景圖像和前景圖像,實作視訊去霧。基于融合的去霧算法隻恢複背景圖像,提高了視訊去霧的效率。有研究者提出用幀差分法提取每幀的背景和前景圖像,并分别用CLAHE算法對背景和前景圖像進行增強[8]、[123]。John等人還提出了一種基于視訊背景和前景分離的視訊去霧算法[6],他們首先利用基于實體模型的單圖像去霧算法對背景圖像進行增強,同時得到全局亮度參數;然後利用估計的亮度參數對每幀的前景圖像進行增強;最後,将增強後的背景圖像與每個增強後的前景圖像進行融合,得到增強後的視訊。需要指出的是,在大霧天氣條件下,表示目标的前景圖像不易準确提取,這種方法可能導緻相鄰兩幀圖像的顔色或亮度發生突變。原因是單幀圖像去霧算法沒有考慮相鄰幀的顔色和亮度資訊的相關性。Yoon等人提出了一種改進的DCP去霧算法,該算法利用多相水準集公式化方法(the multiphase level set formulation method)代替軟摳圖算法來恢複視訊中的每一幀,然後提出了一種顔色校正方法來解決顔色變異問題[124]。

基于通用分量的視訊去霧算法試圖估計一個代表霧分布的通用分量,并将其應用于視訊的後續幀。這些視訊去霧算法是合理的,能夠提高效率。Guo等人将視訊背景圖像的透射作為監控場景視訊去霧的通用分量[121],他們首先通過幀差分方法提取視訊背景;然後利用MSR算法估計背景圖像的透射,并利用雙邊濾波和Rudin-Osher-Fatemi(ROF)模型[125]對透射進行優化;最後,采用通用透射對後續幀進行增強。Xie等人也将場景的背景圖像的透射用作視訊去霧的通用分量[126]。雖然以背景圖像的透射為通用分量可以大大提高視訊去霧的效率,但一些增強的視訊幀,特别是與背景有較大差異的幀,會出現邊緣退化和光暈僞影。其原因是通用透射是從背景估計的,而不是後續視訊幀的真實透射。前一幀的邊緣資訊和深度資訊與後一幀的邊緣資訊和深度資訊不一緻,特别是目标較多的幀,是以目标的某些邊緣會退化。為了解決這個問題,Ma等人[127]提出了一種新的基于引導圖像濾波和霧掩蔽理論相結合的快速視訊去霧算法。霧掩蔽理論将霧視為霧圖像的遮罩或掩模,通過從原始霧圖像中減去增強圖像得到霧罩。他們首先使用單圖像去霧算法來增強視訊的第一幀,同時獲得霧罩;然後應用引導圖像濾波得到後續幀的新霧罩;最後,得到了增強視訊。他們的視訊去霧算法不需要提取背景,通過引導圖像濾波獲得相應新幀的新霧罩,可以有效地消除“假輪廓”現象,是以他們的算法也可以應用到帶有移動錄影機的場景中。Zhang等人同時以關鍵幀的透射為通用分量,采用光流法估計非關鍵幀的透射,提高了效率[128]。

五、圖像去霧算法的客觀品質評價标準

圖像品質評價标準可分為三類:全參考圖像品質評價[129]、部分參考圖像品質評價[130],無參考圖像品質評價[131],全參考和部分參考圖像品質評價需要與霧狀圖像相對應的清晰圖像作為參考圖像。這在實際應用中很難滿足,除非有一個合成的霧狀圖像。是以,在圖像去霧領域,無參考度量被廣泛使用,例如峰值信噪比(PSNR)[132]、結構相似性(SSIM)[129]、資訊熵、平均梯度和全局對比度[133]。

Chen等人提出了一種基于支援向量機(SVM)的品質排序系統,用于比較圖像去霧算法15[134]。該算法從每個圖像中提取521個特征進行訓練和分類。吉布森等人。Gibson等人也提出了一種基于adaboost學習的霧海圖像對比度增強方法16[135]。以上兩種算法都很新穎,但都過于複雜。

圖像去霧的主要目的是提高霧圖像可見度。一個好的去霧算法不僅需要增強圖像的可見性、邊緣和紋理資訊,而且還需要保持圖像的結構和顔色。具有良好可見性的圖像還意味着它具有明顯的邊緣和紋理資訊。是以,一個好的圖像品質評估方法需要比較不同去霧算法的可見性、顔色恢複和圖像結構相似性的效果。

5.1 圖像可見度評價标準

可以使用各種指數來比較圖像的可見性,例如盲評估的前兩個名額[136]、圖像可見性測量(IVM)[37]、圖像對比度[137]和視覺對比度測量(VCM)[38]。

5.1.1 盲評價名額17

盲評估的前兩個名額使用圖像邊緣的增強程度來表示圖像可見度的增強程度[136]。第一個名額e表示圖像去霧後可見邊的增加速率,并通過:

(31)

其中,nr和no分别表示恢複圖像Ir和原始圖像Io中可見邊集的基數。文獻[136]、[138]對可見邊緣分割算法進行了詳細介紹。CIE定義局部對比度大于5%的邊緣集為可見邊緣[32]。因為對于一些濃霧圖像,原始濃霧圖像的可見邊緣數可能為0,我們将公式(31)轉換為:

(32)

其中,M和N是圖像尺寸。e值越大,能見度改善程度越大。此名額使用增加的可見邊數來表示圖像可見性的增強程度。

第二個名額使用圖像梯度的增強程度來表示圖像邊緣和紋理資訊的恢複程度。較大的也意味着相應的去霧算法比其他算法具有更好的邊緣保持性能。計算為:

(33)

其中,,和分别是分别是恢複圖像和原始圖像的梯度,表示恢複圖像的可見邊集。這個基于梯度的标志/名額也可以作為衡量邊緣資訊恢複的名額。

5.1.2 圖像可見度測量(IVM)

受盲評名額的啟發,Yu等人[37]提出了另一種基于可見邊緣分割的圖像可見性測量方法[136],[138]。IVM定義為:

(34)

其中,其中nr是可見邊緣的數目,ntotal是邊緣的數目,C(x)是平均對比度,并且℘表示可見邊緣的圖像區域。

5.1.3 圖像對比度

清晰圖像的對比度通常遠高于霧狀圖像,是以可以使用圖像對比度來比較不同的去霧算法。增強圖像的對比度越高,去霧算法就越好,Ma和Wen[85]用圖像的全局對比度來比較不同去霧算法的性能。Tripathi等人使用對比度增益比較不同的去霧算法[42]。對比度增益表示增強圖像和原始霧圖像之間的平均對比度差[137],并通過下式計算:

(35)

其中,和分别表示增強圖像和霧圖像的平均對比度。對于一個尺寸為M×N的圖像,它的平均對比度為:

(36)

其中,C是圖像在一個小視窗的局部對比度,由下式計算得:

(37)

其中,,,并且i是局部區域的半徑。對比度增益越大,去霧算法的效果越好。

Ramya等人使用對比度改善指數(CI)比較能見度改善的程度,并使用Tenengrad(門檻值梯度幅度最大化)準則(TEN)來評估邊緣和紋理資訊的恢複效果[7 ]。CI還使用局部對比度來評估圖像品質。CI與對比度增益的唯一差別是局部對比度的計算,是以這兩個名額對圖像品質的評價效果相同。TEN方法測量圖像的銳度,并通過圖像梯度之和來計算。盲評名額可視為TEN名額的改進名額。

5.1.4 視覺對比度測量(VCM)

Jobson等人[38]提出了一種視覺對比度測量(VCM)來量化圖像的可見度,并通過下式計算:

(38)

其中,Rv是标準偏差大于給定門檻值的局部區域的數量,Rt是局部區域的總數。Jobson等人沒有給出門檻值計算算法。在實驗中,我們選擇了OTSU門檻值圖像分割算法來自适應地計算門檻值[37],[139]。VCM使用表示圖像對比度的局部标準差來測量可見度。一般來說,VCM越高,增強圖像越清晰。

5.2 色彩恢複評價标準

盲評估名額σ可用于評估去霧算法的顔色恢複性能[136],σ表示圖像去霧後飽和像素的速率,并計算為:

(39)

其中,M和N是圖像的尺寸,ns表示增強圖像的黑白像素的數量,這些像素在原始霧圖像中不是絕對的黑白像素。σ越小,去霧算法的效果越好。但是在比較不同算法時,名額σ并不完美,這是因為一些算法的增強圖像,特别是基于Retinex的算法需要通過增益/偏移算法轉換到顯示域[0,255]。增益/偏移算法将一些像素變換為黑白像素,以提高顯示的動态範圍,進而會導緻較高的σ。

Yu等人認為一個好的去霧算法應該允許原始霧圖像和增強圖像具有相似的直方圖分布[61]。他們使用兩幅彩色圖像的直方圖相關系數(HCC)作為評估顔色恢複性能的标準。

5.3 圖像結構相似性

Wu和Zhu[41]利用圖像結構相似性(SSIM)和通用品質指數(UQI)[140]來評估原始霧狀圖像和增強圖像之間的結構相似性性能。傳統的SSIM和UQI準則都使用高品質的圖像作為參考圖像。是以,SSIM和UQI越高,比較圖像越好。然而,在實際應用中的圖像去霧,總是選擇原始的霧狀圖像作為參考圖像,是以大的SSIM和UQI并不意味着圖像品質高。例如,兩個相同的霧圖像的SSIM名額一定大于霧圖像和增強圖像的SSIM名額是以,具有最佳可見性的增強圖像可能具有最小的SSIM和UQI。此外,從霧狀圖像中去除霧也會改變圖像結構。這也導緻了小的SSIM和UQI。

六、實驗

在這一部分中,通過主觀和客觀評價比較了幾種經典的單圖像去霧算法。圖7-9為圖像去霧效果圖,實驗中采用了兩種經典的圖像增強算法,四種基于實體模型的去霧算法,并對基于融合的去霧算法進行了比較,采用9個客觀品質評價名額對這些經典去霧算法進行了比較,表1-3給出了這些算法的品質比較。

圖7:幾種典型去霧算法與非均勻霧場景的比較

圖8:幾種典型去霧算法與道路場景的比較

圖9:幾種經典的去霧算法與陰暗多霧場景的比較

圖10:圖9中對應圖像的局部區域

(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Fattal[48];(e)Tarel和Hautiere[19];(f)He等人[29];(g)Meng等人[81];(h)Ancuti等人[31]。

圖7-10顯示MSRCR算法在保持顔色方面取得了最好的性能,但是它并沒有有效地提高可見度。CLAHE算法是一種簡單有效的增強暗均勻霧圖像的算法(見圖8(b)和圖9(b)),但它不能增強非均勻霧圖像(見圖7(b)),這也證明了CLAHE算法不能解決深度不連續問題。Meng等人提出的去霧算法是He等人提出的一種改進算法,其去霧效果優于He等人(見圖7(g)和圖8(g)),但由于大氣光的誤差估計導緻了顔色失真(見圖9(g))。Fattal、Tarel等人和Ancuti等人的去霧算法大大增強了霧狀圖像的可見度。Fattal的去霧算法在去除非均勻霧方面取得了最好的效果,但是一些場景也被去除了,如圖7(d)的“框”區域所示。圖8(d)和圖9(d)表明,Fattal的去霧結果亮度較低,通過白平衡操作或伽馬校正進一步提高其亮度可以獲得更好的結果。

表2:圖7去霧結果的客觀圖像品質比較

表3:圖8去霧結果的客觀圖像品質比較

表4:圖9去霧結果的客觀圖像品質比較

上表顯示,MSRCR算法比其他去霧算法在所有能見度評估标準中獲得的值更小,這與主觀評價是一緻的。上表還表明,上述去霧算法均能提高霧圖像的可見度。特别地,改進的Meng-DCP算法比He算法獲得了更大的能見度準則值,這與去霧結果的比較是一緻的。從上表可以看出,Ancuti的去霧算法比其他的去霧算法獲得了更大的e值,這說明該算法在圖像邊緣的恢複方面具有最好的性能。Fattal的去霧算法比其他算法具有更好的對比度恢複性能。

與相應的原始圖像相比,圖8和圖9所示的Fattal、Meng和Ancuti的結果存在顔色失真的問題。其算法的表3和表4所示的HCC值證明HCC準則與主觀評價一緻,可以作為不同去霧算法顔色恢複的比較準則。上表和圖也證明了HCC準則比第三盲評估名額σ更适合不同去霧算法的顔色恢複比較。

表2-表4表明,與基于增強和融合的去霧算法相比,基于實體模型的算法保留了更好的圖像結構。上表和圖表證明,SSIM和UQI指數越小,去霧效果越好。這也證明了去霧也會改變圖像的結構。

沒有一種去霧算法在所有條件下都有很好的性能,是以很難确定哪種算法是最佳的去霧算法。從上表和圖中可以看出,品質評價名額與主觀評價并不完全一緻,但可以作為比較不同去霧算法的參考。

圖11:無天空區域航拍照片去霧算法的研究。(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Tarel和Hautiere[19];(e)Meng等人[81];(f)Nishino等人[82]。

圖12:高亮度道路場景中幾種去霧算法的結果。(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Tarel和Hautiere[19];(e)Meng等人[81];(f)Nishino等人[82]。

圖13:濃霧環境下幾種去霧算法的效果。(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Tarel和Hautiere[19];(e)He等人[29];(f)Meng等人[81]。

圖14:濃霧海景中幾種去霧算法的結果。(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Tarel和Hautiere[19];(e)He等人[29];(f)Meng等人[81]。

圖15:薄霧海面上幾種去霧算法的結果。(a)原始圖像;(b)CLAHE[108];(c)MSRCR[98];(d)Tarel和Hautiere[19];(e)He等人[29];(f)Meng等人[81]。

針對不同條件下的單幅圖像去霧,如海面或無天空區域、濃霧或薄霧等,選擇了幾種去霧算法。去霧結果如圖11-15所示。圖11-15表明MSRCR算法在增強海霧圖像方面取得了良好的效果。對于海霧圖像,Meng的算法不适用。圖12顯示,Nishino算法對高亮度圖像具有魯棒性,但該算法會導緻顔色失真。從圖13可以看出,Tarel算法對濃霧環境下的道路圖像有很好的增強效果。在圖13-圖15中,通過快速引導圖像濾波優化了He算法[29]的透射[141]。表5比較了幾種典型的去霧算法的計算效率,從表5可以看出,Meng的算法比He的去霧算法需要更多的計算時間。這也證明了疊代計算圖像透射是非常耗時的。

表5:一些典型去霧算法的計算時間

注:以上算法在同樣的電腦上測試,系統是Win7,軟體為Matlab2015a,硬體為Intel Core i7-4790 CPU和16GB RAM

表5:基于不同透射方式的改進暗通道先驗算法的去霧時間

圖16:基于不同透射優化方法的改進暗通道先驗除霧算法比較,第一行圖像為原始霧圖像,去霧結果采用軟摳圖優化[29]、雙邊濾波[77]、聯合雙邊濾波[78],引導圖像濾波[30]和Meng的優化算法[81]。第二行圖像分别為原始透射圖像和利用上述算法得到的優化透射圖像。

基于暗通道先驗的去霧算法是近年來最流行的單圖像去霧算法之一。為了提高邊緣保持和效率,人們提出了各種透射優化算法。是以,我們在本實驗中比較了一些典型的透射優化算法。圖16和表6表示出了一些典型的改進的基于暗通道先驗的去霧算法的比較。我們看到,軟摳圖算法、雙邊濾波、聯合雙邊濾波和引導圖像濾波算法都取得了很好的效果,但是使用引導圖像濾波可以大大提高效率。

七、結論

本文不僅綜述了各種視訊和圖像去霧算法,還簡要介紹了相關的圖像恢複和增強方法,雖然單圖像去霧算法在過去幾年得到了長足的發展,但仍有許多問題需要解決。除此之外,視訊去霧算法是實作智能去霧的關鍵技術,但也有許多困難需要克服。主要問題如下:

(1)很少有技術能夠判斷目前場景是否有霧。現有的算法隻具有恢複有霧圖像的能力。是以,今後克服這一問題具有重要意義。霧圖像的霧級分類也值得研究。它可以提高對圖像去霧的某些參數的估計。近年來,人們提出了許多模式識别算法,特别是基于深度學習的分類方法,這種方法不需要人類去發現有霧圖像和清晰圖像的最大差異特征。它可以從圖像中自動提取鑒别特征,并學習分類模型。

(2)目前還沒有一種單一的圖像去霧算法能夠在各種大霧天氣下獲得良好的去霧效果。現有的單圖像去霧算法可以有效地增強均勻霧或薄霧的圖像。但是,如果霧在圖像中的分布不均勻,或者圖像中充滿濃霧,一些單一的圖像去霧算法将失敗。是以,有必要進一步研究能夠在不同霧天(如夜間霧天、濃霧天和非均勻霧天)自适應增強采集到的霧天圖像的單圖像去霧算法。也許我們可以結合霧天圖像分類、能見度檢測和單圖像去霧來解決這個問題。在霧天天氣條件下,基于成像實體模型的現有算法尤其是去霧算法主要針對地面霧狀圖像。這種成像模型可能不是其他場景的完美模型,例如在海上或空中。是以有必要針對不同的場景建立不同的模型或多個模型。基于融合的去霧算法可能是解決這些問題的一種潛在方法。對于一些特殊的場景,我們可以用兩種不同的去霧算法來融合兩幅去霧圖像。

(3)在現有的去霧算法中,需要手動設定參數。雖然通過不斷調整其參數可以獲得良好的性能,但這在實時應用中是不現實的,需要簡單、快速、有效的算法,可以根據圖像的霧度自适應地設定參數。這也證明了圖像霧級的分類是非常重要的。

(4)視訊去霧算法是視覺系統中的一項重要技術。然而,所有現有的視訊去霧算法都聚焦在監視場景上。對于帶有移動相機的場景,沒有有效的視訊去霧算法。對于視訊去霧,有效性和實時性同樣重要。很難同時確定良好的去霧效果和實時處理。對于現有的基于背景提取的視訊去霧算法,背景估計在視訊去霧效果上有很大的影響。是以,尋找一種霧天背景估計的快速算法是非常必要的,而色移問題也有待于進一步的研究。對于像汽車行駛記錄儀這樣的運動錄影機,基于幀的視訊去霧算法和基于通用分量的去霧算法應該更适合。對于實時場景,也許我們可以犧牲一點圖像恢複品質來提高效率。

(5)由于以往的客觀評價與主觀評價不完全一緻,很難直接應用于評價不同的去霧算法。是以,還需要提出一個更好的品質評價名額或方法。也許可以引入一些智能機器學習算法,如深度學習算法來進行圖像品質評估。

緻謝

作者要感謝山東大學的Edward C. Mignot博士的語言建議。

參考文獻

可參照原文,不在贅述。

由于是在Word中弄然後複制過來的,導緻公式和圖檔不顯示,需要的可以直接參考原文。 本人剛接觸這方面的内容,如有翻譯不得當之處歡迎大家指出。

繼續閱讀