徐圣佳 范光宇
【摘 要】隨著信息技術(shù)的快速發(fā)展,移動(dòng)機(jī)器人越來越受到各行各業(yè)的關(guān)注與重視,本文基于機(jī)器人操作系統(tǒng)(ROS)平臺(tái),利用微軟公司的kinect2作為信息采集設(shè)備,對(duì)人體進(jìn)行掃描,在kinect2獲取的信息基礎(chǔ)上,對(duì)被識(shí)別人體獲取的骨骼信息進(jìn)行處理和計(jì)算。骨骼識(shí)別系統(tǒng)通過kinect2攝像機(jī)的骨骼跟蹤功能提取人體靜態(tài)骨骼信息,經(jīng)過處理得到骨骼信息點(diǎn),完成骨骼跟蹤,通過實(shí)際系統(tǒng)測(cè)試,本系統(tǒng)具有較好的人體骨骼識(shí)別和跟蹤效果。
【關(guān)鍵詞】機(jī)器人操作系統(tǒng);kinect2;骨骼識(shí)別;骨骼跟蹤
隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,機(jī)器人系統(tǒng)和人機(jī)交互已經(jīng)逐漸受到人們的關(guān)注,同時(shí)也越來越從以計(jì)算機(jī)為中心逐步轉(zhuǎn)移到以人為中心。
深度圖像識(shí)別是機(jī)器人的主要技術(shù),微軟公司的kinect2被廣泛應(yīng)用于機(jī)器人的人體骨骼識(shí)別與跟蹤系統(tǒng)中。人體骨骼跟蹤技術(shù)可以讓kinect2去更好地捕捉人體的動(dòng)作,并且可以識(shí)別身份問題。kinect2作為信息采集設(shè)備,對(duì)被識(shí)別人體獲取的深度圖像和骨骼信息進(jìn)行識(shí)別。
一、基于kinect2人體骨骼跟蹤系統(tǒng)設(shè)計(jì)
人體骨骼識(shí)別系統(tǒng)的主要步驟如下:首先,骨骼識(shí)別系統(tǒng)通過kinect2攝像機(jī)的骨骼跟蹤功能提取人體靜態(tài)骨骼信息;然后,利用雙腿關(guān)節(jié)角度或3D運(yùn)動(dòng)人體輪廓描述步態(tài)特征;最后,綜合二者識(shí)別結(jié)果完成身份鑒定。
利用kinect2的人體骨骼識(shí)別,有助于識(shí)別來者的身份??梢宰屜到y(tǒng)記下每一個(gè)來的人,如果并非是與主人一起進(jìn)人的其他骨架的擁有者在并未被主人授權(quán)之前妄圖進(jìn)入房間的時(shí)候,系統(tǒng)會(huì)自動(dòng)的發(fā)出警報(bào)。
本文人體骨骼跟蹤系統(tǒng),主要以Ubuntu系統(tǒng)開源平臺(tái)作為基礎(chǔ),配置ROS相關(guān)環(huán)境,分別使用Libfreenect驅(qū)動(dòng)和Libfreenect2驅(qū)動(dòng)完成對(duì)kinect2基本圖像顯示的支持,結(jié)合用于視覺感知與處理的標(biāo)準(zhǔn)接口OpenNI2.2和NiTE2.2完成基于kinect2的骨骼跟蹤。
二、基于kinect2人體骨骼跟蹤系統(tǒng)實(shí)現(xiàn)
(一)kinect2設(shè)備使用
kinect2是微軟公司開發(fā)的一款可實(shí)時(shí)獲取RGB色圖像和深度圖像的設(shè)備,它由紅外發(fā)射器、RGB彩色攝像頭、3D深度傳感器三部分組成,其中kinect2使用的是USB3.0接口。
(二)骨骼跟蹤系統(tǒng)設(shè)計(jì)
通過kinect2獲取的深度圖像中可得到各個(gè)骨架節(jié)點(diǎn)的三維坐標(biāo),這些節(jié)點(diǎn)組成一幅人體骨架結(jié)構(gòu)圖。
系統(tǒng)主要通過以下步驟來實(shí)現(xiàn):
(1)創(chuàng)建new nite::UserTracker對(duì)象
(2)m_pUserTracker->create(&m;_device)
(3)開始跟蹤人體骨骼
m_pUserTracker->startSkeletonTracking(user.getId());
(4)開始檢測(cè)該人做的姿勢(shì)是不是(POSE_CROSSED_HANDS);
(5)最后獲取人體骨骼坐標(biāo)信息,主要包括15個(gè)骨骼點(diǎn)。
(三)骨骼跟蹤系統(tǒng)的信息類型和函數(shù)調(diào)用
(1)具體姿勢(shì)類型為enum nite::PoseType:POSE_PSI和POSE_CROSSED_HANDS。
(2)骨骼的狀態(tài),通過對(duì)獲取的骨骼跟蹤狀態(tài),進(jìn)行相關(guān)的處理。
(3)使用封裝好的底層人體跟蹤函數(shù)。
(4)SampleViewer類的初始化,獲取人體深度信息,實(shí)時(shí)跟蹤人體骨骼信息。
(5)回調(diào)函數(shù)Display()函數(shù)的前半部分:主要是定位到人體深度圖像,并做像素轉(zhuǎn)換處理,顯示出來。
三、系統(tǒng)平臺(tái)技術(shù)應(yīng)用
本文系統(tǒng)主要使用了ROS環(huán)境,以及Libfreenect2、OpenNI2.2、NiTE2.2。通過對(duì)kinect2采集的深度圖像信息進(jìn)行背景相減法和幀差法處理可以獲得目標(biāo)抓取點(diǎn)信息,利用基于工作空間的信息融合算法對(duì)骨骼末端進(jìn)行匹配判斷,并利用剃度投影法進(jìn)行運(yùn)動(dòng)學(xué)軌跡優(yōu)化估計(jì),獲得較好圖像點(diǎn)云匹配效果,效果如圖1所示。如圖1所示,在Kinect2獲取的圖像信息基礎(chǔ)上,通過對(duì)信息的二次處理匹配,可有效分析出人體骨骼信息,并對(duì)骨骼信息的移動(dòng)進(jìn)行跟蹤,實(shí)現(xiàn)較好的跟蹤效果。
四、結(jié)束語
本文通過kinect2設(shè)備和ROS開源系統(tǒng),設(shè)計(jì)開發(fā)了基于骨骼識(shí)別的人體跟蹤系統(tǒng),在程序設(shè)計(jì)過程中,通過獲取kinect2云圖,對(duì)骨骼信息進(jìn)行二次處理和識(shí)別,并對(duì)骨骼移動(dòng)進(jìn)行跟蹤,系統(tǒng)有較好的骨骼跟蹤效果。
【參考文獻(xiàn)】
[1]黃開宏,楊興銳,曾志文,盧惠民,鄭志強(qiáng),基于ROS戶外移動(dòng)機(jī)器人軟件系統(tǒng)構(gòu)建,機(jī)器人技術(shù)與應(yīng)用,2013
[2]陳森鵬. 基于仿真平臺(tái)的智能機(jī)器人策略研究與實(shí)現(xiàn). 信息系統(tǒng)工程. 2017年3期
[3]A Stanoev, S Filiposka, V In, L Kocarev, Cooperative method for wireless sensor network localization, Ad Hoc Networks, vol.40, April 2016, pp. 61-72
[4]丁成波,蔡家斌,劉文. 一種改進(jìn)的多機(jī)器人角色變換方法研究. 組合機(jī)床與自動(dòng)化加工技術(shù). 2017年7期
[5]朱效洲,戶外環(huán)境下基于視覺的移動(dòng)機(jī)器人可通行區(qū)域識(shí)別研究[D],國(guó)防科學(xué)技術(shù)大學(xué),2012