(天津工業(yè)大學(xué) 天津 300387)
導(dǎo)引機(jī)器人的服務(wù)對(duì)象為啟動(dòng)這項(xiàng)任務(wù)的特定客人,為了保證機(jī)器人能夠只針對(duì)服務(wù)對(duì)象完成引路功能,不被其他路人影響,因此本文使用目標(biāo)跟蹤算法對(duì)客人實(shí)時(shí)跟蹤。目標(biāo)跟蹤算法中的快速判別尺度空間相關(guān)濾波(fast discriminative scale space tracking,fDSST)算法由于運(yùn)算速度快,具有尺度自適應(yīng)能力,因此適用于本文的引導(dǎo)機(jī)器人目標(biāo)跟蹤系統(tǒng)中。
將fDSST算法使用Kinect傳感器在ROS機(jī)器人操作系統(tǒng)(Robot Operating System)中實(shí)現(xiàn),實(shí)現(xiàn)效果如圖1所示。
圖1 fDSST算法在ROS中的實(shí)驗(yàn)效果
基于深度相機(jī)的機(jī)器人目標(biāo)測(cè)距技術(shù),從Kinect傳感器中采集深度圖像,處理圖像,最后通過(guò)點(diǎn)云信息計(jì)算出目標(biāo)的距離。本文的引導(dǎo)機(jī)器人使用Kinect在彩色圖像中對(duì)人物目標(biāo)進(jìn)行跟蹤,在深度圖像中對(duì)人物目標(biāo)進(jìn)行測(cè)距,Kinect獲取的彩色圖像和深度圖像如圖2所示。根據(jù)彩色圖像和深度圖像中像素點(diǎn)之間的對(duì)應(yīng)關(guān)系,提取出fDSST目標(biāo)跟蹤算法中跟蹤框內(nèi)的深度數(shù)據(jù)。僅對(duì)跟蹤框內(nèi)的數(shù)據(jù)進(jìn)行濾波處理,而不是整張深度圖像,可減少時(shí)間消耗。
Kinect傳感器的深度圖像中,會(huì)有大量的噪聲,因此需要對(duì)深度圖像進(jìn)行濾波處理。中值濾波方法操作簡(jiǎn)單,快速,可以很好的去除圖像中的獨(dú)立噪聲點(diǎn),并可以對(duì)深度圖像中的空洞進(jìn)行填補(bǔ)。
圖2 Kinect的彩色圖像、深度圖像、跟蹤框內(nèi)深度圖像、中值濾波后的深度圖像
要得到人物目標(biāo)的距離值,需要統(tǒng)計(jì)出深度圖像中的深度概率,即深度概率直方圖。要得到深度概率直方圖,首先統(tǒng)計(jì)原始圖像深度值的像素?cái)?shù)目ni,圖像中深度值為i的像素出現(xiàn)的概率為px(i)=ni/n,n為圖像中所有的像素?cái)?shù)。px的累計(jì)分布函數(shù),就是圖像的累計(jì)歸一化直方圖,公式為:
圖3 深度概率直方圖
橫坐標(biāo)從2400mm到2700mm內(nèi)深度值概率較高,分布較集中,因此為人體表面的點(diǎn)云數(shù)據(jù),其他深度值為環(huán)境背景信息的點(diǎn)云數(shù)據(jù)。選取深度概率直方圖中的概率最大值所對(duì)應(yīng)的深度值,作為目標(biāo)的距離。
當(dāng)人物目標(biāo)與機(jī)器人的距離大于5米時(shí),機(jī)器人停車等待。當(dāng)距離在3.5米至5米之間時(shí),機(jī)器人減速行駛。當(dāng)距離在2.7米至3.5米時(shí),機(jī)器人按照原速度行駛。當(dāng)距離小于2.7米時(shí),機(jī)器人加速行駛。