鄒鵬 諶雨章 蔡必漢 陳龍彪
摘要:針對運動教學(xué),結(jié)合攝像頭與相關(guān)圖像處理算法,開發(fā)了準(zhǔn)確捕捉動作、比對分析、提出建議的智能運動分析教學(xué)平臺。應(yīng)用物聯(lián)網(wǎng)經(jīng)典框架,逐層設(shè)計了本平臺的功能與原理,對于核心模塊,進(jìn)行了理論論證與落地實驗。在動作捕捉方面,應(yīng)用Kinect深度攝像頭,測算出人體骨骼關(guān)鍵點三維坐標(biāo)信息,配合加權(quán)遞推平均濾波算法提取了歐拉角特征信息,使用模板匹配法能準(zhǔn)確地識別用戶動作。在比對分析方面,應(yīng)用歐氏距離法,可準(zhǔn)確給出量化的綜合評價與相似度。
關(guān)鍵詞:kinect;動作識別;數(shù)據(jù)提取;實時對比;綜合評價
中圖分類號:TP391.7? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)18-0179-02
1 引言
在運動學(xué)習(xí)需求高速增長的同時,以物聯(lián)網(wǎng)技術(shù)為代表的信息技術(shù)也取得了突飛猛進(jìn)的進(jìn)展,個人電腦與手機迅速普及,計算機圖形學(xué)也有較大進(jìn)步,在運動輔助教學(xué)方面有了新的探索。本智能運動教學(xué)分析平臺,借鑒了近年來在游戲、電影領(lǐng)域應(yīng)用廣泛的三維人體運動捕捉技術(shù)[1]。學(xué)習(xí)者只需要在深度攝像頭前模仿標(biāo)準(zhǔn)教學(xué)視頻中的動作,本系統(tǒng)就能運用圖像處理算法對視頻進(jìn)行特征檢測和識別,及時指出錯誤并反饋動作的相似度,從而降低舞蹈、健身等運動的學(xué)習(xí)門檻,方便用戶的動作學(xué)習(xí)與訓(xùn)練。
2 系統(tǒng)方案
基于物聯(lián)網(wǎng)經(jīng)典的層次架構(gòu)設(shè)計方案,本智能運動分析教學(xué)平臺設(shè)計分為四個層次:智能感知層、網(wǎng)絡(luò)傳輸層、數(shù)據(jù)管理層、云應(yīng)用層。
智能感知層部署Kinect深度攝像頭,采集用戶的動作信息。感知層采集到動作信息后,進(jìn)行初步的前景偵測等預(yù)處理,將特征信息經(jīng)由網(wǎng)絡(luò)傳輸層傳遞給數(shù)據(jù)庫儲存。
網(wǎng)絡(luò)傳輸層基于目前主流的幾種網(wǎng)絡(luò)形式,如WI-FI、以太網(wǎng)、蜂窩通信網(wǎng)絡(luò)等。負(fù)責(zé)將智能感知層的數(shù)據(jù)根據(jù)不同需求傳輸給數(shù)據(jù)管理層。
數(shù)據(jù)管理層分為數(shù)據(jù)分析、數(shù)據(jù)存儲兩大模塊。數(shù)據(jù)分析模塊根據(jù)網(wǎng)絡(luò)傳輸層傳遞的人體關(guān)節(jié)模型,計算關(guān)節(jié)點向量,提取歐拉角等三維動作數(shù)據(jù),傳給數(shù)據(jù)存儲模塊保存。針對三維動作數(shù)據(jù),設(shè)計以BVH格式存儲歐拉角等特征信息的數(shù)據(jù)庫。數(shù)據(jù)庫主要存儲標(biāo)準(zhǔn)動作的特征信息、采集的用戶動作特征信息、用戶基本信息,數(shù)據(jù)分析模塊隨時調(diào)用這些數(shù)據(jù)進(jìn)行相似度計算、動作識別等處理。用戶通過云應(yīng)用層也可方便地調(diào)用數(shù)據(jù)庫數(shù)據(jù)。
云應(yīng)用層是本平臺提供給用戶方便使用的接口,包含跨平臺的客戶端、基于B/S模式的網(wǎng)站。用戶在Andriod、Windows系統(tǒng)上都可以使用本平臺客戶端,啟動智能運動分析教學(xué)服務(wù)。也可登錄網(wǎng)站,管理自己的運動信息,或在論壇上與其他用戶交流。
3 實施原理及過程
3.1 關(guān)節(jié)模型提取
在Kinect 2.0上通過其獲取人體的深度信息,從而建立人體骨骼關(guān)節(jié)模型的坐標(biāo)信息,完成對骨骼關(guān)節(jié)模型的提取,完成圖像坐標(biāo)到實際坐標(biāo)的轉(zhuǎn)化。假設(shè)kinect所采集到的某一節(jié)點坐標(biāo)為[(xi,yi,zi)],其轉(zhuǎn)換公式為:
3.2 動作識別
由于Kinect每秒獲取30幀圖像,也就是關(guān)節(jié)模型每秒刷新30次,再加上人身體不可避免的抖動,因此首先采用加權(quán)遞推平均濾波算法[2]對坐標(biāo)進(jìn)行濾波,去除關(guān)節(jié)坐標(biāo)點的波動。加權(quán)遞推平均濾波算法就是連續(xù)取N各采樣值作為標(biāo)準(zhǔn)隊列,此隊列長度固定為N。之后每次采集一次新的數(shù)據(jù)就放到隊尾,并丟掉隊首的數(shù)據(jù)。然后針對不同時刻賦予不同權(quán)值,最后把隊列的N個數(shù)據(jù)進(jìn)行算術(shù)平均運算,即得到濾波結(jié)果,公式如下:
3.3 動作相似度計算
基于數(shù)據(jù)庫中以BVH格式存儲的歐拉角人體特征向量,本項目采用歐式距離法計算動作相似度[4]。流程圖如圖1所示:
經(jīng)過大量的樣本試驗后,本平臺將單通道歐氏距離閾值設(shè)置為0.05,能相對準(zhǔn)確地給出全局評價與相似度。對確定的人體骨架,三維動作數(shù)據(jù)就是對骨架中每個骨骼的相對旋轉(zhuǎn)角度的表征。我們選用旋轉(zhuǎn)矩陣和歐拉角來描述剛體在三維空間中的旋轉(zhuǎn)量[5]。
4 結(jié)論
本平臺具有動作捕捉與識別、動作分析比對、學(xué)習(xí)管理等功能,具有良好的實時性、適用性與準(zhǔn)確性。在用戶動作采集方面,考慮到平臺精度與成本的雙重要求,部署了Kinect深度攝像頭作為智能感知層,以此提取人體骨骼關(guān)節(jié)模型與三維坐標(biāo)信息。根據(jù)這些信息經(jīng)加權(quán)遞推平均濾波后,計算歐拉角為特征向量,以BVH格式存儲在數(shù)據(jù)庫中。本平臺通過比對標(biāo)準(zhǔn)教學(xué)視頻中的模板特征數(shù)據(jù),達(dá)到動作識別的效果。在動作比對分析方面,引入了對歐拉角標(biāo)準(zhǔn)規(guī)范化的動作捕捉數(shù)據(jù),對用戶視頻序列進(jìn)行了良好分段,針對每段序列的每個通道計算歐氏距離,表示與標(biāo)準(zhǔn)動作的相似度。經(jīng)過實驗設(shè)置了良好的閾值,能做出較為準(zhǔn)確的綜合評價。在用戶體驗方面,基于Django框架開發(fā)了B/S模式的前端服務(wù)平臺,用戶登錄注冊此網(wǎng)站可以可視化選擇課程、管理自己的學(xué)習(xí)進(jìn)度、查看學(xué)習(xí)評價并與其他用戶交流,具有良好的交互性與用戶體驗。
參考文獻(xiàn):
[1] 白正彪. 基于Kinect的運動示教系統(tǒng)研究與實現(xiàn)[D]. 天津大學(xué), 2012.
[2] 黨宏杜. 基于Kinect的人體動作識別算法研究[J].電子器件,2017,40(5):1310-1313.
[3] Aggarwal J K, Cai Q. Human motion analysis: a review [J]. Computer vision and image understanding, 1993,73(3), 90-102.
[4] Alexiadis D S, Kelly P, Daras P, et al. Evaluating a dancer's performance using Kinect-based skeleton tracking [J]. Association for Computing Machinery Multimedia, 2011, 28, 659-662.
[5] 陳銀態(tài). 人體輪廓提取與運動捕捉系統(tǒng)平臺搭建[D]. 北京交通大學(xué), 2012.
【通聯(lián)編輯:梁書】