馬 嘯 邵利民 徐冠雷 郭 策
(1.海軍大連艦艇學(xué)院海洋氣象教研室 大連 116018)(2.91937部隊(duì) 舟山 316000)
隨著計(jì)算機(jī)視覺(jué)技術(shù)的迅猛發(fā)展,戶外視覺(jué)系統(tǒng)開(kāi)始廣泛應(yīng)用于軍事、交通、安全監(jiān)控等領(lǐng)域。惡劣天氣造成的圖像模糊和信息覆蓋等,會(huì)直接或間接影響戶外視覺(jué)系統(tǒng)的性能,導(dǎo)致高速公路、機(jī)場(chǎng)、船運(yùn)碼頭等基礎(chǔ)公共交通設(shè)施無(wú)法正常運(yùn)轉(zhuǎn),給人們的生產(chǎn)、生活造成極大影響[1]。霧霾天氣是頻繁出現(xiàn)的惡劣天氣之一,研究霧霾天氣的自動(dòng)識(shí)別方法,不僅可以克服目前人工觀測(cè)天氣需要消耗大量人力和物力的不足,而且可以對(duì)戶外視覺(jué)系統(tǒng)采集到的圖像進(jìn)行預(yù)處理,自動(dòng)識(shí)別出有霧圖像,推進(jìn)智能去霧技術(shù)的發(fā)展。
近年來(lái),國(guó)內(nèi)外學(xué)者從不同角度出發(fā)提出了不同的天氣識(shí)別方法。文獻(xiàn)[2]通過(guò)檢測(cè)不同天氣條件下建筑物直線模糊邊緣的刃邊函數(shù),求取線擴(kuò)散函數(shù)的跨度值,達(dá)到識(shí)別天氣的目的[2],但該方法對(duì)霧天的識(shí)別率較低。文獻(xiàn)[3]采用基于決策樹(shù)的支持向量機(jī)(SVM)方法識(shí)別不同的天氣現(xiàn)象[3],文獻(xiàn)[4]將改進(jìn)的K近鄰算法與支持向量機(jī)融合進(jìn)行天氣識(shí)別[4],兩種方法對(duì)霧天的識(shí)別率均較高,但不適用于大規(guī)模數(shù)據(jù)的處理;文獻(xiàn)[5]在雙色大氣散射模型的基礎(chǔ)上提出一種識(shí)別天氣現(xiàn)象的方法,對(duì)霧天具有良好的判別效果,但該識(shí)別方法必須基于同一場(chǎng)景圖像進(jìn)行天氣識(shí)別[5]。文獻(xiàn)[6]基于貝葉斯統(tǒng)計(jì)的方法實(shí)現(xiàn)霧天的自動(dòng)識(shí)別,但準(zhǔn)確率不高[6];文獻(xiàn)[7]基于傳統(tǒng)的K均值聚類算法進(jìn)行霧天天氣識(shí)別,識(shí)別準(zhǔn)確率較高,但算法采用歐式距離來(lái)度量樣本間的相似度,忽略了樣本間的相關(guān)性[7]。
為從大量采集到的圖片信息中快速識(shí)別出霧霾天氣,并提高識(shí)別準(zhǔn)確率,本文采用適合處理大量數(shù)據(jù)的K均值聚類算法實(shí)現(xiàn)霧霾天氣的自動(dòng)識(shí)別。
K均值聚類算法是由麥克奎因(J.B.Mac-Queen)于1967年提出的一種劃分式聚類算法,是到目前為止應(yīng)用最廣泛最成熟的一種聚類分析算法,具有簡(jiǎn)單快速、適用于處理大規(guī)模數(shù)據(jù)的優(yōu)點(diǎn)[8]。
其基本思想是從含有大量數(shù)據(jù)對(duì)象的數(shù)據(jù)集中隨機(jī)選擇K個(gè)數(shù)據(jù)對(duì)象作為初始聚類中心,計(jì)算每個(gè)數(shù)據(jù)對(duì)象與K個(gè)聚類中心的距離,將所有數(shù)據(jù)劃分到與它距離最近的聚類中心代表的類中,根據(jù)新生成的各類中數(shù)據(jù)對(duì)象的均值更新K個(gè)聚類中心。若相鄰迭代次數(shù)內(nèi)聚類中心值的變化超過(guò)規(guī)定的閾值,則根據(jù)新的聚類中心對(duì)所有數(shù)據(jù)對(duì)象進(jìn)行重新劃分;若相鄰迭代次數(shù)內(nèi)聚類中心值的變化小于規(guī)定的閾值,則算法收斂,輸出聚類結(jié)果。
1)從數(shù)據(jù)集中隨機(jī)選取K個(gè)初始聚類中心,分別計(jì)算數(shù)據(jù)集中每個(gè)數(shù)據(jù)與K個(gè)聚類中心間的歐式距離,將數(shù)據(jù)對(duì)象逐個(gè)劃分到與其距離最近的聚類中心代表的類中,計(jì)算分類后的誤差平方和準(zhǔn)則函數(shù)E,如式(1)所示。其中 Cj( j=1,2,…,K)表示聚類后的第 j類,x表示類Cj中的數(shù)據(jù)對(duì)象,mj表示類Cj的均值。E的值越小,說(shuō)明數(shù)據(jù)樣本與聚類中心間的差異越小,聚類結(jié)果越好。
2)用各個(gè)類中所包含數(shù)據(jù)對(duì)象的均值更新初始聚類中心,并用新的聚類中心計(jì)算E值。比較相鄰兩次迭代計(jì)算得到的E值之差,若差值小于規(guī)定的閾值則聚類準(zhǔn)則函數(shù)收斂,輸出聚類結(jié)果;否則返回步驟1)。
傳統(tǒng)K均值聚類算法的主要流程如圖1所示。
圖1 傳統(tǒng)K均值聚類算法流程圖
要從戶外視覺(jué)系統(tǒng)采集的圖像中識(shí)別出霧霾天氣,就要處理大量圖像數(shù)據(jù),本文從算法是否適合處理大規(guī)模數(shù)據(jù)的角度出發(fā),選擇K均值聚類算法處理圖像。由于在霧霾天氣條件下,戶外視覺(jué)系統(tǒng)采集到的圖像與晴天采集到的圖像相比,飽和度明顯降低,本文選擇與飽和度的均值和方差作為識(shí)別霧霾天氣的特征[7]。
傳統(tǒng)的K均值聚類算法通常采用歐式距離作為數(shù)據(jù)樣本間相似性的度量方法,考慮到這種度量方法更適用于具有球狀分布的數(shù)據(jù),且歐氏距離忽略了數(shù)據(jù)間的相關(guān)性,而馬氏距離在一定程度上消除了數(shù)據(jù)間相關(guān)性的影響,本文采用馬氏距離代替?zhèn)鹘y(tǒng)K均值聚類算法中常用的歐氏距離作為相似性度量。此外,為節(jié)省算法的運(yùn)行時(shí)間,本文不采用誤差平方和函數(shù)作為算法收斂的準(zhǔn)則函數(shù),而直接采用相鄰迭代次數(shù)內(nèi)聚類中心變化的距離是否小于規(guī)定的閾值作為收斂準(zhǔn)則,如式(2)所示:
其中ε為規(guī)定的閾值,mj,mj′為相鄰兩次迭代得到的第j類的聚類中心。
1)數(shù)據(jù)預(yù)處理:為提取飽和度特征,從大量圖片信息中濾除飽和度為零的灰度圖像,并將所有彩色RGB圖像轉(zhuǎn)化為HSV模式。其中RGB為圖像的默認(rèn)彩色模式,R、G、B分別代表紅、綠、藍(lán)三種顏色。HSV模式中H代表色調(diào),S代表飽和度,V代表圖像純度。
2)特征值提?。簭腍SV模式的圖像中提取飽和度分量S,其計(jì)算如式(3)所示;計(jì)算飽和度分量S的均值M和方差V,將M和V作為圖像的特征值,組合成代表圖像特征的數(shù)據(jù)點(diǎn)[M,V],所有代表圖像特征的點(diǎn)構(gòu)成一個(gè)數(shù)據(jù)集I,如式(4)所示,其中n為數(shù)據(jù)集中圖像總數(shù)。
3)聚類:從圖像數(shù)據(jù)集I中隨機(jī)選取兩個(gè)數(shù)據(jù)點(diǎn)u1,u2作為初始聚類中心,計(jì)算數(shù)據(jù)集中各個(gè)數(shù)據(jù)點(diǎn)與兩個(gè)初始聚類中心的馬氏距離,如式(5)所示。其中,x為數(shù)據(jù)集I中的任一數(shù)據(jù)點(diǎn),ui(i=1,2)表示聚類中心,V為數(shù)據(jù)集I中所有樣本點(diǎn)的協(xié)方差矩陣。
將各個(gè)數(shù)據(jù)點(diǎn)劃分到離它距離最近的聚類中心所代表的類中,計(jì)算各類中包含數(shù)據(jù)點(diǎn)的均值ui
′(i=1,2);計(jì)算各類中樣本均值 ui′(i=1,2)與初始聚類中心ui(i=1,2)的距離Δ,Δ的計(jì)算如式(6)所示。若Δ小于規(guī)定的閾值ε,則輸出聚類結(jié)果,否則,將樣本均值ui′(i=1,2)作為新的聚類中心,重新對(duì)數(shù)據(jù)集中所有數(shù)據(jù)點(diǎn)進(jìn)行聚類。
霧霾天氣的識(shí)別流程如圖2所示。
圖2 霧霾天氣識(shí)別流程
為驗(yàn)證本文自動(dòng)識(shí)別霧霾天氣算法的有效性,使 用 Intel(R) Core(TM) i5-6300HQ CPU@2.30GHz,8GB內(nèi)存的機(jī)器,在Matlab2014a平臺(tái)下編程設(shè)計(jì)實(shí)現(xiàn)了本文提出的算法。
實(shí)驗(yàn)分為訓(xùn)練過(guò)程和測(cè)試過(guò)程兩部分。訓(xùn)練圖像集由哥倫比亞大學(xué)開(kāi)放的圖像數(shù)據(jù)庫(kù)WILD中部分圖像以及本文實(shí)驗(yàn)前期采集圖像組成,其中晴天、霧霾天圖像各400張。測(cè)試圖像集由本文實(shí)驗(yàn)后期采集圖像組成,其中晴天、霧霾天圖像各100張。整個(gè)圖像集中部分晴天圖像如圖3所示,部分霧霾天圖像如圖4所示。
圖3 圖像集中部分晴天圖像
圖4 圖像集中部分霧天圖像
實(shí)驗(yàn)訓(xùn)練過(guò)程中,首先提取訓(xùn)練圖像集中所有圖像的飽和度,計(jì)算飽和度的均值M和方差V,組成訓(xùn)練數(shù)據(jù)集I,訓(xùn)練前的數(shù)據(jù)點(diǎn)如圖5(a)所示。接著按照3.2節(jié)中霧霾天氣識(shí)別步驟3)對(duì)訓(xùn)練數(shù)據(jù)點(diǎn)進(jìn)行聚類,聚類后的訓(xùn)練數(shù)據(jù)點(diǎn)如圖5(b)所示。訓(xùn)練后得到兩個(gè)聚類中心,分別為centerA=[0.3892,0.0600]和center B=[0.1102,0.0157],其中飽和度均值較大的A類數(shù)據(jù)點(diǎn)代表晴天圖像,飽和度均值較小的B類數(shù)據(jù)點(diǎn)代表霧霾天圖像。
圖5 聚類前后的訓(xùn)練數(shù)據(jù)點(diǎn)
圖6 聚類前后的測(cè)試數(shù)據(jù)點(diǎn)
得到了代表兩類圖像的聚類中心centerA和center B后,提取測(cè)試圖像集中所有圖像的飽和度,計(jì)算其均值M和方差V,形成測(cè)試數(shù)據(jù)集O。聚類前的測(cè)試數(shù)據(jù)集如圖6(a)所示。接著計(jì)算測(cè)試數(shù)據(jù)集中所有測(cè)試數(shù)據(jù)點(diǎn)與兩個(gè)聚類中心centerA和center B的馬氏距離,將測(cè)試數(shù)據(jù)點(diǎn)劃分到與之距離較小的聚類中心代表的類中,聚類后的測(cè)試數(shù)據(jù)點(diǎn)如圖6(b)所示。
測(cè)試過(guò)程結(jié)束后,經(jīng)統(tǒng)計(jì)被劃分為霧霾天的測(cè)試圖像數(shù)量為95張,其中被正確識(shí)別的霧霾天氣圖像有92張,識(shí)別正確率將近97%,如式(7)所示。
文獻(xiàn)[7]中采用傳統(tǒng)K均值聚類算法識(shí)別霧天的正確率為90%,經(jīng)比較可以看出,本文識(shí)別霧霾天氣的正確率顯著提高,驗(yàn)證了本文算法的有效性。
本文提出了一種基于K均值聚類算法的霧霾天氣自動(dòng)識(shí)別方法,該方法計(jì)算簡(jiǎn)便快速,適用于處理大規(guī)模數(shù)據(jù),實(shí)驗(yàn)證明該方法的識(shí)別正確率高于采用傳統(tǒng)K均值聚類算法識(shí)別霧霾天氣的正確率,識(shí)別效果較好。