段淇超, 袁天夫, 王宇倩, 皇甫萍萍
(上海工程技術大學 電子電氣工程學院, 上海 201620)
機器視覺是人工智能領域快速發展的一個重要分支,通過機器代替人眼來進行檢測和判斷,而目標跟蹤算法則是當前機器視覺的一個重要研究方向。
目前市面上大多數跟蹤算法相繼被應用于無人機領域,例如:基于均值偏移(Meanshift)是一種概率密度分布的跟蹤方法,這種算法適用于背景和色彩模塊差異較大的情況,但在室內環境下的目標跟蹤效果欠佳。根據仿射變換, 排除偽特征點, 然后基于圖像像素守恒原理, 進行兩幅圖像間變形評估, 建立圖像約束方程, 達到準確跟蹤目標的基于特征點檢測的光流算法[1];通過尋找一個濾波模板,讓下一幀的圖像與尋找到的濾波模板做卷積操作,響應最大的區域就是預測目標的相關濾波(Correlation Filter)跟蹤算法[2]。該算法的缺陷是如果目標快速移動,形狀發生較大變化會對預測結果造成影響;而傳統的跟蹤算法只能對目標的運動狀態與軌跡做一個大致估計,當目標被遮擋時極易導致目標信息丟失,從而跟蹤失效。
本文將經典的卡爾曼濾波(Kalmen Filter,KF)算法應用于無人機目標跟蹤系統中。卡爾曼濾波是一種利用遞歸實現目標方位估計的濾波器,它能夠從一系列含有噪聲的測量中,估計預測目標系統的下一時刻的位置信息,對目標的軌跡進行預測,并且使用確信度較高的跟蹤結果進行預測結果的修正, 即只要獲取上一時刻狀態的估計值以及當前狀態的觀測值就可以計算出當前狀態的估計值,因此不需要記錄觀測或者估計的歷史信息,是控制領域常用的一種算法。
卡爾曼濾波器有很多用處,包括控制、導航等。卡爾曼濾波器是一種對動態系統的狀態序列進行線性最小方差估計的算法,通過狀態方程和觀測方程來描述一個動態系統,基于系統以前的狀態序列對下一個狀態作最優估計,預測時具有無偏、穩定和最優的特點,且具有計算量小、可實時計算的特點,可以較為準確地預測目標的位置和速度。
本文將卡爾曼濾波器運用在無人機目標跟蹤上,假設使用卡爾曼濾波器的3個條件:
(1)系統是線性的;
(2)影響測量的噪聲屬于白噪聲;
(3)噪聲服從高斯分布。
在線性高斯系統中,運動方程、觀測方程是線性的,且兩個噪聲項服從零均值的高斯分布。卡爾曼濾波就是根據上一時刻的估計值遞推求解的過程。
無人機目標跟蹤流程如圖1所示。待測目標通過鏡頭處理后的影像傳輸給攝像機,攝像機捕獲待檢測目標的圖像,將其轉換為電信號輸入到圖像采集卡初步的處理,經過卡爾曼濾波器輸入到無人機飛控系統中,最后飛控對其進行分析和處理,并將結果送入到控制機構,對設備進行控制,實現智能化的控制和處理。

圖1 目標跟蹤流程圖
本文的目標狀態估計算法是基于卡爾曼濾波的框架下,通過預測和更新兩個主要步驟完成對數據的處理,最終實現對目標位置信息的預測估計。具體步驟如下:
(1)通過攝像頭捕捉到運動目標的初始位置信息;
(2)通過卡爾曼濾波對返回的位置信息進行有關目標跟蹤的處理。卡爾曼濾波的基礎數學方程為狀態方程與觀測方程[3],式(1)和式(2):
xk=Ak,k-1xk-1+ξk-1,
(1)
Zk=HkZk+ηk.
(2)
其中:xk和xk-1為k與k-1時刻的狀態向量;zk為k時刻的觀測向量;Ak,k-1為從k-1時刻到k時刻的狀態轉移矩陣;Hk為觀測矩陣;ξk為系統噪聲;ηk為觀測噪聲;Qk、Rk分別表示ξk和ηk的方差。
關于狀態修正與狀態預測的過程方程涉及5個公式。
卡爾曼濾波增益,式(3):
(3)
修正狀態向量,式(4):
(4)
修正誤差協方差矩陣,式(5):
Pk=Pk,k-1(1-KkHk).
(5)
狀態向量預測方程,式(6):
(6)
誤差協方差預測方程,式(7):
(7)
其中,式(6)和式(7)是狀態預測過程,式子(3)、式(4)和式(5)則是對狀態修正過程。
假定卡爾曼濾波的狀態向量為式(8):
xk=[x(k)y(k)Vx(k)Vy(k)]T.
(8)
其中,x(k)y(k)是返回的視頻中得到的目標中心點位置坐標,Vx(k)Vy(k)是通過計算得到的目標中心點在x軸y軸方向上的速度分量。)根據卡爾曼濾波公式,分別對Ak,k-1、Zk、Hk、Q、R進行設定。由于無人機上攝像頭返回的視頻流中相鄰幀之間的目標運動過程可近似看成勻速運動,因此為了便于計算,本文設定相鄰兩幀間的時間間隔Δt=1,則狀態向量的初始值可以表示為式(9):
(9)
在基于此算法實現目標位置信息融合時,會出現兩種情況:當目標物體被檢測到時,卡爾曼濾波使用最新檢測到的目標位置來更新狀態,由此產生一個過濾的位置;當目標物體不出現在攝像頭內時,卡爾曼濾波則完全依賴之前的狀態信息預測當前幀中目標的位置。
(3)最終通過卡爾曼濾波返回的預測目標位置信息傳入至飛控系統中,進行無人機的姿態調整以及飛行路線規劃。
本文通過搭建無人機平臺來評估卡爾曼濾波算法的可行性,采用MATLAB軟件進行仿真實驗,運動目標設置為移動小車,采集無人機所獲取的圖像進行結果分析。
仿真結果表明,卡爾曼濾波算法在追蹤移動的物體時,無人機能夠有效的跟進并捕捉目標位置,算法運算量少,擁有較高的跟蹤實時性,如圖2所示。但隨著時間的累積,卡爾曼濾波器的自身原因會出現導航精度下降,算法性能仍需要改善。

圖2 無人機目標跟蹤
本文提出的一種基于卡爾曼濾波的無人機跟蹤系統,該能夠快速的處理目標信息數據,提高了目標的跟蹤精度,無人機采用卡爾曼濾波算法預測時無偏差、運算速度快、不易丟失目標、具有一定的實時性,適用于復雜環境的目標追蹤,擁有良好的發展前景。