楊喬悅 陳佳偉 殷蘭
摘要 實(shí)現(xiàn)了一個(gè)基于Kinect的移動平臺人臉視線追蹤系統(tǒng)。為了解決人臉識別技術(shù)在大多數(shù)應(yīng)用場景中,難以拍攝到待識別對象正面的問題,提出了先跟蹤再識別的方法。利用Kinect獲取到待識別對象的方位信息,由移動機(jī)器人平臺搭載人臉視線追蹤系統(tǒng)運(yùn)動到待識別對象的正面,便于人臉識別系統(tǒng)進(jìn)行進(jìn)一步識別。是一種提高傳統(tǒng)人臉識別正確率的改進(jìn)方法。
【關(guān)鍵詞】視線跟蹤 Kinect 移動機(jī)器人
1 引言
人臉識別結(jié)合了圖像處理、模式識別、認(rèn)知科學(xué)和心理學(xué)等多個(gè)研究領(lǐng)域。人臉識別系統(tǒng)利用攝像機(jī)對識別對象進(jìn)行信息采集,以非接觸的方式采集到待識別對象的面部特征,系統(tǒng)在獲取圖像后與數(shù)據(jù)庫圖像進(jìn)行比對后完成識別過程。主要運(yùn)用于設(shè)備身份認(rèn)證、考勤系統(tǒng)、機(jī)場車站的檢票等領(lǐng)域。
為了實(shí)現(xiàn)更好的識別性能,可采集面部的3D信息,相較于通用攝像機(jī)采集到的面部數(shù)據(jù)更為全面、精確。微軟Kinect for windows可獲取待識別對象的3D數(shù)據(jù)以及RGB圖像,成本低廉,易于實(shí)現(xiàn),可應(yīng)用于3D人臉識別系統(tǒng)。本文實(shí)現(xiàn)的系統(tǒng)利用Kinect對人臉視線進(jìn)行追蹤,可為人臉識別提供正面、清晰的待識別圖像。
2 系統(tǒng)介紹
本系統(tǒng)中Kinect通過3D人臉識別,捕捉到其可視范圍內(nèi)的待跟蹤對象的面部,并得到其相對于Kinect的視線偏角、距離等深度數(shù)據(jù)。PC通過串行通信,將待跟蹤對象的深度數(shù)據(jù)發(fā)送給機(jī)器人平臺控制器,控制器運(yùn)用PID策略,使移動機(jī)器人平臺最終運(yùn)動到與待跟蹤對象視線偏角接近于O,為基于圖像的人臉識別系統(tǒng)提供更有利的識別條件。
系統(tǒng)由移動機(jī)器人平臺、微軟Kinect forWindows和PC組成。Kinect固定在一個(gè)伸縮桿的滑動端上,根據(jù)捕捉到的待跟蹤對象面部的高度,控制升降平臺中導(dǎo)軌的長度,以調(diào)整Kinect的高度使其與面部高度保持基本一致。Kinect由網(wǎng)線連接到PC的USB 3.0接口,PC接收Kinect發(fā)送的面部深度數(shù)據(jù),并解算成歐拉角,同時(shí)制定移動機(jī)器人平臺的移動方式,據(jù)此生成控制數(shù)據(jù)包通過RS485總線發(fā)送給MCU。MCU將接收到的控制數(shù)據(jù)包轉(zhuǎn)換為電機(jī)控制信號,輸出給移動機(jī)器人平臺的驅(qū)動電機(jī)。系統(tǒng)架構(gòu)如圖2所示。
如圖3所示,Kinect使用深度傳感器獲得待跟蹤對象的深度數(shù)據(jù)。深度數(shù)據(jù)流是由一系列捕獲到的深度幀實(shí)時(shí)組合而成。每一個(gè)深度幀都包含深度像素。深度像素包含被探測到的物體的3D坐標(biāo)信息。深度傳感器中,紅外發(fā)射器在一定區(qū)域內(nèi)發(fā)送紅外線,紅外接收器捕獲物體反射的紅外線并計(jì)算距離。深度傳感器的可視角度為水平61.5°,垂直50.0°。在默認(rèn)范圍下,深度傳感器的深度范圍是0.8-4.0米;在近景范圍下,其深度范圍是0.4-3.0米。
MCU選用STM32F103, 通過RS485總線接收到PC發(fā)出的控制數(shù)據(jù)包,定時(shí)器TIM2輸出2路PWM信號,分別控制機(jī)器人平臺的2個(gè)直流減速電機(jī),帶動后側(cè)兩主動輪轉(zhuǎn)動。定時(shí)器TIM3輸出脈沖信號控制42H48兩相混合式步進(jìn)電機(jī),使升降平臺導(dǎo)軌的長度變化。
移動機(jī)器人平臺尺寸為270x210x90mm,采用大馬力的直流減速電機(jī),額定電壓DC12V,輸出速率330rpm,由H橋電路驅(qū)動。由于整個(gè)系統(tǒng)重心較高,在MCU中通過程序?qū)⑵脚_移動速度控制在0.3-1.2m/s范圍內(nèi),使其在運(yùn)動中姿態(tài)保持穩(wěn)定,便于系統(tǒng)準(zhǔn)確定位待測人面部位置。
升降平臺由導(dǎo)軌和步進(jìn)電機(jī)組成。導(dǎo)軌長度210mm,有效行程為400mm。42H48兩相混合式步進(jìn)電機(jī)額定電壓3.6V,額定電流1.2A。步進(jìn)電機(jī)轉(zhuǎn)動使導(dǎo)軌伸長或縮短。
3 定位與跟蹤方法
Kinect深度傳感器獲取到待識別對象的深度信息以四維向量(x,y,z,w)的形式表示,其中3維向量(x,y,z)表示旋轉(zhuǎn)軸,w為一個(gè)角度分量,表示繞旋轉(zhuǎn)軸的旋轉(zhuǎn)角度。為了得到臉部視線偏角,需將該深度信息向量轉(zhuǎn)化為歐拉角,即俯仰角(Pitch)、偏航角(Yaw)、滾轉(zhuǎn)角(Roll)。
3.1 四元數(shù)到歐拉角的轉(zhuǎn)換
3.2 程序?qū)崿F(xiàn)
PC上軟件開發(fā)環(huán)境為Visual Studio,使用C#語言進(jìn)行編程。程序運(yùn)行的順序?yàn)椋捍蜷_Kinect深度傳感器,獲取到深度數(shù)據(jù)流。經(jīng)過數(shù)學(xué)運(yùn)算,將深度信息轉(zhuǎn)化為歐拉角表示,根據(jù)歐拉角以及距離信息,生成控制數(shù)據(jù)包,通過RS485串行通信協(xié)議,將其發(fā)送給MCU。如圖4所示。
MCU軟件開發(fā)環(huán)境為Keil使用C語言編程。接收到PC發(fā)送的控制數(shù)據(jù)包,據(jù)此解算出具體的移動機(jī)器人運(yùn)動控制指令。輸出移動方向值、2路PWM、1路脈沖信號,分別控制移動機(jī)器人的運(yùn)動方向、運(yùn)動速度、升降平臺導(dǎo)軌的伸縮。如圖5所示。
4 實(shí)驗(yàn)方法與分析
本文對搭建好的系統(tǒng)進(jìn)行了一系列的測試實(shí)驗(yàn),分別研究面部轉(zhuǎn)向角度、機(jī)器人與待跟蹤對象之間的距離對系統(tǒng)追蹤準(zhǔn)確度的影響。采用控制變量法,在機(jī)器人與待跟蹤對象保持lOOcm距離的情況下,以待跟蹤對象正前方為0°,待跟蹤對象面部向左及向右分別轉(zhuǎn)向5°、15°、25°、35°四個(gè)角度下測試系統(tǒng)追蹤后的角度準(zhǔn)確率。待測對象面部朝向確定后,機(jī)器人從待跟蹤對象左側(cè)45°位置出發(fā),分別進(jìn)行10次測試,測量待跟蹤對象面部與機(jī)器人追蹤后最終位置的實(shí)際偏差角度,記錄數(shù)據(jù)。
在相同的實(shí)驗(yàn)場地,待跟蹤對象面部始終朝向正前方(即轉(zhuǎn)向角度為0°)的情況下,機(jī)器人與待跟蹤對象的距離分別為lOOcm、150cm、200cm,機(jī)器人從待跟蹤對象左側(cè)450位置出發(fā),分別進(jìn)行10次測試,測量待跟蹤對象面部與機(jī)器人追蹤后最終位置的實(shí)際偏差角度,記錄數(shù)據(jù)。
機(jī)器人與待跟蹤對象的距離相同時(shí),在待跟蹤對象面部朝向正前方的情況下,待跟蹤對象面部與機(jī)器人追蹤后最終位置的實(shí)際角度誤差在±1°內(nèi)的概率高達(dá)100%。向左或向右轉(zhuǎn)向角度越大,角度誤差在±1°內(nèi)的概率越低。當(dāng)達(dá)到35°轉(zhuǎn)向時(shí),角度誤差在±1°的概率只有80%。而當(dāng)待跟蹤對象面部始終朝向正前方時(shí),隨著機(jī)器人與待跟蹤對象距離的改變,角度誤差在±1°內(nèi)的概率仍為100%。
實(shí)驗(yàn)表明,當(dāng)待跟蹤對象面部始終朝向正前方時(shí)系統(tǒng)的追蹤準(zhǔn)確度最高,隨著轉(zhuǎn)向角度的增大,追蹤誤差越大。而機(jī)器人與待跟蹤對象的距離對系統(tǒng)追蹤準(zhǔn)確度無明顯影響。
5 結(jié)論
通過多次實(shí)驗(yàn)驗(yàn)證,本系統(tǒng)能達(dá)到預(yù)期功能要求。在復(fù)雜應(yīng)用場景下,為人臉識別系統(tǒng)采集待識別對象的正面3D圖像。但仍然存在一些有待改進(jìn)的地方,當(dāng)待跟蹤對象面部轉(zhuǎn)向角度增大時(shí),系統(tǒng)追蹤準(zhǔn)確率隨之降低。因此,還需進(jìn)一步研究此問題,以期系統(tǒng)功能更加完善。
參考文獻(xiàn)
[1]蘇中.慣性技術(shù)[M].北京:國防工業(yè)出版社,2010.
[2] Microsoft. Kinect for Windows 2.0配置及參數(shù)文字資料[EB/OL].http://www.k4w.cn/news/l.html.
[3] STMicroelectronics. STM32F103x4Datasheet[EB/OL]. http://www.s tmicroelectronics.com. cn/resource/en/datasheet/stm32f103c4.pdf.