李文博+周磊
摘 要:學(xué)生體質(zhì)狀態(tài)一直以來都是社會(huì)關(guān)注的熱點(diǎn),其中力量問題尤為明顯,而目前尚未有合理有效的辦法改善這一狀況。文中提出的引體向上訓(xùn)練系統(tǒng),結(jié)合物聯(lián)網(wǎng)技術(shù)和機(jī)器視覺中的體感識(shí)別技術(shù),利用云服務(wù)搭建了完整的解決方案架構(gòu),實(shí)現(xiàn)了學(xué)生日常引體向上訓(xùn)練的自動(dòng)化和數(shù)據(jù)化,同時(shí)使得管理更科學(xué)、簡(jiǎn)單。系統(tǒng)主要運(yùn)用Kinect V2智能攝像頭傳感器提取運(yùn)動(dòng)骨骼數(shù)據(jù),使用步態(tài)識(shí)別算法與設(shè)計(jì)的有限狀態(tài)機(jī)運(yùn)動(dòng)模板匹配進(jìn)行引體向上運(yùn)動(dòng)識(shí)別,將用戶個(gè)人信息以及運(yùn)動(dòng)結(jié)果在Web端顯示。研究工作也為日常運(yùn)動(dòng)識(shí)別和訓(xùn)練提供了新的研究角度和方向。
關(guān)鍵詞:物聯(lián)網(wǎng);體感識(shí)別;Kinect V2;引體向上;步態(tài)識(shí)別
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2018)02-00-03
0 引 言
隨著經(jīng)濟(jì)的飛速發(fā)展,我國(guó)的GDP總量已位居世界第二,人民生活質(zhì)量得到了很大改善。但安逸的生活方式背后卻隱藏著嚴(yán)重的健康隱患,其中學(xué)生的體質(zhì)問題尤為突出。學(xué)生是21世紀(jì)我國(guó)發(fā)展的中堅(jiān)力量,學(xué)生體質(zhì)關(guān)系到祖國(guó)的未來,黨和政府一直都非常重視學(xué)生的體質(zhì)問題。
基于2000~2014年我國(guó)四次國(guó)民體質(zhì)健康監(jiān)測(cè)數(shù)據(jù)資料,結(jié)合歷年《全國(guó)學(xué)生體質(zhì)與健康調(diào)研》和《全國(guó)學(xué)生體質(zhì)健康監(jiān)測(cè)》報(bào)告及前人研究文獻(xiàn)[1],使用文獻(xiàn)分析和數(shù)理統(tǒng)計(jì)方法對(duì)近15年我國(guó)青少年體質(zhì)狀況進(jìn)行分析。研究發(fā)現(xiàn):我國(guó)青少年身體形態(tài)呈現(xiàn)持續(xù)增長(zhǎng)趨勢(shì),肥胖檢出率持續(xù)上升;肺活量和絕大多數(shù)身體素質(zhì)指標(biāo)在2005年以前持續(xù)下降,2010年開始止“跌”回升。
近年來,國(guó)家對(duì)青少年體質(zhì)的高度重視與體育事業(yè)的蓬勃發(fā)展,尤其是2008年陽(yáng)光體育運(yùn)動(dòng)的開展,使學(xué)生耐力素質(zhì)得到了極大改善,但學(xué)生的力量、爆發(fā)力、平衡等問題卻仍止步不前。當(dāng)前,各校都在采取相應(yīng)的措施和方案來鼓勵(lì)大學(xué)生在體育課外,利用業(yè)余時(shí)間積極投入到體育鍛煉中,但尚未找到行之有效的辦法。
隨著機(jī)器視覺技術(shù)的崛起,采用智能攝像頭結(jié)合適用于相應(yīng)應(yīng)用的識(shí)別算法高效解決生活、生產(chǎn)中出現(xiàn)的問題前景廣闊[2]。
依據(jù)《國(guó)家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)》,本系統(tǒng)運(yùn)用微軟KinectV2智能攝像頭開發(fā)出了一套解決學(xué)生日常引體向上運(yùn)動(dòng)訓(xùn)練難以管理、指導(dǎo)的問題,可有效改善學(xué)生上肢力量差的現(xiàn)狀。
1 關(guān)鍵技術(shù)介紹
1.1 機(jī)器視覺
機(jī)器視覺作為人工智能領(lǐng)域的一個(gè)分支,即機(jī)器模擬人類的視覺認(rèn)知處理能力,將攝取的圖像信息傳送至圖像處理系統(tǒng),在無需人為干預(yù)的情況下挖掘處理圖像視頻中低層次的數(shù)字化數(shù)據(jù),并轉(zhuǎn)譯為高層次信息輸出,以達(dá)到近似人類對(duì)視覺信號(hào)的理解能力。該技術(shù)起源于上世紀(jì)60年代,但由于圖像采集和計(jì)算機(jī)計(jì)算能力的局限性,直到2010年才迎來爆發(fā)式的增長(zhǎng),目前在智能化視頻監(jiān)控、基于內(nèi)容的視頻檢索、醫(yī)療領(lǐng)域、人機(jī)交互、體育領(lǐng)域等行業(yè)中有著廣泛的應(yīng)用前景和價(jià)值,國(guó)內(nèi)外眾多知名高校以及研究機(jī)構(gòu)進(jìn)行了大量研究,同時(shí)科技公司也積極投入人力物力挖掘其市場(chǎng)應(yīng)用場(chǎng)景和社會(huì)價(jià)值[3,4]。
1.2 Kinect V2
2014年10月微軟發(fā)布了Kinect for Windows新一代產(chǎn)品Kinect V2[5]。與2012年發(fā)布的第一代產(chǎn)品相比,有了重大的性能提升。Kinect是一種3D體感攝影機(jī),主要包含麥克風(fēng)陣列、深度圖像所使用的紅外線發(fā)射器和紅外接收器及RGB攝像頭。Kinect V2組成如圖1所示。
Kinect運(yùn)用分隔策略將人體從背景中分離出來,并將分離出的人體部分圖像再通過一個(gè)由微軟開發(fā)的以TB計(jì)的數(shù)據(jù)輸入到集群系統(tǒng)訓(xùn)練出的人體各部位識(shí)別模型中,生產(chǎn)出25關(guān)節(jié)點(diǎn)的人體骨架模型,以約30 f/s的速度輸出骨骼數(shù)據(jù),最多可同時(shí)識(shí)別6人[5,6]。Kinect智能攝像頭所輸出的骨骼關(guān)節(jié)數(shù)據(jù)為人體動(dòng)作識(shí)別提供了基礎(chǔ),解決了計(jì)算機(jī)視覺對(duì)于人體運(yùn)動(dòng)時(shí)空序列數(shù)據(jù)提取的難題。
2 硬件組成
本系統(tǒng)硬件設(shè)備包括Kinect V2攝像頭傳感器、計(jì)算機(jī)、RFID讀卡器、顯示設(shè)備及云服務(wù)器。硬件連接組成如圖2所示。
本系統(tǒng)使用的Kinect V2傳感器已包含電源線和USB 3.0數(shù)據(jù)線。待連接的計(jì)算機(jī)需滿足以下條件[7]:
(1)CPU必須支持64位系統(tǒng)。
(2)USB需滿足USB 3.0的要求,USB 3.0可以通過PCIE擴(kuò)展口安裝。
(3)顯卡需支持DirectX 11。
(4)操作系統(tǒng)為64位,Win8版本及以上。
(5)內(nèi)存需達(dá)到4 G以上。
計(jì)算機(jī)為處理前端讀卡器和Kinect攝像頭所需的硬件平臺(tái),可方便用戶輸入數(shù)據(jù),也可通過與自行開發(fā)的配套軟件相結(jié)合,實(shí)時(shí)檢測(cè)用戶引體向上的情況,同時(shí)還可將用戶數(shù)據(jù)上傳至云端服務(wù)器進(jìn)行處理。
本系統(tǒng)硬件CPU采用英特爾7代G-4600處理器,主頻為3.6 GHz,搭載64位Windows10操作系統(tǒng),核顯支持DirectX 11,滿足Kinect設(shè)備運(yùn)行的硬件要求,極具性價(jià)比。主板采用技嘉 GIGABYTE B85-HD3,可滿足文中對(duì)USB提出的要求。
3 軟件設(shè)計(jì)
3.1 系統(tǒng)架構(gòu)及開發(fā)平臺(tái)的選擇
本系統(tǒng)軟硬件通過USB 3.0進(jìn)行數(shù)據(jù)交互,客戶端和云端通信采用TCP/IP通信協(xié)議,軟件整體設(shè)計(jì)流程如圖3所示。
本系統(tǒng)設(shè)計(jì)基于.NET平臺(tái)。.NET平臺(tái)是微軟公司開發(fā)的技術(shù)平臺(tái),主要運(yùn)行在Windows 操作系統(tǒng)上,可與同為微軟旗下的Kinect兼容[8]。此外,.NET平臺(tái)還支持多種開發(fā)語言,如C#、C++、F#、Python等,在編譯時(shí)期,.NET平臺(tái)會(huì)將這些語言編譯成統(tǒng)一的CLR(Common Language Runtime,CLR),可無差別地運(yùn)行在.NET平臺(tái)上。微軟還推出了被譽(yù)為世上最好用集成開發(fā)環(huán)境(Integrated Develop Environment,IDE)的Visual Studio,使得.NET平臺(tái)極具吸引力。其中客戶端的設(shè)計(jì)開發(fā)采用C#,云端服務(wù)器的開發(fā)采用Python。endprint
3.2 客戶端軟件設(shè)計(jì)
3.2.1 客戶端功能
客戶端具有如下功能:
(1)使用者信息的采集。學(xué)生訓(xùn)練系統(tǒng)采用學(xué)生日常最常用的校園卡作為信息采集源,包含學(xué)生卡號(hào),可通過USB讀取學(xué)生信息,顯示并保存。
(2)通過USB 3.0連接Kinect采集運(yùn)動(dòng)數(shù)據(jù),客戶端識(shí)別運(yùn)動(dòng),判斷使用者的使用情況,并記錄保存。
(3)客戶端連接前端顯示設(shè)備將用戶信息和實(shí)時(shí)運(yùn)動(dòng)情況反饋至各使用者,實(shí)現(xiàn)良好的交互效果。
(4)客戶端可將使用者的信息和運(yùn)動(dòng)結(jié)果上傳至云端服務(wù)器。
3.2.2 引體向上識(shí)別算法
本系統(tǒng)最核心的部分是對(duì)于引體向上運(yùn)動(dòng)的識(shí)別算法,運(yùn)動(dòng)識(shí)別流程如圖4所示。
采用步態(tài)識(shí)別算法提取骨骼特征和運(yùn)動(dòng)特征[9],并將這兩種特征序列數(shù)據(jù)分別與標(biāo)準(zhǔn)骨骼數(shù)據(jù)、標(biāo)準(zhǔn)運(yùn)動(dòng)數(shù)據(jù)相匹配。骨骼特征主要計(jì)算多個(gè)骨骼點(diǎn)在三維空間的相對(duì)角度。Kinect V2坐標(biāo)系如圖5所示。
本系統(tǒng)中的骨骼特征提取以Kinect坐標(biāo)系中的計(jì)算為基礎(chǔ)。假設(shè)運(yùn)動(dòng)的肩膀、肘部、手部姿勢(shì)如圖6所示,那么映射到Kinect 坐標(biāo)系時(shí)如圖7所示。
只需要通過計(jì)算向量,的夾角θ即可得到空間坐標(biāo)中肘部所成的夾角。計(jì)算公式如下:
在骨骼特征提取過程中,每個(gè)骨骼特征序列都由通過上述骨骼角度方法計(jì)算得到的一系列相對(duì)角度組成,以表示當(dāng)前某一時(shí)刻用戶運(yùn)動(dòng)姿勢(shì)的特征點(diǎn)。運(yùn)動(dòng)特征提取是在骨骼特征提取的基礎(chǔ)上針對(duì)運(yùn)動(dòng)的識(shí)別與檢測(cè),目的在于提高針對(duì)引體向上運(yùn)動(dòng)識(shí)別的準(zhǔn)確性和運(yùn)動(dòng)完整度。
引體向上狀態(tài)機(jī)[10]描述如圖8所示。
直臂懸垂?fàn)顟B(tài)的姿勢(shì)即兩手用寬握距正握單杠,略寬于肩,兩腳離地,兩臂自然下垂伸直。這是引體向上每一個(gè)運(yùn)動(dòng)周期的起始姿勢(shì)。
引體向上的姿勢(shì)為頭部上升至單杠上方,雙手和雙臂之間成彎曲角度。這是整個(gè)運(yùn)動(dòng)過程中的上升和下降轉(zhuǎn)折點(diǎn)。
(1)引體向上特征提取
引體向上的運(yùn)動(dòng)姿勢(shì)轉(zhuǎn)化如圖9所示。
本系統(tǒng)設(shè)定與的夾角為α,與的夾角為β,與的夾角為γ,與的夾角為δ。其中,β和δ指肩膀的旋轉(zhuǎn)角度。骨骼特征提取矩陣見式(7),其中T,t分別表示引體向上的運(yùn)動(dòng)周期,即完成一次引體向上的時(shí)間。
(2)引體向上匹配
與上述立定跳遠(yuǎn)模版匹配類似,引體向上匹配也通過DTW算法結(jié)合骨骼節(jié)點(diǎn)HM,F(xiàn)L,F(xiàn)R的Y軸坐標(biāo)來實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)。在進(jìn)行DTW局部最優(yōu)節(jié)點(diǎn)相似度計(jì)算時(shí),提取特征向量中的權(quán)重比α∶β∶γ∶δ=kp1∶kp2∶kp3∶kp4,判斷狀態(tài)節(jié)點(diǎn)識(shí)別度閾值為dp,單位為度。
3.3 云端軟件設(shè)計(jì)
為了完善該系統(tǒng),還為系統(tǒng)加入了云端服務(wù)系統(tǒng),使得運(yùn)動(dòng)數(shù)據(jù)可被使用者更方便地利用與保存,為系統(tǒng)的擴(kuò)展和實(shí)用增加了更多可能。本系統(tǒng)云端采用由Python語言和Django框架結(jié)合而成的MySQL數(shù)據(jù)庫(kù),從而成功搭建了一個(gè)完整的Web平臺(tái)。Python是目前最流行的編程語言之一。Django是Python語言編寫的最優(yōu)秀的Web框架之一,采用的MVC框架模式[3]具有易開發(fā),便于更新維護(hù),移植性好等特點(diǎn)。將終端發(fā)送的用戶信息和引體向上運(yùn)動(dòng)數(shù)據(jù)上傳存儲(chǔ),主要實(shí)現(xiàn)數(shù)據(jù)預(yù)處理、Web端交互、查詢與導(dǎo)出數(shù)據(jù)等功能。
4 結(jié) 語
本文介紹的基于體感識(shí)別的學(xué)生引體向上訓(xùn)練系統(tǒng),運(yùn)用現(xiàn)有技術(shù)手段解決了社會(huì)實(shí)際中遇到的學(xué)生健康運(yùn)動(dòng)問題,實(shí)現(xiàn)了科學(xué)管理學(xué)生引體向上運(yùn)動(dòng)的目標(biāo)。結(jié)合當(dāng)下物聯(lián)網(wǎng)技術(shù),文中介紹的全新解決方案為類似運(yùn)動(dòng)檢測(cè)與管理的實(shí)現(xiàn)提供了新的角度。
本系統(tǒng)已在一家學(xué)校使用,運(yùn)行狀態(tài)良好,深得師生喜愛,證明了本文提出的基于體感識(shí)別的學(xué)生引體向上訓(xùn)練系統(tǒng)具有可行性。
參考文獻(xiàn)
[1]張洋,何玲.中國(guó)青少年體質(zhì)健康狀況動(dòng)態(tài)分析——基于2000—2014年四次國(guó)民體質(zhì)健康監(jiān)測(cè)數(shù)據(jù)[J].中國(guó)青年研究,2016(6):4-12.
[2]李擬珺.基于計(jì)算機(jī)視覺的人體動(dòng)作識(shí)別技術(shù)研究[D].南京:東南大學(xué), 2015.
[3]胡瓊,秦磊,黃慶明.基于視覺的人體動(dòng)作識(shí)別綜述[J].計(jì)算機(jī)學(xué)報(bào),2013,26(12):2512-2524.
[4]胥磊.機(jī)器視覺技術(shù)的發(fā)展現(xiàn)狀與展望[J].設(shè)備管理與維修,2016(9):7-9.
[5]李詩(shī)銳,李琪,李海洋,等.基于Kinect v2的實(shí)時(shí)精確三維重建系統(tǒng)[J].軟件學(xué)報(bào),2016,27(10):2519-2529.
[6]王梅,于遠(yuǎn)芳,屠大維,等.基于Kinect的環(huán)境平面特征提取與重構(gòu)[J].計(jì)算機(jī)應(yīng)用, 2016, 36(5):1366-1370.
[7] Abhijit J. Kinect for Windows SDK Programming Guide[M].UK:Packt Publishing,2012.
[8]余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn):用最自然的方式與機(jī)器對(duì)話[M].北京:機(jī)械工業(yè)出版社, 2013.
[9] Kastaniotis D, Theoharatos C, Theoharatos C, et al. A framework for gait-based recognition using Kinect[J].Pattern Recognition Letters, 2015,68(2):327-335.
[10]吳進(jìn).機(jī)器視覺中快速模版匹配算法研究[J].新型工業(yè)化,2014 (1):65-69.endprint