唐榕,李騫,唐紹恩
(國防科技大學 氣象海洋學院,長沙 410073)
能見度是指人肉眼在沒有任何幫助的情況下,所能識別物體的最大能見距離[1],是反映大氣透明度的重要物理量[2]。能見度過低會給人類生產生活、交通運輸安全等帶來危害[3-4],因此加強對能見度的檢測,尤其是低能見度的觀測檢測,具有十分重要的應用價值,已成為地面自動氣象觀測的重要內容之一。目前雖然已有各種能見度儀被投入業務使用,但與人工觀測相比,其檢測仍存在較大偏差[5],且能見度儀價格較為昂貴,難以進行密集布設。近年來,隨著攝像機的廣泛使用,基于圖像的能見度檢測方法成為解決能見度自動檢測問題的一類重要方法[6]。然而現有基于圖像的能見度檢測方法未考慮場景中不同景深目標物對應子圖像的質量受大氣懸浮粒子衰減不同的影響,導致整體能見度檢測精度下降。
本文提出一種基于多目標的能見度檢測方法,在圖像中選擇多個不同景深的目標物,分別提取各目標物對應的子圖像視覺特征,并利用各目標物視覺特征分別訓練能見度映射模型。最后使用全局圖像動態回歸各目標物估計值的權重,通過加權融合得到場景能見度檢測值。
傳統的能見度檢測方法主要分為目測法和器測法[6]。目測法是指讓觀測員目測不同距離目標物的清晰程度來判斷能見度,其觀測結果易受到人的主觀因素影響,測量精度較低[7]。器測法是指利用透射儀[8]或散射儀[9]自動估計能見度,這兩種儀器均以測量局部能見度代替整體能見度,當空氣分布不均勻時,其測量值易受到局部大氣懸浮粒子特性的影響,導致存在較大偏差[10]。此外,由于儀器設備通常較為昂貴,難以進行密集布設,因此實現能見度的全方位實時監測[11-12]存在一定困難。
隨著攝像機的普及以及各類圖像處理算法[13]的快速發展,基于圖像的能見度檢測方法不斷涌現。根據映射關系建立方式的不同,該方法又可以分為模型驅動法和數據驅動法[14]。模型驅動法是指根據大氣對圖像成像的衰減建立光傳播物理模型,通過圖像特征估計物理模型參數,以此反推能見度[15],如亮度對比法[16]、雙亮度差法[17]、暗通道法[18]等。但由于大氣中影響光傳播的懸浮粒子種類較多,且粒子空間分布不均勻[15],因此精確的物理模型通常難以準確定義。數據驅動法則是指利用海量經標注的歷史數據訓練圖像視覺特征與能見度的映射模型,由收斂后的模型來預測場景能見度值。如文獻[19]將圖像梯度和對比度作為反映能見度變化的特征,利用支持向量回歸機和隨機森林兩種算法建立能見度值與視覺特征的關系模型;文獻[20]提取興趣域對比度作為特征向量,構建圖像特征與能見度的支持向量回歸機;文獻[21]使用預訓練的AlexNet 深度卷積神經網絡提取圖像的學習特征,訓練多類非線性支持向量機對能見度范圍進行分類。數據驅動法將能見度變化對圖像的影響完全表征在視覺特征里,通過建立特征與能見度的映射模型來估計能見度值。該類方法通過大量的數據不斷優化模型,從而避免物理模型難以準確定義的問題,已成為能見度檢測領域的一個重要研究方向。
然而,現有數據驅動法未考慮場景中不同景深目標物對應的子圖像質量衰減程度不同的問題,從全局圖像提取特征,使得真正能反映能見度變化的局部關鍵特征被全局特征所平滑。針對該問題,文獻[15]提出將樣本圖像均等分割成9 個子區域,利用預訓練的VGG-16 網絡對子區域進行編碼;文獻[22]將所有圖像進行灰度平均,從場景中選擇靜態的有效子區域提取特征。這兩種選擇子區域的預處理方法在一定程度上增強了圖像局部對整體檢測效果的影響,但由于每個子區域是被均等或隨機劃分的,沒有考慮實際場景內容、景深距離等,因此所提取的視覺特征仍不能準確反映能見度變化對不同景深目標子圖像質量的實際衰減,導致圖像中最能體現能見度變化的局部關鍵信息被忽略。針對上述問題,本文提出基于多目標的能見度檢測方法,即選擇多個不同景深目標物對應子圖像提取視覺特征訓練模型,有效融合各目標物的能見度估計值,并將其作為整幅圖像的能見度檢測值。
圖像中不同目標物因景深不同,對應子圖像質量受到大氣懸浮粒子衰減的程度也不同,其視覺特征也隨之相應變化,例如近距離目標子圖像視覺特征在低能見度條件下變化更劇烈,而遠距離目標子圖像視覺特征對高能見度變化更敏感。同樣地,在人工觀測過程中,觀測員也常在觀測點四周不同距離、不同方位選擇若干固定目標物[5],再結合整個場景由各目標物可見與否以及其視覺清晰程度來綜合判定場景能見度值。受上述過程啟發,本文提出一種基于多目標的能見度檢測方法,方法流程如圖1所示,首先在圖像中選取多個不同景深且具有顯著細節特征的目標物,然后針對各目標物所在子圖像以及整幅圖像分別采用預訓練神經網絡提取視覺特征,由多個單目標物視覺特征回歸能見度估計值,同時在估計過程中結合整幅圖像視覺特征回歸各目標物估計值的權重向量,最后根據權重進行融合得到整幅圖像的能見度檢測值。

