《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 視覺(jué)追蹤機(jī)器人系統(tǒng)構(gòu)建研究
視覺(jué)追蹤機(jī)器人系統(tǒng)構(gòu)建研究
2016年電子技術(shù)應(yīng)用第10期
張子洋,孫作雷,曾連蓀
上海海事大學(xué) 信息工程學(xué)院,上海201306
摘要: 以低成本機(jī)器人Rovio WowWee作為下位機(jī)平臺(tái),通過(guò)上位機(jī)編程,實(shí)現(xiàn)對(duì)單目視覺(jué)圖像和紅外數(shù)據(jù)的在線解析,辨識(shí)指定物體,基于前向回溯一致性誤差確定待追蹤的點(diǎn),構(gòu)建視覺(jué)追蹤機(jī)器人系統(tǒng);并引入在線學(xué)習(xí)方法,使用追蹤、學(xué)習(xí)和檢測(cè)算法框架提升了機(jī)器人目標(biāo)追蹤的性能。通過(guò)PID對(duì)機(jī)器人進(jìn)行伺服控制。三組實(shí)驗(yàn)初步驗(yàn)證了所提系統(tǒng)的可行性。實(shí)驗(yàn)使用C++在Linux下編程實(shí)現(xiàn),并在Github上開(kāi)源,對(duì)科研及市場(chǎng)應(yīng)用具有一定參考價(jià)值。
中圖分類號(hào): TP242
文獻(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.
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 引言

    機(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)。

jsj3-t1.gif

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所示。

jsj3-t2.gif

    圖像采集模塊是機(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所示。

jsj3-b1.gif

    傳感器返回信息顯示此時(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所示。

jsj3-t3.gif

    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)包圍幀的位置和尺度大小。

jsj3-t4.gif

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)模型。圖像元和相似度描述如下:

jsj3-gs1-3.gif

    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所示。

jsj3-t5.gif

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]為:

jsj3-gs4.gif

    圖像逐幀追蹤所得的目標(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所示。

jsj3-t6.gif

    本文基于機(jī)器人全向輪的運(yùn)動(dòng)特性構(gòu)建出運(yùn)動(dòng)控制模型如下:

jsj3-t6-x1.gif

jsj3-t7.gif

jsj3-t8.gif

    由圖8可知:

    jsj3-gs5-7.gif

    由式(6)、式(7)可得機(jī)器人逆運(yùn)動(dòng)學(xué)方程:

     jsj3-gs8-9.gif

    因此機(jī)器人中心速度到輪子轉(zhuǎn)速的轉(zhuǎn)換方程為:

jsj3-gs10.gif

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)。

jsj3-t9.gif

4.3 追蹤指定目標(biāo)

    通過(guò)在機(jī)器人前期采集圖像中框選感興趣的目標(biāo),可驗(yàn)證機(jī)器人對(duì)人臉[8]、校園卡和水壺等物體的目標(biāo)追蹤能力,如圖10所示,本實(shí)驗(yàn)視頻可通過(guò)腳注中地址查看。

jsj3-t10.gif

    對(duì)走廊中標(biāo)志物及人體后背的跟蹤結(jié)果如圖11所示,可見(jiàn)在一定的光照變化及目標(biāo)運(yùn)動(dòng)的條件下,機(jī)器人的跟隨效果可以達(dá)到較好的效果,初步驗(yàn)證了所提方案的可行性。

jsj3-t11.gif

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.

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