賈配洋,彭曉東,沈菲菲,高 辰,周武根
(1.中國科學院國家空間科學中心 北京 100190;2.中國科學院大學 計算機與控制學院,北京 100190)
基于Apriltags改進算法的無人機移動目標識別與跟蹤
賈配洋1,2,彭曉東1,沈菲菲1,2,高 辰1,2,周武根1,2
(1.中國科學院國家空間科學中心 北京 100190;2.中國科學院大學 計算機與控制學院,北京 100190)
移動目標識別與跟蹤,在視頻監(jiān)控、人機交互、智能交通、軍事應用等領域具有重大應用價值。本文針對當前目標識別與跟蹤領域普遍存在的處理速度較慢、實時性不足等問題,提出了一種基于Apriltags識別的改進算法,對移動目標進行局部搜索,并結(jié)合Kalman濾波器實時估計目標下一時刻在圖像中的位置,大幅提升了算法處理速度和跟蹤性能。本算法在大疆M100四旋翼無人機平臺上,搭載Manifold機載計算機完成了實驗測試。實驗證明,算法魯棒性強、穩(wěn)定性好,成功實現(xiàn)了無人機對快速移動目標的識別與穩(wěn)定跟蹤。
機器視覺;Apriltags識別;無人機;Kalman濾波;目標識別與跟蹤TN96
近年來,機器視覺發(fā)展方興未艾,其中目標識別與跟蹤已經(jīng)成為當前研究熱點之一,其研究成果在視頻監(jiān)控、智能交通、災后搜救、人機交互、軍事應用等領域都具有巨大的應用前景[1]。利用無人機平臺,實現(xiàn)移動目標的識別與跟蹤,將具有重要的應用價值。
目前移動目標識別方法,主要有以下幾種:幀差法、均值漂移算法(Meanshift)、連續(xù)自適應MeanShift算法(CamShift)、光流法、TLD(Tracking-Learning-Detection)等[2-7]。 幀差法,計算量小,速度快[2],通常應用在攝像機標定的場合。MeanShift[3-4]計算簡單、易于實現(xiàn),但難以快速移動目標實現(xiàn)跟蹤。CamShift是對MeanShift算法的改進[5],對于純色目標在黑白背景下的跟蹤較好,分度較低時容易丟失目標。光流法攜帶了豐富的運動信息、三維信息[6],計算量巨大,不能滿足實時性需求。TLD算法[7]實現(xiàn)了對單目標的長時間跟蹤,解決了目標形變、部分遮擋等引起的目標丟失,但實時性略有欠缺。Apriltags識別算法,可以實時計算出目標相對于相機的距離及姿態(tài)[8-9],但算法對高精度視頻流的處理速度有限。
綜上所述,當前移動目標識別與跟蹤,主要存在處理速度偏慢、難以實時性需求、目標容易丟失等問題。無人機領域近些年發(fā)展迅猛[10],美國賓夕法尼亞大學、中國大疆科技(DJI)等高校和公司,加速了計算機視覺與無人機應用相結(jié)合的進程。通過智能控制算法實時決策,自主控制無人機完成各項工作[11]。無人機跟蹤移動目標,對識別跟蹤算法的速度和穩(wěn)定性提出了較高要求。精確控制無人機跟蹤飛行,需要實時獲取移動目標相對于無人機的三維位置及姿態(tài)信息。因此,直接運用上述方法,難以滿足對快速移動目標的識別與跟蹤需求。
文中提出了一種基于Apriltags的改進算法,很好地解決了上述問題。首先,運用OpenCV函數(shù)庫進行區(qū)域搜索,減少搜索空間,使得算法處理速度大幅提升,成功解決了跟蹤實時性問題。其次,使用Kalman濾波器預估移動目標在相機視場中的位置,使識別跟蹤效果更加穩(wěn)定。最后,使用Apriltags識別算法得到的距離及姿態(tài)數(shù)據(jù),自主智能控制無人機跟蹤飛行,實現(xiàn)無人機對移動目標的識別與穩(wěn)定跟蹤。
移動目標識別與跟蹤,其核心問題在于效率。Olson教授提出的Apriltags識別算法,在整副圖像中識別目標,處理速度難以滿足實時需求。本文提出的改進算法,在原有算法基礎上,做了相應改進和功能整合,主要存在3個方面的創(chuàng)新:1)采用局部圖像搜索策略;2)采用Kalman濾波預估目標位置,作為下一時刻目標識別局部搜索的先驗知識;3)新增無人機飛行跟蹤策略,通過識別算法獲取目標三維位姿信息,控制無人機跟蹤飛行。

