李靖, 馬曉東, 陳懷民, 段曉軍, 張彥龍
1.西北工業(yè)大學 機電學院, 陜西 西安 710072; 2.西北工業(yè)大學 自動化學院, 陜西 西安 710072; 3.西北工業(yè)大學 無人機特種技術國防科技重點實驗室, 陜西 西安 710072
近年來,由于無人機具有成本低、可操作性好、可垂直起降、可攜帶其他載物等優(yōu)點,其在軍事及民用領域應用較多[1-2]。特別是配備了視覺系統(tǒng)后,更能加強其自主化、智能化,使其應用領域更為廣泛。其中基于視覺的無人機定點著陸是一個熱門的研究主題。通過對視覺傳感器采集到的圖像進行處理,并識別、跟蹤著陸地標圖像,以輔助無人機進行自主著陸[3]。但在著陸過程中,目標尺度、光照、拍攝角度以及局部區(qū)域環(huán)境會發(fā)生變化,再加上復雜的背景環(huán)境等干擾,使得目標的跟蹤難度加大,甚至會丟失目標。因此,無人機定點著陸過程中的視覺跟蹤問題是一個非常具備挑戰(zhàn)性的研究課題。
近年來,人們針對視覺跟蹤問題提出很多算法,但現(xiàn)有的算法在解決無人機定點著陸過程中的長時間實時視覺跟蹤問題上仍存在不足。早期的基于模板匹配的跟蹤是通過選擇性地更新模板來描述相似性,從而找到最優(yōu)的跟蹤結(jié)果[4]。此類方法雖然對于目標的外觀變化有一定的魯棒性,但沒有充分利用目標的特征信息,且模板更新存在誤差,故無法長時間穩(wěn)定準確地跟蹤目標?;谙∈璞硎?sparse representation)的方法是另一種常用的跟蹤方法[5-6],但此類方法計算密集,沒有充分利用上下文信息,無法保證長時間目標跟蹤的穩(wěn)定性與準確性。tracking-by-detection是通過在線學習模式(如SVM[7],boosting[8]),在序列圖像中進行目標與背景的分類檢測,從而達到目標跟蹤的目的。但此類方法耗費時間較長,無法滿足實時性的要求。Kalal等人對光流法進行改進,設計出一種中值流跟蹤器[9]。該跟蹤器跟蹤性能較好,提高了目標跟蹤的可靠性與實時性;但沒有充分利用上下文信息,且無法在目標消失后重新找回目標。對此,Kalal等人在中值流跟蹤器的基礎上,提出了tracking-learning-detection(TLD)跟蹤算法[10],此算法魯棒性較高,通過在線訓練多個專家模型(multiple experts),綜合判斷并糾正當前跟蹤結(jié)果,保證目標跟蹤的準確性。但此算法由于需在線訓練多個專家模型,故實時性較為一般,不滿足無人機基于視覺進行頂點著陸對于視覺跟蹤算法實時性的要求。
本文基于上述背景分析,利用以SURF-BoW特征進行線下訓練的SVM分類器進行跟蹤器初始化,之后利用改進后的基于上下文信息相關性的中值流跟蹤算法進行目標跟蹤,保證目標跟蹤的可靠性、完整性,并設計目標再搜索方法,保證在上述跟蹤失敗的情況下仍能找回目標并進行跟蹤,提升整套算法的魯棒性。
對于計算機視覺中特征點的跟蹤,是通過t時刻的某特征點的位置,估算出t+1時刻該點位置。但點的跟蹤通常面臨被跟蹤點改變或者從圖像中消失的情況,此時則認為該特征點跟蹤失敗。為了能夠使得跟蹤器自我評價特征點跟蹤的可靠性,Kalal等人提出了一種基于向前向后一致性假設的中值流跟蹤算法,假設如下[9]:①跟蹤器由t時刻前向跟蹤特征點到t+1時刻會生成1條軌跡;②跟蹤器由t+1時刻后向跟蹤特征點到t時刻,生成1條驗證軌跡;③2條軌跡相比較,若明顯不同,則認為該特征點跟蹤錯誤。如圖1所示,a)中點A的前后跟蹤軌跡一致,故跟蹤正確;相反,b)中的點B前后跟蹤軌跡不一致,則認為跟蹤失敗。
圖1 前后雙向跟蹤示意圖
前后跟蹤誤差可用來判斷雙向跟蹤軌跡是否相同。如圖2所示,It是t時刻圖像,It+1是t+1時刻圖像。使用跟蹤器,對It中的特征點xt向前跟蹤到It+1中的點xt+1。之后,向后跟蹤,即從It+1中的特征點xt+1向后跟蹤到It中的xt。前后誤差被定義為這2條軌跡的相似性。前后誤差EFB=‖xt-t‖,即點xt與t之間的歐式距離,距離越小,則跟蹤效果越好。
圖2 前后雙向跟蹤誤差
中值流跟蹤算法采用L-K光流法[11-12]為核心跟蹤算法,通過前后向跟蹤誤差及跟蹤特征點相鄰2幀周邊區(qū)域相似性進行跟蹤性能判斷,從而準確跟蹤到目標。如圖3所示。
圖3 中值流跟蹤算法
Ni=∑x′,y′(T(x′,y′)·I(x′,y′))∑x′,y′T(x′,y′)2·∑x′,y′I(x′,y′)2
(1)
式中,Ni的值域為[0,1],0表示完全不相似,1表示完全相似。T(x,y)為圖像T在(x,y)處的灰度值,I(x,y)為圖像I在(x,y)處的灰度值。
中值流跟蹤器以L-K光流法為核心,通過前后雙向跟蹤誤差及跟蹤特征點局部相似性檢驗,篩除50%跟蹤效果較差的特征點,用剩下的特征點來估計整個邊界框的位移。該算法雖提高了目標跟蹤的可靠性與實時性,卻無法自己初始化目標,不能保證長時間跟蹤后目標的完整性,并且無法在跟蹤失敗后再次檢索目標,使得整個跟蹤算法不具備魯棒性。為了解決上述問題,本文基于改進的中值流跟蹤算法,設計了一套專門用于視覺導航的無人機定點自主著陸的目標實時跟蹤算法,該算法流程如圖4所示。
圖4 基于上下文相關信息的中值流跟蹤算法流程
為實現(xiàn)基于視覺導航的無人機自主著陸,本文設計了易檢測識別并能夠提取特征進行相對位姿解算的合作目標,如圖5所示。
圖5 合作目標
如圖5a)所示,該合作目標由同心的圓和菱形組成。圓為黑色,菱形為白色,顏色相對明顯,易于分割與識別。最外圍的圓的作用是用來通過輪廓特征確定感興趣區(qū)域,即目標所在區(qū)域;內(nèi)部的菱形則用來提取特征點,用于相對位姿信息的計算。提取的特征點為圖1b)中紅色點,而圓與菱形的中心點與特征點的連線可作為參考航向線使用。
實際的無人機飛行避免不了合作目標被遮擋的情況。本文設計的合作目標在面對圖2中的遮擋情況仍能繼續(xù)使用。圖6a)外圍圓部分被遮擋,但仍能通過部分圓確定目標區(qū)域,從而識別目標;而內(nèi)部菱形區(qū)域完整,可提取完整的特征點進行現(xiàn)對位姿等導引信息的解算。圖6b)內(nèi)部的菱形也被遮擋一部分,通過部分圓能確定目標區(qū)域,從而識別目標;但內(nèi)部的菱形特征點缺少一個,無法計算相對位姿等導引信息。此時可對目標進行直線檢測,通過檢測到的菱形邊所在直線,確定交點所在。檢測到的交點即為所需特征點。
圖6 合作目標部分被遮擋
著陸地標檢測的目的是為了提取感興趣區(qū)域圖像,為下一步地標識別打下基礎。首先,需對采集到的視頻幀圖像進行預處理。如圖7所示,預處理包括:圖像灰度化、濾波去噪、圖像分割、邊緣檢測和輪廓提取。在圖像預處理后,可以得到包含目標輪廓的可疑目標的輪廓集。然后利用最小矩形框包圍這些輪廓,得到包含地標圖像的矩形圖像集。
圖7 圖像預處理
著陸地標識別的目的是在目標檢測之后,準確地識別出地標圖像,完成跟蹤器目標初始化。本文基于SURF-BoW特征進行離線SVM分類器訓練,用于著陸地標識別。SURF(speeded up robust features)是一種尺度不變、旋轉(zhuǎn)不變的特征點檢測子與描述子,具備速度快、魯棒性好等優(yōu)點[13]。而詞袋(bag of words,簡稱BoW)模型原是自然語言處理領域用于文本信息檢索和文本分類的技術[14],用于圖像領域時,需要將二維圖像信息映射成視覺關鍵詞集合,這樣即保存了圖像的局部特征又有效壓縮了圖像的描述[15]。本文結(jié)合SURF與BoW的優(yōu)勢,提取SURF-BoW特征來描述樣本圖像,利用SVM算法對這些特征進行訓練,從而得到用于目標識別的SVM分類器。其中分類器構建步驟如下:
Step1 獲取樣本圖像,并將尺寸統(tǒng)一調(diào)整為256*256像素;
Step2 將每個樣本圖像分割為大小為32*32像素的單元格。每個單元格都提取SURF特征,整幅樣本圖像所有的單元格提取到的SURF特征形成一個SURF特征集合;
Step3 使用K-means均值聚類算法對所有樣本圖像提取的SURF特征進行聚類,得到K個類,每個類的聚類中心對應一個視覺單詞,即每個類用一個視覺單詞表示,從而生成一個由K個視覺單詞構成的視覺單詞表,即為視覺詞典;
Step4 每個樣本圖像都要統(tǒng)計提取到的每個SURF特征點的所屬類別,確定每一類別中包含該樣本圖像SURF特征的個數(shù);統(tǒng)計結(jié)束后每一幅樣本圖像可生成一個K維的特征向量,即為該樣本圖像的視覺詞匯特征向量;
Step5 設正樣本圖像的類別標簽為1,負樣本的類別標簽為0,每一個樣本圖像的K維視覺詞匯特征向量和相應的類別標簽可作為訓練數(shù)據(jù),基于SVM訓練算法,訓練得到著陸地標圖像分類器。
目標的識別過程如下:
Step1 輸入待分類圖像,并將其尺寸調(diào)整為256*256像素;
Step2 將待分類圖像分割為大小為32*32像素的單元格。每個單元格都提取SURF特征,所有的單元格提取到的SURF特征形成一個SURF特征集合;
Step3 統(tǒng)計提取到的每個SURF特征點的所屬類別,確定每一類別中包含該圖像SURF特征的個數(shù);統(tǒng)計結(jié)束后可生成一個K維的特征向量,即為待分類圖像的視覺詞匯特征向量;
Step4 將待分類圖像的視覺詞匯特征輸入到著陸地標圖像分類器內(nèi)進行分類識別。
圖8 目標識別算法工作流程
中值流跟蹤算法是以跟蹤特征點來表征目標圖像,經(jīng)雙向L-K光流跟蹤后,以所有跟蹤點的EFB與N的中值為閾值,來去除50%跟蹤效果較差的跟蹤點,以剩下的50%的跟蹤點來估計目標邊界框的位移。但該方法去除的50%的跟蹤點不一定都是跟蹤效果較差的點,且跟蹤到的目標無法保證其完整性。而且該方法還需要每一幀初始化跟蹤點,這樣會浪費一定的時間。
故本文對中直流跟蹤算法做出改進,采用固定值ET,NT作為閾值,來濾除跟蹤效果較差的點。如式(2)所示,當跟蹤點滿足式(2)中的條件,即認為該點跟蹤效果較好,反之,則較差。
≤ET
Ni≥NT
(2)
式中,i指的是第i個跟蹤點。經(jīng)多次實驗,當ET=5,NT=0.7,算法性能最好。如果剩下的跟蹤點的數(shù)目不及初始化的一半,則需重新初始化跟蹤點。如此避免多次初始化,減小了算法的時間復雜度。之后,為了保證跟蹤目標的完整性與準確性,基于幀間目標相似性的特點,以上一幀跟蹤到的目標圖像為模板,與本幀跟蹤到的目標圖像進行歸一化相關性匹配。具體過程是將2幀跟蹤到的目標圖像調(diào)整到相同尺寸,然乎利用(1)式計算歸一化相關系數(shù)NL。若NL滿足(3)式,則認為該時刻目標跟蹤成功,否則,跟蹤失敗。
NL≥Nthr
(3)
式中,Nthr為設定的閾值。經(jīng)多次試驗Nthr=0.7時,算法性能最好。
跟蹤失敗后,可采用SVM分類器來準確地識別目標。但用分類起識別目標耗費時間較長,會增加整套算法的時間復雜度,降低算法的實時性,故本文設計了跟蹤失敗后目標再搜索方法。該方法基于上下文信息來確定再搜索區(qū)域,減小目標搜索范圍;之后利用時間復雜度較小的歸一化模板匹配算法來進行目標識別。其中模板匹配所用模板是上一幀跟蹤到的著陸地標圖像,通過實時更新模板圖像,可提高算法的魯棒性,并且能夠準確識別到目標。該算法如下:
算法輸出:t時刻跟蹤到的目標圖像。
2) 通過(4)式計算出短時間速度變化最大尺度λ;
3) 通過(5)式來估算出t-1時刻到t時刻的速度vem;
λ=v2maxv1max,(v2max>v1max)
v1maxv2max,(v1max>v2max)
(4)
vem=λv2max
(5)
4) 確定在t時刻目標的再搜索區(qū)域在整幅圖中的位置如圖9所示,其中Δt2為t-1時刻到t時刻的時間間隔;
5) 再搜素區(qū)域劃分后,在該區(qū)域里重新進行圖像預處理、邊緣提取、輪廓檢測和目標檢測,得到“疑似目標”圖像集;
6) 將上一幀目標圖像與該“疑似目標”集里的目標一一進行歸一化相關系數(shù)計算;
7) 取其中相關系數(shù)大于0.7且最大的“疑似目標”圖像為本幀最終再搜索到目標,若所有“疑似目標”圖像的歸一化相關系數(shù)均小于0.7,則采用分類器去精確識別目標。
圖9 再搜索區(qū)域劃分示意圖
實驗在Inter(R)Core(TM) i5-6200 CPU with HD Graphics 2.40GHz 處理器、4.00GB內(nèi)存的PC機上運行,操作系統(tǒng)為Windows 10,軟件開發(fā)工具為VS2013+OpenCV2.4.9。實驗采用3組視頻A,B,C,其中A,C視頻幀圖像尺寸大小為1 280×720,B視頻幀圖像尺寸大小為800×448;實驗視頻A中目標在191幀后完全消失,于198幀后重新出現(xiàn),實驗視頻B,C中目標一直存在。
此次實驗分別采用中值流跟蹤算法、基于中值流跟蹤器的TLD實時跟蹤算法以及本文設計的算法進行著陸地標跟蹤。對應每一個實驗視頻,每種算法要運行10次并將結(jié)果取均值,作為最后的結(jié)果。本文采用2種度量手段來評估算法。第一種為目標跟蹤成功率及每幀圖像算法運行時間,其中目標跟蹤成功率指的是目標跟蹤成功的幀數(shù)與實驗視頻總幀數(shù)的比值。跟蹤結(jié)果滿足下式則認為跟蹤成功:
(6)
Terr=(Gx-Tx)2+(Gy-Ty)2
(7)
式中,(Gx,Gy)為算法跟蹤成功的目標所在矩形中心像素點的坐標,(Tx,Ty)為真實的目標所在矩形中心像素點的坐標。
經(jīng)過實驗后,目標跟蹤成功率及每幀圖像算法運行時間如表1與表2所示。各算法對應的跟蹤誤差如圖10所示。圖11為各個實驗視頻在運行算法后跟蹤到的目標截圖。
表1 跟蹤成功率/%
表2 每幀平均處理時間/ms
圖10 跟蹤誤差
由表1可知,在跟蹤地面靜止的著陸地標時,本文所設計的目標跟蹤算法相對于中值流跟蹤算法,目標跟蹤成功率較高,與TLD算法相近。由表2可知,本文所設計的目標跟蹤算法相對于TLD算法來說實時性較強,滿足無人機自主著陸對于圖像處理的時間要求。由圖10的目標跟蹤誤差曲線圖可知,本文所設計的算法的目標跟蹤誤差不超過5個像素,相對于中值流跟蹤算法與TLD算法,目標跟蹤準確性較好。而由圖11中列出的各算法跟蹤到的目標結(jié)果截圖可以明顯看出,本文所設計的算法跟蹤到的目標相對于TLD與中值流跟蹤算法來說,較為完整,表明本文所設計的算法在跟蹤地面靜止的著陸地標時,穩(wěn)定性較好,能夠跟蹤到完整的地標圖像,有利于下一步能夠提取到足夠的特征進行位姿導航信息的解算。
綜上所述,在無人機定點著陸中利用視覺傳感器進行地面著陸地標跟蹤方面,本文所設計的算法相對于中值流跟蹤算法與TLD算法,跟蹤性能較好,實時性較強,能夠準確、穩(wěn)定的跟蹤地標圖像。
本文基于中值流跟蹤算法的基礎進行改進,設計了一套適用于無人機頂點著陸過程中對著陸地標進行跟蹤的目標跟蹤算法。實驗結(jié)果表明,該算法不僅能夠自動識別著陸地標,完成跟蹤目標初始化,還能夠?qū)崟r、準確的跟蹤目標,并且在跟蹤失敗后能夠快速地重新搜索到目標,是一套魯棒性較強的適用于無人機定點自主著陸的目標跟蹤算法。該算法實時跟蹤到的完整目標還可用于下一步提取足夠的特征進行位姿導航信息的解算,為無人機在視覺著陸導航領域中的應用打下基礎。
參考文獻:
[1] 董國忠, 王省書, 胡春生. 無人機的應用及發(fā)展趨勢[J]. 國防科技, 2006, 29(10):34-38
Dong Guozhong, Wang Shengshu, Hu Chunsheng. Application and Development Trend of Unmanned Aerial Vehicle[J]. National Defense Science and Technology, 2006, 29(10): 34-38 (in Chinese)
[2] 吳顯亮, 石宗英, 鐘宜生. 無人機視覺導航研究綜述[J]. 系統(tǒng)仿真學報, 2010, 22(suppl 1):62-65
Wu Xianliang, Shi Zongying, Zhong Yisheng. An Overview of Vision-Based UAV Navigation[J]. Journal of System Simulation, 2010, 22(suppl 1): 62-65 (in Chinese)
[3] Zheng Z, Wei H, Tang B, et al. A Fast Visual Tracking Method via Spatio-Temporal Context Learning for Unmanned Rotorcrafts Fixed-Pointed Landing[C]∥Guidance, Navigation and Control Conference, 2017
[4] Matthews I, Ishikawa T, Baker S. The Template Update Problem[J]. IEEE Trans on Pattern Analysis & Machine Intelligence, 2004, 26(6): 810-815
[5] Kulikowsk C. Robust Tracking Using Local Sparse Appearance Model and K-Selection[C]∥Computer Vision and Pattern Recognition, 2011: 1313-1320
[6] Zhong W, Lu H, Yang M H. Robust Object Tracking via Sparse Collaborative Appearance Model[J]. IEEE Trans on Image Processing, 2014, 23(5): 2356-2368
[7] Bai Y, Tang M. Robust Tracking via Weakly Supervised Ranking SVM[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2012:1854-1861
[8] Grabner H, Grabner M, Bischof H. Real-Time Tracking via On-Line Boosting[C]∥British Machine Vision Conference 2006, Edinburgh, Uk, 2013: 47-56
[9] Kalal Z, Mikolajczyk K, Matas J. Forward-Backward Error: Automatic Detection of Tracking Failures[C]∥International Conference on Pattern Recognition, 2010:2756-2759
[10] Kalal Z, Mikolajczyk K, Matas J. Tracking-Learning-Detection[J]. IEEE Trans on Pattern Analysis & Machine Intelligence, 2012, 34(7):1409
[11] Lucas B D, Kanade T. An Iterative Image Registration Technique with an Application to Stereo Vision[C]∥International Joint Conference on Artificial Intelligence, 1981: 674-679
[12] Shi J, Tomasi. Good Features to Track[C]∥1994 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2002:593-600
[13] Bay H, Tuytelaars T, Gool L V. Surf: Speeded up Robust Features[J]. Computer Vision & Image Understanding, 2006, 110(3):404-417
[14] Lewis D D. Naive(Bayes) at Forty: The Independence Assumption in Information Retrieval[C]∥Europen Conference on Machine Learning Springer, Berlin, Heidelberg, 1998: 4-15
[15] 李遠寧, 劉汀, 蔣樹強,等. 基于“Bag of Words”的視頻匹配方法[J]. 通信學報, 2007, 28(12):147-151
Li Yuanning, Liu Ting, Jiang Shuqiang, et al. Video Matching Method Based on “Bag of Words”[J]. Journal on Communications, 2007, 28 (12): 147-151 (in Chinese)