陳 贊,沈佳凱,梁卓然,胡德云,馮遠(yuǎn)靜,楊煥強(qiáng)
(1.浙江工業(yè)大學(xué)信息工程學(xué)院,浙江 杭州 310023;2.杭州市氣象局,浙江 杭州 310051)
能見度隨著大氣中霧、霾、灰塵的增多而降低,對農(nóng)業(yè)生產(chǎn)、航空、航海[1]和道路安全產(chǎn)生重大的影響,能見度的準(zhǔn)確檢測,對社會的生產(chǎn)、生活具有重要意義[2]。目前,氣象監(jiān)測站的能見度檢測儀主要為前向散射式能見度儀,該類儀器利用光在大氣中的散射,實(shí)現(xiàn)能見度的檢測[3]。由于專業(yè)的能見度檢測儀需要配備信號發(fā)射和接收單元[4],具有價格昂貴、體積大、維護(hù)復(fù)雜、應(yīng)用場景有限等缺點(diǎn)。
近年來,隨著計(jì)算機(jī)視覺的快速發(fā)展,基于視頻圖像的能見度檢測方法越來越受到研究者的關(guān)注[5]。這些方法無需額外的設(shè)備,只需要借助已有的監(jiān)控?cái)z像機(jī)拍攝的視頻圖像,即可估計(jì)能見度?;趫D像的能見度估計(jì)算法構(gòu)建了圖像與能見度值之間的映射關(guān)系,主要分為基于深度學(xué)習(xí)和基于物理模型兩類方法。
基于深度學(xué)習(xí)方法主要通過神經(jīng)網(wǎng)絡(luò)構(gòu)建圖像與能見度值之間的映射關(guān)系。Chaabani 等[6]使用全連接神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行能見度等級分類;Li 等[7]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)網(wǎng)絡(luò),通過預(yù)先訓(xùn)練的AlexNet 來估計(jì)圖像能見度;Choi 等[8]則采用VGG 模型(Visual Geometry Group,VGG)預(yù)測能見度等級;吳琪等[9]利用序數(shù)關(guān)系和三元組相對學(xué)習(xí)檢測能見度;閆宏艷等[10]設(shè)計(jì)注意力模塊融合深度視覺特征、傳輸矩陣特征和場景深度特征進(jìn)行能見度等級識別。Song 等[2]使用CNN 和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)相結(jié)合進(jìn)行能見度特征提取,并使用條件概率神經(jīng)網(wǎng)絡(luò)進(jìn)行分布預(yù)測?;谏疃葘W(xué)習(xí)的方法需要準(zhǔn)確的能見度標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練,并且在訓(xùn)練階段需要消耗較多的計(jì)算資源,不適合大范圍推廣應(yīng)用。
基于物理模型的方法主要通過提取圖像的對比度、顏色等特征或者構(gòu)建能見度與消光系數(shù)的關(guān)系來反演能見度。Babari 等[11]使用圖像像素的朗伯度作為圖像對比度的權(quán)重;Xiang 等[12]通過提取平均索貝爾梯度和暗通道比率,構(gòu)建能見度估計(jì)模型;Varjo 和Hannuksela[13]通過將Retinex 濾波后的圖像投影并提取特征來計(jì)算能見度;Negru 和Nedevschi[14]通過檢測圖像中拐點(diǎn)和水平線的位置計(jì)算能見度,但是該方法需要對相機(jī)進(jìn)行精確的幾何校準(zhǔn);Graves 和Newsam[15]根據(jù)圖像對比度與大氣透射率的關(guān)系,提出了一種線性回歸模型計(jì)算消光系數(shù);Li 等[16]通過參考圖像和被測圖像的透射率比值計(jì)算消光系數(shù),進(jìn)而反演能見度;王涌等[17]通過非局部霧線先驗(yàn)計(jì)算透射率。這些方法具有計(jì)算復(fù)雜度小,對計(jì)算機(jī)硬件要求低的特點(diǎn),但是對場景的要求較高,在實(shí)際復(fù)雜的背景下無法較準(zhǔn)確地計(jì)算能見度。
綜合上述出現(xiàn)的問題,本文提出了一種基于通道差分先驗(yàn)的圖像能見度檢測算法,通過全景分割網(wǎng)絡(luò)提取參考圖像和被測圖像的感興趣區(qū)域(Region of Interest,ROI),計(jì)算ROI 的透射率比值,進(jìn)而反演能見度,相比于其他基于參考圖像的能見度計(jì)算方法,本文提出的方法降低了平均相對誤差,提高了判定系數(shù),并且對于曝光圖像具有良好的魯棒性。
大氣散射模型[18]描述了霧天圖像的成像原理,如式(1)所示:
式中:x表示圖像像素點(diǎn)的坐標(biāo),I(x)表示被測試的有霧圖像,J(x)表示恢復(fù)的無霧圖像,t(x)表示透射率,A∞表示大氣光值。圖1 展示了霧霾天氣的圖像成像過程,透射衰減項(xiàng)J(x)t(x)會導(dǎo)致圖像的亮度降低,環(huán)境光散射形成的大氣光值項(xiàng)A∞(1-t(x)),提高了圖像亮度,降低了飽和度。
圖1 霧霾天氣的成像示意圖
假設(shè)大氣中霧的分布是均勻的,根據(jù)朗伯比爾定律[19],透射率t(x)可表示為:
式中:β為消光系數(shù),表示被測圖像的大氣渾濁度,d(x)為物體到相機(jī)的距離,透射率t(x)描述了物體反射光中未被散射并到達(dá)相機(jī)的光的占比,本文提出的基于通道差分先驗(yàn)的能見度檢測方法正是基于透射率來計(jì)算的。
本文提出的能見度檢測算法的整體結(jié)構(gòu)如圖2所示,首先使用統(tǒng)一全景分割網(wǎng)絡(luò)(Unified Panoptic Segmentation Network,UPSNet)[20]對參考圖像進(jìn)行像素級分割,提取ROI,并計(jì)算其最大外接矩陣,采用顏色恒常先驗(yàn)法(Color Constancy Prior,CCP)[21]計(jì)算最大外接矩陣的大氣光值,然后使用通道差分先驗(yàn)?zāi)P?Channel Difference Prior,CDP)[22]計(jì)算其透射率,通過加權(quán)插值和引導(dǎo)濾波[22]相結(jié)合的方法對透射率進(jìn)行優(yōu)化,最后,利用被測圖像和參考圖像在ROI 上的透射率比值,通過非線性擬合模塊計(jì)算能見度。
圖2 基于通道差分先驗(yàn)的能見度檢測算法框架圖
由于天空區(qū)域的像素點(diǎn)接近于白色,灰度值較高,并且極易受到云朵飄動和日光直射的影響,因此該區(qū)域計(jì)算的透射率往往是不準(zhǔn)確的;而圖像近景區(qū)域中的路面容易受到車流和雨水反光的影響,植被容易因季節(jié)變化而改變顏色和形狀,因此會導(dǎo)致被測圖像近景區(qū)域計(jì)算的透射率與參考圖像的透射率不匹配。針對以上問題,在計(jì)算圖像透射率前對圖像進(jìn)行全景分割,選取遠(yuǎn)景區(qū)域作為ROI。
使用UPSNet 全景分割網(wǎng)絡(luò)對圖像進(jìn)行像素分割,UPSNet 的主要結(jié)構(gòu)如圖3 所示,該結(jié)構(gòu)的骨干網(wǎng)絡(luò)通過深度殘差網(wǎng)絡(luò)(Deep Residual Network,ResNet)[23]和特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[24]提取不同層次的特征,分別輸入到語義分割頭部和實(shí)例分割頭部。語義分割頭部使用來自FPN 的多尺度特征,通過可變形卷積網(wǎng)絡(luò)預(yù)測語義類,實(shí)例分割頭部則參考Mask R-CNN[25]設(shè)計(jì),輸出包括類別、邊界框和分割掩碼,最后,通過全景分割頭部融合兩個分支的輸出信息,生成全景分割預(yù)測結(jié)果。
圖3 UPSNet 模型結(jié)構(gòu)
大氣光值的估計(jì)是計(jì)算圖像透射率的關(guān)鍵步驟之一,通常將霧最濃或者最不透明區(qū)域的像素值作為大氣光值[26]。最常用的大氣光值估計(jì)法是暗通道先驗(yàn)(Dark Channel Prior,DCP)[27]中的估計(jì)方法,具體地,對于輸入圖像I(x),其暗通道Idark(x)定義為:
式中:Ic表示c顏色通道的圖像,Ω表示以像素點(diǎn)x為中心的局部圖像塊,而大氣光值A(chǔ)∞可以根據(jù)暗通道中最亮的0.1%像素點(diǎn)來確定:
采用DCP 的方法很容易將發(fā)光物體(如燈和天空)的像素值當(dāng)作大氣光值,導(dǎo)致估計(jì)值偏高,因此,本文采用CCP 估計(jì)大氣光值,視圖像中場景深度較大的區(qū)域?yàn)樽畈煌该鞯膮^(qū)域,具體實(shí)現(xiàn)如下,首先計(jì)算圖像I(x)的pi:
式中:v表示圖像HSV 顏色空間中的明度,由pi構(gòu)成的集合P可表示為:
式中:L和W分別表示圖像I(x)的長和寬,對集合P的元素進(jìn)行降序排列,得到U1:
取出U1中前α%的像素點(diǎn)并統(tǒng)計(jì)其明度:
式中:代表明度值前α%像素點(diǎn)的索引M1為:
對集合KB的元素進(jìn)行降序排列,得到U2:
刪去U2中前γ%的像素點(diǎn),統(tǒng)計(jì)剩余像素點(diǎn)的明度:
式中:代表明度值前γ%像素點(diǎn)的索引M2為:
取出集合Kb中的最大元素(一個或者多個):
計(jì)算集合M3的元素在原圖I(x)的像素索引:
像素索引F即為圖像中最不透明區(qū)域的像素索引:
大氣光值A(chǔ)∞即為圖像I(x)在像素索引F上的像素值:
透射率反映了圖像中同一景深下霧濃度的大小,本文采用通道差分先驗(yàn)法計(jì)算透射率,由式(1)可得:
式中:大氣光值A(chǔ)∞采用CCP 求解,通過以ε的步長遍歷不同大小的t(x)(0≤t(x)≤1),可求得不同t(x)下的J(x),采用如下度量函數(shù)判斷不同J(x)的去霧效果:
Jc,c∈{r,g,b}表示去霧圖像J(x)的RGB 三通道,Ac,c∈{r,g,b}表示大氣光值A(chǔ)∞的三通道值,實(shí)驗(yàn)結(jié)果表明,M0越大,圖像去霧的效果越好[22],因此,采用M0最大時對應(yīng)的t(x)作為圖像的透射率。
對于高分辨率的霧霾圖像,逐像素地估計(jì)其透射率是一項(xiàng)非常耗時的工作。為了節(jié)省運(yùn)行時間,采用基于分塊的快速透射率估計(jì)方法,將輸入圖像分成大小固定的小塊,如圖4 所示,估計(jì)每一小塊圖像的透射率,得到粗略透射率估計(jì)圖(x),如圖5(a)所示,每個小塊內(nèi)的透射率都是一個常數(shù)。
圖4 輸入圖像分塊
圖5 透射率估計(jì)圖
進(jìn)一步采用加權(quán)插值法對~t(x)進(jìn)行優(yōu)化,首先計(jì)算tL(x0):
式中:x0表示當(dāng)前位置的像素索引,尋找距離x0最近的N個小塊,采用如下公式計(jì)算(x):
式中:xi表示第i個小塊中心的像素索引,σI為常數(shù)。經(jīng)過加權(quán)插值后的透射率估計(jì)圖(x)得到了一定的細(xì)化,如圖5(b)所示。最后,通過引導(dǎo)濾波對(x)做進(jìn)一步優(yōu)化,得到最終的圖像透射率t(x),如圖5(c)所示。
式中:t(ROI)表示ROI 區(qū)域的透射率,E表示計(jì)算-ln(t(ROI))的平均值,同樣的,計(jì)算參考圖像的平均透射率,并通過回歸模型反演能見度:
式中:參數(shù)a和b為通過交叉驗(yàn)證法擬合的參數(shù)[28]。
本文在CPU 為Intel i5-10600KF 4.10GHz,內(nèi)存為16 GB 的PC 機(jī)上進(jìn)行實(shí)驗(yàn)。使用杭州市氣象局提供的圖像數(shù)據(jù)進(jìn)行測試分析,圖像數(shù)據(jù)主要分為區(qū)域站圖像和社會視頻圖像,其中區(qū)域站圖像指專業(yè)氣象觀測站內(nèi)監(jiān)控?cái)z像頭拍攝的圖像,社會視頻圖像指城市監(jiān)控?cái)z像頭拍攝的圖像。區(qū)域站圖像的能見度標(biāo)注數(shù)據(jù)來自區(qū)域站內(nèi)的專業(yè)能見度檢測儀,社會視頻圖像的能見度標(biāo)注數(shù)據(jù)使用距離最近的氣象觀測站(距離小于3 km)的觀測數(shù)據(jù)。
采集了4 組區(qū)域站圖像和2 組社會視頻圖像,對數(shù)據(jù)進(jìn)行清洗整理,刪除鏡頭污染圖像。由于霧在大氣中的分布是不均勻的,即使是區(qū)域站內(nèi)能見度儀器檢測的觀測值,其對應(yīng)圖像的能見度值也會產(chǎn)生一定的偏差,因此,在杭州市氣象局專業(yè)人員的幫助下,對區(qū)域站圖像數(shù)據(jù)和社會視頻圖像數(shù)據(jù)進(jìn)行進(jìn)一步的清洗,刪除了觀測值與圖像實(shí)際能見度不符的數(shù)據(jù),最終得到的數(shù)據(jù)集詳細(xì)情況如表1 所示。對圖像能見度進(jìn)行分類,分為0~1 km、1 km~2 km、2 km~5 km、5 km~10 km 和>10 km,圖6 為不同能見度范圍的圖像實(shí)例。
表1 測試的能見度圖像數(shù)據(jù)集
圖6 不同能見度等級圖像實(shí)例
為了驗(yàn)證所提方法在不同能見度等級下的準(zhǔn)確性和穩(wěn)健性,本文采用平均相對誤差(Mean Relative Error,MRE)和判定系數(shù)(Coefficient of Determination,R2)作為評價指標(biāo),MRE 的定義如下:
式中:n表示圖像數(shù)量,Vpre表示算法預(yù)測值,Vgt表示儀器觀測值,MRE 能夠反映預(yù)測值與觀測值的接近程度。R2的定義如下:
3.3.1 對比實(shí)驗(yàn)
采用四折交叉驗(yàn)證法評估算法的性能,并選擇以下基于計(jì)算透射率比值的能見度估計(jì)方法進(jìn)行對比。
方法一:基于文獻(xiàn)[16]的方法,采用DCP 和邊緣塌陷[16]的方法計(jì)算透射率比值,使用基于暗通道閾值[16]的方法提取ROI,該方法通過參考圖像和被測圖像的透射率比值,并結(jié)合參考圖像消光系數(shù)來反演能見度。
方法二:基于文獻(xiàn)[29]的方法,采用DCP 和引導(dǎo)濾波[29]的方法計(jì)算透射率比值并反演能見度,引導(dǎo)濾是一種邊緣保持濾波器,將被測圖像的灰度圖作為引導(dǎo)圖像,可以對透射率進(jìn)行細(xì)化。
方法三:基于文獻(xiàn)[30]的方法,采用霧線先驗(yàn)[30]計(jì)算透射率比值并反演能見度,霧線先驗(yàn)通過像素點(diǎn)在RGB 顏色空間中進(jìn)行聚類來計(jì)算透射率。
區(qū)域站的對比實(shí)驗(yàn)結(jié)果如表2、表3 和表4 所示,黑體數(shù)字表示最優(yōu)結(jié)果,其中表2 和表3 分別為富陽國家站和淳安站在不同能見度等級下的MRE實(shí)驗(yàn)結(jié)果,表4 為4 個區(qū)域站的MRE 和R2的實(shí)驗(yàn)結(jié)果。從表2 和表3 可以看出,本文方法在不同能見度等級下都取得了最優(yōu)的結(jié)果,總體的平均相對誤差降低到了15.5%和22.0%。
表2 各方法在富陽國家站上的MRE
表3 各方法在淳安站上的MRE
表4 各方法在區(qū)域站上MRE 和R2
值得注意的是,本文方法對高能見度圖像的預(yù)測準(zhǔn)確性相比其他方法有較大的提升,尤其是能見度≥5 km 的圖像,主要原因是本文方法在高能見度圖像下能夠計(jì)算出更準(zhǔn)確的大氣光值和透射率。由表4 可知,本文方法在4 個區(qū)域站上都取得了最高的判定系數(shù),除建德站外,本文方法在其他區(qū)域站上都取得了最低的平均相對誤差。
社會視頻圖像的對比實(shí)驗(yàn)結(jié)果如圖7 和圖8 所示,本文方法在2 個社會視頻站點(diǎn)上也取得了最高的判定系數(shù),從圖7 和圖8 的散點(diǎn)圖可以看出,本文方法的預(yù)測結(jié)果更接近觀測值,說明本文方法在不同的場景上具有較好的適用性。
圖7 洋溪雅鼎路站點(diǎn)的散點(diǎn)圖
圖8 運(yùn)河公園體育場站點(diǎn)的散點(diǎn)圖
3.3.2 消融實(shí)驗(yàn)
為了驗(yàn)證本文算法中每個模塊的有效性,定義如下模塊,Med-A 表示只將本文方法中大氣光值估計(jì)方法替換成DCP[27]中的大氣光值估計(jì)方法;Med-T 表示只將本文方法中的透射率計(jì)算方法替換成DCP[27]中的透射率計(jì)算方法;Med-P 表示將本文方法中的全景分割提取ROI 模塊去除。
表5 給出了消融實(shí)驗(yàn)的結(jié)果,其中黑體數(shù)字表示最優(yōu)結(jié)果,由表5 可知,將本文方法中的其中一個模塊移除或者替換成其他傳統(tǒng)方法,都會降低算法的性能。相比本文方法,Med-P 的MRE 明顯升高,R2甚至出現(xiàn)了負(fù)數(shù),說明引入全景分割提取ROI 模塊對算法性能的提高有較大的作用;本文方法與Med-T 相比,MRE 降低0.2%~12%,R2提高0.025~0.418,說明基于通道差分先驗(yàn)的計(jì)算透射率的方法優(yōu)于傳統(tǒng)的暗通道先驗(yàn)的方法;本文方法與Med-A相比,MRE 降低2.6%~ 20.1%,R2提高0.076~0.788,說明基于CCP 的大氣光值估計(jì)模塊優(yōu)于傳統(tǒng)方法[27];但是在一些場景中的提升作用較小,主要原因是在某些場景下用傳統(tǒng)方法[27]估計(jì)的大氣光值也較準(zhǔn)確。
表5 消融實(shí)驗(yàn)結(jié)果
3.3.3 曝光圖像實(shí)驗(yàn)
針對曝光圖像實(shí)驗(yàn),篩選得到156 張富陽國家站的曝光圖像進(jìn)行測試,圖9 為富陽國家站正常圖像與曝光圖像的實(shí)例。實(shí)驗(yàn)結(jié)果如表6 和表7 所示,相比其他方法,本文方法取得了最高的判定系數(shù),在能見度范圍為5 km~10 km 和≥10 km 的圖像上,本文提出算法的MRE 達(dá)到了20.9%和31.3%,遠(yuǎn)遠(yuǎn)超過其他方法,這得益于本文方法在曝光圖像下依然能夠計(jì)算出相對其他方法更準(zhǔn)確的大氣光值和透射率,體現(xiàn)出本文方法具有更強(qiáng)的魯棒性,在能見度范圍為1 km~2 km 和2 km~5 km 的圖像上,本文方法的MRE 也均低于30%。
表6 曝光圖像的MER 結(jié)果
表7 曝光圖像的R2 結(jié)果
圖9 富陽國家站正常圖像與曝光圖像實(shí)例
本文提出了一種基于計(jì)算透射率比值的能見度估計(jì)算法,通過全景分割神經(jīng)網(wǎng)絡(luò)分割圖像并提取ROI,采用顏色恒常先驗(yàn)法計(jì)算圖像的大氣光值,使用通道差分先驗(yàn)法計(jì)算圖像的透射率,并通過加權(quán)插值和引導(dǎo)濾波優(yōu)化透射率。最后,計(jì)算被測圖像和參考圖像感興趣區(qū)域的透射率比值,通過非線性擬合模塊反演能見度。實(shí)驗(yàn)表明,本文提出的方法相比其他基于計(jì)算透射率比值的能見度計(jì)算方法在MRE 和R2指標(biāo)上都占有優(yōu)勢,能夠更準(zhǔn)確有效地估算能見度,同時對于曝光圖像具有良好的魯棒性。由于通道差分先驗(yàn)法需要遍歷不同大小的透射率,因此本文方法在計(jì)算耗時上比其他兩種基于暗通道先驗(yàn)的方法長一些。