圖1 本文方法的流程Fig.1 Procedure of the method in this paper
為獲得多個單目標能見度估計值,本文提取各目標物對應子圖像視覺特征。考慮到基于圖像的能見度檢測方法由圖像質量的衰減程度估計能見度值,與圖像質量評估任務具有相似性。因此,本文遷移文獻[23]中在AVA 數據集上預訓練的神經圖像評估(Neural Image Assessment,NIMA)網絡提取能見度圖像的視覺特征,以此來反映能見度變化對圖像質量的影響。NIMA網絡結構如表1 所示,其中dw 代表深度卷積,后面常跟逐點卷積;s2 表示該卷積核的移動步長為2。由表1可知,NIMA 神經網絡由去除最后一層的MobileNet 網絡[24]和一個具有10 個神經元的全連接神經網絡(Fully Connected Neural Network,FCNN)組成,該網絡模擬人類對圖像的綜合評價,預測圖像質量評級分布,與真實評級更相關,且主體MobileNet網絡采用深度可分離卷積(深度卷積+逐點卷積)代替標準卷積。通過以上卷積,使模型參數量和計算量均大幅減少,從而實現高效提取視覺特征的目的。

表1 NIMA 網絡結構 Table 1 Structure of the NIMA network
為提取視覺特征,反映能見度圖像的質量和內容,而不涉及NIMA 網絡原本的分類任務,本文選取NIMA 網絡全連接層前的輸入值作為各目標物對應子圖像的視覺特征(如表1 加粗數字所示),然后將各視覺特征并行輸入到多個全連接網絡分支,如圖2所示,則對于第j個目標,其視覺特征fj所在分支包含兩個隱藏層,每個隱藏層有64 個節點,輸出層節點數為1,輸出單個能見度估計值j。

圖2 單目標能見度估計網絡的結構Fig.2 Structure of single-object visibility estimation network
對場景能見度的檢測通常需要綜合場景中的多個目標物,是一個多目標能見度值融合的過程。為融合多個單目標的能見度估計值,本文設計了一個目標權重估計網絡。考慮到人工觀測過程中結合整幅圖像信息綜合判定場景能見度值的作用,本文同樣提取整幅圖像的NIMA 視覺特征,根據該視覺特征回歸各目標物估計值權重。如圖3 所示,將視覺特征輸入到全連接網絡,網絡包含2 個隱藏層,每個隱藏層有64 個節點,輸出層節點數為所選目標物個數,即輸出融合權重向量W={1,2,…,n}。

圖3 多目標能見度融合網絡的結構Fig.3 Structure of multi-object visibility fusion network
在訓練階段,為了使網絡能夠根據當前能見度真值動態估計各目標在融合過程中所占權重,本文設定聯合損失函數并行訓練單目標能見度估計網絡和權重融合網絡,將各目標能見度估計值與對應權重加權進行求和,作為整個網絡的聯合輸出,其損失函數設定為式(1)所示:
其中:m為訓練集樣本數量為第i個樣本圖像的能見度估計值;yi表示第i個樣本圖像的能見度真值;n為樣本圖像中所選擇目標物數量;()i是第i個樣本圖像中第j個目標的能見度估計值;(j)i為第i個樣本圖像中第j個目標估計值的融合權重。

