王 帥, 向建軍, 彭 芳, 唐書娟
(空軍工程大學(xué)航空工程學(xué)院, 陜西 西安 710038)
跟蹤的主要任務(wù)是實現(xiàn)對運動目標(biāo)狀態(tài)的連續(xù)估計。在軍用和民用領(lǐng)域目標(biāo)跟蹤都有著重要的應(yīng)用。常用的目標(biāo)跟蹤方法有Kalman濾波、交互多模型(interacting multiple model, IMM)濾波、多項式擬合等。
Kalman跟蹤算法利用雷達(dá)來捕獲運動目標(biāo)測量數(shù)據(jù),利用這些數(shù)據(jù)來估計運動目標(biāo)的位置、速度、加速度等參數(shù),實現(xiàn)對動目標(biāo)的自動跟蹤。但是Kalman算法仍然具有很多局限性,例如:受非線性誤差影響大、要求非線性函數(shù)必須可導(dǎo)、要求系統(tǒng)是平穩(wěn)隨機過程等。同時模型具有單一性和不完整性。對此又研究出了許多改進(jìn)模型,其中Blom等人提出了適用范圍廣的IMM跟蹤算法。
IMM濾波算法是一種自適應(yīng)濾波算法,它在跟蹤中使用多種模型來描述不同的運動狀態(tài),通過有效的系統(tǒng)加權(quán)進(jìn)行融合,在運動狀態(tài)不固定的情況下也適用。多種模型中采用較多的是勻速直線運動(constant velocity, CV)模型、勻加速直線運動(constant acceleration, CA)模型、勻速圓周運動(constant turn, CT)模型、當(dāng)前統(tǒng)計(current statistical, CS)模型等。IMM雖然具有應(yīng)用范圍廣的優(yōu)勢,但是其仍然存在運算量大、計算復(fù)雜、機動情況下模型切換延遲的缺點。
對此本文提出一種新最速下降法的目標(biāo)跟蹤算法,該算法首先提出了一種運動模型,該模型屬于一種改進(jìn)的多項式擬合模型,多項式擬合具有易實現(xiàn)、計算簡單和適用范圍廣的優(yōu)點。接下來該算法采用一種新最速下降法來求解運動模型的最優(yōu)參數(shù),通過實時的最優(yōu)運動模型對運動目標(biāo)的航跡進(jìn)行預(yù)測跟蹤。實質(zhì)上是用一種新最速下降法來求解多項式的參數(shù),利用多項式來擬合目標(biāo)的運動軌跡,達(dá)到跟蹤預(yù)測的目的。經(jīng)仿真驗證,該算法具有易于工程實現(xiàn)、計算量小、適用范圍廣、計算精度高等優(yōu)點。
IMM是Blom在基于偽貝葉斯方法的基礎(chǔ)上提出的,具有里程碑式的意義。該模型是一種基于狀態(tài)估計的運動模型集合,集合中包含了多種運動模型,每個運動模型都具有其相應(yīng)的濾波模型和概率,此概率稱為轉(zhuǎn)移概率,通過馬爾可夫矩陣的方式完成模型之間的相互轉(zhuǎn)換。
IMM主要包括4部分:輸入交互、Kalman濾波預(yù)測、更新模型概率、交互輸出。其算法流程如圖1所示。
圖1 IMM算法流程圖Fig.1 Flow chart of IMM algorithm
本文提出基于一種新最速下降法的自適應(yīng)目標(biāo)跟蹤算法。首先是建立運動的描述模型,再建立運動模型與實際運動之間的誤差函數(shù),通過新最速下降法求解運動模型的最優(yōu)權(quán)系數(shù),通過運動模型對目標(biāo)進(jìn)行跟蹤和預(yù)測。
目標(biāo)在空間中的運動可以分解到,,3個二維平面上,分別對3個平面進(jìn)行跟蹤濾波,對3個平面進(jìn)行處理之后,再將3個平面的運動聯(lián)合起來便構(gòu)成了空間運動,實現(xiàn)了對空間中運動目標(biāo)的跟蹤濾波。所以本文提出的運動模型將把平面作為示例進(jìn)行解釋。
目標(biāo)在平面的運動是一條曲線,該曲線可以用多項式進(jìn)行擬合,目標(biāo)運動狀態(tài)越復(fù)雜,曲線越多樣,擬合所需要的多項式的階次越高。例如:勻速運動只需要一階多項式就可以擬合,勻加速運動需要二階多項式才能擬合,以此類推復(fù)雜運動就需要高階多項式來擬合。所以根據(jù)實際中目標(biāo)的運動狀態(tài),提出一組狀態(tài)描述多項式,如下式所示:
(1)
需要注意的是,在實際中狀態(tài)描述方程組的方程個數(shù)需要根據(jù)實際的運動狀態(tài)測量信息確定,如果測量信息只有位置信息,那么只保留式(1)中第一個運動描述方程來描述運動,如果測量信息不止有位置、速度、加速度還有加加速度等,那么就需要增加方程來描述加加速度,其增加規(guī)則是逐級求導(dǎo)數(shù)。為了方便本文進(jìn)行算法闡述,本文假設(shè)測量信息有3種,分別是位置、速度和加速度。
從式(1)中可以看出,描述運動狀態(tài)的權(quán)系數(shù)共有+1個。當(dāng)=0時位置是常數(shù),描述的是靜止的運動狀態(tài);當(dāng)=1時速度是常數(shù),加速度為0,描述的是勻速的運動狀態(tài);當(dāng)=2時加速度是常數(shù),描述的是勻變速的運動狀態(tài)。越大,狀態(tài)描述方程所能描述的運動狀態(tài)就越復(fù)雜,所能描述的運動狀態(tài)種類也越多。
實際中測量運動目標(biāo)得到的都是點跡信息,所以假設(shè)時間間隔是,則式(1)離散抽樣簡化后可得
式中:代表時間被時間間隔離散化之后的第個時間點。上式用矩陣的形式表示為
()=
(2)
式中:
(·)表示矩陣的轉(zhuǎn)置。
假設(shè)觀測到個連續(xù)的點跡信息為=[,,…,],其中,,…,為包含了目標(biāo)位置、速度、加速度等信息的列向量。為了使第21節(jié)中提出的運動狀態(tài)描述方程可以最準(zhǔn)確地描述目標(biāo)的運動狀態(tài),則要求觀測點和描述點之間的誤差達(dá)到最小,即和之間的誤差達(dá)到最小,可以求和之間的最小誤差平方和:
(3)
式中:()代表和之間的誤差平方和,min代表取最小。
將式(2)代入式(3)得
(4)
從式(4)中可以看出,當(dāng)觀測信息給定時,誤差平方和函數(shù)是一個關(guān)于描述運動狀態(tài)權(quán)系數(shù),,…,的函數(shù),應(yīng)該通過調(diào)整權(quán)系數(shù)使誤差平方和函數(shù)達(dá)到最小,此時權(quán)系數(shù)所對應(yīng)的狀態(tài)描述方程所描述運動狀態(tài)與目標(biāo)的實際運動狀態(tài)最貼近。
但是實際中運動目標(biāo)的觀測信息并不是準(zhǔn)確的目標(biāo)運動狀態(tài)信息,因為會受到觀測噪聲的影響。即=+,其中=[,,…,]為目標(biāo)的實際運動狀態(tài),向量(=1,2,…)代表了目標(biāo)運動的位置、速度、加速度等狀態(tài)信息。=(,,…,)代表了觀測噪聲。目標(biāo)的運動狀態(tài)相對于噪聲是光滑的,由于受到噪聲的影響,曲線會出現(xiàn)上下波動的情況,如圖2所示。
圖2 觀測狀態(tài)與實際狀態(tài)對比圖Fig.2 Comparison diagram of observed and actual conditions
由圖2可以看出觀測運動狀態(tài)由于觀測噪聲的影響與實際運動狀態(tài)相比會變得不光滑,出現(xiàn)波動。如果用描述方程來描述觀測運動狀態(tài),則相對于實際運動狀態(tài)會出現(xiàn)過擬合的現(xiàn)象,即描述出來的運動狀態(tài)也會出現(xiàn)上下波動,所以應(yīng)該使描述出來的運動狀態(tài)盡量平滑,避免過擬合現(xiàn)象的出現(xiàn),以此來過濾掉噪聲的影響,對此可以采用正則化的思想。
正則化的思想就是通過引入正則項,使曲線光滑化,防止過擬合現(xiàn)象的發(fā)生。引入正則項后的誤差平方和函數(shù)為
(5)
新最速下降法是一種采用迭代的方式,逐步求解非線性函數(shù)最優(yōu)值的算法,具有運算量小、實現(xiàn)簡單、精度高、魯棒性強等優(yōu)點。
將新最速下降算法用于求第22節(jié)中所構(gòu)建的最小誤差平方和函數(shù),會得到最優(yōu)權(quán)系數(shù),,…,,由于新最速下降法具有精度高、收斂快、簡單等優(yōu)點,會使對目標(biāo)的跟蹤速度更快、精度也更高。
該方法主要把高維函數(shù)降到二維,用拋物線的性質(zhì)求解極值,利用循環(huán)迭代的方式最終求解出使函數(shù)達(dá)到極值的最優(yōu)解。
詳細(xì)推導(dǎo)如下:設(shè)有一個維非線性二次函數(shù)
(,,…,)=++…+
式中:
=(++…+1+)=(++…+2+) ?=(1+2+…++)
,,…,為函數(shù)的自變量;為自變量的個數(shù);(=1,2,…,;=1,2,…,)為函數(shù)里的系數(shù);代表約束方程的數(shù)量。
首先給自變量,,…,隨機設(shè)置一個初值,,…,,此時函數(shù)會變成一個以為自變量,(,,…,)為因變量的二維拋物線,根據(jù)拋物線的性質(zhì)求拋物線的極值點,將此極值點作為。然后將,,…,代入函數(shù),則函數(shù)變成一個以為自變量,(,,,…,)為因變量的二維拋物線,根據(jù)拋物線的性質(zhì)求拋物線的極值點,將此極值點作為。如此一直迭代求解,直到求解出之后,重新返回,將,,…,代入函數(shù),求解。如此一直迭代循環(huán)求解,(),(),…,()(=1,2,…)隨著循環(huán)次數(shù)的遞增將越來越逼近于維非線性二次函數(shù)的極值。
拋物線的性質(zhì)為:拋物線的一般形式為=++,則其極值點位于=-2處。
由上述拋物線的性質(zhì)知,極值點與拋物線的系數(shù),有關(guān),為了方便求出系數(shù),,可以采用求導(dǎo)數(shù)的方式實現(xiàn)。=′(=0),′(=0)代表對求一階導(dǎo)數(shù),然后令=0。2=″,″表示對求二階導(dǎo)數(shù)。那么極值點為=-′(=0)″。
所以可以推導(dǎo)出維非線性二次函數(shù)的求解極值:
(6)
為了使方程可以描述機動目標(biāo)即運動狀態(tài)變化頻繁的目標(biāo),可以求取當(dāng)前時刻到前-1時刻的個觀測點跡的最小誤差平方和,得到最佳的運動狀態(tài)描述方程,以此方程實現(xiàn)對下一時刻目標(biāo)運動狀態(tài)的預(yù)測。
因為目標(biāo)預(yù)測需要具有實時性,所以的取值應(yīng)該避免取值過大,經(jīng)仿真實驗得到取3、2甚至是1時都會取得不錯的效果。
根據(jù)上述所說建立點的誤差平方和函數(shù):
()=
(7)
應(yīng)用新最速下降法求解點的最小誤差平方和,即結(jié)合式(6)和式(7)得到描述方程的權(quán)系數(shù)迭代公式:
?
?
(8)
基于新最速下降法的目標(biāo)跟蹤算法應(yīng)用步驟可以概括如下:
根據(jù)觀察點跡信息設(shè)置描述方程的個數(shù),設(shè)置訓(xùn)練點跡數(shù)目,設(shè)置權(quán)系數(shù)的個數(shù)+1,設(shè)置正則化參數(shù);
輸入新的觀測點,對式(7)和式(8)中的-和-進(jìn)行更新;
重復(fù)循環(huán)步驟3~步驟5,將步驟4步中目標(biāo)預(yù)測的結(jié)果輸出。
該目標(biāo)跟蹤算法的基本過程如圖3所示。
圖3 算法過程圖Fig.3 Algorithm process diagram
假設(shè)目標(biāo)在二維平面上做平面運動,沿方向做速度為500 m/s的勻速運動,沿方向做機動過載分別為30和26的蛇形機動,表示重力加速度,=10 m/s。兩個方向的觀測噪聲是標(biāo)準(zhǔn)差均為10 m 的高斯白噪聲。對運動目標(biāo)進(jìn)行測量的采樣頻率為10 Hz,仿真的時長為10 s。方向的初始位置為80 m,方向初始位置為0 m。得到兩個方向的運動方程分別為
(9)
式中:()~N(0,100)。
IMM里包含兩個模型,分別是CV模型和CS模型,CV模型主要針對方向目標(biāo)做勻速運動,CS模型主要針對方向目標(biāo)做蛇形機動。初始化馬爾可夫轉(zhuǎn)移概率矩陣設(shè)為
新算法的模型階數(shù)分別設(shè)置為1、2,誤差平方和函數(shù)所用的點數(shù)設(shè)置為2。運動模型權(quán)系數(shù)的初始化賦值為0,以頻率10 Hz 即跟蹤時間間隔為01 s,對時長為10 s 的運動軌跡進(jìn)行觀測,運動軌跡如式(10)所示,得到101組觀測數(shù)據(jù)。將觀測數(shù)據(jù)和初始化賦值后的運動模型權(quán)系數(shù)代入式(8)中進(jìn)行迭代計算得到更新后的運動模型權(quán)系數(shù),將計算所得運動模型權(quán)系數(shù)代入所提出的運動模型,即式(1),計算出運動目標(biāo)的預(yù)測軌跡,并計算預(yù)測值與實際值之間的誤差。
用Matlab軟件在相同的條件下對新算法和IMM算法進(jìn)行500次Monte-Carlo仿真,求500次Monte-Carlo仿真的均方根誤差(root mean square error, RMSE)。計算公式如下:
(10)
式中:RMSE表示500次仿真的均方根誤差;和分別代表第次仿真的預(yù)測狀態(tài)和實際狀態(tài)。
在第31節(jié)的仿真條件下,應(yīng)用新算法和IMM算法分別對和兩個方向抽樣所得到的點跡信息進(jìn)行濾波和預(yù)測。然后對得到的兩個方向的運動信息進(jìn)行合成,得到運動目標(biāo)在平面的預(yù)測軌跡。
將兩種算法所得到的預(yù)測軌跡與目標(biāo)的實際運動軌跡進(jìn)行對比,得到的仿真結(jié)果如圖4所示。
圖4 預(yù)測軌跡對比Fig.4 Predicted trajectory comparison
從圖4可直觀地看出,新算法預(yù)測得到的軌跡相對于IMM更加貼近目標(biāo)實際軌跡,對目標(biāo)的預(yù)測跟蹤能力更好。
將兩種算法預(yù)測所得到方向的目標(biāo)運動狀態(tài)與實際的運動狀態(tài)進(jìn)行對比,計算兩種算法預(yù)測得到的位置、速度和加速度與運動目標(biāo)實際的3種運動狀態(tài)之間的RMSE,得到的結(jié)果如圖5所示。
圖5 x方向RMSE對比Fig.5 Comparison of RMSE in x direction
從圖5中可以看到兩種算法一開始對于位置的預(yù)測誤差基本相同,新算法具有優(yōu)勢。在第2 s和第6 s時,IMM算法對目標(biāo)位置和速度的預(yù)測出現(xiàn)較大的誤差,可以從圖4中看出,在這兩個時間目標(biāo)突然進(jìn)行高機動運動,導(dǎo)致運動狀態(tài)發(fā)生很大的變化,因此誤差增大。由于IMM算法是多模型交互工作,所以運動狀態(tài)發(fā)生很大變化時,IMM算法需要進(jìn)行不同運動模型的交互,經(jīng)過一段過渡時間的調(diào)整之后RMSE趨于收斂。求位置RMSE的平均值對兩種算法進(jìn)行對比,經(jīng)平均計算后得到IMM算法的預(yù)測誤差的平均值為9.66 m,新算法的預(yù)測誤差的平均值為7.15 m,所以新算法對于位置的預(yù)測更準(zhǔn)確。對于速度的預(yù)測誤差始終是新算法要小一些。綜上,新算法對于勻速運動的預(yù)測效果相對于IMM算法要更好一些。
將兩種算法預(yù)測所得到方向的目標(biāo)的運動狀態(tài)與實際的運動狀態(tài)進(jìn)行對比,計算兩種算法預(yù)測得到的位置、速度和加速度與運動目標(biāo)實際的3種運動狀態(tài)之間的RMSE,得到的結(jié)果如圖6所示。
圖6 y方向均方根誤差對比Fig.6 Comparison of RMSE in y direction
從圖6中可以看出對于位置的預(yù)測,新算法的誤差始終較小,IMM算法在目標(biāo)進(jìn)行轉(zhuǎn)彎時預(yù)測誤差會變大。在第2 s和第6 s時,誤差突然增大,這也是由于在這兩個時間目標(biāo)進(jìn)行高機動運動,運動狀態(tài)的突然變化導(dǎo)致的。此時IMM算法進(jìn)行模型交互,經(jīng)過一段過渡時間的調(diào)整之后,RMSE重新收斂。對于位置的均方根誤差取平均值得IMM算法的位置RMSE預(yù)測平均值為20.46 m,新算法的位置RMSE的平均值為14.44 m,所以新算法對位置的預(yù)測誤差更小。對于速度的預(yù)測也是新算法的預(yù)測誤差更低。對于加速度的預(yù)測兩種算法各有優(yōu)劣,新算法預(yù)測誤差的收斂速度較快,而IMM算法的初始預(yù)測誤差更低。綜上,新算法對于機動目標(biāo)的位置預(yù)測要好于IMM算法,對于速度和加速度的預(yù)測則各有優(yōu)劣。
對兩種算法在相同的仿真背景下的運算時間進(jìn)行計算。運算時間的計算采用Matlab函數(shù)對新算法和IMM算法兩個程序的運行時間分別進(jìn)行計時得到。電腦的CPU型號為Intel Core i5-4288U,運行內(nèi)存為ddr3 12GB,操作系統(tǒng)為Windows7,所安裝的Matlab軟件為MatlabR2017a。對兩種算法500次Monte-Carlo的運行時間進(jìn)行計時得到:新算法500次Monte-Carlo仿真花費的運算時間是19.297 2 s,IMM算法500次Monte-Carlo花費的運算時間是72.972 0 s。所以新算法的計算量要小于IMM算法,因此新算法更適用于對實時性要求較高的雷達(dá)目標(biāo)跟蹤系統(tǒng)。
圖7所示為新算法與最小均方誤差(least mean square error, LMSE)算法的性能對比。仿真環(huán)境設(shè)置為:目標(biāo)函數(shù)是一個6維凸函數(shù),LMS算法的迭代步長設(shè)置為0.000 1,經(jīng)過多次選擇得到迭代步長0.000 1,是能使算法收斂的最大迭代步長,初始值均設(shè)置為10。從圖7中可以看出新算法相對于傳統(tǒng)的LMSE算法無論是收斂速度還是計算精度均有較大的優(yōu)勢,新算法的性能要優(yōu)于傳統(tǒng)最速下降法。
圖7 新算法與LMSE算法對比Fig.7 Comparison between new algorithm and LMSE algorithm
本文首先提出了一種基于改進(jìn)多項式擬合模型的運動模型,然后使用一種新的最速下降算法來求解運動模型中的權(quán)系數(shù),最后利用新最速下降法收斂速度快、精度高、運算簡單等優(yōu)點提高了目標(biāo)跟蹤算法的精度和速度。
經(jīng)過仿真分析得到新算法主要具有如下優(yōu)點:可以適用于多種不同的運動類型;對運動目標(biāo)的跟蹤預(yù)測效果更好,尤其是對于高機動目標(biāo);運算量小、實時性較好;易于工程實現(xiàn)。
但是新算法也存在著一定的缺點,由于新算法主要應(yīng)用數(shù)據(jù)擬合的方式來進(jìn)行預(yù)測,而對于運動狀態(tài)急速變化的目標(biāo),應(yīng)該采用高速的取樣速率來保持目標(biāo)預(yù)測的精確性。