引言
仿人機器人的頭部視覺跟蹤系統(tǒng)利用視覺信息作為反饋,來規(guī)劃機器人的頭部運動使其能實時的跟蹤運動目標(biāo)。視覺跟蹤是仿人機器人的重要功能之一,它的研究對于仿人機器人的自主導(dǎo)航、人機交互以及視覺伺服都具有極其重要的意義。
視覺跟蹤的實時性是仿人機器人的重要性能要求之一。針對這一系統(tǒng)要求,近年來有很多學(xué)者設(shè)計出了多種系統(tǒng)結(jié)構(gòu)。文[1]中作者設(shè)計了一種基于CAN總線的分布式的仿人機器人的控制系統(tǒng),其中的視覺系統(tǒng)通過無線局域網(wǎng)與控制系統(tǒng)進行通訊。日本仿人機器人ASIMO的運動控制系統(tǒng)采用集中式控制方式,視覺系統(tǒng)通過網(wǎng)絡(luò)與運動控制系統(tǒng)通訊[2]。一臺計算機難以滿足視覺跟蹤的實時性要求,為了實現(xiàn)實時跟蹤,本文提出并實現(xiàn)了一種基于MemoLink通訊的雙計算機的視覺跟蹤系統(tǒng)。該系統(tǒng)通訊可靠、體積小,便于將兩臺計算機安置于仿人機器人的胸腔內(nèi)。
目標(biāo)分割的穩(wěn)定性是機器人視覺跟蹤系統(tǒng)的重要要求之一,近幾年來很多學(xué)者對這個領(lǐng)域進行了研究,大多數(shù)的機器人目標(biāo)跟蹤系統(tǒng)選用了單一的圖像信息,有的采用了物體的顏色信息[3],有的采用了物體的輪廓信息[4]。然而在復(fù)雜的非結(jié)構(gòu)化的室內(nèi)背景下,單一的圖像信息不能保證系統(tǒng)穩(wěn)定的分割出目標(biāo)。多種圖像信息的融合是解決目標(biāo)物體識別穩(wěn)定性的方法之一[5]。本文中作者提出了一種集成深度、顏色和形狀信息的逐步逼近目標(biāo)區(qū)域的快速目標(biāo)分割方法
1 系統(tǒng)結(jié)構(gòu)
仿人機器人BHR1的系統(tǒng)結(jié)構(gòu)如圖1所示,其全身有32個自由度,其中頭部有2個自由度,可以在兩個方向上自由轉(zhuǎn)動,即左右轉(zhuǎn)動和上下轉(zhuǎn)動。面部放置兩只CCD攝像頭作為視覺傳感器來模擬人的眼睛。采用SVS立體視覺處理系統(tǒng)處理視覺信息,SVS系統(tǒng)提供了每幀圖像的深度圖像[6]。
[align=center]
圖1 仿人型機器人(BHR1)跟蹤系統(tǒng)的系統(tǒng)結(jié)構(gòu)[/align]
兩臺計算機置于機器人的胸腔內(nèi),其中一臺計算機負(fù)責(zé)視覺信息的處理,另外一臺負(fù)責(zé)機器人的運動控制。前者被稱之為信息處理子系統(tǒng),后者被稱為運動控制子系統(tǒng), 兩臺計算機通過Memolink進行通訊。信息處理子系統(tǒng)利用Windows強大的多媒體功能來處理立體視覺信息,實現(xiàn)目標(biāo)的快速分割以及物體的運動估計和預(yù)測。運動控制子系統(tǒng)以Linux/RT-Linux實時操作系統(tǒng)作為平臺,保證了機器人控制系統(tǒng)的實時性。除了頭部運動關(guān)節(jié),運動控制系統(tǒng)負(fù)責(zé)仿人機器人全部關(guān)節(jié)的控制。Memolink 是系統(tǒng)間進行快速通信的一種有效解決方案,是連接信息處理子系統(tǒng)和運動控制子系統(tǒng)的橋梁。具有通信速度快和通信前無需握手的優(yōu)點。
整個跟蹤過程執(zhí)行如下的循環(huán):搜索目標(biāo)——發(fā)現(xiàn)目標(biāo)——匹配——狀態(tài)估計和預(yù)測——運動控制。不同的匹配方法應(yīng)用產(chǎn)生了不同的跟蹤方法。本文中作者提出了一種融合深度、顏色和形狀信息的逐步逼近目標(biāo)區(qū)域的快速分割方法。在實時的跟蹤系統(tǒng)中,運動估計和預(yù)測有效的減少了檢測區(qū)域,提高了系統(tǒng)的跟蹤速度。研究中采用經(jīng)典的卡爾曼濾波器進行運動目標(biāo)的狀態(tài)估計和預(yù)測。
2 基于多圖像信息的目標(biāo)分割方法
視覺信息處理子系統(tǒng)完成目標(biāo)物體的快速分割,同時估計和預(yù)測目標(biāo)物體的運動信息,把目標(biāo)物體的位置信息實時地傳遞給運動控制子系統(tǒng)。目標(biāo)識別的穩(wěn)定性對整個跟蹤系統(tǒng)的穩(wěn)定性起著至關(guān)重要的作用。
在復(fù)雜背景的非結(jié)構(gòu)化的室內(nèi)環(huán)境下,用于機器人視覺跟蹤的圖像信息有:深度、顏色、形狀、邊緣、運動等?;诙嘈畔⒌倪\動目標(biāo)的分割方法中,所選取的信息應(yīng)該具有互補性。物體的顏色是物體最顯著的特征,適合用于目標(biāo)的跟蹤。但是當(dāng)背景中包含同樣顏色的物體時,基于顏色的跟蹤將會失敗。深度信息有助于系統(tǒng)得到粗略的前景區(qū)域,也就是包含運動物體的目標(biāo)候選窗口,另外基于深度分割的粗略前景輪廓的獲得計算量小,速度快?;赗HT(Random Hough transform)算法的形狀檢測器可以檢測各種不同的幾何形狀,比如:橢圓形、三角形和多邊形,進而把目標(biāo)候選區(qū)域中相同顏色的物體區(qū)別開來。
[align=center]
圖2 視頻序列中運動目標(biāo)分割過程[/align]
本文利用仿人機器人的立體視覺系統(tǒng),設(shè)計了融合深度,顏色,形狀信息的逐步逼近目標(biāo)區(qū)域的快速跟蹤方法。圖2為視頻序列中運動目標(biāo)的分割過程。首先利用深度信息把機器人關(guān)心的前景區(qū)域分割出來,得到ROF(Region of Foregroud)區(qū)域,即粗略的目標(biāo)候選區(qū)域。在ROF中使用顏色濾波器分割,得到ROIC(Region of Interest Color)區(qū)域。最后形狀檢測器可以把相同顏色的物體區(qū)別開來。在分割過程中,候選目標(biāo)區(qū)域逐步縮小并逼近目標(biāo)區(qū)域。逐步縮小的候選目標(biāo)區(qū)域減少了計算量,提高了系統(tǒng)的運算速度。同時,該方法有效的避免了場景中相同顏色物體的干擾,提高了目標(biāo)分割的穩(wěn)定性。圖3顯示了目標(biāo)物體的分割結(jié)果。
[align=center]
圖3 復(fù)雜場景中目標(biāo)物體的分割結(jié)[/align]‘
[b]3 運動控制子系統(tǒng)
3.1運動控制系統(tǒng)的結(jié)構(gòu) [/b]
機器人的運動控制子系統(tǒng)是一個典型的計算機控制系統(tǒng)。機器人頭部的控制目的是為了機器人的頭部能夠?qū)崟r跟蹤運動目標(biāo),因此實際控制信號輸入量是根據(jù)目標(biāo)物體的位置信息求得的規(guī)劃數(shù)據(jù)。在反饋信號的輸入方面,因為被控對象是電機轉(zhuǎn)動的角度,用電機上面的軸角編碼器的輸出作為反饋信號。
系統(tǒng)使用了一套多功能接口板,將所有的A/D轉(zhuǎn)換、D/A轉(zhuǎn)換、ENC(encoder)、PWM、IO等多種功能都集成在該接口板上,提高了系統(tǒng)的集成性并減小了系統(tǒng)體積和重量。多功能接口板上上的ENC接口來作為反饋信號的輸入通道,它可以測量軸角編碼器的脈沖輸出個數(shù)。每個運動關(guān)節(jié)采用經(jīng)典的PD伺服控制。
3.2運動控制系統(tǒng)的軟件結(jié)構(gòu)
運動控制子系統(tǒng)采用了RT-Linux(Real Time Linux)實時操作系統(tǒng),其軟件結(jié)構(gòu)如圖4所示,主要包括兩個模塊:主程序模塊、實時任務(wù)模塊,主程序模塊是linux應(yīng)用程序,實時任務(wù)模塊是RTlinux下的實時進程。兩個模塊也是兩個進程,通過管道(FIFO)進行通訊等。
[align=center]
圖4 BHR1運動控制系統(tǒng)的軟件結(jié)構(gòu)[/align]
實時任務(wù)主模塊包括兩部分:周期性執(zhí)行的實時控制循環(huán)(即實時線程)和實時任務(wù)觸發(fā)器。實時線程的周期性執(zhí)行是由一個循環(huán)實現(xiàn)的。該循環(huán)主要完成兩大功能:機器人運動控制、與各電機相連的軸角編碼器的信息采集。實時任務(wù)周期為3毫秒。實時任務(wù)周期是根據(jù)D/A通道處理時間和碼盤計數(shù)器讀取時間,以及傳感器信息獲取時間確定。
主程序模塊與一般的Linux應(yīng)用程序沒有區(qū)別,它主要有以下幾個功能:與信息處理系統(tǒng)通訊;向?qū)崟r任務(wù)傳送控制參數(shù);實現(xiàn)人機交互,即將從實時任務(wù)傳過來的電機轉(zhuǎn)動數(shù)據(jù)和傳感器數(shù)據(jù)輸出到監(jiān)視器上,同時將通過鍵盤輸入的控制信號,實際上主程序模塊主要實現(xiàn)控制臺的作用,可以稱之為控制臺程序。
3.3運動控制過程
跟蹤系統(tǒng)的控制目標(biāo)是:根據(jù)圖像處理獲取的目標(biāo)質(zhì)心在圖像平面中的位置,實時調(diào)整機器人頭部的2個電機轉(zhuǎn)動角度,將目標(biāo)置于圖像平面的中央位置。運動控制系統(tǒng)中一個控制循環(huán)大約需要3毫秒的時間。在信息處理系統(tǒng)中,處理一幀圖像平均需要100毫秒左右的時間。由此可見,視覺處理的周期要遠(yuǎn)遠(yuǎn)大于運動控制的周期。因此在一個視覺處理周期之后,系統(tǒng)應(yīng)該做好下一個視覺處理周期之內(nèi)的運動規(guī)劃,也就是做好后面多個控制周期之內(nèi)的運動規(guī)劃,這樣才能保證機器人的頭部以均勻、平緩,同時又是準(zhǔn)確的速度來跟蹤目標(biāo)。
4 實驗
在仿人機器人BHR1中,信息處理計算機的CPU為PⅣ2.4GHz,內(nèi)存為512MB,運動控制計算機的CPU為PIII700MHz,內(nèi)存為256MB。SVS系統(tǒng)的采集速度為15幀每秒,采集圖像的大小為320×240像素。Memolink采用PCI接口,最大傳輸速率為1M bytes/s或1M words/s。
4.1 復(fù)雜背景下運動目標(biāo)的跟蹤。
在運動物體跟蹤實驗中,紅色小球作為目標(biāo)在機器人的視野中做單擺運動。為了驗證基于多圖像信息的目標(biāo)識別算法,背景中放置了紅色的方塊和一個綠色的小球。實驗結(jié)果如圖5所示,第一行圖像是實驗場景,第二行圖像是左攝像頭的視頻序列,結(jié)果表明彩色目標(biāo)運動速度小于0.3m/s時,機器人頭部仍可以很好地跟蹤目標(biāo)的運動,并使其始終位于左側(cè)攝像機所采集到圖像的中央位置。在復(fù)雜的非結(jié)構(gòu)環(huán)境的室內(nèi)背景下,利用單一的圖像信息,系統(tǒng)很可能會跟蹤失敗。相同背景下,單一的顏色信息不能將紅色的小球和背景中的紅色方塊區(qū)分開來。
[align=center]
圖 5 復(fù)雜背景下彩色目標(biāo)跟蹤實驗[/align]
圖6顯示了紅色小球運動狀態(tài)時的跟蹤過程,圖中的數(shù)據(jù)為實際數(shù)據(jù)的1/10抽樣。可以看出,在X軸方向上,目標(biāo)質(zhì)心坐標(biāo)到圖像中心的偏差在±30個像素以內(nèi),在y軸方向上,目標(biāo)質(zhì)心坐標(biāo)到圖像中心的偏差在±20個像素內(nèi)。實驗說明在物體的運動過程中,跟蹤系統(tǒng)能夠?qū)崟r跟蹤物體并將物體的質(zhì)心保持在左眼攝像機的中心。
[align=center]
圖6 目標(biāo)在X、Y方向上的跟蹤誤差(像素)[/align]
5 結(jié)論
本文提出了基于Memolink通訊的雙計算機的仿人機器人的視覺跟蹤系統(tǒng),系統(tǒng)能夠滿足仿人機器人實時視覺跟蹤的性能要求。
在未知的復(fù)雜環(huán)境中,基于深度、顏色和模版匹配的多圖像信息融合方案確保機器人穩(wěn)定的從視頻序列中分割出運動目標(biāo)。
本文作者的創(chuàng)新點
本文提出并實現(xiàn)了一種基于MemoLink通訊的雙計算機的視覺跟蹤系統(tǒng), 一臺計算機負(fù)責(zé)視頻信息的處理,另一臺計算機負(fù)責(zé)機器人頭部的運動控制,實現(xiàn)了仿人機器人頭部對運動目標(biāo)的實時跟蹤。本文提出了一種集成深度、顏色和形狀信息的逐步逼近目標(biāo)區(qū)域的快速目標(biāo)分割方法,實現(xiàn)了復(fù)雜背景下目標(biāo)物體的穩(wěn)定分割。