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