張振軍
(青海漢圖測繪科技有限公司,青海西寧 810001)
無人機測繪綜合了無人飛行器、遙感傳感器、通信和圖像處理等多種技術(shù),以實時獲取目標(biāo)區(qū)域信息、快速進(jìn)行數(shù)據(jù)處理和繪圖為主要目的[1]。這種方法運行成本低、風(fēng)險小,且數(shù)據(jù)采集周期相對較短,已被廣泛應(yīng)用于相關(guān)領(lǐng)域。無人機測繪生成的飛行數(shù)據(jù)具有快速、實時等特點[2]。采用此技術(shù)獲取的單維特征流數(shù)據(jù)主要反映被測系統(tǒng)的某一狀態(tài)信息,然而多維數(shù)據(jù)庫中異常數(shù)據(jù)是各維度信息綜合作用的結(jié)果,能夠反映無人機(unmanned aerial vehicle,UAV)的實際情況,具有更高的參考價值[3]。
目前,基于無人機測繪的異常檢測算法已經(jīng)被廣泛應(yīng)用,但大多算法不能滿足無人機測繪的實時檢測需求。為此,本文提出一種基于數(shù)據(jù)篩選的無人機測繪數(shù)據(jù)異常檢測方法。實驗結(jié)果表明:與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)方法相比,該方法降低了檢測的漏檢率與誤檢率,并縮短了檢測時間。該檢測方法能夠滿足無人機測繪中的異常數(shù)據(jù)檢測需求,可實際應(yīng)用到異常數(shù)據(jù)檢測中。
在異常數(shù)據(jù)檢測過程中,須預(yù)先對無人機測繪過程中產(chǎn)生的相關(guān)數(shù)據(jù)進(jìn)行挖掘。與其他數(shù)據(jù)挖掘技術(shù)相比,支持向量機是一種監(jiān)督式的數(shù)據(jù)挖掘方法,其對樣本的依賴性較小,對小樣本、高維數(shù)據(jù)等分類具有較好的應(yīng)用效果[4]。為此,本文將支持向量機應(yīng)用到無人機測繪數(shù)據(jù)挖掘中。支持向量機技術(shù)[5]建立了一個最優(yōu)分界面,通過該界面能夠?qū)⒋诰驍?shù)據(jù)劃分為二類,其表達(dá)式為
式中:ωt代表非線性參數(shù);x代表核函數(shù);b代表分類參數(shù)。
利用式(1)將原始無人機測繪數(shù)據(jù)分為正常數(shù)據(jù)和異常數(shù)據(jù)兩大類,并將數(shù)據(jù)訓(xùn)練成樣本集進(jìn)行學(xué)習(xí),為異常數(shù)據(jù)挖掘提供基礎(chǔ)。
在上述數(shù)據(jù)分類的基礎(chǔ)上,對無人機測繪過程中產(chǎn)生的數(shù)據(jù)流進(jìn)行預(yù)處理。即對無人機測繪異常數(shù)據(jù)進(jìn)行數(shù)據(jù)流分塊、豎向規(guī)范化處理與時間切片處理,便于對無人機測繪數(shù)據(jù)潛在規(guī)律的分析。
1)數(shù)據(jù)流分塊。由于無人機測繪過程中產(chǎn)生的數(shù)據(jù)流可看作是一系列無限的點[6],其存儲相對較難,為此將其劃分為數(shù)據(jù)塊的形式。將數(shù)據(jù)塊的大小定義為n,將數(shù)據(jù)塊劃分為若干類,并對其進(jìn)行標(biāo)準(zhǔn)化處理。
2)豎向規(guī)范化處理。由于采集的數(shù)據(jù)存在屬性差異,導(dǎo)致其屬性難以得到合理的調(diào)配。為降低數(shù)據(jù)屬性對數(shù)據(jù)檢測的影響,本文引入了屬性規(guī)范化的概念[7],其表述為
式中:aij代表采集的數(shù)據(jù)集中某一個數(shù)據(jù)的特征值;aj代表數(shù)據(jù)第j維屬性的集合;max(aj)、min(aj)分別代表采集的數(shù)據(jù)集中數(shù)據(jù)的最大值和最小值。
因無人機測繪包含參數(shù)較多,單一的標(biāo)準(zhǔn)化處理是不能滿足要求,因此對數(shù)據(jù)進(jìn)行尺度變換[8?9],其表達(dá)式為
式中:yi代表數(shù)據(jù)采集時間序列數(shù)據(jù)的信號參數(shù);Yˉ代表采集信號的平均值;S代表采集信息的標(biāo)準(zhǔn)差。
3)時間切片處理。對時間序列數(shù)據(jù)進(jìn)行切片處理,將原始數(shù)據(jù)創(chuàng)建為固定大小的段[10?11],劃分為等間隔的時間序列片段,即
式中:S代表數(shù)據(jù)切片處理后所得的數(shù)據(jù)集合;sj代表第j個處理的數(shù)據(jù)段;Nˉ代表數(shù)據(jù)總量;N代表片段的總數(shù)。
在上述預(yù)處理后,對數(shù)據(jù)潛在規(guī)律進(jìn)行分析。此部分采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分析處理。該方法的局部特征提取能力較強,能夠降低網(wǎng)絡(luò)的計算復(fù)雜度[12?13]。其挖掘過程如下。
步驟1,設(shè)置輸入層。輸入層是整個網(wǎng)絡(luò)的起始端[14],是整個網(wǎng)絡(luò)的輸入部分,能夠?qū)σ痪S數(shù)據(jù)或者二維數(shù)據(jù)進(jìn)行挖掘。
步驟2,建立激勵層函數(shù)。該函數(shù)主要對網(wǎng)絡(luò)層的輸入與輸出關(guān)系進(jìn)行描述,其表達(dá)為
步驟3,建立池化層。通過該環(huán)節(jié)將數(shù)據(jù)進(jìn)行壓縮,利用池化窗口生成的值生成周圍區(qū)域的統(tǒng)計量。
步驟4,建立全連接層。該層主要在計算過程中提供輸送信號的功能,將數(shù)據(jù)的特征值進(jìn)行連接,并連接成一個長向量。
步驟5,反向傳播。該層主要以最小化函數(shù)為目標(biāo)[15],以最小代價分析所有數(shù)據(jù)點,其表達(dá)式為
式中:yj代表第j個數(shù)據(jù)的輸出值;Sj代表數(shù)據(jù)概率;T代表總的數(shù)據(jù)類別數(shù)量。
通過上述計算能夠獲取所有數(shù)據(jù)的潛在規(guī)律,在此基礎(chǔ)上,對異常數(shù)據(jù)進(jìn)行分類處理。在無人機測繪過程中,較多因素都會引起異常,從而產(chǎn)生異常數(shù)據(jù)[16]。為此,對異常數(shù)據(jù)進(jìn)行分類。數(shù)據(jù)基礎(chǔ)分類如圖1所示。
由圖1可以看出,由于無人飛行器內(nèi)有較多傳感器,因此產(chǎn)生異常數(shù)據(jù)的因素較多,不僅能產(chǎn)生異常數(shù)據(jù),而且需要及時發(fā)現(xiàn)異常數(shù)據(jù)。為提高檢測效率,對所生成數(shù)據(jù)進(jìn)行聚類,本文采用無監(jiān)督聚類算法。當(dāng)數(shù)據(jù)流到達(dá)時,該算法能及時更新,并對數(shù)據(jù)進(jìn)行實時聚類。對數(shù)據(jù)進(jìn)行相似性分類,將相似的分類成數(shù)據(jù)簇[17]。在實際計算過程中,主要包括2個步驟:首先測量數(shù)據(jù)與數(shù)據(jù)之間相似性,然后利用準(zhǔn)則函數(shù)對結(jié)果進(jìn)行聚類分類[18]。該算法的計算流程如圖2所示。
圖1 異常數(shù)據(jù)基礎(chǔ)分類
圖2 無監(jiān)督聚類算法流程圖
其中,準(zhǔn)則函數(shù)的計算非常重要,具體定義為
式中:E代表所有數(shù)據(jù)集中包含的對象的均方差之和;x代 表數(shù)據(jù)點;mj為聚類中j指標(biāo)的均值;nj代表數(shù)據(jù)的多維性特征。
在上述數(shù)據(jù)處理的基礎(chǔ)上,對異常數(shù)據(jù)檢測,具體步驟如下。
步驟1,由于無人飛行器測繪所產(chǎn)生的數(shù)據(jù)是飛行數(shù)據(jù),即時間序列數(shù)據(jù),因此需要對以上聚類后的數(shù)據(jù)進(jìn)行劃分,并將其劃分為時間序列數(shù)據(jù),從而得到各時間序列變化情況,并將變化情況插入時間序列數(shù)據(jù)中,形成相應(yīng)編碼數(shù)。
步驟2,生成數(shù)據(jù)存儲在模式庫中。該模式庫將特定的生成模式與自體發(fā)生相匹配,并將其視為合成檢測器[19]。
步驟3,計算庫中所有對象可達(dá)距離的平均值,將其表示為
式中:mean代表數(shù)據(jù)平均值函數(shù);Rk代表可達(dá)距離。
步驟4,在上述計算完成后,利用滑動窗口對得到的數(shù)據(jù)流進(jìn)行處理,得到當(dāng)前滑動窗口數(shù)據(jù)集,選取簇心因子,其表達(dá)式為
式中:δ(p)代表所有數(shù)據(jù)點中p數(shù)據(jù)的相異度;ρ(p)代表所有數(shù)據(jù)點中p的簇心程度參數(shù)。
步驟5,為提高數(shù)據(jù)集的時序建模能力,采用頻繁項挖掘方法對數(shù)據(jù)樣本進(jìn)行支持概率計算,具體表達(dá)式為
步驟6,建立異常判斷準(zhǔn)則。為準(zhǔn)確判斷異常點,需要依據(jù)判斷準(zhǔn)則進(jìn)行劃分。傳統(tǒng)判斷準(zhǔn)則局限性較大,當(dāng)檢測數(shù)據(jù)集發(fā)生改變后,會對檢測結(jié)果產(chǎn)生較大影響[20],為此,本文依據(jù)最大斜率的判斷準(zhǔn)則進(jìn)行分析。最大斜率的計算公式為
式中:o代 表排序因子;v代表連線斜率的絕對值;g代 表劃分參數(shù);b代 表數(shù)據(jù)點與數(shù)據(jù)點之間的標(biāo)準(zhǔn)差。通過最大斜率判斷準(zhǔn)則能夠避免人為劃分帶來的影響,能夠更好地適應(yīng)動態(tài)變化的數(shù)據(jù)流。
步驟7,根據(jù)獲得的簇心因子對數(shù)據(jù)進(jìn)行聚類分析,并根據(jù)判斷標(biāo)準(zhǔn)對異常數(shù)據(jù)進(jìn)行分塊處理,從而檢測當(dāng)前串口中是否存在異常因子。其表達(dá)式為
式中:Vc(p)代表p到簇心的距離;H(p)代表數(shù)據(jù)在p時的異常因子;L(p)代表數(shù)據(jù)點的距離之和。
步驟8,篩選異常數(shù)據(jù)。該部分是異常數(shù)據(jù)檢測的最后一部分,也是檢測實現(xiàn)的最關(guān)鍵步驟。主要對上述計算得到的異常數(shù)據(jù)點篩選,提升異常數(shù)據(jù)檢測的精度。在判斷上,采用重疊累加值方法,能夠?qū)?shù)據(jù)點之間的累計值間的差異進(jìn)行分析,其表達(dá)式為
式中:m代 表預(yù)估計值;Lj代表第j個數(shù)據(jù)點的屬性差值。
基于上述檢測,對所獲得的無人機測繪數(shù)據(jù)中的異常數(shù)據(jù)點進(jìn)行篩選,以此完成異常數(shù)據(jù)檢測,流程如圖3所示。
圖3 異常數(shù)據(jù)檢測流程圖
本文通過實驗來驗證該方法是否符合設(shè)計要求。同時,為檢驗該方法的應(yīng)用效果,將該方法與傳統(tǒng)基于卷積神經(jīng)網(wǎng)絡(luò)的異常數(shù)據(jù)檢測方法進(jìn)行了比較。
實驗在Windows7操作系統(tǒng)下進(jìn)行,選用 Intel(R) Core (TM)i5 M 520作為 CPU,其內(nèi)存頻率較快,可以達(dá)到2.4 GHz,內(nèi)存8 GB。所用實驗數(shù)據(jù)集通過高斯分布獲取,這些數(shù)據(jù)集共有1600個數(shù)據(jù)點,其中包含1500個正常數(shù)據(jù)點,100個異常數(shù)據(jù)點。
采用誤檢率、漏檢率作為異常檢測的評價指標(biāo),其定義為:
式中:FP代表異常數(shù)據(jù)未被檢測到的數(shù)量;FN代表異常數(shù)據(jù)被檢測為正常數(shù)據(jù)的數(shù)量;TN 代表檢測到的異常數(shù)據(jù)數(shù)量;TP表示異常數(shù)據(jù)正確檢測的數(shù)量。
異常檢測的實時性也是對比檢測方法性能的一個重要指標(biāo)。它是指不同算法對同一實驗數(shù)據(jù)進(jìn)行異常檢測所花費的時間,計算公式為
式中:Si代表第i個數(shù)據(jù)的計算效率;tn代表完成數(shù)據(jù)計算的運行時間。
對比卷積神經(jīng)網(wǎng)絡(luò)方法與本文方法的誤檢率,其結(jié)果如表1所示。由表可知,本文的異常數(shù)據(jù)檢測方法的誤檢率相比卷積神經(jīng)網(wǎng)絡(luò)方法,平均降低了約11%。本文方法誤檢率低是由于本文方法在數(shù)據(jù)流上進(jìn)行了分塊和分類處理,并對處理后的數(shù)據(jù)進(jìn)行了綜合聚類分析。常規(guī)檢測方法受數(shù)據(jù)集干擾的影響較大,有些異常數(shù)據(jù)點在正常數(shù)據(jù)波動范圍外,導(dǎo)致其誤檢率較高。
表1 誤檢率對比 %
對比卷積神經(jīng)網(wǎng)絡(luò)方法和本文方法的漏檢率,其結(jié)果如表2所示。由表可知,本文方法的漏檢率相比卷積神經(jīng)網(wǎng)絡(luò)方法的平均降低了約8.1%。常規(guī)卷積神經(jīng)網(wǎng)絡(luò)方法檢測漏檢率高的原因在于異常數(shù)據(jù)的幅度不在正確的數(shù)據(jù)范圍之內(nèi),且往往以片斷形式出現(xiàn),用常規(guī)方法進(jìn)行標(biāo)記時,存在較大的漏檢風(fēng)險。本文的異常數(shù)據(jù)檢測方法是通過詳細(xì)的檢測流程實現(xiàn)對異常樣本的有效檢測,從而降低了漏檢現(xiàn)象。
表2 漏檢率對比 %
最后,對比卷積神經(jīng)網(wǎng)絡(luò)方法與本文方法的檢測時間,其結(jié)果如表3所示??梢钥闯?,卷積神經(jīng)網(wǎng)絡(luò)方法在多個實驗中所需檢測時間均高于本文方法,最多相差16 min。本文方法的整體檢測時間平均縮短了11.3 min左右。本文的異常數(shù)據(jù)檢測方法不僅可以降低誤檢率和漏檢率,而且可以提高檢測的實時性。
表3 異常數(shù)據(jù)檢測時間對比 min
本文對無人機測繪過程中的異常數(shù)據(jù)檢測方法進(jìn)行了設(shè)計,并通過實驗對該方法進(jìn)行了驗證。該方法可為相關(guān)測繪領(lǐng)域的異常數(shù)據(jù)檢測提供實用的解決方案。盡管本次研究取得了一定成果,但無人機測繪的數(shù)據(jù)范圍比較廣泛,在未來工作中可強化分析數(shù)據(jù)與數(shù)據(jù)之間的關(guān)聯(lián)特征,選擇融合不同的檢測方法,從而實現(xiàn)多種異常檢測方法的優(yōu)勢互補。