陳 留, 楊筆鋒,2, 謝 歡, 馬尚昌,2
(1.成都信息工程大學電子工程學院,四川 成都 610225;2.中國氣象局大氣探測重點開放實驗室,四川 成都 610225)
常見的地面凝結(jié)現(xiàn)象包括霜、露、雨凇、霧凇等,露和霜都是水汽凝結(jié)在地面或地物表面形成的凝聚物。不同之處在于形成時的物理變化不同、形成時地表溫度不同、以及形成時形狀不同[1]。由于雨凇和霧凇發(fā)生條件較苛刻,出現(xiàn)幾率較小,因此霜和露的識別是地面凝結(jié)現(xiàn)象觀測的重點。
霜和露的傳統(tǒng)觀測方法以人工觀測為主,存在觀測次數(shù)不夠并且主觀性強等一系列缺陷,導致觀測質(zhì)量不高[2]。因此針對地面凝結(jié)現(xiàn)象的自動觀測技術(shù)應運而生,蒲曉虎等[3]根據(jù)霜露自動化裝置的電容傳感器在濕度不同的情況下電容變化較大的特點,提出了通過測量電容變化所引起的頻率變化和當前的溫度信息聯(lián)合判別當前的霜、露現(xiàn)象。除此之外,還有利用CCD圖像傳感器、露采集器和處理器構(gòu)成的自動化觀測裝置。將三層帶有磨砂區(qū)域的玻璃片固定在特定支架上作為露采集器[4]。但是傳感器只能顯示一維特征,不能較好地表征霜和露的特性。Jerzy等[5]提出了基于阻抗矩陣測量的露點檢測器,雖然較好地檢測出地面凝結(jié)現(xiàn)象,但是在氣象觀測方面的意義并不大。此外,基于計算機視覺的霜露識別算法也成為當今流行的趨勢,將檢測的霜露現(xiàn)象轉(zhuǎn)換為檢測圖像光學特性的變化,但存在霜露容易受到溫度和光照的影響而消失,霜露在圖像中的分布沒有明顯規(guī)律等問題[6]。為提高露、霜觀測的準確性,改善觀測的工作效率,本文提出通過高清CCD拍照對地面凝結(jié)現(xiàn)象圖像進行采集,在此基礎上利用canny邊緣檢測提取圖片的紋理特征,進行基于支持向量機的凝結(jié)現(xiàn)象分類識別。
人工觀測可以從多個角度觀測凝結(jié)現(xiàn)象,攝像頭只能從一個角度獲取凝結(jié)現(xiàn)象,因此本文使用了朱磊等[2]提出的間接觀測方案,觀測平臺如圖1所示。
圖1 霜露觀測平臺
真實草地上不易觀測到凝結(jié)現(xiàn)象,故使用三層帶有磨砂區(qū)域玻璃片代替真實草地,并通過圖中的帶有夜視功能的高清短焦攝像頭進行錄像。好處是在流視頻中玻璃片的位置是固定的,能更方便地尋找凝結(jié)接觸面。磨砂區(qū)域位于玻璃片的下方,使用特定的亞克力板對三層玻璃片進行固定。上述方法能更明顯地觀察到凝結(jié)現(xiàn)象,提取圖像特征,并通過對三塊玻璃片同一時刻的綜合判定實現(xiàn)聯(lián)合判別,使用一半磨砂玻璃和一半透明玻璃所構(gòu)成的玻璃片,更容易通過兩邊玻璃片的差別對不同現(xiàn)象進行區(qū)分。
由于霜露觀測裝置截取的霜露圖像是流視頻,需將錄像以圖片的形式呈現(xiàn)。傳統(tǒng)方法是在流視頻中每隔一段固定時間進行一次普通的截屏,但截取的圖像像素偏低、分辨率低。因此,本文利用視頻截幀的方法進行圖像的提取,通過編寫基于python的圖像提取程序,修改提取參數(shù),每5分鐘截取一張高像素的圖片,得到圖2所示圖像。
圖2 晝夜采集圖像展示
通過初步的圖像提取,得出:(1)在干燥現(xiàn)象中,玻璃片的磨砂區(qū)域和普通區(qū)域有著明顯的區(qū)別;(2)在結(jié)露現(xiàn)象中,磨砂區(qū)域和普通玻璃區(qū)域都凝結(jié)著不少的水滴;(3)在結(jié)霜現(xiàn)象中,磨砂區(qū)域和普通玻璃區(qū)域之間界限模糊,兩邊都附著有白色的碎末狀冰晶。如圖3所示。
圖3 各種現(xiàn)象下的玻璃片狀態(tài)
從圖3可以看出整張圖片里有部分不包含玻璃片的區(qū)域,首先系統(tǒng)地截取出每一張圖片中的凝結(jié)接觸面,典型圖片如圖4所示。提取的凝結(jié)接觸面能較好地顯現(xiàn)出圖像的專屬特征。
圖4 各種現(xiàn)象下的感興趣區(qū)域提取
李肖霞等[4]提出發(fā)生結(jié)露現(xiàn)象時,玻璃片的亮度會發(fā)生明顯變化。因此,本文最初將提取的每幅圖中3個玻璃片的毛玻璃部分和普通玻璃部分按照人工觀察進行初步判定并打上標簽;然后計算每部分的灰度特征值,將灰度特征值作為圖像識別的依據(jù)。由于晚上有燈光對采集裝置進行照射,玻璃片下墊面的植被會對判定結(jié)果造成很大的影響,導致識別準確率并不高。在此基礎之上,本文提出了將凝結(jié)接觸面通過邊緣檢測得到圖像紋理特征進行進一步的圖像識別。
數(shù)據(jù)量過多一直是圖像特征提取的難點,利用邊緣檢測標識出圖像中亮度變化明顯的點,可以較好地保留圖像中原有的重要結(jié)構(gòu)屬性,剔除圖像中不相關(guān)信息。此前邊緣檢測的實現(xiàn)是通過Sobel算法、Log算法、Roberts算法等,實際效果不甚理想。為彌補上述算法的不足,本文應用Canny邊緣檢測:圖像像素的高斯分布非常重要,為使其趨于均衡,利用Canny算子計算像素統(tǒng)計平均,二維高斯公式為[7-8]
通過計算灰度變化率相對于水平方向的斜率即可得出其梯度矢量:
根據(jù)式(1)和式(2),分別得出圖像像素沿x和y方向的偏導數(shù)公式:
式(3)和式(4)中的k是自然數(shù),e為高斯常數(shù),表示圖像像素平衡的程度。通過一階偏微分方程卷積法得出如(5)所示的梯度幅值公式和(6)所示的梯度方向公式:
其中,Px[i,j]和Py[i,j]分別是相對于x軸和y軸的偏導數(shù)。然后根據(jù)圖像像素點的灰度變化率設定閾值,對設定的閾值范圍進行比較,將圖像中的像素分別分類??梢缘玫饺缦碌姆诸惞?
式中M[i,j]是灰度變換矩陣,Y[i,j]是邊緣檢測像素相鄰區(qū)域的像素。將這些像素點二值化處理,將大于閾值的像素點和小于等于閾值的像素點分別重新賦值為255和0[9],將賦值為255的像素點串接,得到被檢測物體的邊沿。
本次邊緣提取分別使用了干燥現(xiàn)象、結(jié)露現(xiàn)象、結(jié)霜現(xiàn)象的磨砂玻璃部分和對應的透明玻璃部分各600張。典型的圖片如圖5所示,干燥現(xiàn)象時,磨砂玻璃部分經(jīng)過邊緣處理后基本上沒有紋理痕跡,而在透明玻璃部分,由于下墊面有一些雜草和亞克力板上的印記,導致其像素梯度有一定的變化;對于結(jié)露現(xiàn)象的玻璃片來說,無論是在凝結(jié)接觸面的磨砂玻璃部分還是透明玻璃部分,都可以看出上面的結(jié)露痕跡;對于結(jié)霜現(xiàn)象的玻璃片,可以看出在同一張圖中,無論是其毛玻璃部分和透明玻璃部分,其兩邊玻璃的邊緣痕跡差距都不大。
圖5 各種現(xiàn)象下的邊緣提取
由于霜露在圖像中的分布無明顯規(guī)律,利用普通的圖像識別算法很難提取到上述現(xiàn)象的專屬紋理特征。而從圖5更深一步的分類中,可以發(fā)現(xiàn)將不同現(xiàn)象的圖像進行邊緣處理之后,每種現(xiàn)象磨砂玻璃區(qū)域的灰度值和透明玻璃區(qū)域的灰度值有不同的分布規(guī)律。因此,可以通過尋找邊緣處理后圖像的灰度分布規(guī)律對現(xiàn)象進行判別并分類。目前支持向量機在類似的分類方面已經(jīng)有了較大的成果。綜上所述,本文提出對選取圖像進行邊緣處理求出灰度平均值的前提下,利用支持向量機進行圖像分類。
支持向量機(support vector machine,SVM)通過核函數(shù)將樣本集向量映射到一個高維特征空間[10],在空間中隨機生成一個超平面。為對樣本集進行分類,需要不斷移動超平面,直至不同類別的樣本點正好位于超平面的兩側(cè)。其次,在上述基礎之上,建立一個令兩側(cè)距離最大化的平面,稱其為最優(yōu)決策超平面[11]。支持向量機在分類問題方面有著良好的泛化能力。
支持向量機是解決二分類問題最有效手段,為找到最優(yōu)決策超平面。令方程w·x+b=0為最優(yōu)決策超平面,將處在w·x+b>0區(qū)域的點歸為1類,而將處在w·x+b<0區(qū)域的點歸為-1類,經(jīng)過總結(jié),最優(yōu)決策超平面兩側(cè)距離最大化的數(shù)學表達式如式(8);約束條件如式(9):
得出SVM的標準原問題表達,當式(9)兩邊的值相等時,可以得出此時的xi一定位于圖6的虛線上,即為支持向量[12],雖然存在很多樣本,但是只有在虛線上的樣本可以被稱作支持向量,這些樣本到?jīng)Q策面的距離被標準化到了1。
圖6 支持向量機圖解
支持向量機在非線性數(shù)據(jù)分類方面需要以下步驟:(1)通過非線性變換使得低維空間中的非線性分類樣本映射到高維空間中,形成線性可分樣本;(2)利用上述所得的線性可分樣本,構(gòu)造最優(yōu)決策超平面。相對于線性變換只需要選擇線性核函數(shù)所得,如果要在非線性變換中得到最優(yōu)決策超平面需要選擇各種多項式核函數(shù)等。正是由于上述將核函數(shù)用于非線性分類,不但使支持向量機在解決非線性分類問題方面也有著一席之地,而且有效地解決了高維數(shù)據(jù)運算復雜、耗時冗長的問題[13]。
對于多樣本分類的問題,最常采用的策略是通過一對一的投票方式,構(gòu)建支持向量機多類分類器。訓練樣本中有 n種類別,等于是將每種類別和其余(n-1)種類別相對比,則需要創(chuàng)建n(n-1)/2個二分類器,求解出每個二分類器的最優(yōu)決策超平面,最終得到的訓練結(jié)果即為保存的每個二分類器的訓練參數(shù)。
利用支持向量機分類必須在各個類別之間有容易區(qū)分的特征,將上述圖像通過Canny邊緣處理并計算兩部分玻璃片的灰度值之后,每種現(xiàn)象選出一定數(shù)量的圖片得到較明顯的灰度值分布:當干燥現(xiàn)象時,磨砂部分灰度值接近于0,透明部分灰度值處于一個較大的范圍;處于結(jié)露現(xiàn)象時,兩部分灰度值都處于一個較大的范圍;處于結(jié)霜現(xiàn)象時,兩部分灰度值比較接近。綜上,可以得出三者之間灰度值分布有著較為明顯的區(qū)分特征。因此可以進行基于支持向量機的圖像分類。
根據(jù)支持向量機在分類方面的優(yōu)勢以及不同現(xiàn)象圖像進行Canny邊緣處理之后的差異以及所求灰度值分布的一系列明顯規(guī)律,本文選用支持向量機對上述3類現(xiàn)象進行分類,基于支持向量機的分類過程有如下步驟:
Step1:選取上述3種現(xiàn)象的圖像各600張,對不同的現(xiàn)象按種類打上標簽,分別將其磨砂玻璃部分和透明玻璃部分進行Canny邊緣處理,得到邊緣處理后的圖像,更好地提取出各種現(xiàn)象的專屬特征。
Step2:求出邊緣處理后圖像磨砂玻璃部分和透明玻璃部分的灰度平均值,并將兩部分的灰度平均值和之前按照種類定義的標簽構(gòu)建為一組三維數(shù)組。并將兩部分灰度值作為樣本特征集,將按照種類打上的標簽作為樣本結(jié)果。
Step3:將所得1800組數(shù)組按照7:3的比例分為訓練集和測試集,利用各種現(xiàn)象之間磨砂玻璃部分灰度平均值、透明玻璃部分灰度平均值之間的分布規(guī)律,進行基于SVM的圖像分類。
在上述步驟完成之后,對分類模型進行搭建,其中分類器的核函數(shù)選用高斯核函數(shù),采取一對一的分類方式,最后利用二分法得到如表1所示的測試集分類結(jié)果。
表1 測試集分類結(jié)果 單位:%
根據(jù)對測試集的分類結(jié)果,可以得出干燥現(xiàn)象的識別準確率最高,達到98.4%。結(jié)霜現(xiàn)象的識別準確率較低,還有較高的提升空間。根據(jù)對測試集圖像(圖7)的分析看出:結(jié)合某些結(jié)霜現(xiàn)象圖像的磨砂玻璃部分以及透明玻璃部分的Canny邊緣處理圖像,將處理后的圖像進行灰度平均值計算后,得出灰度平均值分布與干燥現(xiàn)象較為接近,因此造成了誤判。
圖7 結(jié)霜現(xiàn)象錯誤判定圖示例
3種現(xiàn)象的綜合識別率達到了86.5%,相對最初僅憑借玻璃片兩個區(qū)域的灰度特征值對凝結(jié)現(xiàn)象進行分類,在準確率方面和效率方面都提升了不少。
利用帶磨砂區(qū)域的三層玻璃片代替草地作為凝結(jié)接觸面,使用具有夜視功能的攝像頭進行不間斷的錄像,利用視頻截幀完成圖像的初步提取。在提取圖像中的凝結(jié)接觸面區(qū)域之后,首先通過灰度特征值挖掘3種現(xiàn)象的規(guī)律,得到光照和下墊面植被會對圖像的灰度特征值有較大的影響。最后將圖像進行Canny邊緣檢測提取圖像紋理特征,利用磨砂玻璃和透明玻璃部分下墊面的不同導致邊緣提取圖像的不同。提出了基于SVM的圖像分類,得出以下結(jié)論:(1)此方法在干燥現(xiàn)象的識別方面具有很高的識別準確率;(2)將某些結(jié)霜現(xiàn)象的圖像經(jīng)過邊緣處理之后,可以看出其平均灰度值分布與干燥現(xiàn)象的較為接近,容易造成一部分誤判,因此在結(jié)霜現(xiàn)象的識別準確率還有一定的提升空間。(3)此方法達到了86.5%的綜合識別準確率,相對于只憑借灰度特征值對3種現(xiàn)象的識別有了更高的識別準確率和效率。