《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 視覺追蹤機器人系統(tǒng)構建研究
視覺追蹤機器人系統(tǒng)構建研究
2016年電子技術應用第10期
張子洋,孫作雷,,曾連蓀
上海海事大學 信息工程學院,上海201306
摘要: 以低成本機器人Rovio WowWee作為下位機平臺,通過上位機編程,,實現(xiàn)對單目視覺圖像和紅外數(shù)據(jù)的在線解析,辨識指定物體,,基于前向回溯一致性誤差確定待追蹤的點,,構建視覺追蹤機器人系統(tǒng);并引入在線學習方法,,使用追蹤,、學習和檢測算法框架提升了機器人目標追蹤的性能。通過PID對機器人進行伺服控制,。三組實驗初步驗證了所提系統(tǒng)的可行性,。實驗使用C++在Linux下編程實現(xiàn),并在Github上開源,,對科研及市場應用具有一定參考價值,。
中圖分類號: TP242
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.032
中文引用格式: 張子洋,孫作雷,,曾連蓀. 視覺追蹤機器人系統(tǒng)構建研究[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.
The construction of visual tracking robot
Zhang Ziyang,,Sun Zuolei,,Zeng Liansun
College of Information Engineering,Shanghai Maritime University,,Shanghai 201306,,China
Abstract: The low cost robot Rovio WowWee is employed as the slave machine. With the program deployed on the master machine, the monocular image and infrared data are parsed online, then the specified object is recognized, and the potential feature point is selected by valuing forward-backward consistency error, all these above construct the visual tracking robot system. In order to improve the target tracking performance, the online learning approach, Tracking-Learning-Detection(TLD), is involved. Robot servo control uses PID method. Furthermore, three experiments demonstrate the feasibility of the proposed system. All the demos are implemented by programming on Linux with C++, the code, which can be freely use for research, is available on Github. It has a certain reference value for the research and application.
Key words : visual tracking;mobile robot,;online learning,;PID;open source

0 引言

    機器視覺是一種利用視覺傳感器與計算機實現(xiàn)人的視覺功能的技術,,它從采集的圖像中提取信息并進行處理和理解[1],,處理后的結果用于機器人決策和控制,。視覺追蹤是對移動目標的識別和對其移動屬性(如方向、速度,、軌跡,、加速度等)的持續(xù)獲取,然后對獲取的圖像序列進行目標提取和檢測,,從而通過深入的分析和理解,,達到對移動目標的行為的理解。視覺追蹤的本質就是對機器人獲取的視覺圖片進行合理利用,,快速地對圖像信息進行處理,,以便最快地為決策控制提供反饋信息,從而構成視覺追蹤的整個閉環(huán)系統(tǒng)[2],。而視覺追蹤機器人要實現(xiàn)的功能包括[3]:先通過攝像機獲取目標的方位信息,,核心控制器通過相關算法判斷機器人下一步該如何移動,再將這些控制信號送給機器人移動的執(zhí)行元件的驅動器,,使之能追蹤目標物,。

1 硬件平臺

    視覺追蹤技術作為計算機視覺領域的熱門課題之一,所需硬件要具備視覺部件攝像頭,、與上位機通信的硬件模塊(如WiFi天線,、藍牙等)和靈活的移動控制模塊。此外,,為實現(xiàn)避障,,除了單目攝像頭之外,通常還會引入激光,、紅外線傳感器等,。Rovio WowWee機器人(如圖1),作為一款成本低而功能相對完善的玩具機器人,,十分適合移動機器人的視覺追蹤及導航算法的研究,。其擺臂前端的攝像頭數(shù)據(jù)通過無線連接實時傳回上位機,同時,,3個全向輪確保了其運動的靈活性,,下端的紅外傳感器可以用于避障。本文將基于Rovio構建視覺追蹤移動機器人系統(tǒng),。

jsj3-t1.gif

2 通信與景物辨識

2.1 數(shù)據(jù)通信

    Rovio可以接入互聯(lián)網(wǎng),,也可工作在Adhoc模式,在此模式下機器人的IP固定,,通過Socket依托TCP/IP鏈路向機器人發(fā)送官方API文檔所指定的HTTP請求[4],,機器人收到請求后產生動作并返回數(shù)據(jù)。整個流程如圖2所示。

jsj3-t2.gif

    圖像采集模塊是機器人進行視覺追蹤的重要組成部分,,該模塊獲取當前圖像并提供保存接口,,提供了離線處理數(shù)據(jù)的能力。為避免機器人與物體產生碰撞,,使用紅外傳感器設計一簡單接口來實現(xiàn)檢測障礙物功能,,根據(jù)傳感器返回數(shù)據(jù)結構使用8 bit的信息量來存儲信息,Bit0存儲LED燈的開關狀態(tài),,Bit1存儲IR傳感器的開關狀態(tài),,Bit2存儲IR檢測是否有障礙的狀態(tài),0表示無,,1表示有,,分別定義3個檢測碼:(1<<0),、(1<<1),、(1<<2),用檢測碼與用戶接口的傳感器獲取的數(shù)據(jù)進行位與操作,,所獲取結果即可作為傳感器檢測結果,,如表1所示。

jsj3-b1.gif

    傳感器返回信息顯示此時IR打開,,有障礙物,。使用IR障礙物檢測碼檢測結果為1,表示有障礙物,。

    系統(tǒng)中的傳感器數(shù)據(jù)包括:3個輪子的方向,、電機編碼器信息、電池狀態(tài),、擺臂位置,、相機亮度、分辨率,、幀率和WiFi信號強度等信息,。

2.2 目標識別與追蹤

    追蹤部分引入Tracking-Learning-Detection(TLD)追蹤算法[5],基于其在線追蹤機制,,追蹤機器人所采集的每一幀圖像,,處理追蹤結果并送入控制算法模塊。TLD的追蹤器,、檢測器和機器學習之間關系如圖3所示,。

jsj3-t3.gif

    TLD在對視頻中未知物體的長時間跟蹤有突出的優(yōu)勢,“未知物體”指的是任意物體,,通過選定追蹤的目標來初始化TLD,,“長時間跟蹤”意味著對算法的實時性要求,而在追蹤中物體的消失再出現(xiàn),光線,、背景變化以及目標的遮擋給追蹤提出了很大的挑戰(zhàn),,單獨使用追蹤器或檢測器顯然無法勝任這樣復雜多變的工作,故TLD算法提出將追蹤器與檢測器結合,,同時引入在線的機器學習來提高準確度,。

2.2.1 追蹤器

    追蹤器的作用是跟蹤連續(xù)幀間的運動,當物體可見時跟蹤器才會起作用,,基于光流法的跟蹤器由前一幀已知目標位置估計當前幀的目標位置,,所產生的運動軌跡為學習模塊提供正樣本。追蹤點的選擇依據(jù)FB(forward-backward consistency)誤差[6]篩選出誤差最小的部分點作為最佳追蹤點,,如圖4所示,,然后根據(jù)這些點的坐標變化計算t+1幀目標包圍幀的位置和尺度大小。

jsj3-t4.gif

2.2.2 檢測器

    檢測器使用的級聯(lián)分類器對圖像元樣本進行分類,,級聯(lián)分類器共分為3個級別[5]:圖像元方差分類器(Patch Variance Classifier),,計算圖像元像素灰度值的方差,如果圖像塊與目標圖像塊之間的方差(一般取灰度值計算)小于50%(經(jīng)驗值),,那么就拒絕這些圖像塊,,此分類器將去除大量背景圖像塊;集成分類器(Ensemble Classifier),,由N個基分類器組成,,圖像元樣本經(jīng)平滑濾波后取13對隨機點比較得到二進制碼,隨后依據(jù)各基分類器輸出的后驗概率結果平均,,如果其值大于0.5,,則接收并送入下一級分類器;最近鄰分類器(Nearest Neighbor Classifier),,經(jīng)過前兩級分類器,,至此大約剩余50個圖像元,計算新樣本的相對相似度,,如大于0.6,,則認為這是正樣本并添加到目標模型。圖像元和相似度描述如下:

jsj3-gs1-3.gif

    Sr取值在[0,,1]之間,,值越大代表相似度越高,最后取值最高樣本作為結果輸出,。

2.2.3 P-N學習

    P-N學習[5]是一種半監(jiān)督的機器學習算法,,針對檢測器對樣本分類時產生的兩種錯誤提供了兩種“專家”進行糾正:P專家(P-expert),針對分類為負樣本的樣本,,檢出漏檢的正樣本,;N專家(N-expert),,針對分類為正樣本的樣本,改正誤檢的正樣本,。

    圖像元樣本是用不同尺寸掃描窗(scanning grid)對圖像進行逐行掃描,,每個位置形成一個包圍框(bounding box),包圍幀所確定的圖像區(qū)域稱為一個圖像元,,圖像元進入機器學習的樣本集即目標模型M成為一個樣本,,掃描產生的樣本是未標簽樣本,需要用分類器確定其分類標簽,。每一幀圖像內目標最多只出現(xiàn)在一個位置,;相鄰幀間目標的運動是連續(xù)的,連續(xù)幀的位置可以構成一條較平滑的軌跡,。P專家的作用是尋找數(shù)據(jù)在時間上的結構性,,它利用追蹤器的結果預測物體在t+1幀的位置。如果這個位置(圖像元)被檢測器分類為負,,P專家就把這個位置改為正,。也就是說P專家要保證物體在連續(xù)幀上出現(xiàn)的位置可以構成連續(xù)的軌跡。N專家的作用是尋找數(shù)據(jù)在空間上的結構性,,它把檢測器產生的和P專家產生的所有正樣本進行比較,,選擇出一個最可信的位置,保證物體最多只出現(xiàn)在一個位置上,,把這個位置作為TLD算法的追蹤結果。同時這個位置也用來重新初始化追蹤器,。其結構如圖5所示,。

jsj3-t5.gif

3 跟隨控制

    由圖像目標追蹤可得目標于圖像中的準確位置,通過控制算法對機器人進行控制,,從而使得目標一直處于相機圖像中部位置,,進而實現(xiàn)完整的視覺伺服功能。

    圖像追蹤模塊追蹤到目標,,通過TLD算法對目標縮放的估測能力[5]估計出目標的前后移動,;通過圖像中目標的像素坐標變化估計出目標的左右移動趨勢,并使用PID控制對此作出定量反饋,。

    離散PID控制算法[7]為:

jsj3-gs4.gif

    圖像逐幀追蹤所得的目標信息與目標期望位置的誤差送入PID控制器,,進而對移速進行實時控制,較好的實現(xiàn)定量控制,,對不同誤差值作出不同反饋,。考慮到所選平臺的運動特性,,現(xiàn)制定一種適用于本系統(tǒng)的控制策略,。機器人前后運動依據(jù)追蹤目標的尺度縮放,,左右運動依據(jù)實際值與期望像素坐標值的誤差值進行PID控制,最終完成對任意給定目標的視覺伺服任務,,流程如圖6所示,。

jsj3-t6.gif

    本文基于機器人全向輪的運動特性構建出運動控制模型如下:

jsj3-t6-x1.gif

jsj3-t7.gif

jsj3-t8.gif

    由圖8可知:

    jsj3-gs5-7.gif

    由式(6)、式(7)可得機器人逆運動學方程:

     jsj3-gs8-9.gif

    因此機器人中心速度到輪子轉速的轉換方程為:

jsj3-gs10.gif

4 實驗

    本文使用3個實驗驗證所提軟硬件系統(tǒng)的可行性,,代碼在github上開源,,代碼主頁:https://github.com/sunzuolei/wowwee。

4.1 基于紅外的避障

    機器人在Adhoc模式下會發(fā)射無線信號,,通過無線網(wǎng)卡連接到機器人后即可開始使用該驅動,。當檢測到障礙物時,機器人左轉,;當未檢測到時,,機器人前進,本實驗視頻可通過腳注中地址查看,。 

4.2 追蹤指定顏色標記

    先對機器人相機進行配置,,然后獲取一幀圖像并顯示,如圖 9所示,,對獲取圖像過濾并追蹤前方出現(xiàn)的粉色域(圖9中顯示為灰色),,找出圖像中粉色方塊,遍歷找出最大的,,并在其上打上X字符(如圖9 (b)中X符),,然后將其顯示出來。

jsj3-t9.gif

4.3 追蹤指定目標

    通過在機器人前期采集圖像中框選感興趣的目標,,可驗證機器人對人臉[8],、校園卡和水壺等物體的目標追蹤能力,如圖10所示,,本實驗視頻可通過腳注中地址查看,。

jsj3-t10.gif

    對走廊中標志物及人體后背的跟蹤結果如圖11所示,可見在一定的光照變化及目標運動的條件下,,機器人的跟隨效果可以達到較好的效果,,初步驗證了所提方案的可行性。

jsj3-t11.gif

5 結論

    本文所構建的視覺追蹤軟硬件系統(tǒng)在日常環(huán)境中可實時識別并跟隨目標移動,,在實驗平臺上驗證了所提系統(tǒng)的可行性,,且誤差控制在可接受范圍內,對伺服機器人的研究具有一定參考價值,。

參考文獻

[1] 倪受東,,劉洋,袁祖強.機器人視覺伺服綜述[J].機床與液壓,,2007,,35(9):227.

[2] 羅金梅.移動目標視覺追蹤系統(tǒng)設計與實現(xiàn)[D].成都:電子科技大學,,2012.

[3] 盧光青,史金飛.視覺追蹤機器人實時控制系統(tǒng)的設計[J].中國制造業(yè)信息化,,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].北京:電子工業(yè)出版社,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.

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載。