葛亞坤
(北方工業(yè)大學(xué)信息學(xué)院 北京市 100144)
隨著短視頻的興起,人們對(duì)跟隨視頻學(xué)習(xí)動(dòng)作越來(lái)越感興趣。運(yùn)動(dòng)能夠緩解身體疲勞,使人們可以更加輕松地學(xué)習(xí)生活。但是觀看運(yùn)動(dòng)類視頻后盲目跟練可能傷害身體。現(xiàn)有的視頻教學(xué)軟件缺少跟練效果的反饋,因此,開(kāi)發(fā)一個(gè)操作簡(jiǎn)單、交互自然、反饋完善的人體運(yùn)動(dòng)相似度計(jì)算系統(tǒng)是必要的。
人體姿態(tài)感知技術(shù)可得到圖像中所有人體的骨骼數(shù)據(jù)信息。在獲取二維骨骼關(guān)鍵點(diǎn)時(shí),文獻(xiàn)[1]提出了基于DeepPose 的人體姿態(tài)感知方法,第一次使用深度學(xué)習(xí)技術(shù)進(jìn)行人體姿態(tài)感知。文獻(xiàn)[2]建立空間融合模型,提出了基于CNN 網(wǎng)絡(luò)的人體姿態(tài)感知方法。文獻(xiàn)[3]介紹了基于部件響應(yīng)圖預(yù)測(cè)骨骼關(guān)鍵點(diǎn)的方法。文獻(xiàn)[4]提出了OpenPose 的人體姿態(tài)感知方法。在獲取三維骨骼關(guān)鍵點(diǎn)時(shí),文獻(xiàn)[5]使用了基于序列幀的光學(xué)運(yùn)動(dòng)捕捉系統(tǒng)方法。文獻(xiàn)[6]提出了機(jī)械式運(yùn)動(dòng)捕捉系統(tǒng)的微調(diào)方法。文獻(xiàn)[7]提出了基于kinect 三維骨骼節(jié)點(diǎn)的動(dòng)作識(shí)別方法。相似度計(jì)算技術(shù)是人體運(yùn)動(dòng)相似度計(jì)算系統(tǒng)中實(shí)現(xiàn)運(yùn)動(dòng)學(xué)習(xí)結(jié)果對(duì)比反饋的關(guān)鍵技術(shù)之一。文獻(xiàn)[8]提出了基于商品相似度的協(xié)同過(guò)濾推薦方法。文獻(xiàn)[9]提出了改進(jìn)的Dynamic Time Warping (DTW)方法。文獻(xiàn)[10]使用差異矩陣比對(duì)運(yùn)動(dòng)相似度。在研究了人體姿態(tài)感知和運(yùn)動(dòng)相似度計(jì)算方法存在的優(yōu)缺點(diǎn)之后,本文設(shè)計(jì)并開(kāi)發(fā)了人體運(yùn)動(dòng)相似度計(jì)算系統(tǒng)。
為提升用戶使用的便捷性和體驗(yàn)感,達(dá)到計(jì)算并分析運(yùn)動(dòng)相似度的主要目的,進(jìn)行課題調(diào)研與需求分析,本文設(shè)計(jì)的運(yùn)動(dòng)相似度計(jì)算系統(tǒng)使用戶可以根據(jù)模板視頻的分解動(dòng)作進(jìn)行學(xué)習(xí)并提交系統(tǒng)等待評(píng)分反饋,獲得反饋后可以及時(shí)修正該分解動(dòng)作。
本文設(shè)計(jì)的運(yùn)動(dòng)相似度計(jì)算系統(tǒng)主要分為五個(gè)主要模塊,分別是視頻加載模塊、動(dòng)作學(xué)習(xí)模塊、姿態(tài)感知模塊、相似度計(jì)算模塊和人機(jī)交互模塊。
3.2.1 視頻加載模塊
視頻加載模塊的功能為將多種種類的模板視頻加載到系統(tǒng)中,供用戶進(jìn)行有針對(duì)性、選擇性地學(xué)習(xí)。視頻加載模塊分為兩大部分,分別為模板視頻加載和用戶視頻加載。模板視頻加載文件夾包括調(diào)研后選擇的六類熱門運(yùn)動(dòng)訓(xùn)練項(xiàng)目,分別為戲曲、瑜伽、太極、健身操、廣場(chǎng)舞、流行舞。每類中均有多種片段供用戶選擇作為模板視頻進(jìn)行跟練。用戶視頻加載文件夾為動(dòng)作學(xué)習(xí)模塊中用戶保存的跟練視頻,可加載進(jìn)入系統(tǒng)總結(jié)經(jīng)驗(yàn)。
3.2.2 動(dòng)作學(xué)習(xí)模塊
動(dòng)作學(xué)習(xí)模塊供用戶觀看視頻加載模塊導(dǎo)入的模板視頻,并根據(jù)模板視頻的動(dòng)作跟練。用戶開(kāi)始學(xué)習(xí)時(shí),可以選擇學(xué)習(xí)視頻關(guān)鍵動(dòng)作,待所有動(dòng)作學(xué)習(xí)完成后,再跟練完整視頻。選用紅外傳感器實(shí)時(shí)跟練拆解動(dòng)作,并根據(jù)反饋結(jié)果及時(shí)矯正動(dòng)作。完成拆解動(dòng)作學(xué)習(xí)后,選用單目攝像頭進(jìn)行跟練并保存視頻,方便姿態(tài)感知模塊提取二維骨骼關(guān)鍵點(diǎn)。單目攝像頭和紅外傳感器需要簡(jiǎn)單的初始化。
圖1:人體運(yùn)動(dòng)相似度計(jì)算系統(tǒng)模塊圖
3.2.3 姿態(tài)感知模塊
姿態(tài)感知模塊分為兩大部分,分別為二維骨骼關(guān)鍵點(diǎn)提取和三維骨骼關(guān)鍵點(diǎn)提取。完成人體姿態(tài)感知后,骨骼數(shù)據(jù)以關(guān)鍵點(diǎn)連線形成骨架的形式繪制在視頻中人體相應(yīng)位置,使用戶可以清晰明了地查看。
(1)二維骨骼關(guān)鍵點(diǎn)提取。為了較準(zhǔn)確地提取二維骨骼關(guān)鍵點(diǎn),本文采用優(yōu)化的vgg-19 網(wǎng)絡(luò)獲取圖像特征,其次訓(xùn)練關(guān)鍵點(diǎn)置信度網(wǎng)絡(luò)預(yù)測(cè)骨骼關(guān)鍵點(diǎn)的位置;同時(shí)根據(jù)親和度向量網(wǎng)絡(luò)輸出結(jié)果生成骨骼關(guān)鍵點(diǎn)對(duì)的集合;接著聚類關(guān)鍵點(diǎn);獲取人體完整的二維骨骼數(shù)據(jù),從而完成二維骨骼關(guān)鍵點(diǎn)提取。
(2)三維骨骼關(guān)鍵點(diǎn)提取。傳統(tǒng)提取三維骨骼關(guān)鍵點(diǎn)的運(yùn)動(dòng)捕獲技術(shù)需要寬闊的場(chǎng)地和繁雜的設(shè)備,不便于家庭或者個(gè)人用戶使用。因此,使用紅外傳感器提取三維骨骼關(guān)鍵點(diǎn)。獲取深度圖像后創(chuàng)建分割蒙版,訓(xùn)練分類器并預(yù)測(cè)骨骼關(guān)鍵點(diǎn),方便提取用戶的三維骨骼關(guān)鍵點(diǎn)。
3.2.4 相似度計(jì)算模塊
相似度計(jì)算模塊根據(jù)模板視頻和用戶視頻姿態(tài)感知的骨骼數(shù)據(jù)計(jì)算運(yùn)動(dòng)相似度。該模塊主要有三個(gè)功能,首先,進(jìn)行視頻序列的人體姿態(tài)相似度的計(jì)算,計(jì)算結(jié)果換算為百分制的數(shù)值,方便用戶理解。數(shù)值越高,相似度越大。用戶可以查看視頻序列相似度得分柱狀圖,從而觀察自己肢體的動(dòng)作得分。之后,查看學(xué)習(xí)視頻圖像幀的人體姿態(tài)相似度,觀察每個(gè)圖像幀的相似度,計(jì)算結(jié)果為百分制的數(shù)值。最后,查看視頻人體每部分肢體的相似度,通過(guò)選擇各肢體部位,生成整個(gè)時(shí)間序列上該肢體相似度計(jì)算結(jié)果的曲線,更細(xì)致地提供需要訓(xùn)練修正的時(shí)刻信息,以便針對(duì)性地糾正動(dòng)作。
3.2.5 人機(jī)交互模塊
人機(jī)交互模塊主要包括功能界面和反饋提示。為方便用戶使用功能界面實(shí)現(xiàn)各種功能,系統(tǒng)首頁(yè)展示給用戶一些操作指導(dǎo)的使用說(shuō)明文字。功能界面中將系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)的功能通過(guò)按鈕、文字等方式引導(dǎo)用戶使用并實(shí)現(xiàn)各種功能的效果。反饋提示為用戶根據(jù)系統(tǒng)提示進(jìn)行相應(yīng)操作后,系統(tǒng)將提供基于該操作對(duì)應(yīng)的反饋結(jié)果供用戶查看。為方便用戶使用,系統(tǒng)增設(shè)了音頻提示等功能。
本系統(tǒng)硬件環(huán)境為Intel(R)Xeon(R) E5-2620 2.40GHz 的CPU、32GB 內(nèi)存、NVIDIA Quadro M4000 顯卡;軟件環(huán)境為Windows10操作系統(tǒng),Pycharm2018.1.2;編程語(yǔ)言為Python3.6。系統(tǒng)的圖像界面開(kāi)發(fā)工具為Python 的PyQt5 工具包。
如圖2所示為系統(tǒng)人體姿態(tài)感知界面。其中界面的左上側(cè)區(qū)域?yàn)檫x擇的模板視頻,右上側(cè)區(qū)域?yàn)檫x擇的用戶視頻。對(duì)視頻每幀進(jìn)行人體姿態(tài)感知,并計(jì)算相似度。在下側(cè)區(qū)域展示繪制于視頻中的二維骨骼關(guān)鍵點(diǎn)及相似度得分。
圖2:人體姿態(tài)感知界面
如圖3所示,進(jìn)行計(jì)算相似度后,分別得到視頻序列與圖像幀的相似度得分可視化結(jié)果,由得分曲線追溯用戶動(dòng)作得分較低幀數(shù)并進(jìn)行有針對(duì)性地糾正。
圖3:運(yùn)動(dòng)相似度計(jì)算界面
為解決視頻教學(xué)軟件反饋較少的問(wèn)題,本文設(shè)計(jì)并實(shí)現(xiàn)了運(yùn)動(dòng)相似度計(jì)算系統(tǒng)。該系統(tǒng)基于本文使用的人體姿態(tài)感知、運(yùn)動(dòng)相似度計(jì)算的方法,實(shí)現(xiàn)了系統(tǒng)的功能。該系統(tǒng)主要分為五個(gè)主要模塊,分別是視頻加載模塊、動(dòng)作學(xué)習(xí)模塊、姿態(tài)感知模塊、相似度計(jì)算模塊和人機(jī)交互模塊。針對(duì)每個(gè)模塊的功能與實(shí)現(xiàn)進(jìn)行了清晰的說(shuō)明,將系統(tǒng)中每個(gè)模塊的功能效果進(jìn)行了展示。系統(tǒng)運(yùn)行效果表明,本文設(shè)計(jì)的運(yùn)動(dòng)相似度計(jì)算系統(tǒng)運(yùn)行穩(wěn)定、效果良好。