為驗證本文方法的有效性,本文采用固定的主動攝像機按照預定義的云臺旋轉策略獲取圖像數據集,選取3 個具有代表性的場景,每個場景包含多個不同距離的顯著對象,示例如圖4 所示。由于低能見度天氣主要發生在秋冬季,圖像采集時間為2019年2 月6 日—2019年3月13日、2020年12月1日—2021年3月13日,從上午6 點到下午18點,每小時采集一次,時長大約5 min,包含所有場景的視頻數據。在每個場景下隨機抽取圖像,并將圖像分辨率縮放至1 000×1 000 像素。剔除掉受飛蟲、雨滴遮擋等干擾的圖像后,選取22 952幀圖像作為樣本數據集,其中場景1 有7 376 幀圖像,場景2 有7 609 幀圖像,場景3 有7 967 幀圖像。在能見度真值方面,根據人工觀測結果對當地透射儀的測量值進行修正,最后將修正值作為能見度真值。

圖4 不同場景在不同能見度條件下的圖像示例Fig.4 Image examples of different scenes under different visibility conditions
為訓練能見度映射模型,從3 個場景中分別隨機選擇70%樣本圖像作為訓練集,10%樣本圖像作為驗證集,20%樣本圖像作為測試集,并將能見度真值劃分為4 個區間,各能見度區間訓練集、驗證集和測試集樣本數量分布如表2 所示。

表2 不同能見度區間的樣本數量分布 Table 2 Distribution of sample number at different visibility ranges
在方法實現方面,本文在CPU 為Intel i7-3700X 3.6 Hz、內存為8 GB 的PC 機上基于python 開展實驗。針對所選擇的3 個場景,在每個場景下劃分如圖5 所示的3 個不同景深的目標物,加上整幅圖像,則共需要訓練4 個全連接網絡分支的279 430 個權重參數。在訓練過程中,各全連接層參數采用標準差為0.01 的截斷正態分布生成的隨機數來初始化。為了防止過擬合,對參數應用scale 為0.003 的L2 正則化約束,將batch_size 設置為32,學習率設置為0.001,epoch 設置為120,損失函數定義為平均絕對誤差,并采用Adam 算法進行優化。

圖5 不同場景下不同景深目標物劃分示例Fig.5 Examples of target division with different depth of field in different scenes
首先,為驗證所選取的NIMA 視覺特征對能見度變化的敏感性,本文對場景1 的采樣樣本做了視覺特征有效性驗證,在0.01 km、2 km、8 km 和15 km 能見度條件下分別隨機抽取120 幀樣本圖像,并選擇感興趣區域作為特征提取對象,如圖6 所示。

圖6 場景1 樣本圖像的感興趣區域示例 Fig.6 Example of region of interest of sample image in scene 1
由于15 km 能見度條件下的圖像質量衰減程度最弱,因此將其感興趣區域作為基準圖像集合,分別計算其他3 個能見度條件下樣本圖像與基準圖像特征的歐氏距離,結果如圖7(a)所示。可以看到,能見度越高,圖像質量衰減程度越弱,其與基準圖像的特征相似度越高,歐氏距離越小。從圖7(a)可知,8 km、2 km、0.01 km 能見度條件下的樣本圖像與基準圖像的特征距離呈現逐漸增大的趨勢,且垂直分層較為明顯,這表明NIMA 特征能較好地通過其值變化反映圖像質量的不同退化程度。為了驗證特征的泛化能力,本文還計算了任意兩兩能見度條件下樣本圖像特征距離的平均值,結果如圖7(b)所示。從圖7(b)中可以看出,隨著相比較的兩個能見度值相差越大,其對應樣本特征距離平均值也越大,這表明NIMA 特征對能見度變化敏感。

圖7 特征有效性驗證的實驗結果Fig.7 Experimental results of verification of feature
本節從樣例分析和量化分析兩個方面驗證本文方法的有效性。首先針對多個場景單個樣例圖給出能見度檢測結果,然后統計測試樣本集的預測平均絕對誤差、正確率等,最后考察方法目標物選擇和融合策略的有效性。
3.3.1 本文方法能見度檢測分析
針對圖4 給出的3 個場景樣例圖,通過本文方法回歸得到每幀樣例圖中各目標物能見度估計值及其權重值,有效融合得到場景能見度檢測值,結果如表3所示。

