王毅
摘 要:為保證無人機在視覺傳感器的輔助下進行自主著陸的著陸精度、實時性和安全性,需要具備一套跟蹤速度快、穩定性高的圖像處理跟蹤算法。本文首先介紹在檢測識別到目標后,在目標所在區域網格撒點,初始化若干個跟蹤特征點;之后,采用L-K光流法跟蹤初始化后的像素點,并采用前后誤差法,篩選去除跟蹤效果差的點;然后,為保證跟蹤目標的完整性,采用模板匹配,比較前后兩幀跟蹤的目標的相似性,以此結果判斷是否需要重新檢測識別;最后,以拍攝的視頻資料為素材進行算法實時性和跟蹤穩定性的驗證。實驗結果表明設計的目標跟蹤算法可以快速穩定的跟蹤目標,滿足無人機進行自主著陸的要求。
關鍵詞:無人機 實時性 穩定性 目標跟蹤 L-K光流法 前后誤差法
中圖分類號:TP13 文獻標識碼:A 文章編號:1674-098X(2017)08(a)-0009-04
Abstract:In order to ensure the landing accuracy, real-time and safety of autonomous landing of unmanned aerial vehicle (UAV) with visual aids, a fast tracking algorithm with high stability is needed. In this paper, firstly, after the detection and recognition of the target, the grid scattering points in the target area are initialized, and 100 tracking feature points are initialized. After, the L-K optical flow method is used to track the initialized feature points, and the Forward-Backward Error Automatic Detection is used to filter out the points with poor tracking effect. In order to ensure the integrity of the tracking target, template matching is used to compare the similarity of the targets before and after the two frames tracking, and the result is used to determine whether the target needs to be re-detected and re-recognized. The experimental results show that the designed target tracking algorithm can track the target quickly and stably, and meet the requirement of UAV landing autonomously.
Key Words:Unmanned aerial vehicle; Real-time; Stability; Target tracking; L-K optical flow method; Forward-Backward Error Automatic Detection
隨著軍事航空和日常生化智能化的快速發展,無人機(Unmanned Aerial Vehicle,UAV)自主飛行能力越來越受到關注。而自動著陸是無人機進行自主飛行中最危險也是要求最高的過程[1]。現有的且無人機常用的著陸導航方式有全球定位系統(Global Positioning System,GPS)導航和慣性導航(Inertial Navigation System,INS)。但INS導航系統是通過積分迭代運算得到的無人機位置和速度信息,隨著時間的推移會不斷地累計誤差;GPS導航雖然精度高、使用簡單,但易受電子干擾,極易丟失信號[2-3]。近年來,視覺導航的提出與快速應用為這一難題的解決提供了新的思路。
視覺導航是基于視覺傳感器,通過設計圖像處理算法進行無人機導航信息的解算[4]。其具備體積小、易裝備、功耗低、抗干擾性能較好、精度較高、成本低等優點[5-6],越來越受到國際學者的青睞。而基于視覺圖像處理進行導航的流程大部分是:首先進行目標檢測與識別;之后為了保證相對位姿等導航信息能夠實時提供,進行目標的實時跟蹤;最后進行位姿等信息的解算。其中目標的跟蹤算法既要保證跟蹤算法的實時性,還要保證跟蹤目標的穩定性,避免影響最后的導航信息的解算。所以視覺傳感器能否很好的跟蹤到目標是無人機完成自主著陸的一個必要環節[7]。
本文首先在檢測識別到的目標區域進行網格撒點,初始化若干個跟蹤特征點;之后,基于L-K光流跟蹤算法的基礎上,采用前后誤差法,進行跟蹤特征點篩選,當跟蹤特征點個數小于初始化跟蹤特征點數目的一半時,從新網格撒點,進行跟蹤特征點初始化;最后,用最小矩形框包圍所有跟蹤特征點,所包圍的區域為跟蹤到的目標,以跟蹤到的目標圖像與上一幀的目標圖像進行相似性檢測,判斷是否跟蹤失敗,如果失敗則從新檢測識別,若成功,則繼續跟蹤算法。
1 目標跟蹤算法流程
本文設計的目標跟蹤算法流程如圖1所示。
(1)對檢測識別到的目標進行跟蹤特征點初始化(100個特征點)。
(2)下一幀圖像開始用前后誤差光流跟蹤法進行跟蹤,去除跟蹤效果較差的特征點。
(3)通過跟蹤到的特征點,用矩形框逼近,得到跟蹤后的目標圖像。endprint
(4)將跟蹤后的目標圖像與跟蹤前的目標圖像進行歸一化相似性檢測。
(5)若相似性大于0.9,則認為跟蹤正確,進入(6)否則重新檢測識別目標,然后進行跟蹤特征但初始化。
(6)判斷跟蹤特征點數目,若數目大于50,則進入step 7;否則重新跟蹤特征點初始化。
(7)對跟蹤后的目標進行處理,進行相對位姿即導航信息解算。
1.1 跟蹤特征點初始化
為了保證能夠實時的跟蹤檢測識別到目標,本文采用L-K光流法作為目標跟蹤算法的核心。而L-K光流跟蹤是對特征像素點進行跟蹤。故須合理的利用特征點來表示目標圖像,通過跟蹤特征點來達到跟蹤目標圖像的目的,并且在跟蹤完畢后通過跟蹤后的特征點能夠重新找到目標在整幅圖像中的位置。
本文采用網格撒點的方式,將檢測識別到的目標均分成若干個區域,每個小區域的中心作為跟蹤特征點,以此完成跟蹤特征點初始化。假設圖2(a)所示為檢測識別后的目標圖像,初始化的跟蹤特征點如圖2(b)所示。
1.2 前后誤差光流跟蹤
點的跟蹤是計算機視覺的通常的任務:給定時刻某個點的位置,目標就是估算出t+1時刻點的位置。L-K光流跟蹤實現的就是這個目的。本文不采用L-K光流跟蹤中檢測易跟蹤角點部分的算法,只采用跟蹤部分的算法。輸入的角點通過1.1節的算法來提供。但點的跟蹤通常面臨跟蹤到錯誤的點或跟蹤的點在下一時刻已消失[8]。故采用英國Surrey大學的學生Zdenek Kalal提出的前后誤差法進行算法設計。
前后誤差法是基于所謂的前后相容性的假設:正確的跟蹤應該不依賴實時流的方向[8]。故若采用的跟蹤器為L-K光流跟蹤,可以如此利用該假設:(1)跟蹤器從t時刻到t+1時刻跟蹤的點可以生成一條跟蹤軌跡;(2)跟蹤器從t+1時刻到t時刻跟蹤相同的點也可以生成一條跟蹤軌跡;(3)兩條軌跡進行比較,如果兩條軌跡不同,則認為前向跟蹤的點是錯誤的。如圖3所示,圖中點①跟蹤正確,點②明顯跟蹤錯誤。
前后誤差光流跟蹤的軌跡示意圖如圖4所示。設是一個圖像序列,是t時刻一個點的位置。使用L-K光流跟蹤器,對向前跟蹤k幀,生成的軌跡為。其中f代表向前,k代表幀數。之后,向后跟蹤,即從向前跟蹤到時刻,生成的軌跡為。其中b代表向后。前后誤差被定義為這兩條軌跡的相似性。前后誤差為:||||,即點與之間的歐式距離。通過設置閾值,來判斷該點是否跟蹤正確。本文通過反復試驗,設置為前后誤差大于5個像素,則認為跟蹤錯誤。
1.3 相鄰目標圖像相似性檢測
在采用前后誤差光流跟蹤算法后,初始化后的跟蹤特征點中,會被去除掉一部分跟蹤效果不好的點。此時,用矩形逼近找出當前幀目標圖像可能因為跟蹤特征點去除太多而使得目標圖像缺失一部分,會影響到最后的導航信息的解算。故為了保證跟蹤的穩定性,需通過一定的手段來判斷當前跟蹤到的目標是否為完整的所需要的目標。
本文采用模板匹配的方式,運用歸一化相關匹配法,來計算當前跟蹤到目標與上一幀的目標的相似性。流程如下:(1)將當前幀跟蹤到目標圖像進行尺度變換,使得當前目標圖像尺寸和上一幀目標圖像尺寸相同;(2)采用歸一化相關匹配法,對當前目標與上一幀目標圖像進行模板匹配;(3)若得到的相關系數大于0.9,則認為跟蹤到的目標圖像是正確的目標,否則從新進行檢測識別,找到正確的目標圖像。歸一化相關匹配法的原理公式如下:
(1)
其中,R的值域為[0,1],0表示完全不相似,1表示完全相似。為模板圖像在處的灰度值,為目標圖像在處的灰度值。
2 實驗結果
算法在Inter(R)Core(TM) i5-6200 CPU with HD Graphics 2.40GHz處理器、4.00GB內存的PC機上運行。素材視頻分辨率為1280×720,幀率為29幀/s。與近年來提出的實時目標跟蹤算法——壓縮感知跟蹤算法,進行對比分析,對比結果如表1所示。每幀運行時間如圖5所示,運行結果目標圖像如圖6所示。
表1,圖5給出了本文設計的目標跟蹤算法與壓縮感知跟蹤算法的運行周期:壓縮感知跟蹤的運行周期為76.66ms(約13幀/s);本文設計的目標跟蹤算法運行周期為29.87ms(約33幀/s)。由此可知,本文設計的目標跟蹤算法實時性較強,滿足視覺輔助無人機自主著陸的需求。
圖6則給出了壓縮感知跟蹤算法和本文設計的目標跟蹤算法運行結果的一部分。有圖可知,本文設計的算法相對于壓縮感知跟蹤算法,更加穩定和精確。
3 結語
本文針對視覺輔助無人機自主著陸對目標跟蹤算法的實時性、穩定性的要求,以L-K光流跟蹤為核心,結合前后誤差法和歸一化相關性模板匹配算法,設計了一套符合要求的目標跟蹤視覺處理算法。L-K光流跟蹤器保證算法的實時性,前后誤差法和歸一化相關性模板匹配則保證了跟蹤的穩定性。經驗證,該算法滿足視覺輔助無人機進行自主著陸對目標跟蹤的實時性和穩定性的要求。
參考文獻
[1] 吳賽飛,王新華,賈森,等.基于紅外視覺的固定翼無人機自動著陸引導系統[J].電子測量技術,2016(3):131-135.
[2] KONG W W,ZHANG D B,WANG X. Autonomus landing of an UAV with a ground-based actuated infrared stereo vision system[A].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)[C].IEEE,2013:2963-2970.
[3] 吳顯亮,石宗因,鐘宜生.無人機視覺導航研究綜述[J].系統仿真學報,2010,22(1):62-65.
[4] 丁萌,曹云峰.利用計算機視覺獲取無人機飛行姿態角[J].傳感器與微系統,2007,26(11):65-68.
[5] RICHARD W M,GREGORY A,DEBITETTO P A,et al.Vision-aided Navigation for small uavs in gpschallenged environments[J].The Draper Technology Digest,2007.
[6] KONG W,ZHOU D,ZHANG Y,et al.A ground-based optical system for autonomous landing of a fixed wing UAV[A].IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)[C].IEEE,2014:4797-4804.
[7] 鄧紅德,王麗君,金波.一種無人機自主著陸視覺跟蹤方法[J].計算機測量與控制,2009(7):1387-1389.
[8] Kalal Z, Mikolajczyk K, Matas J. Forward-Backward Error: Automatic Detection of Tracking Failures[A].In: Pattern Recognition(ICPR),2010 20th International Conference on[C].Istanbul,Turkey:IEEE, 2010:23-26.endprint