喻麗春, 劉金清
(1.福州外語外貿(mào)學(xué)院 大數(shù)據(jù)學(xué)院, 福建 福州 350202;2.福建師范大學(xué) 光電與信息工程學(xué)院, 福建 福州 350007)
團(tuán)霧是一種常見的自然氣象現(xiàn)象,其出現(xiàn)會極大地降低能見度,影響行車安全。團(tuán)霧由于其尺度小、預(yù)測預(yù)報難、區(qū)域性強(qiáng)等特點,更容易引起交通事故,造成重大人員傷亡。團(tuán)霧實時監(jiān)測對于高速公路交通安全、效率以及經(jīng)濟(jì)發(fā)展等方面都具有重要意義。團(tuán)霧的實時監(jiān)測目前一般以能見度檢測為主要依據(jù)。目前高速公路的能見度檢測主要有三種方法:
1)人工目測法。它是一種簡單常用的測量和評估氣象能見度的方法,通常由觀測員在外部環(huán)境以及氣象條件允許時進(jìn)行,在室外可供參考的固定距離處確定所看到的最遠(yuǎn)可識別物體。該方法受限于人眼的生理特征和主觀判斷,很難保證高準(zhǔn)確性與可信度。
2)儀器檢測法。它是一種通過使用特殊的氣象儀器來測量和評估大氣中能夠傳播光線的范圍,從而確定能見度程度的方法,一般可以用激光雷達(dá)、紅外輻射計、光電傳感器等先進(jìn)科技儀器,以及其他氣象設(shè)備進(jìn)行實現(xiàn)。儀器檢測法對設(shè)備安裝的環(huán)境條件有一定要求,且設(shè)備造價昂貴。
3)圖像檢測法。能見度圖像檢測法是一種利用現(xiàn)代計算機(jī)技術(shù)和數(shù)字圖像處理技術(shù)來識別、分析和評估團(tuán)霧等能見度不良的氣象現(xiàn)象,從而實現(xiàn)對環(huán)境視野范圍情況的精確測量方法。我國高速公路里程較長,能見度儀器的部署密度不夠,很難實現(xiàn)對高速公路百米級別的能見度監(jiān)測。
基于圖像視頻的能見度測量是一種以團(tuán)霧的視覺識別為基礎(chǔ),結(jié)合計算機(jī)視覺技術(shù)實現(xiàn)的新型氣象檢測方法。它可以精準(zhǔn)監(jiān)測小尺度團(tuán)霧,實時計算其分布和密度,迅速發(fā)布預(yù)警信息,有助于降低交通事故風(fēng)險,提升公共安全保障水平。
近年來,由于人工智能和計算機(jī)視覺的發(fā)展,基于視頻圖片的能見度測量方法取得了較大進(jìn)展。2010年,陳釗正等[1]提出基于小波變換的視頻能見度檢測方法,利用自標(biāo)定方法確定目標(biāo)距離,使用小波變換進(jìn)行邊緣提取,最后通過擬合得到能見度值。2012年,宋洪軍等[2]提出一種基于車道線和圖像拐點的道路能見度估計。2018年,孟穎[3]實現(xiàn)了基于優(yōu)化暗原色先驗的公路能見度檢測與預(yù)警系統(tǒng)。楊天麟等[4]提出采用改進(jìn)暗通道先驗算法的高速公路能見度檢測。常見的基于圖像的能見度測量可以分為三種,它們有各自的局限性。首先,基于車道線邊緣信息實現(xiàn)的測量方式容易出現(xiàn)檢測值波動大的情況,原因在于車道線邊緣信息是不規(guī)則的;其次,通過區(qū)域增長得到路面區(qū)域進(jìn)行測量也容易檢測失敗,因為區(qū)域的增長過程可能會失敗;最后一種方法是通過考慮暗通道先驗計算圖像透射率來實現(xiàn)能見度測量,雖然可以提高準(zhǔn)確度,但如果天空亮度估計不足,則有可能導(dǎo)致透射率計算不精確。面對這些問題,提出一種基于圖像透射率和單目深度的能見度檢測方法,嘗試通過改進(jìn)計算大氣可見光,同時構(gòu)造權(quán)重系數(shù)函數(shù)替代固定值,提升透射率計算準(zhǔn)確性,并通過實驗對比,驗證改進(jìn)方法的有效性。
能見度是指地面上由于大氣中物質(zhì)對光的吸收、散射及折射作用所形成的景象可見度程度,通常用米為單位來表示。大氣散射模型和能見度之間有密切的關(guān)系。在一定條件下,可以利用大氣散射模型計算出在特定位置和時間的大氣透視率,從而得到能見度的估測值。柯西米德定律[5]為
C=C0e-σd,
(1)
式中:d----觀測點到觀測目標(biāo)的距離;
σ----大氣消光系數(shù);
C----景物在距離為d時的可視亮度對比;
C0----景物與背景的亮度對比。
(2)
式中:ε----視覺閾值ε為C和C0的比值。
國際民航組織ICAO(International Civil Aviation Organization)推薦視覺閾值為0.05時,人眼最大可視距離為能見度距離。將式(2)代入式(1)得到
(3)
式中:d----能見度值。
從式(3)可以看出,能見度的計算與大氣消光系數(shù)成反比。因此要計算能見度,首先要計算出大氣消光系數(shù)σ。
根據(jù)大氣衰減模型,光線在大氣中傳播時滿足衰減定律。
F=F0e-σz,
(4)
式中:F----物體接收光的光照強(qiáng)度;
F0----發(fā)射光的光照強(qiáng)度;
z----場景深度;
σ----大氣消光系數(shù)。
將透射率t=F/F0代入式(4),即可得到大氣消光系數(shù)計算公式為
(5)
將式(5)代入式(3),即可得到能見度距離公式為
(6)
大氣透射率是影響能見度的重要因素之一。光線經(jīng)過目標(biāo)物體反射后,在傳播過程中,由于空氣中顆粒物的散射,導(dǎo)致能見度降低。在視頻圖像中,透射率降低主要表現(xiàn)為色彩減退、對比度降低、邊緣模糊等特點。因此可以先根據(jù)暗通道先驗[6](Dark Channel Prior, DCP)理論計算出圖片透射率,然后通過大氣能見度公式估算能見度。
基于暗通道先驗的透射率計算流程如圖1所示。
圖1 基于暗通道先驗的透射率計算流程
暗通道先驗理論是He K M等[7]于2009年提出,對于室外無霧圖像任一局部區(qū)域里(除天空區(qū)域),在R、G、B三個顏色通道中的某個通道總存在較小的像素值。即在該圖像中以任一像素為中心的窗口區(qū)域,某個通道的光強(qiáng)值接近于0。則無霧圖像的暗通道定義為
Jdark(x)=miny∈Ω(x)(minc∈(r,g,b)Jc(y)),
(7)
式中:Jc(y)----J的任意一個顏色通道;
Ω(x)----在像素點x的窗口。
根據(jù)暗通道先驗理論,在非天空區(qū)域部分,Jdark的強(qiáng)度值近似于0,具體表示為
Jdark→0。
(8)
在計算機(jī)視覺領(lǐng)域,有霧圖像的模型可以描述為
I(x)=J(x)t(x)+A(1-t(x)),
式中:I(x)----攝像機(jī)采集到的有霧圖像;
J(x)----無霧圖像;
A----大氣光值;
t(x)----透射率。
假設(shè)透射率t(x)在局部區(qū)域Ω(x)為定值,得
miny∈Ω(x)(Ic(y))=t(x)miny∈Ω(x)(Jc(y))+
(1-t(x))Ac,
(9)
式中:y----以x為中心的局部區(qū)域Ω(x)的任一像素;
c----R、G、B三個通道之一;
Ac----大氣光值,通常用顏色通道中最亮的0.1%像素亮度的均值表示。
式(9)對大氣光值做歸一化,得
(1-t(x))。
(10)
對式(10)求暗通道,得
(1-t(x))。
(11)
根據(jù)暗通道先驗理論,暗通道的值趨近于0,那么可以得到透射率為
(12)
在天氣較晴朗的環(huán)境下,攝像機(jī)采集到的圖像中,遠(yuǎn)距離目標(biāo)始終會存在少量霧,因此引入權(quán)重系數(shù)ω,取值0.95,得到透射率為
(13)
暗通道先驗算法處理圖像的時候,假設(shè)任一像素周圍區(qū)域的透射率為固定值,這導(dǎo)致算法計算出的大氣透射率存在塊效應(yīng),鄰域窗口的尺寸越大,透射率圖像的塊效應(yīng)越明顯。這種塊狀效應(yīng)將嚴(yán)重影響能見度的計算結(jié)果,因此需要使用導(dǎo)向濾波(Guided Filtering)來對生成的透射率圖進(jìn)行修正。
透射率圖優(yōu)化如圖2所示。
(a) 原始圖
導(dǎo)向濾波是一種圖像濾波技術(shù),通過一張引導(dǎo)圖,對原始圖像進(jìn)行濾波處理,最后得到輸出圖像與原始圖像相似,紋理與引導(dǎo)圖像相似。在計算透射率時,可以使用導(dǎo)向濾波優(yōu)化透射率圖。從圖2(c)可以看出,經(jīng)過導(dǎo)向濾波后,其塊狀問題明顯消失,紋理也更精細(xì)。
1)通過檢測圖像中的車道線,依賴車道線的長度和車道線兩端的透射率來計算能見度。有些攝像頭場景沒有車道線,無法獲取場景深度。
2)通過提前設(shè)置與攝像頭固定距離的目標(biāo)物來實現(xiàn)距離的采集。因為普通公路攝像頭較密,每個攝像頭前預(yù)設(shè)目標(biāo)物需要大量精力。因此這種方法實用性不強(qiáng)。
3)通過兩個攝像頭進(jìn)行雙目測距[8]。雙目測距需要兩個攝像頭進(jìn)行雙目匹配,對攝像頭的設(shè)備精度要求較高,在高速公路攝像場景下,一般只有單個攝像頭,而且攝像頭清晰度一般,無法滿足雙目測距要求。
4)基于深度學(xué)習(xí)的距離測量?;谏疃葘W(xué)習(xí)進(jìn)行距離估測需要大量樣本,背景復(fù)雜,容易受到車輛等移動目標(biāo)的干擾,因此測量精度也具有局限性。
常見基于暗通道先驗的能見度測量一般采用前兩種。由于車道線不具有通用性,預(yù)設(shè)目標(biāo)物需要部署成本,所以傳統(tǒng)基于暗通道先驗的能見度測量研究大多還停留在實驗階段,距離實際應(yīng)用有一定距離。
基于暗通道先驗的能見度測量與其他算法,如對比度算法具有操作簡單、檢測效果相對較好等優(yōu)點,但算法需要改進(jìn)的問題如下:
1)算法使用圖像中最亮的0.1%像素的均值來估計天空亮度。由于天空亮度A對正確估算大氣透射率非常重要,天空亮度A的估計誤差對最終能見度估計結(jié)果影響較大。
2)攝像機(jī)采集到的圖像中,圖中較遠(yuǎn)區(qū)域在觀察者眼中霧的濃度越大,但暗通道先驗算法再取權(quán)重系數(shù)ω,簡單取經(jīng)驗值0.95,這種處理方式使透射率估計誤差變大。因此權(quán)重系數(shù)ω的取值大小對能見度的計算影響較大。
3)在采集目標(biāo)物距離時,需要預(yù)設(shè)目標(biāo)物或者依賴車道線進(jìn)行計算,通用性不足,在實際交通應(yīng)用場景具有局限性,部署難度較高。
針對傳統(tǒng)暗通道先驗算法進(jìn)行能見度測量存在的問題,對能見度計算方法進(jìn)行改進(jìn)。首先,暗通道先驗理論不適用天空區(qū)域,因此可用邊緣檢測算法提取出天空區(qū)域所有像素的均值作為天空亮度A。然后優(yōu)化權(quán)重系數(shù)ω,其值太大或者太小都將顯著影響透射率計算結(jié)果。由于HSV空間能更好地區(qū)分圖像的亮度特征和色相特征,因此可以將霧天圖像轉(zhuǎn)換為HSV空間,再構(gòu)造與霧濃度對應(yīng)的函數(shù)來計算權(quán)重系數(shù)。最后,在采集目標(biāo)物距離時,可以采用單目攝像機(jī)動態(tài)標(biāo)定方法來實現(xiàn),標(biāo)定方法不依賴車道線和預(yù)設(shè)標(biāo)志物,能夠滿足大多數(shù)高速公路攝像頭能見度測量的要求。
文獻(xiàn)[7]采用圖片最亮像素前0.1%的平均亮度作為大氣光值,這種方法計算簡單快速,然而也造成了大氣光值的估計準(zhǔn)確度不足,導(dǎo)致最終的能見度計算誤差增大。因為圖像中可能包含除了大氣光的其他光源,還可能存在其他白色對象。這都將導(dǎo)致大氣光估測不準(zhǔn)。為了增加大氣光估測的準(zhǔn)確性,需要先從圖像中識別出天空區(qū)域,然后計算天空區(qū)域所有像素的平均值當(dāng)作大氣光值,具體計算步驟如下:
1)首先通過對圖像進(jìn)行直方圖均衡化(Histogram Equalization),增強(qiáng)圖像的邊緣信息;其次對灰度圖像進(jìn)行canny算子獲取圖像輪廓;接著檢測出的邊緣進(jìn)行膨脹;最后自上而下對膨脹后的圖像進(jìn)行掃描,并二值化處理,得到天空區(qū)域和非天空區(qū)域。天空分割處理過程如圖3所示。
圖3 天空分割處理過程
2)得到天空區(qū)域后,可以獲取天空部位所有像素的平均值作為大氣光值A(chǔ)??紤]到部分圖像天空區(qū)域比例較小,在其比例小于5%時,可以采用最亮像素的前千分之一作為大氣光值A(chǔ)。
暗通道先驗去霧算法取權(quán)重系數(shù)ω,簡單取經(jīng)驗值0.95。通過實驗統(tǒng)計證明,ω取值大小對能見度計算結(jié)果影響較大。實際上,圖像中較遠(yuǎn)距離的目標(biāo),在觀察者眼中霧越濃,權(quán)重系數(shù)ω不能簡單統(tǒng)一取值,而是應(yīng)當(dāng)根據(jù)霧的濃度系數(shù)來動態(tài)取值。HSV空間能夠更好地表達(dá)圖像的色調(diào)、飽和度和亮度。因此可以將圖像轉(zhuǎn)為HSV空間。在HSV顏色空間里,亮度越高,霧越濃。圖像每個像素的HSV距離定義為
d(x)=‖IHSV(x)-BHSV‖,
(14)
式中:BHSV----顏色空間里最亮的顏色值。
d(x)越小,表示像素所在的點霧越濃。
為了適應(yīng)自然場景下的霧濃度,構(gòu)造的權(quán)重系數(shù)計算函數(shù)為
(15)
根據(jù)式(15)可以繪制出ω(x)與d(x)的函數(shù)關(guān)系圖,如圖4所示。
圖4 權(quán)重系數(shù)ω與d(x)函數(shù)圖
從圖4可以看出,權(quán)重系數(shù)在霧氣越濃(d(x)越小)的地方,取值越大;在霧濃度越輕的地方,取值越小。當(dāng)像素點值與亮度最高的像素點值的距離在30左右時,權(quán)重系數(shù)ω值大約是0.95。
圖像場景深度值是能見度測量計算的關(guān)鍵指標(biāo)之一。目前傳統(tǒng)基于暗通道的能見度測量大多是采用基于車道線的能見度測量。該方法局限性較大。因為我國目前公路交通中,有些場景并沒有車道線,而且車道線檢測也容易失敗,導(dǎo)致最終無法得到能見度值。針對公路交通攝像頭一般為單目攝像頭的情況,這里引用文獻(xiàn)[9]實現(xiàn)基于場景透射率的單目攝像機(jī)標(biāo)定公式,具體實現(xiàn)步驟如圖5所示。
圖5 計算目標(biāo)距離流程
該方法結(jié)合了透射率和傳統(tǒng)攝像機(jī)線性模型,選擇了路面上透射率最低的8個點進(jìn)行攝像來標(biāo)定參數(shù)修正。該算法相對于基于車道線的目標(biāo)距離檢測適用場景更廣,計算結(jié)果更準(zhǔn)確穩(wěn)定,魯棒性更強(qiáng)。
通過以上方法,獲取透射率圖t和目標(biāo)距離d后,代入式(6)得
(16)
計算即可得到大氣能見度。
為了測試算法的有效性和準(zhǔn)確性,按照能見度等級將圖片進(jìn)行分類,根據(jù)《中華人民共和國氣象行業(yè)標(biāo)準(zhǔn)》[10],能見度一般分為5個等級。因此將所有視頻圖像按照能見度等級范圍劃分為5類,具體見表1。
表1 能見度等級表
由于目前權(quán)威高速公路霧天圖像較少。因此這里采集高速公路攝像頭數(shù)據(jù)自建測試數(shù)據(jù)庫。
通過截取高速公路4個攝像頭圖像并進(jìn)行篩選,由于實際環(huán)境有霧樣本較少,數(shù)據(jù)樣本不均衡,因此需要對有霧圖像進(jìn)行左右翻轉(zhuǎn)和縮放等簡單方法進(jìn)行數(shù)據(jù)增強(qiáng),并進(jìn)行樣本擴(kuò)充,通過結(jié)合能見度記錄儀的能見度值,對圖像進(jìn)行能見度等級標(biāo)識。最終得到實驗數(shù)據(jù)集見表2。
表2 實驗數(shù)據(jù)集 張
為了驗證算法的檢測效果和性能,采用準(zhǔn)確率P、召回率R、精確率均值F1三個指標(biāo)進(jìn)行評價。Macro-F1值為多個類別F1值的平均值,其計算公式為
(17)
(18)
(19)
(20)
式中:TP----正確檢測出分類的圖像個數(shù);
FP----不是目標(biāo)圖像,卻被檢測為目標(biāo)圖像的個數(shù);
FN----實際為目標(biāo)圖像,卻被錯誤檢測的樣本圖像。
對算法按能見度等級進(jìn)行測試,結(jié)果見表3。
表3 測試結(jié)果 %
為了評估算法優(yōu)化改進(jìn)的有效性,分別構(gòu)建算法模型進(jìn)行測試,具體如下:
1)傳統(tǒng)暗通道+車道線;
2)算法1:暗通道+改進(jìn)大氣光+單目深度;
3)算法2:暗通道+動態(tài)系數(shù)+單目深度;
4)算法3:暗通道+改進(jìn)大氣光+動態(tài)系數(shù)+單目深度。
模型F1檢測算法測試結(jié)果對比見表4。
表4 模型F1檢測算法測試結(jié)果對比 %
從表4可以看出,算法在分別引入天空檢測和動態(tài)系數(shù)后,各能見度分類精確率F1值有一定提升,其中同時改進(jìn)天空檢測和動態(tài)系數(shù)的算法提升效果最佳,說明改進(jìn)有效。相對于傳統(tǒng)基于暗通道和車道線的算法,改進(jìn)后算法的Macro-F1值為91.56%,提高了5.78%。
針對傳統(tǒng)基于暗通道先驗的能見度測量存在天空亮度估計不足,且簡單使用固定值作為權(quán)重值,導(dǎo)致能見度測量不準(zhǔn)的問題,提出一種基于透射率和單目深度的能見度測量算法。算法通過改進(jìn)計算大氣可見光,同時構(gòu)造權(quán)重系數(shù)函數(shù)替代固定值,提升了透射率計算準(zhǔn)確性,并引入單目攝像機(jī)標(biāo)定算法計算目標(biāo)距離,最終計算出能見度,通過實驗對比表明,改進(jìn)后算法的能見度測量準(zhǔn)確率較高,不依賴車道線,應(yīng)用范圍更廣,能夠滿足實際交通場景使用要求。