(武漢市江夏區(qū)藏龍北路1號 武漢 430205)
目標關鍵信息的獲取是進行后續(xù)目標識別的重要步驟,而目標活動規(guī)律的分析在目標信息獲取中占有關鍵的地位,對目標航跡的提取、處理、分析可以使我們有效把握目標的行進方向與意圖。傳統(tǒng)的目標活動分析采用對目標利用相關傳統(tǒng)算法進行計算,推理,很難通過單獨利用這些信息對目標進行預測,識別等操作,隨著大數(shù)據(jù)行業(yè)的興起,利用大樣本推算同類樣本的趨勢成為一個廣泛的研究方向,并且在各行各業(yè)取得了較好的效果,本文采用傳統(tǒng)與大數(shù)據(jù)相結(jié)合的思想,對目標的航跡規(guī)律從不同的維度進行擬合、分類分析,然后又闡述了一種基于深度學習與大數(shù)據(jù)結(jié)合的目標航跡預測方法。通過大數(shù)據(jù)的應用,使我們能從目標的既往航跡樣本中分析找出該目標的活動規(guī)律,對目標的航跡做出合理預測。
2.1.1 RANSAC算法及改進
RANSAC算法全稱Random Sample Consensus(隨機抽樣一致)算法,該算法可以從一組包含“局外點”的觀測數(shù)據(jù)集中,通過迭代方式估計數(shù)學模型的參數(shù),去除數(shù)據(jù)集中的“局外點”(噪聲點),而留在其中的局內(nèi)點則是符合模型的最佳點的集合。RANSAC算法因為簡單可行,以及對噪聲點魯棒性強的特點受到廣泛的應用。該算法的步驟如下:
1)在數(shù)據(jù)集C中隨機選取幾個點設為局內(nèi)點集S;
2)設置合適的數(shù)據(jù)模型M;
3)把其他點加入到模型中,根據(jù)閾值T判斷其是否屬于局內(nèi)點集,屬于則加入局內(nèi)點集;
4)記錄下局內(nèi)點集數(shù)量;
5)對步驟1)~4)進行N次重復迭代,則生成N個模型i(1,2,3,…,n),判斷這N個模型中局內(nèi)點數(shù)量最多的模型則為最優(yōu)模型。
該模型能夠有效去除數(shù)據(jù)集中的噪聲點,但是該算法在數(shù)據(jù)點選取上的隨機性使得該算法樣本之間的距離可能很小,從而使數(shù)據(jù)不具備代表性,進而影響精度。改進的RANSAC算法首先對拋物線進行分段,分成N段數(shù)據(jù)集,在對每段數(shù)據(jù)集利用RANSAC算法進行采樣時,同樣對每段數(shù)據(jù)集分成數(shù)段,對每段數(shù)據(jù)進行隨機采樣,從而形成最終的數(shù)據(jù)集隨機樣本數(shù)據(jù),這樣可以有效避免樣本數(shù)據(jù)的集中,提高算法精度。
2.1.2 拋物線擬合算法
由最小二乘法的原理可知,最小二乘法是從全局求得最優(yōu)解,以此獲取對全局最優(yōu)的二次曲線,沒有有效考慮噪聲點的影響,本文采用最小二乘法與RANSAC相結(jié)合的方式來對目標數(shù)據(jù)進行拋物線擬合,以此達到更好的擬合效果。
具體步驟如下:
1)獲取點數(shù)據(jù)集(y1,y2,y3…yn),其對應的時間數(shù)據(jù)為(x1,x2,x3…xn),對數(shù)據(jù)以時間集為x軸平均分為3個數(shù)據(jù)集Y1=(y1,y2,y3…yt1),Y2=(y1,y2,y3…yt2),Y3=(y1,y2,y3…yt3)。這樣可以避免算法在某一塊重復選點造成效率降低。
2)設置迭代次數(shù)K,對每個數(shù)據(jù)集用改進的RANSAC算法進行k次迭代。使迭代獲取的數(shù)據(jù)集中的最大數(shù)據(jù)集的數(shù)據(jù)個數(shù)Y'≥0.8*Yi(1≤i≤3)時迭代才能結(jié)束,這樣可以有效保證模型結(jié)果的正確性。
3)若采用步驟2)不能得到正確的數(shù)據(jù)集,則采用原有的數(shù)據(jù)集。
4)根據(jù)上述步驟得到迭代計算后的高度數(shù)據(jù)集 H=(y1,y2,y3…ym)。
5)對新的數(shù)據(jù)集H重新利用最小二乘法進行曲線擬合。
此算法結(jié)合了RANSAC與最小二乘法的優(yōu)點,可以獲得更好的拋物線擬合效果。
隨著大數(shù)據(jù)技術的發(fā)展與應用,大數(shù)據(jù)預測與分析技術正在逐漸成熟,本文采用適用于大數(shù)據(jù)的聚類k-means算法與曲線相似度相結(jié)合的方法對相關類型的數(shù)據(jù)進行分類分析。
2.2.1 曲線相似度
首先我們設定兩條曲線 S1=(x1,x2,x3…xm),S2=(y1,y2,y3…yn)的距離為
由此我們可知兩條曲線的距離是兩條曲線對應點距離的最大值,該值越小,則表明這兩條曲線越是相似。
設定一個曲線類集合C=(S1,S2,S3,...Sm),其中Si=(yi1,yi2,...yin)代表集合中的一條曲線,曲線類C的相似度記為
當引入一條新的曲線后,曲線集合C則變成C′,對應的類相似度重新計算變?yōu)镈′,我們需要判斷D′是否大于D。
為了分析曲線分類的質(zhì)量,我們設定曲線類質(zhì)心 ,假 如 曲 線 集 合C=(S1,S2,S3,...Sm) ,其 中Si=(yi1,yi2,...yin),設置曲線類的質(zhì)心為
標準差是反映一組離散數(shù)據(jù)離散程度最常用的量化形式,設有曲線類C=(S1,S2,S3,...Sm),其中Si=(yi1,yi2,...yin),其質(zhì)心,則該曲線在x時刻的標準差為
其中σn越大,則該類集合曲線的差異性越大,其質(zhì)心的效果也越差,反之該值越小,則集合的差異性越小。
對于曲線集合C=(S1,S2,S3,...Sm)基于曲線相似度的曲線自動分類方法步驟如下:
1)設定曲線的相似度閾值為T;
2)計算曲線集合中每條曲線之間的距離,選取距離最大的兩條曲線中的一條記為S;
3)設置曲線類C1,把曲線S歸入到曲線類C1,設置C=C-C1;
4)在集合C中計算每條曲線到C1的距離,得到最小距離所對應的曲線記為A,記曲線類C1M=C1+A;
5)計算類C1M的相似度D(C1);
6)若D(C1)>T,則跳轉(zhuǎn)到第2)步開始執(zhí)行,否則把曲線A歸入到曲線類C1,記C1=C1+A,C=C-C1,然后跳轉(zhuǎn)到第5)繼續(xù)執(zhí)行;
7)當數(shù)據(jù)集C中沒有數(shù)據(jù)時停止計算。
2.2.2 k-means聚類算法
聚類是指將數(shù)據(jù)集中在某些方面相似的數(shù)據(jù)成員進行分類組織的過程,聚類就是一種發(fā)現(xiàn)這種內(nèi)在結(jié)構(gòu)的技術,聚類技術經(jīng)常被稱為無監(jiān)督學習。
k-means聚類算法也被稱為K均值聚類算法,是一種比較常見的聚類分析方法,其是一種迭代求解的聚類分析方法。具體步驟如下。
1)隨機選取K個點作為聚類中心,形成K個數(shù)據(jù)聚類;
2)計算每個點到這K個聚類中心的聚類,選取最近的聚類加入;
3)重新計算每個聚類的質(zhì)心;
4)重復迭代直到聚類質(zhì)心不在變化或達到設定的迭代次數(shù)。
2.2.3 基于曲線相似度與k-means算法的其他維度曲線分類方法
曲線自動分類算法可以有效地對數(shù)據(jù)進行分類,其缺點是每增加一個數(shù)據(jù),都要重新對曲線進行分類,這樣雖然可以達到很好的分類效果,但是在后期如果數(shù)據(jù)量巨大的情況下,則需要進行多次重復計算,耗費大量計算工作,不適用于數(shù)據(jù)量巨大的數(shù)據(jù)分類。我們采用曲線自動分類與K聚類相結(jié)合的思想對大批量曲線數(shù)據(jù)進行分類。
該方法采用聚類思想,利用曲線的相似度概念對曲線進行分類分析,具體步驟如下:
1)獲取樣本數(shù)據(jù)(數(shù)據(jù)量越大,越能有較好的分類效果);
2)對樣本數(shù)據(jù)利用曲線自動分類方法分成K類,獲取K個聚類,進而確定了K值;
3)對后續(xù)非樣本數(shù)據(jù)采用k-means算法使其歸屬到具體的某個類別中。
該算法結(jié)合了曲線自動分類與k-means聚類的思想,繼承了它們的優(yōu)點,使得確定的分類種類良好,而且對后續(xù)加入的數(shù)據(jù)也能進行自動歸類,省去重復計算的時間。
目標活動規(guī)律建模方法如下:
1)根據(jù)目標的類型對目標分成不同的類別;
2)對每類目標的數(shù)據(jù)進行分類管理;
3)對目標活動規(guī)律提取相對高度,相對距離,相對速度,相對方位等特征數(shù)據(jù);
4)對特征比較類似拋物線的曲線數(shù)據(jù)可以采用拋物線擬合的方式規(guī)律分析,對于其他類型的數(shù)據(jù)利用k-means與曲線相似度相結(jié)合的方式進行特征數(shù)據(jù)的分類;
5)得到目標各維度數(shù)據(jù)的分類結(jié)果;
6)依據(jù)分類結(jié)果對每類數(shù)據(jù)進行分類管理;
7)對于后續(xù)加入數(shù)據(jù),依據(jù)上述分類算法進行類別歸屬的判別。
起降數(shù)據(jù)分類建模流程圖如圖1所示。
圖1 起降數(shù)據(jù)分類建模圖
3.1.1 RNN神經(jīng)網(wǎng)絡
RNN神經(jīng)網(wǎng)絡,即循環(huán)神經(jīng)網(wǎng)絡,是對DNN神經(jīng)網(wǎng)絡改進的一種神經(jīng)網(wǎng)絡計算模型,其有輸入層、隱藏層、輸出層三層組成,RNN每個時刻隱藏層的輸出都會把當前隱藏層的內(nèi)容傳遞給下一時刻,因此每個時刻的網(wǎng)絡都會保留一定的來自之前時刻的歷史信息,因此該網(wǎng)絡模型可以存儲一定時刻的歷史信息,使其具有一定的記憶能力,在RNN中,神經(jīng)元的輸出可以在下一個時間段直接作用到自身,即當前層神經(jīng)元在當前時刻的輸入,除了上層神經(jīng)元在該時刻的輸出外,還包括其自身在上一時刻的輸出,但是RNN模型也有明顯的缺點,就是可能會引起梯度消失或梯度爆炸現(xiàn)象。
3.1.2 LSTM神經(jīng)網(wǎng)絡
LSTM全稱長短期記憶人工神經(jīng)網(wǎng)絡(Long-Short Term Memory),是對RNN的變種,傳統(tǒng)RNN對短期輸入很敏感,LSTM在其中加入一個單元狀態(tài)來記憶較長時間內(nèi)的信息。這種基于單元狀態(tài)的信息傳遞方式可有效克服傳統(tǒng)RNN的上述缺點,對RNN模型起到了完善作用。
LTSM模型通過引入遺忘門,輸入門與輸出門來保存與記憶信息。這些門可以打開或關閉,用于判斷模型網(wǎng)絡的記憶態(tài)在該層輸出的結(jié)果是否達到閾值從而加入到當前該層的計算中,這些門的引入使得我們可以靈活地控制與管理對于歷史信息的運用。
遺忘門,其計算公式如下:
其中Wf是遺忘門的權(quán)重矩陣,[pt-1,xt]表示把兩個向量鏈接成一個更長的向量,bf為遺忘門的偏置量,σ為sigmoid函數(shù)。
輸入門,公式如下:
根據(jù)上次的輸出與本次的輸入可以更新當前單元的輸入狀態(tài)mt:
根據(jù) ft,it,mt可以對當前時刻 nt進行更新,計算如下:
輸出門確定我們當前的輸出值pt,計算如下:
利用上述LTSM算法的特征,結(jié)合大批量歷史數(shù)據(jù)及目標的多維度特征可以對目標在一定時間內(nèi)的目標軌跡進行行為預測。在LTSM的基礎上,提出基于大批量數(shù)據(jù)的目標活動規(guī)律預測算法,具體預測算法步驟如下。
1)獲取目標的多維度特征
為了對目標的活動軌跡進行預測,需要首先建立目標活動規(guī)律數(shù)據(jù)庫,存儲該目標的相對速度,相對距離,相對水平x方向、水平y(tǒng)方向,垂直方向等特征,把這些特征數(shù)據(jù)作為多維度樣本進行輸入。
2)數(shù)據(jù)預處理及歸一化
我們拿到的上述多維度數(shù)據(jù)都是沒有進行處理的,所以首先需要對這些數(shù)據(jù)進行處理,例如空值補充等,預處理后需要對數(shù)據(jù)進行歸一化,由于神經(jīng)網(wǎng)絡激活函數(shù)的限制,需要將數(shù)據(jù)進行數(shù)據(jù)映射等處理。
3)模型的建立
模型的建立在軌跡預測中起到核心作用,根據(jù)LTSM模型,把上述特征輸入該模型中,設置時間窗口,激活函數(shù),利用TensorFlow框架對模型進行快速搭建。
4)模型的訓練
根據(jù)建立的模型,輸入訓練樣本數(shù)據(jù)對該模型進行訓練,然后用準備的測試數(shù)據(jù)對模型進行評價,最終訓練出具有良好效果的網(wǎng)絡模型。
5)軌跡預測
根據(jù)訓練好的模型,利用數(shù)據(jù)對目標的特征進行預測與分析。
圖2 軌跡預測流程圖
圖3為通過上述模型對若干目標進行預測與實際結(jié)果的對比圖。
圖3 預測與實際結(jié)果對比圖
本文針對目標的活動規(guī)律分析,主要進行了兩個方面的研討,首先針對目標活動規(guī)律數(shù)據(jù)的曲線的不同類型介紹了拋物線擬合分類算法及基于曲線相似度與大數(shù)據(jù)k-means均值聚類算法結(jié)合的曲線分類算法,這些算法可以有效地對目標的不同維度的活動數(shù)據(jù)進行分析。然后本文介紹了一種依托大數(shù)據(jù),基于LTSM的目標活動軌跡預測算法,根據(jù)該算法模型能夠有效對目標的活動規(guī)律行為進行預測與分析。