圖1 Apriltags識別圖
AprilTags是一種二維餅狀圖,編碼數(shù)據(jù)量小(4~12 bits),易于獲取,具有高精度局部準確性。AprilTags容易識別和探測,可以計算目標相對于相機的位置、方向及姿態(tài),是一個視覺基準系統(tǒng)[8,9],廣泛應用在機器人學、相機校準等大量任務中。目標識別,是實現(xiàn)目標跟蹤、以及更多自主智能任務的前提。為更好的識別和跟蹤目標,在目標對象上張貼已知尺寸大小的Apriltags。當已知相機分辨率、焦距、Apriltags尺寸時,且滿足識別距離、角度、光線等約束,識別算法可準確識別Apriltags的類型、ID,并實時計算出目標相對于相機坐標系3個緯度方向上的距離(x,y,z)及3個姿態(tài)角信息(俯仰、翻滾、偏航)。
運用無人機云臺相機與目標之間的位置及姿態(tài)信息,調(diào)整無人機飛行狀態(tài)。當找到目標后,調(diào)整云臺及相機姿態(tài),使目標盡可能處于相機視野中央,保證跟蹤效果。Apriltag算法,主要步驟如圖2所示:彩色圖轉(zhuǎn)灰度圖→高斯濾波→hough變換→線條提取→識別計算→顯示id及位置信息。通過上述步驟,最終得到目標類型、id、距離、姿態(tài)等信息。

圖2 Apriltags識別簡化流程
卡爾曼(R.E.Kalman)等發(fā)表了《線性濾波和預測理論的新成果》[12],提出了卡爾曼濾波與預測理論,用于還原真實信息或預估下一時刻狀態(tài)。卡爾曼濾波利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計[13]。卡爾曼濾波便于編程實現(xiàn),實時性好,廣泛應用在通信、制導、路徑預測等領域[11]。
識別目標在圖像中的位置,可以抽象成一個離散控制過程系統(tǒng)[14]。其狀態(tài)方程用隨機線性方程表示為:

系統(tǒng)量測方程為:

(1)、(2)兩式中,X(k)是 k 時刻系統(tǒng)狀態(tài),U(k)是k時刻對系統(tǒng)的控制量。A和B是系統(tǒng)參數(shù),Z(k)是k時刻的測量值,H是測量系統(tǒng)參數(shù)。W(k)和V(k)分別表示過程噪聲和測量噪聲,假設均為高斯白噪聲,其協(xié)方差分別是Q、R,且不隨系統(tǒng)狀態(tài)改變。
X(k)表示的系統(tǒng)滿足上述條件,可用卡爾曼濾波器結(jié)合協(xié)方差矩陣,來估算系統(tǒng)的最優(yōu)位置,也即是下一時刻目標將處于圖像中的位置信息。
卡爾曼濾波包含5個關鍵步驟:
1)基于狀態(tài)方程,通過上一時刻狀態(tài)預測下一時刻系統(tǒng)狀態(tài)。假定現(xiàn)在的系統(tǒng)狀態(tài)是k,根據(jù)系統(tǒng)的模型,可以基于系統(tǒng)上一時刻狀態(tài)預測出當前狀態(tài):

X(k|k-1)是利用上一狀態(tài)預測的結(jié)果,X(k-1|k-1)是上一時刻狀態(tài)最優(yōu)結(jié)果,U(k)為現(xiàn)在狀態(tài)的控制量,此模型中 U(k)為 0。
2)系統(tǒng)結(jié)果更新后,更新對應于X(k|k-1)的協(xié)方差矩陣P:

P(k|k-1)是 X(k|k-1)對應的協(xié)方差矩陣,P(k-1|k-1)是 X(k-1|k-1)對應的協(xié)方差矩陣,A’表示 A的轉(zhuǎn)置矩陣,Q是系統(tǒng)過程的協(xié)方差矩陣。
3)獲得當前狀態(tài)的預測結(jié)果,然后收集當前狀態(tài)測量值。融合預測值和測量值,當前狀態(tài)(k)的最優(yōu)化估算值X(k|k):

4)更新卡爾曼增益(Kalman Gain,Kg):

5)為了保證卡爾曼濾波器不斷迭代,還要更新k狀態(tài)下X(k|k)的協(xié)方差矩陣:

