鐘魁松 馮治國 張振博 袁森
(1.貴州大學(xué),貴陽 550025;2.貴州省特色裝備制造技術(shù)重點實驗室,貴陽 550025;3.貴州理工學(xué)院,貴陽 550003)
主題詞:視頻處理 霧天道路 圖像去霧 暗通道 大氣散射模型 直方圖均衡
視覺感知已成為智能駕駛領(lǐng)域研究的熱點方向,其與激光雷達相結(jié)合在車輛識別與跟蹤領(lǐng)域應(yīng)用廣泛。道路環(huán)境易受霧的影響,導(dǎo)致車輛視覺感知信息不完整,影響依賴視覺的智能車運行。因此,霧天環(huán)境下圖像的快速增強算法具有重要研究意義。
目前,針對單圖像去霧的算法可分為3類。第1類是圖像增強,核心是盡量去除圖像噪聲、增強圖像的對比度。第2 類是基于物理模型的恢復(fù)算法,基于一定的先驗知識,通過大氣散射模型恢復(fù)無霧圖像。He 等人提出了暗通道先驗去霧算法,但會造成去霧后的圖像天空區(qū)域色彩失真。He等人后續(xù)改進,使用引導(dǎo)濾波器提升了算法速度,但易出現(xiàn)去霧不徹底的情況。Zhu 等人提出了一種基于顏色衰減先驗的去霧方法,創(chuàng)建霧圖景深線性模型,可較好地恢復(fù)深度信息,但其大氣消光系數(shù)的選擇對近、遠(yuǎn)景去霧存在差異,因此自適應(yīng)性和泛化性不足。Ju 等人提出一種基于伽馬校正先驗(Gamma Correction Prior,GCP)的去霧方法,基于“全局”策略,獲取一個未知常量即可還原圖像,減小了計算成本。劉海波等人結(jié)合這2類方法提出了一種暗通道先驗和Retinex 算法的結(jié)合方法。第3類是基于學(xué)習(xí)的去霧算法,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)被應(yīng)用于圖像去霧領(lǐng)域。Li 等人于2017年提出了一種一體化去霧網(wǎng)絡(luò)(All-in-One Dehazing Network,AOD-Net),這是一種端到端的去霧模型,在統(tǒng)一模型中進行計算,省去了中間的參數(shù)估計,可直接從有霧圖像復(fù)原清晰圖。Cai 等人提出了可訓(xùn)練的端到端系統(tǒng)(Dehaze-Net)?;趯W(xué)習(xí)的去霧算法具有效率高的特點,但由于缺乏真實的訓(xùn)練數(shù)據(jù)或者先驗參數(shù),一定程度上限制了其去霧性能。不同于靜止的房屋或其他參照物,道路環(huán)境復(fù)雜多變,無法獲得準(zhǔn)確且通用的訓(xùn)練集,因此,基于學(xué)習(xí)的去霧算法還有很大發(fā)展空間。
對比驗證結(jié)果表明,基于大氣散射模型的去霧算法在道路環(huán)境去霧方面表現(xiàn)最好。因此,本文基于大氣散射模型和暗通道先驗方法,優(yōu)化大氣散射模型參數(shù)計算,并結(jié)合限制對比度自適應(yīng)直方圖均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)提高圖像去霧質(zhì)量,縮短算法處理時間,實現(xiàn)視頻圖像快速實時去霧。
本文將基于大氣散射模型的最小濾波技術(shù)與CLAHE 相結(jié)合,對密集視頻幀進行除霧。考慮到車輛行駛過程中,大氣光照在短時間內(nèi)不會明顯變化,設(shè)定基于大氣散射模型的連續(xù)圖像去霧算法,可在一定幀數(shù)間隔內(nèi)動態(tài)估計大氣光值,從而大幅縮短處理時間,且不影響無霧圖像的合成。本文設(shè)置大氣光值的估計間隔為每600 幀一次,即在30 幀/s 的條件下,每20 s 計算一次,可根據(jù)不同環(huán)境條件調(diào)整計算間隔。再依次進行透射圖估計和無霧場景的恢復(fù),然后對所有幀進行CLAHE 去霧,提高圖像的對比度和亮度,改善圖像質(zhì)量。算法流程如圖1所示。
圖1 動態(tài)大氣光去霧算法流程
根據(jù)我國對霧的等級劃分標(biāo)準(zhǔn),道路霧等級能見度如表1所示。
表1 道路霧等級能見度
本文針對輕霧、霧、大霧天氣道路的圖像進行去霧處理,對于濃霧和強濃霧道路,車輛應(yīng)該盡量避免在此條件下行駛。為了實現(xiàn)對幀的增強,需要對視頻幀進行提取。實時采集的視頻幀速率為30 幀/s,實時的幀提取過程使所有幀處于待處理狀態(tài)。此過程連續(xù)進行,當(dāng)前提取的幀立即發(fā)送處理,1/30 s 后提取下一幀,并輸出已處理幀,以此類推。
He 等通過對大量圖片進行觀察,發(fā)現(xiàn)在絕大多數(shù)非天空的局部區(qū)域里,某些像素總在至少1個RGB顏色通道具有很低的值,即該區(qū)域光強度的最小值接近于0,此即暗原色先驗理論。求得每個像素RGB分量的最小值,將該值存入一幅與原始圖像()大小相同的灰度圖中,再對該灰度圖進行最小值濾波:
本文設(shè)置()根據(jù)圖像像素總和的大小取值,設(shè)圖像分辨率為×,則()為:
在計算機視覺和計算機圖形中,大氣散射模型被廣泛應(yīng)用于定義有霧圖像幀()的基本結(jié)構(gòu):
式中,()為去霧后的輸出圖像;為大氣光值;()為透射率;()()為直接衰減項;[1-()]為大氣光照強度值,代表自然光在空氣介質(zhì)的作用下所受到的光強影響。
空氣介質(zhì)相同且均布的情況下,()可定義為:
式中,為大氣散射系數(shù),天空絕對清晰時,=0,否則>0;()為攝像機與被拍攝物體間的距離,即圖像深度。
根據(jù)式(3)可得:
在暗通道圖中取最亮的前0.1%像素,于這些像素位置處,在原始有霧圖像()中找到相應(yīng)位置具有最高亮度點的值,作為大氣光值:
大氣光值已知時,對式(3)進行變換可得:
式中,J為所求的無霧圖像。
根據(jù)前文暗原色先驗理論,有:
由此可以推導(dǎo)出:
式中,為手動設(shè)置的去霧系數(shù)。
利用計算出的大氣光值和透射率()便可以進行無霧圖像的恢復(fù),由式(3)可得所求的無霧圖像為:
試驗結(jié)果表明,使用暗通道先驗100%去霧后,天空區(qū)域往往會出現(xiàn)較大面積的紋理、分塊以及光暈等問題。對此,本文優(yōu)化了式(10)中去霧系數(shù)的取值范圍(=0.55~0.85,本文經(jīng)過對200 余幅圖像試驗對比所得),保留一定的霧。經(jīng)驗證,在所取范圍時能有效規(guī)避上述問題,同時也有利于感受景深存在,避免圖像失真,以便下一步增強處理。
雖然經(jīng)過復(fù)原后的圖像已經(jīng)變得相對清晰,但是仍保留了一定的霧,且圖像還存在對比度不足、暗淡等缺點,因此本文對圖像進行進一步去霧增強,突出其特征和細(xì)節(jié)。直方圖均衡化(Histogram Equalization,HE)是一種根據(jù)色彩通道的值對像素進行分散以獲得更好的圖像對比度的處理技術(shù),可以進行圖像薄霧的去除并提升圖像的對比度和亮度。本文為了突出道路特征,提高圖像的局部對比度,采用自適應(yīng)直方圖均衡,即將圖像分成若干塊,分塊進行HE處理。同時,為防止對比度調(diào)整過大造成圖像失真,對局部對比度進行限制,設(shè)置ClipLimit顏色對比度閾值,即限制對比度自適應(yīng)直方圖均衡(CLAHE)。直方圖表示幀中每個不同色調(diào)值的所有像素的分布,圖2所示為圖片經(jīng)直方圖均衡化前、后的對比結(jié)果。
圖2 直方圖均衡化前、后對比
駕駛系統(tǒng)需要實時了解路況,因此必須同時控制去霧質(zhì)量和運行時間。本文算法集成了暗通道先驗和直方圖均衡去霧,對拍攝的霧天道路視頻進行試驗,并將去霧增強效果和平均運行時間與其他算法進行對比。試驗均在CPU為Intel(R)Core i5-10210U@1.60 GHz,運行內(nèi)存8 GB的計算機上完成,運行系統(tǒng)為Windows 10,開發(fā)語言為Python,開發(fā)平臺為Pycharm。試驗參數(shù)設(shè)置:最小值濾波器半徑為7;引導(dǎo)濾波器的窗口大小為81;對比多幅圖像處理結(jié)果后,選擇去霧系數(shù)=0.75;CLAHE顏色對比度閾值為2.0,像素均衡化網(wǎng)格大小為(8,8);除外其余參數(shù)均根據(jù)已有經(jīng)驗取值。另外,本文在驗證去霧算法時采用的圖片均為實際霧天道路圖片。
為驗證本文算法對圖像的去霧和特征增強效果,選用帶色彩恢復(fù)的多尺度Retinex(Multi-Scale Retinex with Color Restoration,MSRCR)算法、暗原 色先驗(Dark Channel Prior,DCP)算法、顏色衰減先驗(Color Attenuation Prior,CAP)算法、進行對比。圖3和圖4所示為分別為霧天道路1和道路2圖像的去霧對比效果。所列算法結(jié)果均在相同硬件條件下運行所得,僅進行算法比較。
圖3 道路1不同算法去霧效果對比
圖4 道路2不同算法去霧效果對比
由圖3 和圖4 對比可知:MSRCR 算法色彩恢復(fù)過度,導(dǎo)致物體失去原本色彩,且去霧效果較差,道路特征不突出;DCP 算法去霧后圖像整體較暗,細(xì)節(jié)紋理不夠清晰,且存在大片天空區(qū)域時會出現(xiàn)光暈;CAP 算法雖然能快速去霧,但去霧效果不夠明顯,無法凸顯道路信息;本文算法綜合去霧、圖像亮度和對比度效果最優(yōu),不僅能很好地恢復(fù)圖像色彩,還突出了道路特征。
由于道路環(huán)境復(fù)雜多變,無法獲取無霧條件下某位置的標(biāo)準(zhǔn)圖像,因此圖像評價的全參考(如峰值信噪比)指標(biāo)不適用。本文采用無參考的客觀評價指標(biāo)進行驗證,表2所示為本文算法與其他幾種常見算法的對比結(jié)果。
表2 圖像去霧后客觀評價指標(biāo)對比
相關(guān)研究發(fā)現(xiàn),圖像灰度均值在120~200 范圍內(nèi)、灰度標(biāo)準(zhǔn)差在35~80范圍內(nèi)視覺效果最佳。灰度均值可以表征圖像的亮度,其值越大,亮度越高,反之越小。標(biāo)準(zhǔn)差可以表示圖像像素值與均值的離散程度,標(biāo)準(zhǔn)差越大說明圖像的質(zhì)量越好。平均梯度反映了圖像的清晰度和紋理變化,平均梯度越大說明圖像越清晰,提供的信息也更多。彩色圖像信息熵用來表示圖像包含信息量大小,其值越大,表明圖像細(xì)節(jié)越豐富,質(zhì)量越好,信息熵越高,圖像能提供的道路信息越豐富。
由表2可知,本文算法相較原圖和DCP算法處理結(jié)果,圖像均值處在更優(yōu)區(qū)間。標(biāo)準(zhǔn)差、信息熵、平均梯度均高于原圖和其他3 種算法處理結(jié)果。這些客觀評價指標(biāo)結(jié)果表明,本文算法具有明顯優(yōu)勢。
對于實時去霧,單幀圖像的處理在保證一定質(zhì)量的同時,處理時間應(yīng)盡量縮短。本算法以600幀的間隔估算大氣光值,可節(jié)省大量處理時間。針對不同分辨率大小的圖像構(gòu)成的視頻,平均每幀的處理時間對比如圖5所示。
由圖5 可知,在已有的試驗條件下,不同分辨率大小圖像每幀的處理時間主要集中在25~300 ms范圍內(nèi),隨著試驗設(shè)備優(yōu)化,圖像處理時間將進一步減小。與其他幾種常見單圖像去霧算法在2 種分辨率下處理視頻的平均耗時如表3所示,可以發(fā)現(xiàn)本文算法具有較明顯的優(yōu)勢。DCP 和CAP 方法與本文算法時間較接近,但仍需多耗費2~4倍的時間。
表3 不同算法運行時間對比
圖5 不同分辨率大小圖像每幀的處理時間
對霧天道路視頻進行實時去霧處理,視覺對比效果如圖6所示。圖像邊緣強度能夠反映能見度大小,因此在對圖像基于暗通道先驗半去霧和CLAHE進一步去霧增強后進行邊緣強度的對比,驗證去霧效果。
圖6 去霧前、后邊緣強度對比
利用Canny 邊緣檢測算子檢測得到去霧前、后道路圖像的邊緣圖。邊緣是圖像最基本的特征,是圖像不同屬性區(qū)域的交界處,即區(qū)域?qū)傩园l(fā)生突變處,也是圖像信息最集中的位置。邊緣強度特征是進行目標(biāo)檢測或者圖像分類的基本特征。圖6 中去霧前的道路圖像邊緣信息僅包含視野前方的斑馬線,處理后的圖像則包含了路口對面的斑馬線,且房屋樹木都更加顯現(xiàn)。計算Sobel 算子邊緣檢測的幅值,去霧前為15.582 2,半去霧后為31.690 7,CLAHE 進一步去霧后為49.656 5,總體效果邊緣強度提升2倍以上。結(jié)果表明,暗通道先驗去霧后邊緣強度已較大幅度提高,增加CLAHE 處理后效果更好。由對比結(jié)果可知,本文算法去霧后的圖像能夠提供更多的邊緣信息,大幅提升能見度,為車道線和其他道路信息提取創(chuàng)造可能。
本文將基于暗通道先驗的去霧方法應(yīng)用到道路視頻去霧,通過改變大氣光值的計算方法優(yōu)化去霧系數(shù),同時結(jié)合限制對比度自適應(yīng)直方圖均衡算法,進一步去霧并突出道路特征。經(jīng)試驗驗證,在保證去霧質(zhì)量的同時,去霧速度對比傳統(tǒng)算法有較大優(yōu)勢。結(jié)果表明:
a.本文算法在亮度、對比度、清晰程度和色彩還原方面相較傳統(tǒng)去霧算法有一定提升。
b.無參考客觀評價指標(biāo)圖像均值、標(biāo)準(zhǔn)差、信息熵,尤其是平均梯度等方面較所列傳統(tǒng)算法無劣勢。
c.平均每幀去霧時間相對不同算法均有較大優(yōu)勢,處理速度提升了2~10倍。
d.在現(xiàn)有硬件下,對像素較小圖像可以實現(xiàn)30幀/s的最佳視覺處理。
e.邊緣強度提升近2 倍,有效提升了霧天道路能見度。
相比很多去霧方法只針對合成霧圖,本文試驗均使用真實的霧天圖片,具有很好的實際意義。所提出的方法可以在最短的時間內(nèi)提供清晰的實時無霧圖像輸出,但同時存在一定的問題,如進出隧道時場景頻繁轉(zhuǎn)換,大氣光值并不會較為理想地?zé)o明顯變化,因此后續(xù)還需要針對這一問題進行優(yōu)化。