陳旭鳳 趙彥偉 胡雪花 張茜 黃文靜



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