算法對圖像的局部區(qū)域進行Apriltags識別,故需對目標在圖像中的位置進行估計[14-15]。本文采用Kalman濾波器,采用上一時刻目標在圖片中的位置v=(i,j)作為觀測值,實時預估目標下一時刻在圖像中的位置Vp=(ip,jp)。以預估位置Vp作為先驗知識,以其為算法局部搜索的ROI區(qū)域中心,使得識別范圍縮小,進而提升算法時間性能。
要實現(xiàn)無人機對移動目標的識別與跟蹤,需要構(gòu)建一套坐標系。通過坐標轉(zhuǎn)換,獲得目標相對于無人機的精確位姿,從而實現(xiàn)對無人機智能控制。各坐標系間關系如圖3所示。

圖3 坐標系示意圖
圖像坐標系I:相機平面為原點,垂直鏡面往外為X軸正向,平行鏡面向上為Z軸正向,遵循右手系建立Y軸。相機坐標系C:該坐標系以相機原點,相機方向為X軸正向,相機平面前方往右為Y軸正向,遵循右手系建立Z軸。無人機坐標系U:取無人機幾何中心位置為坐標原點,無人機的前方為X軸正向,垂直向下為Z軸正向,遵循右手系建立Y軸。北東坐標系O:北為X軸正向,東為Y軸正向,從地面往上為Z軸正向。
通過機載計算機實現(xiàn)開機自啟動,當計算機啟動后運行程序,實現(xiàn)無人機目標識別與跟蹤。整個識別與跟蹤算法系統(tǒng)流程圖如圖4所示。整個流程主要包含以下環(huán)節(jié):跟蹤飛行。

圖4 識別與跟蹤系統(tǒng)流程圖
Olson教授提出的Apriltag算法[8],對于分辨率為1 280*720的視頻流,在大疆Manifold計算機上,處理速度為5幀/秒,難以實時跟蹤的需求。當視頻流分辨率變?yōu)? K時,速度降低到0.15幀/秒。因此,需提升算法處理速度,方可對快速移動目標進行準確識別和跟蹤。
文中提出的改進Apriltags識別算法,通過Kalman濾波器實時預估目標位置,進行局部搜索提升處理速度。相同條件下,由于減少搜索空間,算法處理速度可達50幀/秒以上。當識別算法只采用局部搜索方式,不包含Kalman目標位置預估,也做了相關識別與跟蹤實驗。算法處理速度及跟蹤效果詳情如表1所示。

表1 實驗效率對比分析
以大疆Matrice 100無人機為平臺,在大疆Onboard SDK上開發(fā)程序。基于Arm架構(gòu)的機載計算機Manifold,搭載NVIDIA Tegra K1處理器,主存2 G,最高主頻 2.2 GHz,操作系統(tǒng)為 Ubuntu14.10,OpenCV 版本為 2.4.11。云臺相機為大疆 Zenmuse X3相機,視頻格式為NV12,視頻流分辨率采用1280×720。
帶39 cm×39 cm的36h11Apriltags的運動汽車,以直線行駛。實驗證明,可以實現(xiàn)對時速30 km/h的汽車實現(xiàn)穩(wěn)定識別和跟蹤。
帶39 cm×39 cm的36h11Apriltags的汽車,以S彎行駛,經(jīng)實驗證明,可以實現(xiàn)對移動目標的穩(wěn)定識別與跟蹤。

