劉豐 袁海峰 張小琪 彭婕
1 傳感器簡述
人體運(yùn)動(dòng)學(xué)評估可通過如慣性動(dòng)作捕捉系統(tǒng)(INS)之類的接觸技術(shù)或通過非接觸系統(tǒng)估算時(shí)間推移的身體部位(BP)位置來實(shí)現(xiàn)。與接觸式傳感器不同,非接觸式傳感器不用佩戴在用戶身體上即可獲得用戶身體數(shù)據(jù)。常見的非接觸式傳感器有電磁技術(shù)、超聲波技術(shù)、可見光技術(shù)、紅外雷達(dá)技術(shù)。微軟Kinect V2是一種結(jié)合了可見光技術(shù)與紅外技術(shù)的非接觸式人體傳感器。
Kinect V2傳感器(Kinect的第二代)具有更精確的25關(guān)節(jié)跟蹤功能。目前仍然是人體追蹤領(lǐng)域精度較高的識別設(shè)備硬件。選擇Kinect V2來研究姿勢控制與識別,得出的結(jié)論通常與基于標(biāo)記的系統(tǒng)所獲得的結(jié)果相當(dāng)。Kinect V2傳感器能夠?qū)崟r(shí)提供較高姿態(tài)估計(jì)精度,而無需進(jìn)行校準(zhǔn)。有關(guān)研究表明使用Kinect V2傳感器作為評估運(yùn)動(dòng)的生物特征輸入設(shè)備具有較好的效果。Kinect V2精度對于室內(nèi)應(yīng)用或上肢運(yùn)動(dòng)表現(xiàn)的評估是可以接受的。作為評估生物特征的工具, Kinect V2通過提供人體動(dòng)作的連貫評估適合行業(yè)動(dòng)作訓(xùn)練與評估。
微軟的數(shù)據(jù)表明,Kinect V2具有改進(jìn)的身體跟蹤功能,改進(jìn)的深度感應(yīng)。硬件參數(shù)為:1080p彩色攝像機(jī)(30 Hz),新的主動(dòng)紅外(IR)功能512×424 30 Hz。
2 鐵路行業(yè)動(dòng)作特點(diǎn)
鐵路行業(yè)發(fā)展迅猛,各類工作人員規(guī)模不斷擴(kuò)大,行業(yè)對從業(yè)人員的動(dòng)作要求更加規(guī)范。但實(shí)際工作與培訓(xùn)中,人員動(dòng)作訓(xùn)練一直沒有形成有效的數(shù)字化方法。鐵路行業(yè)動(dòng)作的特點(diǎn)為很多專業(yè)工種如車站值班員、客運(yùn)員、機(jī)車乘務(wù)員都有專屬工作動(dòng)作。這些動(dòng)作上肢動(dòng)作要求多,下肢動(dòng)作要求少;靜態(tài)動(dòng)作要求多,連貫動(dòng)作要求少;語言與肢體動(dòng)作組合標(biāo)準(zhǔn)多,單一動(dòng)作要求少。為了形成科學(xué)的訓(xùn)練體系與規(guī)范化的評估方法。本文探討動(dòng)作訓(xùn)練的數(shù)字化輸入與評分系統(tǒng)構(gòu)建。
3 Kinect的骨骼跟蹤技術(shù)
Kinect中將人體靜態(tài)動(dòng)作稱為離散手勢,其靜態(tài)采集后得到的驗(yàn)證值為布爾值,通過置信區(qū)間來驗(yàn)證動(dòng)作的相似度。而連續(xù)手勢則提供了進(jìn)度值,并允許你選擇通過多個(gè)離散手勢來跟蹤進(jìn)度。
Kinect中將25個(gè)骨骼節(jié)點(diǎn)組成JointType集合,在Kinect SDK 2.0中對骨骼節(jié)點(diǎn)定義了能夠進(jìn)行跟蹤(Tracked)、不能夠進(jìn)行跟蹤(Not Tracked)、通過運(yùn)動(dòng)狀態(tài)進(jìn)行推斷跟蹤(Infered)三種狀態(tài)。
4 Kinect語音識別技術(shù)
Kinect的麥克風(fēng)陣列在Kinect設(shè)備的下方。這一陣列由4個(gè)獨(dú)立的水平分布麥克風(fēng)組成??梢蕴綔y到聲音的來源方向。麥克風(fēng)陣列捕獲的音頻數(shù)據(jù)流經(jīng)過復(fù)雜的音頻增強(qiáng)效果算法處理來移除不相關(guān)的背景噪音。所有這些復(fù)雜操作在Kinect硬件和Kinect SDK之間進(jìn)行處理,這使得能夠在一個(gè)大的空間范圍內(nèi),也能夠進(jìn)行語音命令的識別。
語音識別可以分為兩類:對特定命令的識別(recognition of command)和對自由形式的語音的識別(recognition of free-form dictation)。自由形式的語音識別需要訓(xùn)練軟件來識別特定的聲音以提高識別精度。
命令識別(Command recognition)則應(yīng)用了不同的策略來提高識別精度。和必須識別說話人聲音不同,命令識別限制了說話人所講的詞匯的范圍?;谶@一有限的范圍,命令識別可以不需要熟悉講話人的語音模式就可以推斷出說話人想要說的內(nèi)容。
本文采用命令識別的訓(xùn)練方法,將行業(yè)標(biāo)準(zhǔn)“口呼”識別為語音命令。再結(jié)合識別指令和骨骼追蹤系統(tǒng)產(chǎn)生一個(gè)復(fù)合的姿勢判斷,最終作為行業(yè)動(dòng)作的評判模型并給出評分。
5 建立動(dòng)作姿態(tài)樣本庫
本文在建立手勢樣本庫過程中主要分為行業(yè)姿態(tài)整理與標(biāo)準(zhǔn)化、制作樣本庫、調(diào)用與驗(yàn)證樣本三個(gè)步驟,具體步驟的工具和如圖1所示:
圖1:行業(yè)動(dòng)作訓(xùn)練數(shù)據(jù)庫建立流程圖
5.1姿態(tài)特征與骨骼節(jié)點(diǎn)提取
Kinect將偵測到的3D深度圖像,轉(zhuǎn)換到骨架追蹤系統(tǒng)。該系統(tǒng)最多可同時(shí)偵測到6個(gè)人,包含同時(shí)辨識2個(gè)人的動(dòng)作;每個(gè)人共可記錄20組關(guān)節(jié)。Kinect骨骼跟蹤采用紅外信息不受周圍光照的影響。骨骼信息的獲取為了便于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,更為了提取高層信息,比較函數(shù)使用 25組的關(guān)節(jié)點(diǎn)之間的曼哈頓距離(二范數(shù)):為了數(shù)據(jù)更加明顯起見,我們?yōu)槊恳粋€(gè)數(shù)據(jù)都乘以權(quán)重w=1000。
神經(jīng)網(wǎng)絡(luò)是用Pytorch實(shí)現(xiàn)的,因?yàn)槭欠诸悊栴},我們使用全連接神經(jīng)網(wǎng)絡(luò),層數(shù)在最開始設(shè)計(jì)的是四層,輸入數(shù)據(jù)是25維度的,輸出是每個(gè)工種的標(biāo)準(zhǔn)動(dòng)作數(shù)量。如機(jī)車司機(jī)動(dòng)作有21個(gè),則輸出是[0,20]。神經(jīng)網(wǎng)絡(luò)的第一層隱藏層的單元數(shù)一共設(shè)計(jì)了四十個(gè),第二層隱藏層單元數(shù)是五十個(gè)。 輸入數(shù)據(jù)x的格式是二維數(shù)組。x[0] 的維度是25 維,代表了所采集的 25個(gè)骨骼位置。
5.2音頻數(shù)據(jù)處理與語音識別
Speech類庫的語音識別功能是通過SpeechRecognitionEngine對象提供的。該類是語音識別的核心,它負(fù)責(zé)從Kinect傳感器獲取處理后的音頻數(shù)據(jù)流,然后分析和解譯這些數(shù)據(jù)流,然后匹配出最合適的語音命令。引擎給基本發(fā)聲單元一定的權(quán)重,如果判斷出發(fā)聲包含特定待識別的命令,就通過事件進(jìn)行進(jìn)一步處理,如果不包含,直接丟掉這部分音頻數(shù)據(jù)流。
當(dāng)安裝了Kinect for Windows運(yùn)行時(shí)語音庫時(shí),ID為Server Speech Recognition Language-Kinect(zh-CN)的語音庫可以使用。最后,語音識別引擎需要進(jìn)行配置,以接收來自Kinect對象的音頻數(shù)據(jù)流。
語音識別引擎使用LoadGrammar方法將Grammars對象加載進(jìn)來。啟動(dòng)引擎有幾種模式,可以使用同步或者異步模式啟動(dòng)。另外也可以識別一次或者繼續(xù)識別從Kinect傳來的多條語音命令。
本文采用異步語音識別的方法對啟動(dòng)引擎后的語音進(jìn)行多次連續(xù)識別。在識別中開啟多線程技術(shù)減少系統(tǒng)占用,提高系統(tǒng)識別體驗(yàn)。
5.3建立合成行業(yè)數(shù)據(jù)庫
鐵路行業(yè)動(dòng)作講究“手比”、“口呼”,其要求不折不扣地執(zhí)行標(biāo)準(zhǔn)動(dòng)作。鐵路行業(yè)采用“現(xiàn)場作業(yè)標(biāo)準(zhǔn)化”、“過程控制常態(tài)化”,處處貫徹“讓標(biāo)準(zhǔn)成為習(xí)慣,讓習(xí)慣符合標(biāo)準(zhǔn)”的理念。本文從動(dòng)作與語音指令兩方面出發(fā),通過數(shù)字化的方法建立了完整的行業(yè)動(dòng)作數(shù)據(jù)分類方法。其具體工作流程如下:
圖2:動(dòng)作庫建立、訓(xùn)練、驗(yàn)證過程
6 動(dòng)作訓(xùn)練模型的評估與評分標(biāo)準(zhǔn)
評分系統(tǒng)的評估以靜態(tài)動(dòng)作的置信值為依據(jù),將行業(yè)技能訓(xùn)練中需要反復(fù)訓(xùn)練的標(biāo)準(zhǔn)化動(dòng)作進(jìn)行捕捉,再通過機(jī)器學(xué)習(xí)對計(jì)算機(jī)進(jìn)行訓(xùn)練,讓計(jì)算機(jī)“記住”這些行業(yè)動(dòng)作的基礎(chǔ)特征。其標(biāo)準(zhǔn)統(tǒng)一、驗(yàn)證可靠、訓(xùn)練可重復(fù)。對輔助動(dòng)作訓(xùn)練的規(guī)范效果明顯??己藭r(shí)還可以利用這套設(shè)備識別出考生的動(dòng)作是否規(guī)范,并根據(jù)標(biāo)準(zhǔn)程度進(jìn)行打分。其打分標(biāo)準(zhǔn)由機(jī)器學(xué)習(xí)的置信度為依據(jù)(0-1),乘以100得到一個(gè)百分制的評分系統(tǒng)。結(jié)合語音庫的指令識別,形成一個(gè)多維的行業(yè)動(dòng)作判斷庫。其具有規(guī)范化、標(biāo)準(zhǔn)統(tǒng)一的優(yōu)點(diǎn)。將大大提升訓(xùn)練與考核的標(biāo)準(zhǔn)性與公正性。其后驗(yàn)識別率在靜態(tài)動(dòng)作識別較高,在連續(xù)動(dòng)作識別方面略低,均達(dá)到了初期設(shè)計(jì)需求。
下表為3個(gè)常見機(jī)車司機(jī)動(dòng)作校驗(yàn)識別率:
動(dòng)作行業(yè) 姿勢 語音 實(shí)驗(yàn)次數(shù) 誤檢 識別率
確認(rèn)進(jìn)站信號黃燈正線停車 伸右手45度,四指并攏,大拇指伸出 司機(jī):進(jìn)站信號
副司機(jī):正線停車 100 3 97%
確認(rèn)進(jìn)站信號綠燈通過 伸右手45度,三指并攏,向上伸出食指和中指 司機(jī):進(jìn)站信號
副司機(jī):綠燈通過 100 1 99%
確認(rèn)進(jìn)站信號紅燈機(jī)外停車 伸右手45度單臂攏拳急劇晃動(dòng) 司機(jī):進(jìn)站信號
副司機(jī):機(jī)外停車 100 5 95%
7 總結(jié)
本文將最新計(jì)算機(jī)技術(shù)與鐵路標(biāo)準(zhǔn)化作業(yè)流程訓(xùn)練的結(jié)合應(yīng)用。用最新的計(jì)算機(jī)體感識別設(shè)備Kinect V2結(jié)合圖像識別、語音識別領(lǐng)域最新成果應(yīng)用到對肢體動(dòng)作標(biāo)準(zhǔn)化有要求的訓(xùn)練場合,實(shí)現(xiàn)了一套跨學(xué)科的動(dòng)作訓(xùn)練與考核軟硬件結(jié)合方案。從數(shù)據(jù)庫的結(jié)構(gòu)設(shè)置及建立方面闡述了該方案的工作模式與建立過程。對生產(chǎn)生活中的其他動(dòng)作識別、音頻類訓(xùn)練庫具有借鑒和指導(dǎo)意義。
參考文獻(xiàn)
[1]梁修容,楊正益.基于聚類和SVM的數(shù)據(jù)分類方法與實(shí)驗(yàn)研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2018, 43(3): 91-96.
[2]李紅波,李雙生,孫舶源.基于Kinect骨骼數(shù)據(jù)的人體動(dòng)作姿勢識別方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2016, 37(4): 969-975.
[3]鄭中華.基于肢體動(dòng)作的人體姿態(tài)識別研究[D]:[碩士學(xué)位論文].西安: 西安工業(yè)大學(xué), 2015.
基金項(xiàng)目
新疆維吾爾自治區(qū)職業(yè)教育科研課題(課題編號:XJZJKT-2019Y20)。