文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.032
中文引用格式: 張子洋,孫作雷,曾連蓀. 視覺追蹤機器人系統構建研究[J].電子技術應用,2016,42(10):123-126,130.
英文引用格式: Zhang Ziyang,Sun Zuolei,Zeng Liansun. The construction of visual tracking robot[J].Application of Electronic Technique,2016,42(10):123-126,130.
0 引言
機器視覺是一種利用視覺傳感器與計算機實現人的視覺功能的技術,它從采集的圖像中提取信息并進行處理和理解[1],處理后的結果用于機器人決策和控制。視覺追蹤是對移動目標的識別和對其移動屬性(如方向、速度、軌跡、加速度等)的持續獲取,然后對獲取的圖像序列進行目標提取和檢測,從而通過深入的分析和理解,達到對移動目標的行為的理解。視覺追蹤的本質就是對機器人獲取的視覺圖片進行合理利用,快速地對圖像信息進行處理,以便最快地為決策控制提供反饋信息,從而構成視覺追蹤的整個閉環系統[2]。而視覺追蹤機器人要實現的功能包括[3]:先通過攝像機獲取目標的方位信息,核心控制器通過相關算法判斷機器人下一步該如何移動,再將這些控制信號送給機器人移動的執行元件的驅動器,使之能追蹤目標物。
1 硬件平臺
視覺追蹤技術作為計算機視覺領域的熱門課題之一,所需硬件要具備視覺部件攝像頭、與上位機通信的硬件模塊(如WiFi天線、藍牙等)和靈活的移動控制模塊。此外,為實現避障,除了單目攝像頭之外,通常還會引入激光、紅外線傳感器等。Rovio WowWee機器人(如圖1),作為一款成本低而功能相對完善的玩具機器人,十分適合移動機器人的視覺追蹤及導航算法的研究。其擺臂前端的攝像頭數據通過無線連接實時傳回上位機,同時,3個全向輪確保了其運動的靈活性,下端的紅外傳感器可以用于避障。本文將基于Rovio構建視覺追蹤移動機器人系統。
2 通信與景物辨識
2.1 數據通信
Rovio可以接入互聯網,也可工作在Adhoc模式,在此模式下機器人的IP固定,通過Socket依托TCP/IP鏈路向機器人發送官方API文檔所指定的HTTP請求[4],機器人收到請求后產生動作并返回數據。整個流程如圖2所示。
圖像采集模塊是機器人進行視覺追蹤的重要組成部分,該模塊獲取當前圖像并提供保存接口,提供了離線處理數據的能力。為避免機器人與物體產生碰撞,使用紅外傳感器設計一簡單接口來實現檢測障礙物功能,根據傳感器返回數據結構使用8 bit的信息量來存儲信息,Bit0存儲LED燈的開關狀態,Bit1存儲IR傳感器的開關狀態,Bit2存儲IR檢測是否有障礙的狀態,0表示無,1表示有,分別定義3個檢測碼:(1<<0)、(1<<1)、(1<<2),用檢測碼與用戶接口的傳感器獲取的數據進行位與操作,所獲取結果即可作為傳感器檢測結果,如表1所示。
傳感器返回信息顯示此時IR打開,有障礙物。使用IR障礙物檢測碼檢測結果為1,表示有障礙物。
系統中的傳感器數據包括:3個輪子的方向、電機編碼器信息、電池狀態、擺臂位置、相機亮度、分辨率、幀率和WiFi信號強度等信息。
2.2 目標識別與追蹤
追蹤部分引入Tracking-Learning-Detection(TLD)追蹤算法[5],基于其在線追蹤機制,追蹤機器人所采集的每一幀圖像,處理追蹤結果并送入控制算法模塊。TLD的追蹤器、檢測器和機器學習之間關系如圖3所示。
TLD在對視頻中未知物體的長時間跟蹤有突出的優勢,“未知物體”指的是任意物體,通過選定追蹤的目標來初始化TLD,“長時間跟蹤”意味著對算法的實時性要求,而在追蹤中物體的消失再出現,光線、背景變化以及目標的遮擋給追蹤提出了很大的挑戰,單獨使用追蹤器或檢測器顯然無法勝任這樣復雜多變的工作,故TLD算法提出將追蹤器與檢測器結合,同時引入在線的機器學習來提高準確度。
2.2.1 追蹤器
追蹤器的作用是跟蹤連續幀間的運動,當物體可見時跟蹤器才會起作用,基于光流法的跟蹤器由前一幀已知目標位置估計當前幀的目標位置,所產生的運動軌跡為學習模塊提供正樣本。追蹤點的選擇依據FB(forward-backward consistency)誤差[6]篩選出誤差最小的部分點作為最佳追蹤點,如圖4所示,然后根據這些點的坐標變化計算t+1幀目標包圍幀的位置和尺度大小。
2.2.2 檢測器
檢測器使用的級聯分類器對圖像元樣本進行分類,級聯分類器共分為3個級別[5]:圖像元方差分類器(Patch Variance Classifier),計算圖像元像素灰度值的方差,如果圖像塊與目標圖像塊之間的方差(一般取灰度值計算)小于50%(經驗值),那么就拒絕這些圖像塊,此分類器將去除大量背景圖像塊;集成分類器(Ensemble Classifier),由N個基分類器組成,圖像元樣本經平滑濾波后取13對隨機點比較得到二進制碼,隨后依據各基分類器輸出的后驗概率結果平均,如果其值大于0.5,則接收并送入下一級分類器;最近鄰分類器(Nearest Neighbor Classifier),經過前兩級分類器,至此大約剩余50個圖像元,計算新樣本的相對相似度,如大于0.6,則認為這是正樣本并添加到目標模型。圖像元和相似度描述如下:
Sr取值在[0,1]之間,值越大代表相似度越高,最后取值最高樣本作為結果輸出。
2.2.3 P-N學習
P-N學習[5]是一種半監督的機器學習算法,針對檢測器對樣本分類時產生的兩種錯誤提供了兩種“專家”進行糾正:P專家(P-expert),針對分類為負樣本的樣本,檢出漏檢的正樣本;N專家(N-expert),針對分類為正樣本的樣本,改正誤檢的正樣本。
圖像元樣本是用不同尺寸掃描窗(scanning grid)對圖像進行逐行掃描,每個位置形成一個包圍框(bounding box),包圍幀所確定的圖像區域稱為一個圖像元,圖像元進入機器學習的樣本集即目標模型M成為一個樣本,掃描產生的樣本是未標簽樣本,需要用分類器確定其分類標簽。每一幀圖像內目標最多只出現在一個位置;相鄰幀間目標的運動是連續的,連續幀的位置可以構成一條較平滑的軌跡。P專家的作用是尋找數據在時間上的結構性,它利用追蹤器的結果預測物體在t+1幀的位置。如果這個位置(圖像元)被檢測器分類為負,P專家就把這個位置改為正。也就是說P專家要保證物體在連續幀上出現的位置可以構成連續的軌跡。N專家的作用是尋找數據在空間上的結構性,它把檢測器產生的和P專家產生的所有正樣本進行比較,選擇出一個最可信的位置,保證物體最多只出現在一個位置上,把這個位置作為TLD算法的追蹤結果。同時這個位置也用來重新初始化追蹤器。其結構如圖5所示。
3 跟隨控制
由圖像目標追蹤可得目標于圖像中的準確位置,通過控制算法對機器人進行控制,從而使得目標一直處于相機圖像中部位置,進而實現完整的視覺伺服功能。
圖像追蹤模塊追蹤到目標,通過TLD算法對目標縮放的估測能力[5]估計出目標的前后移動;通過圖像中目標的像素坐標變化估計出目標的左右移動趨勢,并使用PID控制對此作出定量反饋。
離散PID控制算法[7]為:
圖像逐幀追蹤所得的目標信息與目標期望位置的誤差送入PID控制器,進而對移速進行實時控制,較好的實現定量控制,對不同誤差值作出不同反饋。考慮到所選平臺的運動特性,現制定一種適用于本系統的控制策略。機器人前后運動依據追蹤目標的尺度縮放,左右運動依據實際值與期望像素坐標值的誤差值進行PID控制,最終完成對任意給定目標的視覺伺服任務,流程如圖6所示。
本文基于機器人全向輪的運動特性構建出運動控制模型如下:
由圖8可知:
由式(6)、式(7)可得機器人逆運動學方程:
因此機器人中心速度到輪子轉速的轉換方程為:
4 實驗
本文使用3個實驗驗證所提軟硬件系統的可行性,代碼在github上開源,代碼主頁:https://github.com/sunzuolei/wowwee。
4.1 基于紅外的避障
機器人在Adhoc模式下會發射無線信號,通過無線網卡連接到機器人后即可開始使用該驅動。當檢測到障礙物時,機器人左轉;當未檢測到時,機器人前進,本實驗視頻可通過腳注中地址查看。
4.2 追蹤指定顏色標記
先對機器人相機進行配置,然后獲取一幀圖像并顯示,如圖 9所示,對獲取圖像過濾并追蹤前方出現的粉色域(圖9中顯示為灰色),找出圖像中粉色方塊,遍歷找出最大的,并在其上打上X字符(如圖9 (b)中X符),然后將其顯示出來。
4.3 追蹤指定目標
通過在機器人前期采集圖像中框選感興趣的目標,可驗證機器人對人臉[8]、校園卡和水壺等物體的目標追蹤能力,如圖10所示,本實驗視頻可通過腳注中地址查看。
對走廊中標志物及人體后背的跟蹤結果如圖11所示,可見在一定的光照變化及目標運動的條件下,機器人的跟隨效果可以達到較好的效果,初步驗證了所提方案的可行性。
5 結論
本文所構建的視覺追蹤軟硬件系統在日常環境中可實時識別并跟隨目標移動,在實驗平臺上驗證了所提系統的可行性,且誤差控制在可接受范圍內,對伺服機器人的研究具有一定參考價值。
參考文獻
[1] 倪受東,劉洋,袁祖強.機器人視覺伺服綜述[J].機床與液壓,2007,35(9):227.
[2] 羅金梅.移動目標視覺追蹤系統設計與實現[D].成都:電子科技大學,2012.
[3] 盧光青,史金飛.視覺追蹤機器人實時控制系統的設計[J].中國制造業信息化,2009,38(17):49.
[4] WowWeeGroup.API specification for rovio[Z].2008.
[5] KALAL Z,MIKOLAJCZYK K,MATAS J.Tracking-learning-detection[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(7):1409-22.
[6] KALAL Z,MIKOLAJCZYK K,MATAS J.Forward-backward error:automatic detection of tracking failures[C].Proceedings of the Pattern Recognition(ICPR),2010 20th International Conference on,2010:2756-9.
[7] 劉金琨.先進PID控制MATLAB仿真(第三版)[M].北京:電子工業出版社,2010.
[8] KALAL Z,MIKOLAJCZYK K,MATAS J.Face-TLD:tracking-learning-detection applied to faces[C].Proceedings of the Image Processing(ICIP),2010 17th IEEE International Conference on,2010:3789-92.