周文舟,范 晨,胡小平,何曉峰,張禮廉
(國防科技大學智能科學學院,湖南 長沙 410072)
由于天氣、污染等原因?qū)е碌撵F霾是一種普遍現(xiàn)象。在霧霾天氣,空氣中存在很多諸如PM2.5的大氣粒子,它們不僅吸收和散射場景的反射光,還會將一些大氣光散射到相機,導致相機接收到的圖像嚴重降質(zhì),能見度大大下降[1]。由于圖像的質(zhì)量不好,特征提取、目標跟蹤以及目標識別等會受到干擾。因此,十分有必要研究圖像去霧算法,以提高視覺系統(tǒng)的環(huán)境適應性。
隨著計算機技術(shù)、光學器件技術(shù)的提高,圖像去霧算法得到了廣泛關(guān)注,取得了很多成果,也應用在許多領(lǐng)域。常見的去霧算法可以分為兩類:單幅圖像去霧和多幅圖像去霧。Raanan Fattal[2]通過優(yōu)化大氣成像模型和大氣衰減模型,加入了表面陰影量,從而提高了清晰度和對比度。Kaiming He[3]提出了暗通道先驗算法,有效提升了算法速度以及天空區(qū)域的識別率。此外,很多學者[4?6]基于傳統(tǒng)算法提出了改進方法,它們的基本原理都與傳統(tǒng)算法相同。隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,Cai B[7]基于深度學習提出一種名為DehazeNet的可訓練的端到端系統(tǒng),用于參數(shù)估計。該系統(tǒng)去霧效果相較于傳統(tǒng)算法,色彩還原度高,清晰度高,但是其速度慢,需要前期大樣本訓練。
對于單幅圖像去霧,使用以上方法可以有效地改善模糊圖像的質(zhì)量,但需要許多未知參數(shù),因此,使用過程中通常依賴于輸入圖像的某些假設(shè)或先驗知識[8]。多幅圖像去霧算法不存在這樣的問題,輸入多幅圖像后,可以輕松獲得去霧后的圖像,具備較強的去霧能力。在多幅圖像去霧算法中,偏振去霧算法應用較廣[8?12]。
本文針對現(xiàn)有偏振去霧算法魯棒性不強和圖像增強效果有限的問題,提出了一種基于多尺度奇異值分解(MSVD)的偏振圖像融合去霧算法,并設(shè)計了在不同能見度條件下的驗證實驗。與傳統(tǒng)偏振去霧算法相比,本文算法具有較強的自適應性和魯棒性,能夠有效改善傳統(tǒng)算法中出現(xiàn)的光暈以及天空區(qū)域過曝的問題,提高了復雜光照條件下的視覺成像質(zhì)量,具有較大的應用前景。
在霧霾天氣下,大氣中懸浮大量的微小顆粒,大氣光和目標反射光會與粒子發(fā)生散射。霧霾條件下相機的成像模型如圖1 所示。成像系統(tǒng)的接收光由兩部分構(gòu)成:大氣中的粒子對于光源(A∞)散射之后到達成像系統(tǒng)的大氣光(A);目標反射光強(L)經(jīng)過大氣中的粒子吸收和散射后的直接透射光(D)。
圖1 霧霾天氣下的相機成像過程Fig.1 Imaging process of camera under haze weather
未經(jīng)大氣散射衰減和沒有大氣光干擾的目標反射光強為[13]:
式(1)中總光強(I)可以由相機直接獲得,通過估算無窮遠處的光源A∞以及大氣光A,即可計算出理想的目標反射光強,達到圖像去霧的目的。
傳統(tǒng)的偏振去霧算法通過旋轉(zhuǎn)偏振片獲得最亮和最暗的偏振圖像,利用得到的圖像進行差分,求取式(1)中的參數(shù)[8?12]。然而,這種方法是通過主觀判斷圖像的最好與最壞,導致算法魯棒性不強,不易操作,并且主觀判斷也存在較大的誤差。因此,Jian Liang[12]等人提出了基于Stokes 矢量的去霧算法,首先在相機上安裝偏振片,分別獲得0°、45°、90°和135°的圖像,Stokes 矢量可以表示為[14]:
式(2)中,S0表示入射光的總強度,S1和S2表示偏振態(tài)的入射光。鑒于影響圖片質(zhì)量的主要為白噪聲,因此通過4 幅圖像相加以及2 幅圖像的相減均可以達到降噪效果。偏振角(θ)計算公式為:
根據(jù)文獻[15],大氣光可以表示為:
其中
式中θA為整幅圖像中出現(xiàn)概率最大的偏振角。
無窮遠處的光源(A∞)可以通過暗通道先驗方法獲取[3]。暗通道圖像可由式(6)獲得:
選取單個像素在紅、黃、藍3 個通道的最小值作為該像素的亮度值,然后,選擇合適的窗口大小?(x),在該窗口中取所有像素的最小值作為窗口所有像素的亮度值,即可得到原始圖像的暗通道圖像。在文獻[3]中,作者根據(jù)實驗經(jīng)驗選取窗口大小為15×15。在文獻[16]中作者通過實驗發(fā)現(xiàn)對近處物體取大窗口、對遠處物體取小窗口的重構(gòu)效果好,他們依據(jù)估計的深度設(shè)計了不同的窗口大小。在本文中,根據(jù)實驗結(jié)果,選取窗口為15×15 進行計算。
得到暗通道圖像后,選取亮度超過設(shè)定閾值的像素求平均值,得到無窮遠處的光源(A∞)。將式(4)中求取A和A∞代入式(1),即可求得去霧后圖像。
經(jīng)典的Schechner[9]算法以及2.1 節(jié)使用的方法均假設(shè)大氣光是部分偏振光,直接透射光是非偏振光。但是目標反射光的偏振特性不僅與大氣中的微粒有關(guān),還與目標本身的材料、粗糙度以及顏色有關(guān)。Fang Shuai[15]拍攝了同一場景的5 000張圖像,證明了目標反射光的偏振特性不可忽略,并提出了改進的霧天偏振成像模型:
在式(7)中,總光強I和總偏振度P可以直接通過原圖像計算得出。所以在該模型中,只需要估計出目標光偏振度PD,大氣光偏振度PA以及無窮遠處的大氣光強A∞即可實現(xiàn)去霧。
一般大氣光(A)的估算方法多是針對非偏振圖像進行濾波處理,這類方法沒有考慮深度對于偏振度的影響,導致距離視點較遠區(qū)域重構(gòu)效果較差。因此,高雋提出使用高斯濾波對大氣光偏振度PA進行估計[16]。
高斯濾波是一種根據(jù)高斯分布來分配權(quán)值的線性平滑濾波器。相對于均值濾波器和中值濾波器,高斯濾波器引入了空間距離因子,對濾波窗口內(nèi)的像素計算權(quán)重,位置越靠近窗口外側(cè)的像素權(quán)重越低,其對待處理像素的影響就越小,位于窗口內(nèi)側(cè)的像素與待處理像素更接近,權(quán)重更高。高斯濾波數(shù)學表達式為:
通過相機獲取4 個偏振角度(0°、45°、90°、135°)下的偏振圖像,對這4 幅圖像進行高斯濾波處理,可得到不同偏振角度下的大氣光估計圖像GB(I0)、GB(I45)、GB(I90)、GB(I135)。
式中,ω為權(quán)重矩陣,根據(jù)去霧效果需要人工調(diào)節(jié),x和y表示周邊像素對應于中心像素坐標的相對坐標,?表示模糊半徑,即權(quán)重矩陣的大??;I表示待濾波圖像;?為窗口大小,不同的圖像,具有不同的最優(yōu)窗口,可以根據(jù)去霧效果的要求,依據(jù)經(jīng)驗設(shè)定窗口大小或者手動選取窗口大小。
使用濾波處理得到的大氣光估計圖像計算大氣光偏振度PA,由PA可求得直接透射光強(D)以及目標光偏振度PD
[15]。將求得的參數(shù)代入模型(7)中,即可得到去霧后的圖像L。
立足于提高傳統(tǒng)算法的適應性,提高去霧圖像的質(zhì)量,本文設(shè)計了如圖2 所示的去霧算法流程。首先,使用基于最小二乘方法計算出更加精確的偏振信息,改善了以往偏振信息計算不準確的問題。然后,分別使用基于高斯濾波的去霧方法以及基于Stokes 矢量的去霧方法處理圖像。最后,根據(jù)兩種算法去霧結(jié)果的互補特性,選擇計算量較小、對于高像素圖像處理更簡便的圖像融合算法,對兩種去霧結(jié)果進行融合,得到去霧效果更好的圖像。
圖2 多尺度奇異值分解的偏振圖像融合流程圖Fig.2 Flowchart of multi-scale singular value decomposition polarization image fusion
現(xiàn)有的偏振去霧算法本質(zhì)上都是利用Stokes矢量的各分量直接求偏振角和偏振度,這種方法存在求取偏振信息噪聲大、區(qū)分度不強等問題。目前可以通過偏振相機直接獲得4 個方向的偏振圖像,使用各個分量分別計算偏振信息并沒有充分利用冗余信息。經(jīng)過實驗驗證,基于最小二乘方法計算偏振信息較傳統(tǒng)方法的噪聲小,物體辨認更加清晰。
圖3 是基于Sony IMX250 芯片的Blackfly偏振相機,相機可以通過單次曝光,對全天域偏振模式進行自動實時測量,從而獲取天空的偏振信息。
圖3 Blackfly 型偏振相機Fig.3 Blackfly polarization camera
傳感器具有若干偏振測量單元,如圖3(b)所示,每個測量單元由4 個像素組成,對應像素具有不同的偏振敏感方向,分別為0°,45°,90°和135°,并按重復的兩個像素塊排列。每個像素的偏光濾鏡(C)均涂有抗反射層(B),并位于鏡頭(A)和感光光電二極管(E)之間。
在每個像素中,忽略足夠小的圓偏振光,則CCD 相機主要測量線偏振光。相機的任一像素的光強響應可以表示為[14]:
其中,Ix為像素的亮度值,Kx和 αx分 別表示相機的感光系數(shù)和雕刻光柵的極化角度,可以通過標定獲得。
所求未知數(shù)共有3 個,即I、P和 θ,而Blackfly 型偏振相機可以方便地獲得4 個方向的偏振圖像,則重新展開可得:
利用偏振相機得到的偏振圖像聯(lián)立方程,可得:
最小二乘估計為:
則偏振角θ 和偏振度P為:
其中,q1、q2和q3為Q的向量元素。
圖像融合可以分為像素級、特征級以及決策級融合[17]。多分辨率奇異值分解和基于小波變換的圖像融合是像素級融合方法的重要構(gòu)成部分?;诙喾直媛势娈愔捣纸獾膱D像融合性能與基于小波變換的圖像融合接近,但是計算更簡單、實時性更好,對復雜、高像素圖像處理簡單方便。因此,本文使用基于多分辨率奇異值分解的圖像融合。
多分辨率奇異值分解源于Burt 和Adelson 提出的拉普拉斯金字塔算法[18],該算法類似于小波變換,基本思想是在平滑分量的每一層上用奇異值分解代替濾波。圖4 展示了3 層MSVD 分解的結(jié)構(gòu)。假設(shè)X是一個M×N矩陣,將X分成不重疊的2×2塊,并且通過堆疊,以形成矩陣X1,并將每個塊排列成4×1的向量。4×4散布矩陣的特征分解是:
將式(16)中所得的奇異值以降序來排列:
圖43 層MSVD 分解結(jié)構(gòu)示意圖Fig.4 Schematic diagram of the three-layer MSVD decomposition structure
被融合的偏振去霧圖像I1和I2分別用MSVD 分解為l(l=1,2,···,L)層。在每個分解層次中,細節(jié)分量系數(shù)對應于圖像中更尖銳的亮度變化,如邊緣圖像等。而較大的奇異值能更好地保持原始低分辨率圖像的有用信息,因此,將選擇兩個MSVD 細節(jié)分量的較大值進行融合。對于底層(l=1),融合規(guī)則取MSVD 平滑分量系數(shù)的平均值,因為底層的平滑分量系數(shù)是原始圖像的平滑和亞采樣版本[17]。融合圖像可通過下式得到:
實驗整體設(shè)備和拍攝場景如圖5 所示,偏振相機通過USB3.0 接口與計算機相連,使用支架固定偏振相機保持其穩(wěn)定性。
圖5 實驗裝置圖Fig.5 Experimental setup
調(diào)節(jié)相機的焦距以及光圈,使相機盡可能成像清晰。通過一次曝光,即可得到偏振角度分別為0°、45°、90°以及135°的偏振圖像。在不同環(huán)境條件下采集圖像時,溫度、氣壓、濕度以及能見度等均對成像有一定影響,但是能見度是決定相機成像好壞的主要因素。本文在設(shè)計實驗時,主要對比了幾種不同能見度條件下算法的去霧效果,以驗證算法的適應性。
為檢驗改進的偏振信息計算方法效果,使用相機拍攝不同條件下的偏振圖像。圖6(彩圖見期刊電子版)為偏振信息計算效果對比。圖6(a)為晴朗無霧霾天氣拍攝的圖像,拍攝時能見度為30 km;圖6(b)為霧霾天氣拍攝圖像,能見度為4 km。
圖6 偏振信息計算結(jié)果示意圖Fig.6 Calculation results of polarization information
由于目標的偏振特性與目標本身的材質(zhì)、顏色以及光滑度有關(guān),所以天空與建筑物、不同建筑物之間以及建筑物與樹木之間的偏振信息存在差異。只要偏振信息的計算方法不存在錯誤,那么偏振信息的計算結(jié)果越清晰,噪聲越小,則說明計算的結(jié)果越精確,誤差越小。
使用3.1 節(jié)中方法計算其偏振角圖像,得到偏振角和偏振度的計算結(jié)果。從圖6(c)可以看出,在晴天的偏振角圖像中,建筑物與天空的區(qū)分度不強,計算得出的建筑物偏振角與天空偏振角差異很小,難以區(qū)分天空以及建筑物。圖像下部分建筑物的輪廓模糊不清,幾乎被噪聲覆蓋。整幅圖像的偏振角度差異不明顯,噪聲很大。霧天的結(jié)果與晴天的計算結(jié)果類似,建筑物的輪廓被噪聲掩蓋,難以區(qū)分。由此可知,傳統(tǒng)計算方法在計算偏振角信息時引入了大量的噪聲信息,存在缺陷。
圖6(e)、6(f)是分別使用最小二乘方法計算的晴天偏振角度和霧天偏振角度。可見,無論是晴天還是霧天,相比于傳統(tǒng)方法,建筑物的輪廓更加清晰,與天空的區(qū)分度也更好,引入的噪聲更小。
本文使用信息熵、平均梯度以及原圖與結(jié)果的相似性(SSIM)評價偏振信息計算結(jié)果,如表1、表2 所示。由表1 可知,在晴朗條件下,最小二乘法的3 項指標分別比傳統(tǒng)方法高出14%、17%以及0.1%。因為SSIM 指標已經(jīng)與1 非常接近,所以提高幅度較小,平均梯度以及信息熵兩項指標均有明顯的提升。
表1 晴天計算結(jié)果Tab.1 Calculation results in sunny conditions
表2 霧天計算結(jié)果Tab.2 Calculation results in foggy conditions
由表2 可知,在霧天條件下,最小二乘法的前兩項指標分別比傳統(tǒng)方法高31%、15%。從以上結(jié)果來看,無論是晴天還是霧天,最小二乘方法的絕大多數(shù)性能指標均優(yōu)于傳統(tǒng)計算方法。因此,采用最小二乘法代替?zhèn)鹘y(tǒng)的偏振信息計算方法,可以提高偏振信息的計算精度,降低噪聲。
為了驗證圖像融合算法的可行性,使用相機采集了不同能見度條件下的偏振圖像,使用3.2節(jié)所述的算法流程處理圖像。
圖7(a)拍攝時能見度為3.9 km,從圖中可以看到,遠處的建筑物被霧霾遮擋,近處的建筑物也模糊不清,能見度大大下降,圖像大部分細節(jié)丟失。
圖7 圖像融合去霧流程示意圖Fig.7 Schematic diagram of image fusion defogging process
圖7(b)是使用基于高斯濾波的去霧算法處理后的結(jié)果。在實際操作中,使用文獻[16]提供的參數(shù),并沒有進行過多調(diào)節(jié)。由結(jié)果可知,去霧后整體圖像的色調(diào)偏暗,圖像有一些失真,建筑物的細節(jié)丟失,參數(shù)的適應性較差。但是,通過觀察可以發(fā)現(xiàn)圖像去霧有一定的效果,原本遠處模糊的建筑物輪廓有所增強。
圖7(c)是使用基于Stokes 矢量算法的去霧結(jié)果,相比于原圖,去霧效果總體較好,遠處的建筑物也能夠清晰辨認,近處建筑物的細節(jié)也有所加強。但是不難發(fā)現(xiàn),該圖像在天空區(qū)域以及圖像下方的白色雷達區(qū)域出現(xiàn)了過曝現(xiàn)象,并且建筑物邊緣周圍還出現(xiàn)了光暈現(xiàn)象。過曝問題通過調(diào)節(jié)模型中的參數(shù),可以得到一定程度的改善,但是實驗發(fā)現(xiàn)很難找到最優(yōu)參數(shù),并且過曝現(xiàn)象往往只能得到改善而不能完全消除。
從以上分析可知兩種方法存在互補,因此,可以采用圖像融合方法對兩種結(jié)果加以結(jié)合。圖7(d)展示了兩種算法的融合結(jié)果。從圖中可以發(fā)現(xiàn),與基于Stokes矢量方法相比,天空區(qū)域的過度曝光現(xiàn)象已經(jīng)消除,建筑物的光暈現(xiàn)象及與白色雷達的過度曝光現(xiàn)象有所改善。與基于高斯濾波方法相比,融合結(jié)果的圖像細節(jié)更加豐富,圖像更接近平時所觀察到的實際場景。此外,相比于兩種算法單獨使用的效果,圖像融合可以代替人工調(diào)節(jié)參數(shù),從而增強了算法的魯棒性。
為了驗證算法在不同能見度下的適應性,分別在能見度為6.8 km(圖8)和9 km(圖9)時采集數(shù)據(jù),并使用所提出的算法進行數(shù)據(jù)處理。
圖8 能見度6.8 km 去霧結(jié)果Fig.8 Defogging results with a visibility of 6.8 km
圖9 能見度9 km 去霧結(jié)果Fig.9 Defogging results with a visibility of 9 km
通過觀察去霧結(jié)果可以發(fā)現(xiàn),在能見度較高的情況下,相比于現(xiàn)有的兩種算法,本文算法能在一定程度上提高了去霧效果,增加了細節(jié)信息,改善了過曝現(xiàn)象。在能見度較低的情況下,本文所提算法可以有效改善過曝現(xiàn)象,豐富圖像的細節(jié)信息,顯著提高圖像質(zhì)量,達到了去霧的效果。
為進一步驗證算法的去霧效果,本文使用基于MSCNN 的開源去霧算法分別對3 種可見度的圖像進行處理,結(jié)果如圖10 所示。
圖10 MSCNN 去霧結(jié)果Fig.10 Defogging results of MSCNN
從圖10 結(jié)果來看,基于MSCNN 的去霧算法有一定的去霧效果,但是在天空區(qū)域出現(xiàn)了不同程度的過曝現(xiàn)象。幾種去霧算法的信息熵以及平均梯度對比結(jié)果如表3 所示。此外,本文算法在i7-8500U 1.80GHz 計算機上使用Matlab2017b 實現(xiàn),表4 中記錄了4 種去霧算法處理一幅圖像所需的時間。
表3 去霧效果定量比較Tab.3 Quantitative comparison of different defogging algorithms
表4 去霧時間成本定量比較Tab.4 Time-cost comparison of different defogging algorithms
在不同的天氣條件下,基于Stokes 矢量方法的信息熵一般較大,這是由于基于Stokes 矢量的方法去霧效果較好,細節(jié)較為豐富,但是出現(xiàn)了光暈以及過曝現(xiàn)象,從而影響了圖像的整體質(zhì)量,降低了圖像的平均梯度?;贛SCNN 的去霧算法有一定的去霧效果,提高了圖像的信息熵以及平均梯度,但是在天空區(qū)域出現(xiàn)了不同程度的過曝現(xiàn)象?;诟咚篂V波的方法在信息熵以及平均梯度上都不是最優(yōu)的,但是圖像沒有出現(xiàn)光暈與過曝現(xiàn)象。
由表3 可知,圖像融合提高了霧霾天氣的信息熵,在3 種天氣條件下,其信息熵較原圖最大提高了1.3%,相比于高斯濾波法最大提高了18.9%。此外,無論在什么天氣條件下,圖像的平均梯度都得到了顯著提升,相比于高斯濾波算法、Stokes矢量算法、以及MSCNN 算法最大分別提高了27.4%、38.4%和20.4%。
基于多分辨率奇異值分解的圖像融合具有計算簡單,對復雜、高像素圖像處理更方便的優(yōu)點。根據(jù)表4 各算法時間成本的對比可知,圖像融合步驟的時間消耗僅為基于Stokes 矢量算法的23.3%,相比于基于濾波的算法來說,時間消耗也沒有顯著增加,總耗時與基于MSCNN 的去霧算法持平。綜上所述,本文提出的算法在豐富圖像細節(jié)、改善光暈現(xiàn)象的同時,沒有大幅度增加整個去霧流程的計算時間。
本文針對現(xiàn)有偏振去霧算法魯棒性不強和圖像增強效果有限的問題,提出了一種基于多尺度奇異值分解的偏振圖像融合去霧算法。采用最小二乘法提高了偏振信息測量的準確度。在此基礎(chǔ)上,給出了一種基于多尺度奇異值分解的偏振圖像融合去霧算法,并設(shè)計實施了不同能見度條件下的驗證實驗。結(jié)果表明,采用本文算法進行去霧處理時圖像信息熵與平均梯度最大可分別提高18.9%和38.4%,且時間成本沒有大幅增加。圖像融合方法具有較強的自適應性和魯棒性,能夠有效改善經(jīng)典去霧算法中出現(xiàn)的光暈以及天空區(qū)域過曝的問題,對于利用可見光的偏振特性進行圖像去霧和圖像增強的效果較好,具有較強的工程實用性??傮w來說,該算法有效提高了復雜光照條件下的視覺成像質(zhì)量,在交通路況監(jiān)控、航拍、軍事目標探測與識別等視覺系統(tǒng)中前景廣闊,具有重要的研究意義。