鐘魁松 馮治國 張振博 袁森
(1.貴州大學,貴陽 550025;2.貴州省特色裝備制造技術重點實驗室,貴陽 550025;3.貴州理工學院,貴陽 550003)
主題詞:視頻處理 霧天道路 圖像去霧 暗通道 大氣散射模型 直方圖均衡
視覺感知已成為智能駕駛領域研究的熱點方向,其與激光雷達相結合在車輛識別與跟蹤領域應用廣泛。道路環境易受霧的影響,導致車輛視覺感知信息不完整,影響依賴視覺的智能車運行。因此,霧天環境下圖像的快速增強算法具有重要研究意義。
目前,針對單圖像去霧的算法可分為3類。第1類是圖像增強,核心是盡量去除圖像噪聲、增強圖像的對比度。第2 類是基于物理模型的恢復算法,基于一定的先驗知識,通過大氣散射模型恢復無霧圖像。He 等人提出了暗通道先驗去霧算法,但會造成去霧后的圖像天空區域色彩失真。He等人后續改進,使用引導濾波器提升了算法速度,但易出現去霧不徹底的情況。Zhu 等人提出了一種基于顏色衰減先驗的去霧方法,創建霧圖景深線性模型,可較好地恢復深度信息,但其大氣消光系數的選擇對近、遠景去霧存在差異,因此自適應性和泛化性不足。Ju 等人提出一種基于伽馬校正先驗(Gamma Correction Prior,GCP)的去霧方法,基于“全局”策略,獲取一個未知常量即可還原圖像,減小了計算成本。劉海波等人結合這2類方法提出了一種暗通道先驗和Retinex 算法的結合方法。第3類是基于學習的去霧算法,卷積神經網絡(Convolutional Neural Networks,CNN)被應用于圖像去霧領域。Li 等人于2017年提出了一種一體化去霧網絡(All-in-One Dehazing Network,AOD-Net),這是一種端到端的去霧模型,在統一模型中進行計算,省去了中間的參數估計,可直接從有霧圖像復原清晰圖。Cai 等人提出了可訓練的端到端系統(Dehaze-Net)。基于學習的去霧算法具有效率高的特點,但由于缺乏真實的訓練數據或者先驗參數,一定程度上限制了其去霧性能。不同于靜止的房屋或其他參照物,道路環境復雜多變,無法獲得準確且通用的訓練集,因此,基于學習的去霧算法還有很大發展空間。
對比驗證結果表明,基于大氣散射模型的去霧算法在道路環境去霧方面表現最好。因此,本文基于大氣散射模型和暗通道先驗方法,優化大氣散射模型參數計算,并結合限制對比度自適應直方圖均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)提高圖像去霧質量,縮短算法處理時間,實現視頻圖像快速實時去霧。
本文將基于大氣散射模型的最小濾波技術與CLAHE 相結合,對密集視頻幀進行除霧。考慮到車輛行駛過程中,大氣光照在短時間內不會明顯變化,設定基于大氣散射模型的連續圖像去霧算法,可在一定幀數間隔內動態估計大氣光值,從而大幅縮短處理時間,且不影響無霧圖像的合成。本文設置大氣光值的估計間隔為每600 幀一次,即在30 幀/s 的條件下,每20 s 計算一次,可根據不同環境條件調整計算間隔。再依次進行透射圖估計和無霧場景的恢復,然后對所有幀進行CLAHE 去霧,提高圖像的對比度和亮度,改善圖像質量。算法流程如圖1所示。

圖1 動態大氣光去霧算法流程
根據我國對霧的等級劃分標準,道路霧等級能見度如表1所示。

表1 道路霧等級能見度
本文針對輕霧、霧、大霧天氣道路的圖像進行去霧處理,對于濃霧和強濃霧道路,車輛應該盡量避免在此條件下行駛。為了實現對幀的增強,需要對視頻幀進行提取。實時采集的視頻幀速率為30 幀/s,實時的幀提取過程使所有幀處于待處理狀態。此過程連續進行,當前提取的幀立即發送處理,1/30 s 后提取下一幀,并輸出已處理幀,以此類推。
He 等通過對大量圖片進行觀察,發現在絕大多數非天空的局部區域里,某些像素總在至少1個RGB顏色通道具有很低的值,即該區域光強度的最小值接近于0,此即暗原色先驗理論。求得每個像素RGB分量的最小值,將該值存入一幅與原始圖像()大小相同的灰度圖中,再對該灰度圖進行最小值濾波:


