吳 茵 王柏利
河南理工大學(xué)體育學(xué)院,河南 焦作 454000
太極拳作為我國(guó)一項(xiàng)民族傳統(tǒng)體育項(xiàng)目,具有獨(dú)特的運(yùn)動(dòng)形式,在大眾健身方面有著廣泛的參與度。目前,傳統(tǒng)的太極拳教學(xué)實(shí)踐中,太極拳動(dòng)作的識(shí)別大都以教師的主觀判斷為主,缺乏客觀的評(píng)價(jià)標(biāo)準(zhǔn),且因人而異。
伴隨著現(xiàn)代信息技術(shù)快速發(fā)展,機(jī)器學(xué)習(xí)是人工智能中最具智能特征,最前沿的研究領(lǐng)域之一,能夠模擬人類(lèi)的思維方式,經(jīng)過(guò)訓(xùn)練的學(xué)習(xí)模型后擁有人類(lèi)的認(rèn)知,自動(dòng)快速做出判斷和預(yù)測(cè),[1]機(jī)器學(xué)習(xí)在圖像圖片識(shí)別、語(yǔ)音信號(hào)識(shí)別、手勢(shì)識(shí)別等領(lǐng)域逐漸推廣,成為廣大學(xué)者關(guān)注的熱點(diǎn)。王鳳芹等[2]將機(jī)器學(xué)習(xí)應(yīng)用于飛行領(lǐng)域,設(shè)計(jì)了基于特征參數(shù)CART 決策樹(shù)的飛行動(dòng)作識(shí)別算法,并給出了該動(dòng)作識(shí)別算法的Python 語(yǔ)言實(shí)現(xiàn)。
侯賢沐等[3]利用KNN 和SVM 的機(jī)器學(xué)習(xí)算法,篩選出適用于碳酸鹽巖油藏的測(cè)井孔隙度與滲透率預(yù)測(cè)方法。武玉多等[4]對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)在心臟超聲領(lǐng)域傳統(tǒng)的應(yīng)用現(xiàn)狀及發(fā)展方向進(jìn)行闡述。胡璇等[5]針對(duì)風(fēng)力機(jī)齒輪箱振動(dòng)信號(hào)非線性和非平穩(wěn)性的特征,提出基于模糊熵和灰狼算法優(yōu)化的支持向量機(jī)的故障診斷方法,達(dá)到較高的識(shí)別率。丁雪[6]分析了6 種人體姿態(tài)的分類(lèi)識(shí)別,特征的提取采用Adaboost 自適應(yīng)的方法。Liu 等[7]將SVM 應(yīng)用于辦公室物體和博物館雕塑的識(shí)別,并證明了其優(yōu)于基于圖像、基于場(chǎng)景和其他基于視頻的物體識(shí)別。
目前,在太極拳教學(xué)中,已經(jīng)有了一些現(xiàn)代化信息研究。張振[8]借助VR 設(shè)備以情境代入學(xué)習(xí)方式達(dá)到多方位視覺(jué)觀察和獲得沉浸式學(xué)習(xí)體驗(yàn),但僅限于學(xué)者興趣體驗(yàn)方面的研究。文獻(xiàn)[9]采用慣性運(yùn)動(dòng)捕捉系統(tǒng)采集人體運(yùn)動(dòng)姿態(tài)數(shù)據(jù),并與標(biāo)準(zhǔn)姿態(tài)進(jìn)行對(duì)比,根據(jù)相似度進(jìn)行評(píng)分。于濤等[10]采集人體動(dòng)作的軀干數(shù)據(jù)和手部數(shù)據(jù)進(jìn)行動(dòng)作識(shí)別,其缺點(diǎn)是采用非同時(shí)的手勢(shì)和軀干部位數(shù)據(jù)進(jìn)行合并,會(huì)造成同步誤差。由此可見(jiàn),人工智能和機(jī)器學(xué)習(xí)的快速發(fā)展為太極拳的動(dòng)作識(shí)別提供了技術(shù)支持。本研究提出一種利用SVM 機(jī)器的學(xué)習(xí)算法,對(duì)太極拳動(dòng)作姿態(tài)進(jìn)行識(shí)別。通過(guò)提取12 種關(guān)鍵動(dòng)作創(chuàng)建樣本集,再經(jīng)過(guò)去噪、歸一化、特征提取、訓(xùn)練和預(yù)測(cè)完成太極拳的姿態(tài)識(shí)別。
太極拳動(dòng)作分類(lèi)識(shí)別分為6 個(gè)過(guò)程(見(jiàn)圖1),首先創(chuàng)建太極拳動(dòng)作數(shù)據(jù)集,我們依次選取太極拳老架一路的前五式起式、金剛搗碓、懶扎衣、六封四閉和單鞭中的12 種關(guān)鍵動(dòng)作,分別采集照片,每種動(dòng)作采集圖片105~120 張,共計(jì)1336 幅圖片,然后給每幅加上標(biāo)簽,標(biāo)簽為['1','2','3','4','5','6','7','8','9','10','11','12'],并按照8:2 的比例劃分為訓(xùn)練集合和測(cè)試集。樣本集創(chuàng)建后,進(jìn)行數(shù)據(jù)預(yù)處理,把圖片轉(zhuǎn)換成相同的分辨率,輸出為歸一化的矩陣形式,此時(shí)數(shù)據(jù)集的圖片統(tǒng)一分辨率為120×150,轉(zhuǎn)成灰度圖像,取值范圍在[0-255],(見(jiàn)圖2)。為了降低圖片中的冗余特征及提高SVM的處理速度,對(duì)數(shù)據(jù)預(yù)處理后的數(shù)據(jù)進(jìn)行了PCA 降維,降維后的特征數(shù)量為100。為了能夠獲得優(yōu)異的分類(lèi)模型,采用分類(lèi)交叉驗(yàn)證的方式對(duì)樣本集進(jìn)行分割訓(xùn)練,得到最好分類(lèi)器的核函數(shù)及相關(guān)具體參數(shù)。確定SVM模型參數(shù)后,用訓(xùn)練集對(duì)其訓(xùn)練之后,通過(guò)SVM 在測(cè)試集上預(yù)測(cè)結(jié)果。最后通過(guò)混淆矩陣和準(zhǔn)確率表格完成可視化輸出。
圖1 太極拳動(dòng)作分類(lèi)識(shí)別流程
圖2 數(shù)據(jù)預(yù)處理后數(shù)據(jù)集圖片顯示
太極拳動(dòng)作進(jìn)行SVM 分類(lèi)識(shí)別首先需要進(jìn)行樣本集創(chuàng)建。為了能夠體現(xiàn)數(shù)據(jù)集的完整性,對(duì)15 名不同水平太極拳參與者進(jìn)行采樣,選用太極拳老架一路的前五式的12 種動(dòng)作姿態(tài),其中起式中選取2 種,金剛搗碓3 種,懶扎衣3 種,六封四閉2 種和單鞭2 種,作為太極拳動(dòng)作的采集樣本集。
Torchvision 類(lèi)導(dǎo)入數(shù)據(jù)集格式的12 種太極拳動(dòng)作樣本格式不統(tǒng)一,需要進(jìn)行格式轉(zhuǎn)化,采用PIL 中的Image 類(lèi)將樣本集圖片轉(zhuǎn)化為120*150 的分辨率,再進(jìn)一步轉(zhuǎn)換成矩陣的形式,并為每張圖片加上標(biāo)簽,標(biāo)簽為['1','2',…,'12']。用Matplotlib 類(lèi)顯示隨機(jī)輸入轉(zhuǎn)化后的圖片(見(jiàn)圖2)。再利用Sklearn 的庫(kù)函數(shù)完成訓(xùn)練集和測(cè)試集的分割,分割的比例為8:2。
實(shí)際采集的圖片經(jīng)過(guò)圖片預(yù)處理后,像素變?yōu)?20×150,特征值為18000。對(duì)于用模型訓(xùn)練的其他數(shù)據(jù)集(比如預(yù)測(cè)房?jī)r(jià)、人臉識(shí)別等)都會(huì)有較多的特征。這些特征都參與機(jī)器學(xué)習(xí)模型的訓(xùn)練和測(cè)試。將會(huì)導(dǎo)致學(xué)習(xí)模型運(yùn)算時(shí)長(zhǎng)和過(guò)擬合現(xiàn)象的出現(xiàn)。為此,太極拳動(dòng)作數(shù)據(jù)集選用主成分分析(Principal Components Analysis,PCA)選出對(duì)分類(lèi)識(shí)別貢獻(xiàn)最大的特征,從18000 個(gè)特征種選擇100 個(gè)主要特征,這些特征盡可能包括了原來(lái)圖片的特征。實(shí)驗(yàn)結(jié)果表明,降維后的圖片集分類(lèi)識(shí)別率高于降維前的精確率3.5%,同時(shí),訓(xùn)練時(shí)間縮短了0.012 秒。
SVM 用來(lái)提升維度的核函數(shù)主要包含有線性核、高斯核和多項(xiàng)式核函數(shù)。對(duì)于不同的樣本集,不同的核函數(shù)會(huì)導(dǎo)致不同的識(shí)別效果。K-交叉驗(yàn)證隨機(jī)打亂數(shù)據(jù)集,并分組成多個(gè)部分(K),其中,每一個(gè)部分都要當(dāng)成測(cè)試集,而剩下的K -1 份將會(huì)用作訓(xùn)練集,這樣依次循環(huán),就可以找到最佳的分類(lèi)識(shí)別模型。K-交叉驗(yàn)證最大的優(yōu)點(diǎn)是盡量避免SVM 模型的欠擬合和過(guò)擬合現(xiàn)象發(fā)生。因此,對(duì)于太極拳動(dòng)作數(shù)據(jù)集合,采用K-交叉驗(yàn)證的方法,從線性核、高斯核和多項(xiàng)式核中選出分類(lèi)識(shí)別最佳的核函數(shù),找到最優(yōu)的參數(shù)組合。仿真實(shí)驗(yàn)中最佳分類(lèi)器的參數(shù)為:高斯核,參數(shù)C(懲罰系數(shù))為10,gamma=0.005。
太極拳的12 種動(dòng)作姿態(tài)訓(xùn)練集總共有1068 張圖片,測(cè)試集的數(shù)量為268 張圖片。太極拳動(dòng)作測(cè)試集的SVM 模型預(yù)測(cè)混淆矩陣(見(jiàn)圖3)。分析混淆矩陣可知,SVM 的分類(lèi)錯(cuò)誤出現(xiàn)比較少,主要集中在動(dòng)作8 和動(dòng)作10,有較大的相似度,并且由于采集的圖片中較大部分背景相同,可以通過(guò)對(duì)圖片裁剪掉多余的背景和增加樣本集的方法增加準(zhǔn)確度。
圖3 太極拳動(dòng)作測(cè)試集SVM 預(yù)測(cè)的混淆矩陣
為了探索基于太極拳動(dòng)作數(shù)據(jù)集的機(jī)器學(xué)習(xí)算法性能優(yōu)劣,在具有相同的太極拳數(shù)據(jù)樣本空間下,比較了SVM、KNN 及決策樹(shù)算法的性能(見(jiàn)表1),三種算法的精確度指標(biāo)中,SVM 的分類(lèi)效果領(lǐng)先決策樹(shù)和KNN 的精確度為17%,此外,訓(xùn)練用時(shí)和測(cè)試用時(shí)相差不大。
表1 SVM、KNN 及決策樹(shù)算法分類(lèi)效果
提出了自采太極拳動(dòng)作作為樣本集的SVM 分類(lèi)識(shí)別算法,對(duì)于太極拳老架一路套路的12 種關(guān)鍵動(dòng)作,通過(guò)圖片格式轉(zhuǎn)換和添加標(biāo)簽完成數(shù)據(jù)預(yù)處理,PCA降維可以在不損失主要特征的條件下提升訓(xùn)練速度,交叉驗(yàn)證選取最優(yōu)化的SVM 核函數(shù)及相關(guān)參數(shù)。預(yù)測(cè)后結(jié)果通過(guò)混淆矩陣和分類(lèi)評(píng)估報(bào)告進(jìn)行可視化展示。實(shí)驗(yàn)證明,SVM 預(yù)測(cè)模型遠(yuǎn)高于KNN 和決策樹(shù)方法,該方案對(duì)硬件設(shè)備的要求較低、處理速度快,并且所需的樣本數(shù)少、訓(xùn)練時(shí)間短,識(shí)別效果優(yōu)異,有效改善了太極拳動(dòng)作識(shí)別的效率,能夠?yàn)樘珮O拳遠(yuǎn)程教學(xué)和指導(dǎo)提供支持,提升太極拳教學(xué)科研的信息化水平。