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