本文設置()根據圖像像素總和的大小取值,設圖像分辨率為×,則()為:

在計算機視覺和計算機圖形中,大氣散射模型被廣泛應用于定義有霧圖像幀()的基本結構:

式中,()為去霧后的輸出圖像;為大氣光值;()為透射率;()()為直接衰減項;[1-()]為大氣光照強度值,代表自然光在空氣介質的作用下所受到的光強影響。
空氣介質相同且均布的情況下,()可定義為:

式中,為大氣散射系數,天空絕對清晰時,=0,否則>0;()為攝像機與被拍攝物體間的距離,即圖像深度。
根據式(3)可得:

在暗通道圖中取最亮的前0.1%像素,于這些像素位置處,在原始有霧圖像()中找到相應位置具有最高亮度點的值,作為大氣光值:

大氣光值已知時,對式(3)進行變換可得:



式中,J為所求的無霧圖像。
根據前文暗原色先驗理論,有:

由此可以推導出:

式中,為手動設置的去霧系數。

利用計算出的大氣光值和透射率()便可以進行無霧圖像的恢復,由式(3)可得所求的無霧圖像為:

試驗結果表明,使用暗通道先驗100%去霧后,天空區域往往會出現較大面積的紋理、分塊以及光暈等問題。對此,本文優化了式(10)中去霧系數的取值范圍(=0.55~0.85,本文經過對200 余幅圖像試驗對比所得),保留一定的霧。經驗證,在所取范圍時能有效規避上述問題,同時也有利于感受景深存在,避免圖像失真,以便下一步增強處理。
雖然經過復原后的圖像已經變得相對清晰,但是仍保留了一定的霧,且圖像還存在對比度不足、暗淡等缺點,因此本文對圖像進行進一步去霧增強,突出其特征和細節。直方圖均衡化(Histogram Equalization,HE)是一種根據色彩通道的值對像素進行分散以獲得更好的圖像對比度的處理技術,可以進行圖像薄霧的去除并提升圖像的對比度和亮度。本文為了突出道路特征,提高圖像的局部對比度,采用自適應直方圖均衡,即將圖像分成若干塊,分塊進行HE處理。同時,為防止對比度調整過大造成圖像失真,對局部對比度進行限制,設置ClipLimit顏色對比度閾值,即限制對比度自適應直方圖均衡(CLAHE)。直方圖表示幀中每個不同色調值的所有像素的分布,圖2所示為圖片經直方圖均衡化前、后的對比結果。

圖2 直方圖均衡化前、后對比
駕駛系統需要實時了解路況,因此必須同時控制去霧質量和運行時間。本文算法集成了暗通道先驗和直方圖均衡去霧,對拍攝的霧天道路視頻進行試驗,并將去霧增強效果和平均運行時間與其他算法進行對比。試驗均在CPU為Intel(R)Core i5-10210U@1.60 GHz,運行內存8 GB的計算機上完成,運行系統為Windows 10,開發語言為Python,開發平臺為Pycharm。試驗參數設置:最小值濾波器半徑為7;引導濾波器的窗口大小為81;對比多幅圖像處理結果后,選擇去霧系數=0.75;CLAHE顏色對比度閾值為2.0,像素均衡化網格大小為(8,8);除外其余參數均根據已有經驗取值。另外,本文在驗證去霧算法時采用的圖片均為實際霧天道路圖片。
為驗證本文算法對圖像的去霧和特征增強效果,選用帶色彩恢復的多尺度Retinex(Multi-Scale Retinex with Color Restoration,MSRCR)算法、暗原 色先驗(Dark Channel Prior,DCP)算法、顏色衰減先驗(Color Attenuation Prior,CAP)算法、進行對比。圖3和圖4所示為分別為霧天道路1和道路2圖像的去霧對比效果。所列算法結果均在相同硬件條件下運行所得,僅進行算法比較。


圖3 道路1不同算法去霧效果對比

圖4 道路2不同算法去霧效果對比
由圖3 和圖4 對比可知:MSRCR 算法色彩恢復過度,導致物體失去原本色彩,且去霧效果較差,道路特征不突出;DCP 算法去霧后圖像整體較暗,細節紋理不夠清晰,且存在大片天空區域時會出現光暈;CAP 算法雖然能快速去霧,但去霧效果不夠明顯,無法凸顯道路信息;本文算法綜合去霧、圖像亮度和對比度效果最優,不僅能很好地恢復圖像色彩,還突出了道路特征。
由于道路環境復雜多變,無法獲取無霧條件下某位置的標準圖像,因此圖像評價的全參考(如峰值信噪比)指標不適用。本文采用無參考的客觀評價指標進行驗證,表2所示為本文算法與其他幾種常見算法的對比結果。

