尹邦政,朱 靜,李冠賢,單梓琪,魏 童
(1 廣州鐵路職業(yè)技術(shù)學(xué)院 廣東 廣州 510430) (2 廣州大學(xué) 廣東 廣州 510006)
機(jī)動(dòng)目標(biāo)跟蹤技術(shù)早已成為了科學(xué)家們重點(diǎn)研究的熱門(mén)課題之一[1]。隨著現(xiàn)代科學(xué)和技術(shù)的進(jìn)一步發(fā)展[2],出現(xiàn)了不少有效的機(jī)動(dòng)目標(biāo)跟蹤算法,但因其復(fù)雜度與計(jì)算量導(dǎo)致難以應(yīng)用在實(shí)際工程中[3]。如何在實(shí)際工程中較好的跟蹤目標(biāo),一直是機(jī)動(dòng)目標(biāo)跟蹤技術(shù)研究領(lǐng)域中備受重視和關(guān)注的科學(xué)技術(shù)問(wèn)題之一,這不僅在學(xué)術(shù)上具有十分重要的理論意義[4],還有廣泛的科學(xué)技術(shù)應(yīng)用和研究前景。目標(biāo)跟蹤算法的核心問(wèn)題是濾波,而濾波是為了預(yù)估當(dāng)前運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài)。為了跟蹤不同的運(yùn)動(dòng)目標(biāo),人們提出了大量的濾波方法,這些方法有α-β濾波和α-β-λ濾波、最小二乘濾波、線(xiàn)性自回歸濾波、維納濾波、兩點(diǎn)外推濾波、卡爾曼濾波和擴(kuò)展卡爾曼濾波等[5]。而α-β系列濾波算法作為實(shí)際工程中應(yīng)用最多的濾波器,它可以不依賴(lài)系統(tǒng)的具體模型及誤差噪聲分布的限制,并且通過(guò)較少的計(jì)算量便可獲得較為準(zhǔn)確的物體運(yùn)動(dòng)軌跡。但是該算法的不足主要體現(xiàn)在跟蹤較為復(fù)雜的運(yùn)動(dòng)時(shí),會(huì)產(chǎn)生較大的誤差。
本文致力于尋找一種新的機(jī)動(dòng)目標(biāo)跟蹤方法,用于上述機(jī)動(dòng)目標(biāo)跟蹤效果不佳的場(chǎng)景,為此提出了“自適應(yīng)濾波”方法。通過(guò)應(yīng)用數(shù)值優(yōu)化方法將自適應(yīng)濾波設(shè)計(jì)問(wèn)題變成數(shù)值優(yōu)化問(wèn)題。自適應(yīng)α-β濾波方法是基于α-β濾波算法與α-β-λ濾波算法設(shè)計(jì)的,它的特點(diǎn)是以無(wú)偏估計(jì)原理和最小方差原理,設(shè)定2種不同的運(yùn)動(dòng)狀態(tài),以α-β濾波算法與α-β-λ濾波算法為基礎(chǔ),通過(guò)自適應(yīng)參數(shù)實(shí)現(xiàn)2種狀態(tài)的自由切換,獲得一個(gè)更加準(zhǔn)確的目標(biāo)位置。
機(jī)動(dòng)目標(biāo)運(yùn)動(dòng)狀態(tài)是一種隨機(jī)過(guò)程,跟蹤機(jī)動(dòng)目標(biāo)需要分析目標(biāo)運(yùn)動(dòng)的特征并預(yù)測(cè)目標(biāo)的運(yùn)動(dòng)軌跡。因此,需要建立一種數(shù)學(xué)模型來(lái)準(zhǔn)確描述機(jī)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài)變化,該數(shù)學(xué)模型能匹配目標(biāo)真實(shí)運(yùn)動(dòng)狀態(tài),匹配程度越高跟蹤精度越好。但是由于目標(biāo)運(yùn)動(dòng)是頻繁的、復(fù)雜多變的狀態(tài)變化,大體可以分為機(jī)動(dòng)和非機(jī)動(dòng),而要建立能滿(mǎn)足兩者的模型是比較困難的,如目標(biāo)突然加速或者轉(zhuǎn)彎,從非機(jī)動(dòng)狀態(tài)轉(zhuǎn)變?yōu)闄C(jī)動(dòng)狀態(tài)。如果目標(biāo)只是做簡(jiǎn)單的沒(méi)有太大狀態(tài)變化的非機(jī)動(dòng)時(shí),這種目標(biāo)模型的建立就相對(duì)比較簡(jiǎn)單,且能真實(shí)地反映目標(biāo)運(yùn)動(dòng)狀態(tài)。但是在很多場(chǎng)合下,通過(guò)雷達(dá)等傳感器所傳來(lái)的數(shù)據(jù)是比較復(fù)雜且含有大量的噪聲,會(huì)導(dǎo)致不能事先獲得目標(biāo)的先驗(yàn)知識(shí),這種情況下只能采用估計(jì)理論知識(shí)來(lái)近似地描述。因此,目標(biāo)模型地建立首先要考慮目標(biāo)運(yùn)動(dòng)模型的不確定性和非線(xiàn)性,縱觀(guān)現(xiàn)有的模型中,最為經(jīng)典的跟蹤模型有勻速(constant velocity,CV)模型、勻加速(constant acceleration,CA)模型和多個(gè)模型之間切換的交互式多模型等。
跟蹤目標(biāo)的運(yùn)動(dòng)狀態(tài)通常分為機(jī)動(dòng)狀態(tài)和非機(jī)動(dòng)狀態(tài)2種。當(dāng)跟蹤目標(biāo)在運(yùn)動(dòng)過(guò)程中出現(xiàn)機(jī)動(dòng)與非機(jī)動(dòng)狀態(tài)來(lái)回切換的情況時(shí),很難建立一個(gè)同時(shí)能夠滿(mǎn)足這2種運(yùn)動(dòng)條件的模型,這時(shí)就需要建立不同的數(shù)學(xué)模型來(lái)分別對(duì)應(yīng)跟蹤目標(biāo)的機(jī)動(dòng)和非機(jī)動(dòng)狀態(tài)。此處定義跟蹤目標(biāo)的非機(jī)動(dòng)運(yùn)動(dòng)為勻速直線(xiàn)運(yùn)動(dòng),采用CV模型匹配跟蹤目標(biāo)的運(yùn)動(dòng)狀態(tài);定義機(jī)動(dòng)運(yùn)動(dòng)為勻加速直線(xiàn)運(yùn)動(dòng),采用CA模型匹配跟蹤目標(biāo)的運(yùn)動(dòng)狀態(tài)。
1.1.1 CV模型
CV模型被認(rèn)為跟蹤物體在做勻速運(yùn)動(dòng)時(shí)的運(yùn)動(dòng)模型,因?yàn)槲矬w是在做勻速運(yùn)動(dòng)的,而α-β濾波器可以較為精確的跟蹤勻速目標(biāo),可以通過(guò)α-β濾波器來(lái)獲取目標(biāo)的實(shí)時(shí)位置。經(jīng)典α-β濾波器可表示為式(1)、式(2)、式(3)、式(4):
x(k|k-1)=x(k-1)+tv(k-1)
(1)
v(k|k-1)=v(k-1)
(2)
x(k)=x(k|k-1)+α[xl(k)-x(k|k-1)]
(3)
v(k)=v(k|k-1)+β[xl(k)-x(k|k-1)]/t
(4)
式(1)、式(2)、式(3)、式(4)中:x(k|k-1)為k時(shí)刻的位置預(yù)測(cè)值;v(k|k-1)為在k時(shí)刻速度的預(yù)測(cè)值;x(k)為經(jīng)過(guò)α-β濾波器后k時(shí)刻的位置;v(k)為經(jīng)過(guò)α-β濾波器k時(shí)刻的速度;xl(k)為每次雷達(dá)或其他測(cè)量系統(tǒng)在k時(shí)刻返回的數(shù)據(jù)。因?yàn)樵谀P椭姓J(rèn)為沒(méi)有加速度,故k時(shí)刻的速度預(yù)測(cè)值就是經(jīng)過(guò)α-β濾波器k-1時(shí)刻的速度。
1.1.2 CA模型
當(dāng)物體開(kāi)始做變速運(yùn)動(dòng)時(shí),α-β濾波器已經(jīng)無(wú)法較好地跟蹤目標(biāo),此時(shí)通過(guò)經(jīng)典α-β-λ濾波器來(lái)對(duì)目標(biāo)進(jìn)行跟蹤,這便是CA模型。α-β濾波器只能對(duì)勻速運(yùn)動(dòng)的目標(biāo)進(jìn)行跟蹤,而α-β-λ濾波器則是針對(duì)勻加速的目標(biāo)進(jìn)行跟蹤的濾波算法。α-β-λ濾波器是在α-β濾波器的基礎(chǔ)上增加了系統(tǒng)的維數(shù),將目標(biāo)的加速度作為一項(xiàng)參數(shù)加入到系統(tǒng)的狀態(tài)向量中,此時(shí)的目標(biāo)狀態(tài)向量是三維的向量,即包含目標(biāo)的位置x、速度v、加速度a這3個(gè)狀態(tài)分量。
經(jīng)典α-β-λ濾波器可表示為式(5)、式(6)、式(7)、式(8)、式(9)、式(10):
(5)
v(k|k-1)=v(k-1)+t·a(k-1)
(6)
a(k|k-1)=a(k-1)
(7)
x(k)=x(k|k-1)+α[xl(k)-x(k|k-1)]
(8)
v(k)=v(k|k-1)+β[xl(k)-x(k|k-1)]/t
(9)
a(k)=a(k|k-1)+2γ[xl(k)-x(k|k-1)]/t2
(10)
經(jīng)典α-β-λ濾波器與α-β濾波器基本變量一致,但在CA模型中有加速度參與到運(yùn)動(dòng)之中,因此在α-β濾波器的基礎(chǔ)上增加了式(7)與式(10)。
當(dāng)運(yùn)動(dòng)目標(biāo)做非機(jī)動(dòng)運(yùn)動(dòng)時(shí),基本的濾波與預(yù)測(cè)方法就可以很好地跟蹤目標(biāo),但做機(jī)動(dòng)運(yùn)動(dòng)時(shí),其運(yùn)動(dòng)特征時(shí)刻在發(fā)生變化,如加速度、速度、運(yùn)動(dòng)方向等都會(huì)在不斷地變化,當(dāng)其運(yùn)動(dòng)狀態(tài)發(fā)生改變時(shí),由于持續(xù)的變化所帶來(lái)的濾波誤差有可能比較大,而具有機(jī)動(dòng)檢測(cè)能力的變維卡爾曼濾波(variable dimension,VD)算法非常適合處理該類(lèi)誤差。一旦確定目標(biāo)的運(yùn)動(dòng)模型,就開(kāi)始對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,并不斷地檢測(cè)目標(biāo)的狀態(tài),當(dāng)檢測(cè)到目標(biāo)的狀態(tài)發(fā)生變化時(shí),采用VD算法來(lái)實(shí)現(xiàn)CV模型和CA模型的轉(zhuǎn)換,實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)更準(zhǔn)確地跟蹤[6]。VD算法是在二維卡爾曼濾波的基礎(chǔ)上采用非機(jī)動(dòng)模型和機(jī)動(dòng)模型2種模型,當(dāng)檢測(cè)到無(wú)機(jī)動(dòng)時(shí)濾波器工作于正常模式(即非機(jī)動(dòng)模型),當(dāng)檢測(cè)到機(jī)動(dòng)模型時(shí),立即增加一個(gè)狀態(tài)變量,用機(jī)動(dòng)模型跟蹤目標(biāo),直到下一次判決而退回到正常的非機(jī)動(dòng)模型。
機(jī)動(dòng)目標(biāo)跟蹤原理框圖,如圖1所示。首先,通過(guò)雷達(dá)或其他測(cè)量系統(tǒng)所獲得的實(shí)時(shí)位置數(shù)據(jù)來(lái)判斷目標(biāo)的機(jī)動(dòng)狀態(tài),根據(jù)機(jī)動(dòng)狀態(tài)進(jìn)行濾波模型的調(diào)整轉(zhuǎn)換,當(dāng)檢測(cè)到機(jī)動(dòng)狀態(tài)發(fā)生變化后,進(jìn)入加速模型開(kāi)始對(duì)濾波系統(tǒng)的狀態(tài)估計(jì)進(jìn)行調(diào)整,輸出目標(biāo)的加速度、速度和位置信息,同時(shí),將這些信息反饋之輸入信息,不斷迭代和調(diào)整加速度、速度和位置信息。
圖1 機(jī)動(dòng)目標(biāo)跟蹤原理框圖
1.2.1 機(jī)動(dòng)目標(biāo)檢測(cè)
在對(duì)系統(tǒng)的參數(shù)進(jìn)行初始化后,開(kāi)始對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,當(dāng)檢測(cè)到跟蹤目標(biāo)的狀態(tài)發(fā)生變化時(shí),調(diào)整目標(biāo)的運(yùn)動(dòng)模型[7]。
對(duì)于跟蹤目標(biāo)的狀態(tài)檢測(cè),可以通過(guò)這幾個(gè)參量來(lái)判斷:雷達(dá)或其他測(cè)量系統(tǒng)所獲得的實(shí)時(shí)雷達(dá)位置xl(k)、時(shí)長(zhǎng)為s的滑動(dòng)測(cè)量測(cè)量窗口ρ、俯仰角ω(k)、以及檢測(cè)常量θ。
ω(k)=Δxl(k)△ρ
(11)
運(yùn)用式(11)可以通過(guò)雷達(dá)或其他測(cè)量設(shè)備返回的數(shù)據(jù)不斷地得到ω(k),再依次觀(guān)察2個(gè)相鄰的ω(k)之間的變化△σ。
△σ=ω(k)-ω(k-1)
(12)
一旦△σ的變化大于了系統(tǒng)所設(shè)定的檢測(cè)常量θ,這時(shí)認(rèn)為跟蹤目標(biāo)已經(jīng)發(fā)生機(jī)動(dòng),狀態(tài)已經(jīng)發(fā)生了變化。
1.2.2 自適應(yīng)調(diào)整參數(shù)
檢測(cè)到機(jī)動(dòng)發(fā)生后,開(kāi)始對(duì)濾波系統(tǒng)的狀態(tài)估計(jì)進(jìn)行調(diào)整[8],從而實(shí)現(xiàn)自適應(yīng)機(jī)動(dòng)目標(biāo)運(yùn)動(dòng)狀態(tài)的目的。
假設(shè)濾波器每次檢測(cè)的窗口長(zhǎng)度為s,每隔s秒就檢測(cè)一次物體的位置,會(huì)更傾向于相信雷達(dá)返回的數(shù)據(jù),而不是濾波器。因?yàn)橛胁糠譃V波器在跟蹤物體進(jìn)行非線(xiàn)性運(yùn)動(dòng)時(shí)會(huì)出現(xiàn)較為明顯的誤差。假如在第k次檢測(cè)時(shí)檢測(cè)到跟蹤目標(biāo)發(fā)生機(jī)動(dòng),則認(rèn)為在k-s時(shí)刻到k時(shí)刻中有一恒定加速度加入到濾波器中,跟蹤目標(biāo)開(kāi)始發(fā)生機(jī)動(dòng),此時(shí)需要對(duì)濾波系統(tǒng)的狀態(tài)估計(jì)進(jìn)行修正[9-11]。下面以跟蹤目標(biāo)在x軸方向上的狀態(tài)為例,給出具體參數(shù)調(diào)整方法。
由于k時(shí)刻的位置是基于雷達(dá)返回的數(shù)據(jù)得來(lái)的,需要將k-s時(shí)刻到k時(shí)刻的加速度先求出來(lái),然后再根據(jù)加速度去將跟蹤目標(biāo)的運(yùn)動(dòng)狀態(tài)模型(CV模型)更新成加速模型(CA模型)。
k-s時(shí)刻到k時(shí)刻跟蹤目標(biāo)的加速度估計(jì)為式(13):
a(k|k-s)=2[xl(k)-xl(k-s)-ω(k-s)]/s2
(13)
k時(shí)刻跟蹤目標(biāo)的速度估計(jì)為式(14):
v(k|k-s)=v(k-s)+t·a(k|k-s)
(14)
k時(shí)刻跟蹤目標(biāo)的位置估計(jì)為式(15):
x(k|k-s)=x(k-s)+t·v(k|k-s)+
a(k|k-s)t2/2
(15)
以上3步操作相當(dāng)于是更新了式(5)~式(7),后面的公式按照1.1.2章節(jié)所述步驟的順序進(jìn)行迭代就可以了。
假定在一個(gè)平面坐標(biāo)有一個(gè)雷達(dá)對(duì)機(jī)動(dòng)目標(biāo)進(jìn)行觀(guān)測(cè),跟蹤目標(biāo)從坐標(biāo)的原點(diǎn)開(kāi)始出發(fā),在t=0~11 s,跟蹤目標(biāo)沿著X軸方向,做速度為15 m/s的勻速直線(xiàn)運(yùn)動(dòng);在t=11~20 s,X軸受到一個(gè)大小為5 m/s2的恒定加速度加入,在t=20 s時(shí)目標(biāo)結(jié)束運(yùn)動(dòng)。雷達(dá)每隔1 s進(jìn)行一次掃描,對(duì)跟蹤目標(biāo)進(jìn)行觀(guān)測(cè),其中雷達(dá)的觀(guān)測(cè)噪聲的標(biāo)準(zhǔn)差為4 m,時(shí)長(zhǎng)為1的滑動(dòng)測(cè)量測(cè)量窗口ρ。本文仿真分別用經(jīng)典卡爾曼濾波算法、自適應(yīng)卡爾曼濾波算法、α-β濾波算法和自適應(yīng)α-β濾波算法,得出結(jié)果進(jìn)行比較。
跟蹤目標(biāo)做了一次勻速運(yùn)動(dòng)和加速運(yùn)動(dòng),符合目標(biāo)的預(yù)設(shè)軌跡。當(dāng)跟蹤目標(biāo)處于勻速運(yùn)動(dòng)狀態(tài),4種濾波算法對(duì)機(jī)動(dòng)目標(biāo)的跟蹤效果都非常好。但是當(dāng)機(jī)動(dòng)目標(biāo)開(kāi)始進(jìn)行變速運(yùn)動(dòng)時(shí)經(jīng)典卡爾曼濾波和α-β濾波的滯后性就會(huì)使跟蹤目標(biāo)與真實(shí)位置的誤差慢慢變大,如果跟蹤目標(biāo)繼續(xù)進(jìn)行非線(xiàn)性運(yùn)動(dòng),那么它的誤差也會(huì)越變?cè)酱?。?β濾波與經(jīng)典卡爾曼濾波在跟蹤目標(biāo)后一段時(shí)間,已經(jīng)出現(xiàn)了較為明顯的滯后,這意味著這2種算法無(wú)法較為有效的跟蹤機(jī)動(dòng)目標(biāo)。而自適應(yīng)卡爾曼濾波與自適應(yīng)α-β濾波在目標(biāo)進(jìn)行狀態(tài)轉(zhuǎn)換后會(huì)出現(xiàn)誤差,但這種誤差會(huì)隨著時(shí)間的推進(jìn)而慢慢減小,從而獲得一個(gè)較好的跟蹤圖像。目標(biāo)跟蹤X坐標(biāo)誤差的最小值和最大值,見(jiàn)表1。
表1 目標(biāo)跟蹤X坐標(biāo)誤差的最小值和最大值
從表1可以看出,自適應(yīng)α-β濾波算法的最大誤差相較于α-β濾波算法的最大誤差是有著較大的改善的??柭盗械淖畲笳`差相對(duì)于α-β系列的最大誤差會(huì)小,但是卡爾曼系列濾波的計(jì)算量比α-β系列濾波的計(jì)算量大很多。
仿真計(jì)算出各算法與真實(shí)位置之間誤差的絕對(duì)值,從各算法與真實(shí)位置之間的誤差的絕對(duì)值來(lái)看,對(duì)于α-β濾波算法,當(dāng)跟蹤目標(biāo)在進(jìn)行勻速運(yùn)動(dòng)時(shí)它可以較為準(zhǔn)確的跟蹤,一旦跟蹤目標(biāo)的模型發(fā)生機(jī)動(dòng),它也會(huì)產(chǎn)生較大的誤差。α-β濾波與經(jīng)典卡爾曼濾波比較,其計(jì)算量小于卡爾曼濾波,但誤差遠(yuǎn)大于卡爾曼濾波算法。而在使用了自適應(yīng)α-β濾波算法之后,可以看到原來(lái)α-β濾波在非線(xiàn)性運(yùn)動(dòng)時(shí)產(chǎn)生的誤差已經(jīng)被減小許多了,而且它的計(jì)算量小于卡爾曼濾波算法,因此跟蹤效果比卡爾曼濾波效果要好。
各算法仿真運(yùn)行時(shí)間指的是將這4種算法各進(jìn)行一次仿真,記錄從運(yùn)行開(kāi)始到以上濾波的運(yùn)動(dòng)圖生成之間的時(shí)間,見(jiàn)表2??梢酝ㄟ^(guò)記錄這段時(shí)間來(lái)側(cè)面看出計(jì)算量之間的大小,也可以很直觀(guān)的看出α-β系列濾波的計(jì)算量是小于卡爾曼系列濾波的。由于運(yùn)算量較小所看到的差異不是特別大,而一旦應(yīng)用于實(shí)際工程中,運(yùn)行時(shí)間差距會(huì)進(jìn)一步被放大[12]。
表2 各算法仿真運(yùn)行時(shí)間
綜上所述,自適應(yīng)α-β濾波算法是針對(duì)經(jīng)典α-β濾波跟蹤復(fù)雜的目標(biāo)運(yùn)動(dòng)時(shí)會(huì)產(chǎn)生較大誤差所提出的,它是基于α-β濾波與α-β-λ濾波,通過(guò)俯仰角ω(k)和檢測(cè)常量θ來(lái)實(shí)現(xiàn)跟蹤物體的模型切換,從而得到一個(gè)更為精準(zhǔn)且計(jì)算量較小的跟蹤軌跡。本文用經(jīng)典卡爾曼濾波算法、自適應(yīng)卡爾曼濾波算法、α-β濾波與自適應(yīng)α-β濾波進(jìn)行仿真實(shí)驗(yàn),在多重模型的比較下實(shí)驗(yàn)表明:自適應(yīng)α-β濾波算法對(duì)于機(jī)動(dòng)目標(biāo)的跟蹤要優(yōu)于α-β濾波算法,雖然精度不足卡爾曼濾波系列,但是在加速階段可以看到自適應(yīng)α-β濾波的精度已經(jīng)稍?xún)?yōu)于經(jīng)典卡爾曼濾波,同時(shí)α-β濾波系列的計(jì)算量遠(yuǎn)小于卡爾曼濾波系列,更適合于實(shí)際工程中的應(yīng)用。