圖5 跟蹤實驗效果截圖
帶 39Ccm×39×cm 的 36h11Apriltags的汽車,進行直角轉(zhuǎn)彎行駛,經(jīng)實驗證明,可以實現(xiàn)對移動目標的穩(wěn)定識別與跟蹤。
對于帶6 cm×6 cm的25h9 Apriltags目標,在直線運動速度4 m/s時,無人機在距離目標0.5 m高度時,經(jīng)驗證可以進行穩(wěn)定識別與跟蹤。在不存在加速度過大情況下,對于曲線運動、轉(zhuǎn)彎等場景均能實現(xiàn)穩(wěn)定跟蹤。
通過上述實驗證明,本文研究搭建的識別跟蹤系統(tǒng),可以實時跟蹤多種情況下的運動目標,算法識別準確率高、處理速度快、跟蹤效果良好。
文中針對當前識別跟蹤算法[16-17]效率低下、實時性差等問題,提出了一種基于Apriltags識別的改進算法,運用Kalman濾波大幅提升了算法效率,實現(xiàn)了快速移動目標的識別與跟蹤。經(jīng)驗證,本文提出的方法可靠性強,穩(wěn)定性較好,可以跟蹤30 km/h快速行駛的汽車。下一步,將結(jié)合TLD算法,對目標存在遮擋等情況進行處理,實現(xiàn)無人機在高速移動平臺降落。
[1]呂澤華,梁虎,唐赫,等.目標跟蹤研究綜述[J].計算機工程與科學,2012,34(10):92-97.
[2]許倫輝,卜文萍,陳衍平,等.基于幀差法和背景差法融合的車流量檢測方法 [J].計算機仿真,2012,29(2):353-357.
[3]胡威.一種新的Meanshift快速運動目標魯棒跟蹤方法[J].計算機應用與軟件,2014(1):140-143.
[4]原銀忠,肖宏,鄭耀鋒,等.基于Meanshift算法的實時目標跟蹤系統(tǒng) [J].電子技術與軟件工程,2014(12):166-168.
[5]Zhou Z,Wu D,Peng X,et al.Object Tracking Based on Camshift with Multi-feature Fusion[J].Journal of Software,2014,9(1).
[6]Sharvit A,Gutman D,Laufer D,et al.Optimalflow minimum-cost correspondence assignment in particle flow tracking[J].Computer Vision&Image Understanding,2011,115(4):531-540.
[7]Kalal Z,Mikolajczyk K,Matas J.Tracking-Learning-Detection [J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2011,34(7):1409-22.
[8]Olson E.AprilTag:A robust and flexible visual fiducial system[C]//IEEE International Conference on Robotics&Automation.IEEE,2011:3400-3407.
[9]Richardson A, Strom J, Olson E.AprilCal:Assisted and repeatable camera calibration[J].2013,8215(2):1814-1821.
[10]陶于金,李沛峰.無人機系統(tǒng)發(fā)展與關鍵技術綜述[J].航空制造技術,2014(20):34-39.
[11]Saifuddin Saif A F M,Satria Prabuwono A,Rasyid Mahayuddin Z,et al.A Review of Machine Vision based on Moving Objects:Object Detection from UAV Aerial Images[J].International Journal of Advancements in Computing Technology,2013.[12]Kalman R E.A New Approach to Linear Filtering and Prediction Problems[J].J.basic Eng.trans.asme,2015,82D(1):35-45.
[13]桑海峰,吳丹陽,王會.視頻監(jiān)控下的人臉跟蹤與識別系統(tǒng)[J].計算機工程與應用,2014,50(12):175-179.
[14]陳金令,苗東,康博,等.基于Kalman濾波和模板匹配的目標跟蹤技術研究 [J].光學與光電技術,2014,12(6):9-12
[15]韓濤,吳衡,張虎龍,等.Kalman濾波融合優(yōu)化Mean Shift的目標跟蹤算法 [J].光電工程,2014(6):56-62.
[16]王闖,盧健,黃杰.AUV同時定位與跟蹤算法研究[J].西安工程大學學報,2014,28(5):556-562.
[17]谷文華,蔣念平,李振興.基于粒子濾波的TLD目標跟蹤算法[J].電子科技,2015(12):45-47.
UAV's moving target recognition and tracking based on improved Apriltags algorithm
JIA Pei-yang1,2,PENG Xiao-dong1,SHEN Fei-fei1,2,GAO Chen1,2,ZHOU Wu-gen1,2
(1.National Space Science Center,Chinese Academy of Science,Beijing 100190,China;2.College of Computer and Control,University of Chinese Academy of Science,Beijing 100190,China)
Moving target recognition and trackinghas a significant application value,in the field of video surveillance,human-computer interaction,intelligent transportationandmilitary applications.In order to solve with the problem of lowrecognition speedin the target recognition and tracking field,this paper presents an improved algorithm based on Apriltags recognition.It detects moving targetlocally with Kalman filter's real-time estimation of the target's 2D position in the image.It dramatically improves the algorithm processing speed and tracking performance.The algorithm is tested in the M100 UAV platform,which is equipped with Manifold.Experiments show that the algorithm has good robustness and good stability,and it successfully realizes the recognition and stable tracking of UAV for fast moving target.
machine vision;Apriltags detection;UAV;Kalman filter;target recognition and tracking
TN0
A
1674-6236(2017)17-0031-05
2016-07-15稿件編號:201607113
賈配洋(1992—),男,四川達州人,碩士研究生。研究方向:計算機視覺、無人機應用。