表2 圖像去霧后客觀評價指標對比
相關研究發現,圖像灰度均值在120~200 范圍內、灰度標準差在35~80范圍內視覺效果最佳。灰度均值可以表征圖像的亮度,其值越大,亮度越高,反之越小。標準差可以表示圖像像素值與均值的離散程度,標準差越大說明圖像的質量越好。平均梯度反映了圖像的清晰度和紋理變化,平均梯度越大說明圖像越清晰,提供的信息也更多。彩色圖像信息熵用來表示圖像包含信息量大小,其值越大,表明圖像細節越豐富,質量越好,信息熵越高,圖像能提供的道路信息越豐富。
由表2可知,本文算法相較原圖和DCP算法處理結果,圖像均值處在更優區間。標準差、信息熵、平均梯度均高于原圖和其他3 種算法處理結果。這些客觀評價指標結果表明,本文算法具有明顯優勢。
對于實時去霧,單幀圖像的處理在保證一定質量的同時,處理時間應盡量縮短。本算法以600幀的間隔估算大氣光值,可節省大量處理時間。針對不同分辨率大小的圖像構成的視頻,平均每幀的處理時間對比如圖5所示。
由圖5 可知,在已有的試驗條件下,不同分辨率大小圖像每幀的處理時間主要集中在25~300 ms范圍內,隨著試驗設備優化,圖像處理時間將進一步減小。與其他幾種常見單圖像去霧算法在2 種分辨率下處理視頻的平均耗時如表3所示,可以發現本文算法具有較明顯的優勢。DCP 和CAP 方法與本文算法時間較接近,但仍需多耗費2~4倍的時間。

表3 不同算法運行時間對比

圖5 不同分辨率大小圖像每幀的處理時間
對霧天道路視頻進行實時去霧處理,視覺對比效果如圖6所示。圖像邊緣強度能夠反映能見度大小,因此在對圖像基于暗通道先驗半去霧和CLAHE進一步去霧增強后進行邊緣強度的對比,驗證去霧效果。

圖6 去霧前、后邊緣強度對比
利用Canny 邊緣檢測算子檢測得到去霧前、后道路圖像的邊緣圖。邊緣是圖像最基本的特征,是圖像不同屬性區域的交界處,即區域屬性發生突變處,也是圖像信息最集中的位置。邊緣強度特征是進行目標檢測或者圖像分類的基本特征。圖6 中去霧前的道路圖像邊緣信息僅包含視野前方的斑馬線,處理后的圖像則包含了路口對面的斑馬線,且房屋樹木都更加顯現。計算Sobel 算子邊緣檢測的幅值,去霧前為15.582 2,半去霧后為31.690 7,CLAHE 進一步去霧后為49.656 5,總體效果邊緣強度提升2倍以上。結果表明,暗通道先驗去霧后邊緣強度已較大幅度提高,增加CLAHE 處理后效果更好。由對比結果可知,本文算法去霧后的圖像能夠提供更多的邊緣信息,大幅提升能見度,為車道線和其他道路信息提取創造可能。
本文將基于暗通道先驗的去霧方法應用到道路視頻去霧,通過改變大氣光值的計算方法優化去霧系數,同時結合限制對比度自適應直方圖均衡算法,進一步去霧并突出道路特征。經試驗驗證,在保證去霧質量的同時,去霧速度對比傳統算法有較大優勢。結果表明:
a.本文算法在亮度、對比度、清晰程度和色彩還原方面相較傳統去霧算法有一定提升。
b.無參考客觀評價指標圖像均值、標準差、信息熵,尤其是平均梯度等方面較所列傳統算法無劣勢。
c.平均每幀去霧時間相對不同算法均有較大優勢,處理速度提升了2~10倍。
d.在現有硬件下,對像素較小圖像可以實現30幀/s的最佳視覺處理。
e.邊緣強度提升近2 倍,有效提升了霧天道路能見度。
相比很多去霧方法只針對合成霧圖,本文試驗均使用真實的霧天圖片,具有很好的實際意義。所提出的方法可以在最短的時間內提供清晰的實時無霧圖像輸出,但同時存在一定的問題,如進出隧道時場景頻繁轉換,大氣光值并不會較為理想地無明顯變化,因此后續還需要針對這一問題進行優化。