表3 樣例圖能見度檢測結果 Table 3 Visibility detection results of sample image
從表3 可以看出,在3 個場景的9 幀圖像樣本中,本文方法融合得到的能見度檢測值與標注值基本一致。為進一步量化分析本文方法的預測性能,在場景1 下統計本文方法在不同能見度區間預測值與標注值的均值和標準差,并計算預測正確率。其中當能見度在[0,1 km)區間時,若預測值在標注值的20%誤差范圍內,則視為正確預測的值;當能見度在[1 km,3 km)區間時,所允許的誤差范圍是15%;當能見度在[3 km,+∞)區間時,所允許的誤差范圍是10%。統計結果如表4 所示。從表4 可以看出,在任意能見度區間內,本文方法預測值與標注值的平均絕對誤差均控制在標注均值的10%以內,表明預測值的集中趨勢和離散程度與標注值基本一致。在正確率方面,除了[3 km,10 km)區間,其他區間的正確率均超過了90%,表明本文方法在各能見度區間預測的可信度均較高,而在[3 km,10 km)區間預測正確率偏低的主要原因是在高能見度條件下,影響圖像質量的外部干擾因素較多。

表4 場景1 下的能見度預測值 Table 4 Visibility prediction value under scene 1
3.3.2 目標物選擇對比實驗
為進一步分析不同景深目標物選擇對本文方法的影響,本文選取了另外兩組目標物,如圖8 所示,圖8(a)的目標物相對攝像機距離較近,在0.5 km 之內;圖8(b)的目標物相對攝像機距離較遠,在3 km之外。對比本文方法(不同景深),統計各目標物在各能見度區間的預測平均絕對誤差,結果如表5所示。

圖8 兩組目標物劃分示例Fig.8 Division examples of two groups of targets

表5 3 組目標物在不同能見度區間的預測平均絕對誤差 Table 5 Mean absolute errors of prediction of the three groups of targets at different visibility ranges
由表5 可知,選擇3 個不同景深的目標物在任意能見度區間預測的平均絕對誤差均最小;在[0,1 km)和[1 km,3 km)能見度區間內,選擇近景深目標比選擇遠景深目標預測平均絕對誤差要小;在[3 km,10 km)和[10 km,+∞)區間內,選擇遠景深目標預測平均絕對誤差較小,這表明目標物的選擇與在各能見度區間的預測誤差是相關的,且選擇具有代表性景深的目標物提取視覺特征有利于提高模型在各能見度區間的預測精度。
3.3.3 權重融合實驗
為驗證本文方法從整幅圖像的視覺特征中動態回歸各目標物估計值權重的有效性,本文做了3 組對照實驗,具體如下:
1)多目標局部加權法。與本文方法不同,該方法通過聯合多個目標物視覺特征,動態回歸各目標物估計值權重。
2)多目標平均法。該方法將多目標估計值進行簡單求和取平均值,并作為最終能見度檢測值。
3)全局圖像法。該方法為傳統的基于數據驅動的能見度檢測方法[25],通過直接建立整幅圖像視覺特征與能見度的關系映射模型來預測場景能見度值。
以上3 種對比方法的流程如圖9 所示。統計包含本文方法在內的4 種方法在各能見度區間的預測正確率,其結果如表6 所示。

圖9 3 種對比方法的流程Fig.9 Procedures of three comparison methods

表6 4 種方法的檢測正確率 Table 6 Detection accuracies of four methods %
由表6 可知,多目標平均法和全局圖像法在[1 km,3 km)、[3 km,10 km)以及[10 km,+∞)能見度區間的預測正確率均小于80%,在[3 km,10 km)區間,預測正確率甚至不足50%,而本文方法除在[3 km,10 km)區間外,預測正確率均大于90%,能較好地適用于低能見度檢測。
針對傳統基于數據驅動的能見度檢測方法未考慮場景中不同景深目標物對應子圖像的質量衰減程度不同的問題,提出一種基于多目標的能見度檢測方法。通過在圖像中選擇多個不同景深的目標物,分別提取各目標物對應子圖像的視覺特征,并用其訓練能見度估計模型。提取整幅圖像視覺特征訓練融合權重,按照權重融合各目標能見度估計值,得到全局能見度檢測值。實驗結果表明,與多目標局部加權法、多目標平均法、全局圖像法相比,該方法能有效提高能見度檢測精度。下一步將模擬人眼瞳孔變化,利用調整焦距的方式獲取各目標物高分辨率圖像,以更好地通過量化視覺特征因圖像變化而產生的差異估計能見度值。