陳旭鳳 趙彥偉 胡雪花 張茜 黃文靜
摘?要:當(dāng)前服務(wù)型移動機(jī)器人在未知環(huán)境下,大多需要一直進(jìn)行避障算法的計算,這會使得系統(tǒng)的能耗增高,工作效率降低。針對上述現(xiàn)狀,本文設(shè)計了一種基于多傳感器融合的服務(wù)機(jī)器人避障系統(tǒng):利用彩色圖像信息和相匹配的高質(zhì)量深度場景圖的信息,進(jìn)行機(jī)器人與跟蹤目標(biāo)之間有無障礙物的判斷,以及障礙物的動靜態(tài)分類,并針對無障礙物、有靜態(tài)障礙物與有動態(tài)障礙物的檢測結(jié)果設(shè)計了不同的避障策略。
關(guān)鍵詞:多傳感器融合;障礙物檢測;避障策略;服務(wù)機(jī)器人
大多數(shù)傳統(tǒng)的跟蹤方法只將彩色圖像用于跟蹤目標(biāo)過程中,這可能會遭受到不斷變化的環(huán)境,如光照變化、部分遮擋和背景雜波,導(dǎo)致所謂模型的漂移問題,而深度圖像包含空間信息、深度圖像編碼這些問題的重要線索。在獲取到跟蹤目標(biāo)所處的場景信息后,服務(wù)機(jī)器人仍然需要對所處環(huán)境中可能存在的障礙物進(jìn)行檢測,并對檢測結(jié)果做出合理的避障行為??偠灾?,當(dāng)前服務(wù)型移動機(jī)器人在未知環(huán)境下的避障需要一直進(jìn)行避障算法的計算,這會使得系統(tǒng)的能耗增高,工作效率降低。
為了達(dá)到使服務(wù)機(jī)器人更好地跟蹤服務(wù)對象的目的,本文設(shè)計了一種基于多傳感器融合的服務(wù)機(jī)器人避障系統(tǒng)。該系統(tǒng)通過融合視覺和深度傳感器進(jìn)行場景信息的獲取,對獲取到的彩色和深度圖像進(jìn)行處理完成障礙物的檢測和分類,針對不同類型的障礙物設(shè)計相應(yīng)的機(jī)器人避障策略。系統(tǒng)框圖如圖1所示。
1?多傳感器融合
1.1?服務(wù)機(jī)器人平臺
本文研究基于ARTrobotROS全開放機(jī)器人套件開展,系統(tǒng)平臺包含顏色攝像頭(高分辨率)、深度攝像頭(低分辨率;有效傳感深度為1.2~3.5m)、麥克風(fēng)陣列等,并提供人體跟隨實例代碼。其系統(tǒng)架構(gòu)如圖2所示。
1.2?彩色和深度傳感器融合
筆者在前期工作中,融合其彩色視覺傳感器和深度視覺傳感器,構(gòu)成了一個能獲取到更高質(zhì)量、分辨率更合理的場景深度圖的深度成像系統(tǒng),以便于后期基于此高質(zhì)量的場景深度圖進(jìn)一步進(jìn)行障礙物檢測和避障策略的設(shè)計[1]。
2?障礙物檢測
在基于TOF的快速加權(quán)中值濾波深度成像系統(tǒng)的支撐下,可以獲取到機(jī)器人跟蹤目標(biāo)過程中通過攝像頭系統(tǒng)得到的場景深度圖?;谝曈X和深度傳感器融合的平臺,可對跟蹤過程中障礙物進(jìn)行檢測識別與分類。
2.1?檢測有無障礙物
本方法主要采用深度直方圖來判斷是否有障礙物存在于機(jī)器人與跟蹤目標(biāo)之間[2]。
基于服務(wù)機(jī)器人跟蹤目標(biāo)過程中采用如下跟蹤模塊的前提:在第t幀中目標(biāo)的位置A=(xt,yt,wt,ht),然后在目標(biāo)位置附近提取一些正樣本并在遠(yuǎn)離目標(biāo)位置提取一些負(fù)樣本。分別在彩色圖像和深度圖像中計算其特性來更新貝葉斯分類器的參數(shù)。在接下來的t+1幀,我們得到位置A周圍的一些樣本,把它們放進(jìn)更新后的貝葉斯分類器。通過這種方法,分類器中得分最高的被認(rèn)為是當(dāng)前幀的目標(biāo)位置(xt+1,yt+1,wt+1,ht+1)。
假設(shè)跟蹤目標(biāo)框在第一幀沒有發(fā)生遮擋,則進(jìn)行以下圖像處理:(1)把跟蹤目標(biāo)所在的場景深度圖進(jìn)行預(yù)處理。把深度值歸一化到0~255之間,越靠近相機(jī)則深度值越大。因此當(dāng)發(fā)生遮擋時,遮擋物的深度值將大于目標(biāo)的深度值。(2)計算跟蹤目標(biāo)框的深度直方圖,并將目標(biāo)深度值融合成一個高斯分布。因為一個目標(biāo)中的深度值是連續(xù)的,所以在直方圖中會有一個最大值的波峰,如圖3左圖所示(中間圖像為深度圖提取出來的跟蹤目標(biāo))。(3)對于后續(xù)獲得的每一幀,在得到跟蹤目標(biāo)的位置后,計算新一幀的深度直方圖。(4)判斷有無障礙物存在:如果出現(xiàn)了滿足高斯分布均值和標(biāo)準(zhǔn)差特定條件[見公式(1)]的新的峰值,則認(rèn)為遮擋發(fā)生,即在服務(wù)機(jī)器人與跟蹤目標(biāo)之間存在障礙物。如圖3右圖所示。
圖3?左:深度圖中跟蹤目標(biāo)框所得到的深度直方圖(坐標(biāo)系圖中曲線為目標(biāo)的深度高斯分布);中:深度直方圖中的跟蹤目標(biāo);右:遮擋出現(xiàn)時,深度直方圖中出現(xiàn)新峰值
|μ-larg?erdepthvalue|>2*σ(1)
2.2?障礙物動靜態(tài)分類
基于前文對是否存在障礙物的判斷進(jìn)行后續(xù)障礙物分類:如果沒有障礙物存在,則不需要對其類型進(jìn)行判斷;如果有障礙物存在,則需要進(jìn)一步判斷該障礙物的類型。
本文采用三幀差分法與金字塔LK光流法結(jié)合的方法[3],判斷該障礙物是否為動態(tài)障礙物,并且得到該動態(tài)障礙物的具體區(qū)域,以便于后期的避障。若結(jié)果判定為動態(tài),則指定機(jī)器人進(jìn)行動態(tài)避障策略;否則指定機(jī)器人進(jìn)行靜態(tài)避障策略。
對三幀差分法處理結(jié)果再進(jìn)行金字塔LK光流法的具體步驟如下:
(1)對機(jī)器人的視覺成像系統(tǒng)獲取到的視頻序列預(yù)處理、去噪。
(2)取視頻序列的連續(xù)三幀圖像Ii1(x,y)、Ii(x,y)、Ii+1(x,y),對Ii1(x,y)、Ii(x,y)做差分運(yùn)算,得到幀差圖像fi(x,y),對Ii(x,y)、Ii+1(x,y)做差分運(yùn)算,得到幀差圖像fi+1(x,y)。
(3)對幀差圖像fi(x,y)、fi+1(x,y)做二值化處理之后再進(jìn)行邏輯與操作,從而能夠得到運(yùn)動區(qū)域的圖像J(x,y)。
(4)對J(x,y)建立金字塔模型JL,L=0,1,……,Lm。首先初始化金字塔最底層也就是Lm層的光流估計值gLm=[0?0]T,Lm層圖像上特征點u的速度為uL=u2L。
(5)對圖像JL求x、y的偏導(dǎo)數(shù)JLx、JLy,計算G=∑uLx+wx-uLx-w∑uLy+wy-uLx-wJ2xJxJyJxJyJ2y。
(6)初始化光流dLm=[0?0]T,求δI=JL(x,y)-JL(x+gLx,y+gLy),計算b=∑uLx+wx-uLx-w∑uLy+wy-uLx-wδI·IxδI·Iy。
(7)計算得到Lm層的光流值dL=G-1b,計算Lm1層的光流gL-1=2(gL+dL),以此類推得到最后的光流值d=g0+d0。
(8)圖像P(x,y)的對應(yīng)特征點為ν=u+d;最后得到運(yùn)動目標(biāo)圖像P(x,y)。
在移動機(jī)器人跟隨服務(wù)目標(biāo)移動過程中,當(dāng)檢測到存在其他運(yùn)動物體的有效圖像時,將此次對遮擋物的判斷分類為——動態(tài)障礙物,并執(zhí)行“動態(tài)避障行為”;否則將此次對遮擋物的判斷分類為——靜態(tài)障礙物,并執(zhí)行“靜態(tài)避障行為”。
3?避障策略
基于障礙物的分類與多傳感器深度成像系統(tǒng)所獲取的數(shù)據(jù),設(shè)計了應(yīng)對跟蹤過程中出現(xiàn)未知障礙物的避障策略。
3.1?機(jī)器人避障行為
針對前文工作對于障礙物的檢測和分類,將獲取到的場景圖平均分為左中右視場[4]。移動機(jī)器人采用的避障行為主要設(shè)計思路為:前方無障礙物,直線運(yùn)動;左前方有障礙物,右轉(zhuǎn);右前方有障礙物,左轉(zhuǎn)。最終將避障策略的設(shè)計落實到機(jī)器人避障指令的關(guān)鍵為:確定機(jī)器人的左右輪速wl、wr和轉(zhuǎn)動角速度θ。
本文設(shè)計的服務(wù)機(jī)器人避障策略主要分為以下三種行為:
(1)無障礙物出現(xiàn)——避障行為1:保持服務(wù)對象即跟蹤目標(biāo)在圖像的中間視場,直線運(yùn)動保持跟隨;同時實時運(yùn)行視覺傳感器和障礙物檢測算法。如果檢測到有障礙物出現(xiàn)則進(jìn)行障礙物的靜動態(tài)判斷,否則保持避障策略1行為。
(2)出現(xiàn)靜態(tài)障礙物——避障行為2:根據(jù)場景的深度信息判斷該障礙物的邊界,并使移動機(jī)器人在以跟蹤目標(biāo)為主線的路徑上進(jìn)行角度微調(diào),沿其邊界繞路行走,直到障礙物識別結(jié)果為“無障礙物”為止。具體實施方法:根據(jù)多傳感器系統(tǒng)獲取到的修正(去噪+形態(tài)學(xué)處理)后的深度圖,使用邊緣檢測算法,得到靜態(tài)障礙物的邊緣,結(jié)合從視場的深度直方圖獲取到的該障礙物與機(jī)器人的距離,對機(jī)器人進(jìn)行合理的避障決策——①在距障礙物較遠(yuǎn)處可以保持直接跟蹤;②到一定距離閾值處根據(jù)該靜態(tài)障礙物的邊緣進(jìn)行左轉(zhuǎn)或右轉(zhuǎn),從而達(dá)到避障的目的:本方法將場景平均分為左中右三視場,當(dāng)障礙物在左或左中視場時,機(jī)器人右轉(zhuǎn);障礙物在右或右中視場時,機(jī)器人左轉(zhuǎn);障礙物在中視場時,機(jī)器人左轉(zhuǎn)或右轉(zhuǎn)避障皆可。
(3)出現(xiàn)動態(tài)障礙物——避障行為3:根據(jù)前文中障礙物檢測算法得到了動態(tài)障礙物目標(biāo)的位置與邊緣,接著使用VFH算法進(jìn)行機(jī)器人的實時動態(tài)避障。該算法將移動機(jī)器人運(yùn)動場景的環(huán)境信息表征成若干個二維柵格系列,其中每個柵格都有一個概率值用來表示該像素點存在障礙物的可能性大小,即可信度CV(Certainty?Value)。
具體實施方法如下:
①柵格向量化。對t時刻視頻中的幀進(jìn)行柵格向量化,使用的計算公式為:mi,j=(ci,j)2(a-bdi,j)。
移動機(jī)器人t+1的運(yùn)動方向由t時與障礙物的相對位置依據(jù)下方公式而定:
βi,j=tan-1yj-y0xi-x0
其中,a、b是正常數(shù),Ci,j為視頻圖像中柵格(i,j)的CV值,di,j是該柵格到機(jī)器人中心點的距離值,(x0,y0)是t時刻移動機(jī)器人中心點的絕對位置坐標(biāo),(xj,yj)是柵格的絕對位置。
②活動窗口分區(qū)。假設(shè)圖像的分辨率為α,包括n=360α個區(qū)間,對于任意區(qū)間k,(k=0,1,2,...,n1),有k=int(βi,jα),其障礙密度hk=∑i,jmi,j。在此基礎(chǔ)上可采用下述方法進(jìn)行平滑處理:
h′k=hk-l+1+2hk-l+2+…+lhk+(l-1)hk+1+…+2hk+l-1+hk+l2l-1(2)
③確定移動機(jī)器人的運(yùn)動方向θ。經(jīng)上式(2)的計算能得到環(huán)境圖像中每個分區(qū)障礙物的概率密度;采用概率密度與閾值τ對比,從而確定區(qū)間是否足夠移動機(jī)器人行走,其中閾值需要提前設(shè)定。當(dāng)障礙物的概率密度小于τ時,該區(qū)域為安全區(qū)域,當(dāng)有連續(xù)多個區(qū)間(大多超過18個區(qū)間)都為安全區(qū)域時,則稱這些區(qū)域為A,否則稱之為B。A的最左邊區(qū)間為kl,最右邊區(qū)間為kr,此時移動機(jī)器人的運(yùn)動方向為:
θ=12(kl+kr)
3.2?系統(tǒng)避障策略
本文所提出的避障策略方法概括如下:
STEP1:以特定時間間隔連續(xù)獲取含跟蹤目標(biāo)在內(nèi)的、同一場景的彩色圖Image_color和深度圖Image_depth,得到不同時刻相匹配的連續(xù)幀Image_color_t1、Image_color_t、Image_color_t+1和Image_depth_t1、Image_depth_t、Image_depth_t+1,并將場景平均分為左中右三視場。
STEP2:利用當(dāng)前場景的深度直方圖(由Image_depth_t計算得出)判斷移動機(jī)器人與跟蹤目標(biāo)間是否有遮擋物。
(1)無遮擋物則歸類為“無障礙物出現(xiàn)”,同時執(zhí)行避障行為1;
(2)有遮擋物則歸類為“有障礙物出現(xiàn)”,進(jìn)入STEP3判斷該遮擋物類型。
STEP3:使用三幀差分法與金字塔LK光流法結(jié)合判斷是否存在動態(tài)障礙物。
(1)如果不存在運(yùn)動物體的有效圖像,則歸類為“靜態(tài)障礙物”,同時執(zhí)行避障行為2。完成避障行為后返回STEP1。
(2)如果得到了運(yùn)動物體的有效圖像,則歸類為“動態(tài)障礙物”,同時執(zhí)行避障行為3:將移動機(jī)器人運(yùn)動場景的環(huán)境信息表征成若干個二維柵格系列,其中每個柵格都用一個概率值(可信度CV)來表示該像素點存在障礙物的可能性大小,使用VFH算法進(jìn)行機(jī)器人的實時動態(tài)避障——柵格向量化、活動窗口分區(qū)、確定移動機(jī)器人的運(yùn)動方向。完成避障行為后返回STEP1。
4?結(jié)論
本文提出的避障系統(tǒng)具有以下優(yōu)勢:(1)基于彩色圖像與深度圖像的融合,能使獲取到的障礙物的邊緣更清晰;(2)通過對障礙物的識別分類的預(yù)判,與時刻進(jìn)行未知環(huán)境下的避障算法相比,從一定程度上能夠降低系統(tǒng)能耗,提升工作效率;(3)判斷動態(tài)障礙物時,先對圖像視頻序列進(jìn)行幀間差分運(yùn)算,得到運(yùn)動目標(biāo)區(qū)域,再進(jìn)行金字塔式的光流運(yùn)算,這樣既避免了光照環(huán)境對檢測結(jié)果的影響,同時還可以檢測到運(yùn)動速度過大的目標(biāo)。相比于傳統(tǒng)的金字塔LK光流法,該算法的計算量較低,算法的處理速度較快,因而更加滿足了系統(tǒng)對實時性的要求。
參考文獻(xiàn):
[1]陳旭鳳,李玉龍,侯志奇,等.基于TOF的快速加權(quán)中值濾波深度成像系統(tǒng)[J].科技風(fēng),2019(26):3435.
[2]丁萍,宋硯.基于RGBD圖像進(jìn)行遮擋處理和恢復(fù)的目標(biāo)跟蹤方法,中國科技論文在線,http://www.paper.edu.cn.
[3]郝慧琴.基于單目視覺移動機(jī)器人的避障研究[D].中國優(yōu)秀搏碩士學(xué)位論文全文數(shù)據(jù)庫(碩士)信息科技輯,2016,08.
[4]陳至坤.基于光流法的移動機(jī)器人避障平衡策略的改進(jìn)[J].華北理工大學(xué)學(xué)報(自然科學(xué)版),2018,40(2).
平臺支撐:“河北省冶金工業(yè)過程數(shù)字化控制技術(shù)創(chuàng)新中心”支撐(平臺編號:SG2021185);“河北省鋼鐵焦化企業(yè)污染治理技術(shù)創(chuàng)新中心”支撐(平臺編號SG2020220)
基金項目:中央引導(dǎo)地方科技發(fā)展資金項目(項目編號:216Z1004G)
作者簡介:陳旭鳳(1991—?),女,漢族,河北定州人,碩士研究生,講師,研究方向:人工智能、機(jī)器視覺。
*通訊作者:趙彥偉。