張 博
(惠州工程職業(yè)學院,廣東 惠州 516001)
移動機器人在現(xiàn)代社會已具有越發(fā)廣泛的應用,如在人類難以到達或有危險的環(huán)境中代替人類完成某項任務、在位置環(huán)境中實現(xiàn)導航、將傳感器采集的信息進行處理并執(zhí)行決策等[1-2]。雖目前有諸多種類的感知環(huán)境傳感器,且移動機器人環(huán)境檢測方法不斷被研究,但依然存在無法識別特定目標、識別精度低和受環(huán)境影響大的缺點[3-5]。本文針對這些缺點,提出了一種基于Kinect傳感器的移動機器人環(huán)境檢測方法。該方法基于Kinect傳感器,將傳感器采集的圖像視頻信息與深度數(shù)據(jù)進行處理,從而實現(xiàn)對環(huán)境中的特征已知目標與未知目標的識別。其中,特征已知目標可以通過顏色閾值分割進行檢測,特征未知目標則是利用地面深度算法并獲取圖像輪廓以達到識別檢測的目的,對于移動機器人的位置信息可通過傳感器成像模型進行三維空間定位。
Kinect傳感器是一種三維激光傳感器,由微軟在2010年推出,其能獲取光學圖像與位置信息。并具有采集信息豐富,實時性強,結構簡單,價格低的優(yōu)點。
圖1為本文所使用的機器人Kinect感知系統(tǒng),其為電機驅動,將光源發(fā)射器與接收器安裝在視頻攝像頭兩側以獲取數(shù)據(jù)。Kinect傳感器通過檢測激光發(fā)射器照射到物體上形成的光斑以獲取目標深度數(shù)據(jù),并通過彩色攝像頭獲取環(huán)境中每點顏色信息[6-7],最后數(shù)據(jù)由機器人所帶計算機進行處理。圖2為Kinect傳感器采集的原始彩色圖像。對應的深度圖為圖3,用顏色表示深度信息[8]。
圖1 機器人Kinect感知系統(tǒng)實驗平臺
圖2 原始彩色圖像
圖3 原始深度圖像
從圖2和圖3中可以看出,由于Kinect彩色攝像頭與深度光源攝像頭的光心位置不同,造成了Kinect采集的彩色圖像與深度圖像像素點不對應[9-10]。所以需要對兩者進行匹配,將深度生成器視角平移到與彩色生成器視角重合的位置,視角匹配后的深度圖像如圖4所示。
圖4 匹配后的深度圖像
將圖像的像素點聯(lián)系到目標的物理坐標為攝像機標定,即二維到三維的轉化。設攝像機坐標系為OCXCYCZC,圖像像素坐標系為O1XY,像素點偏離圖像中心位置表達式為式(1)、(2)、(3)。式中,fx,fy為攝像機X,Y方向的焦距,XC,YC,ZC為像素點(u,v)偏離圖像中心(u0,v0)在X,Y,Z方向的距離, 為像素點空間深度值。
(1)
(2)
ZC=depth(u,v)
(3)
本文采用Kinect傳感器基于顏色閾值分割對特征已知目標進行檢測,由先驗知識得到目標物體HSI顏色空間閾值。并對采集的原始彩色圖像進行分割,記錄連通域質心、邊界信息等,步驟如下:首先對圖像進行掃描并由閾值分割結果建立行連通域,然后將連通域整合完整,最后將分割的大區(qū)域作為分割顏色目標,小區(qū)域為噪聲。原始圖像、目標物和路標識別結果,如圖5~圖7所示。
圖5 原始圖像
圖6 目標識別
圖7 路標識別
對識別出的目標進行定位以得到其離機器人的距離。設目標彩色圖質心坐標為(xc,yc),匹配后對于深度圖坐標為xd=xc且yd=yc,該點深度數(shù)據(jù)即為目標質心離機器人的深度距離,由式(1)和式(2)得到目標質心空間坐標。
本文通過輪廓識別來達到障礙物、墻壁等特征未知目標的檢測。
假設地面為水平的,傳感器檢測信息中位于地面以上且與地面接觸為未知目標物體。傳感器采集的深度數(shù)據(jù)對應的顏色變化方向為深度傳感器視場的Z軸[11-15],因而可建立一個穩(wěn)定的地面模型以檢測未知目標。傳感器采集的地面深度圖如圖8所示,其中黑色部分為無效數(shù)據(jù),由物體反光、強光、邊緣復雜等產生。
圖8 地面深度圖
距離相同深度也相同,在無障礙物的環(huán)境下采集數(shù)據(jù),距離傳感器近則數(shù)據(jù)完整,距離遠則具有不確定性。深度圖中每一行為與傳感器距離相同地面的深度數(shù)據(jù),對每一行進行掃描并除去無效數(shù)據(jù),有效數(shù)據(jù)加權平均從而得到基于深度的地面模型,如圖9所示。該地面模型具有良好的適用性與穩(wěn)定性。
圖9 地面模型深度圖
未知目標的識別是采用建立的地面模型去除法,將采集的深度數(shù)據(jù)減去地面模型數(shù)據(jù),所得結果小于等于所設閾值認為是地面信息;反之則為地面上的未知目標,其初步檢測結果如圖10所示。
圖10 初步分割目標
每個目標在初步檢測之后的分割識別步驟具體為:對Kinect傳感器采集的深度數(shù)據(jù)利用圖像處理方法進行邊緣平滑處理,為得到目標物體邊緣特征對深度數(shù)據(jù)映射圖進行Canny邊緣檢測,并存儲滿足條件的連通體,記錄其坐標與長寬信息。
本文提出邊界列掃描方法來定位未知目標,具體步驟為:得到初步分割后的目標物體外圍定點坐標,以及左右邊界相對位置信息。以左邊界進行說明,目標物體左上頂點與左下頂點坐標為(x1,y1)和(x1,y2),從y1開始進行列掃描,并記錄第一個有效深度值,作為目標種子點。而當檢測到第二個有效深度值時將其與第一個進行比較,兩者之差小于閾值則將其合并為一個種子點,反之記錄第二個有效深度值為新的目標種子點,直至到達y2為止。記錄下該列目標的個數(shù)、像素點數(shù)、坐標等信息,并將所含像素點數(shù)最多的目標作為最終目標,將其與邊界長度進行比較,目標像素點數(shù)為邊界像素點數(shù)的80%則視為已達到邊界,否則橫坐標加一繼續(xù)進行掃描。對得到的最終目標深度數(shù)據(jù)加權平均,從而得到目標物體與機器人之間的深度距離,最后通過式(1)和式(2)求得邊界的空間坐標。
分別在窄小的辦公室與空曠的大廳,基于UP-Voyager IIA移動機器人對本文提出的檢測方法進行驗證。在有墻壁、書柜等障礙物的辦公室采集的圖像如圖11,深度數(shù)據(jù)映射圖如圖12所示。采用本文方法對目標物體的定位結果,如圖13所示。白色線框表示邊界信息,從圖中可知機器人能夠有效識別出環(huán)境中的目標物體。
圖11 辦公室彩色圖
圖12 辦公室深度數(shù)據(jù)圖
圖13 辦公室識別結果
圖14 大廳彩色圖
圖15 大廳深度數(shù)據(jù)圖
圖16 大廳識別結果
采集的空曠大廳彩色圖、深度數(shù)據(jù)圖與識別結果圖分別為圖14~圖16。從圖中可看出,本文所提出的檢測方法依然可以取得良好的識別效果。
本文針對目前環(huán)境檢測機器人出現(xiàn)的無法識別特定目標、識別精度低和受環(huán)境影響大的缺點,提出了一種基于Kinect傳感器的移動機器人環(huán)境檢測方法。該方法基于Kinect傳感器,將傳感器采集的圖像視頻信息與深度數(shù)據(jù)進行處理,從而實現(xiàn)對環(huán)境中的特征已知目標與未知目標的識別。最后分別在窄小的辦公室與空曠的大廳對此檢測方法進行基于移動機器人實驗平臺的驗證,驗證結果表明該方法能夠有效的進行環(huán)境的識別檢測,且滿足實際工作需求。