本申請涉及運(yùn)動(dòng)輔助系統(tǒng)技術(shù)領(lǐng)域,特別涉及一種基于機(jī)器視覺的運(yùn)動(dòng)輔助方法及系統(tǒng)。
背景技術(shù):
瑜伽是一種達(dá)到身體、心靈與精神和諧統(tǒng)一的運(yùn)動(dòng)方式,運(yùn)用古老而易于掌握的技巧,改善人們生理、心理、情感和精神方面的能力,包括調(diào)身的體位法、調(diào)息的呼吸法、調(diào)心的冥想法等,以達(dá)至身心的合一。練習(xí)瑜伽時(shí)有很多注意方式,例如體式、呼吸等,尤其對于沒有專業(yè)教練指導(dǎo)的練習(xí)者來說,錯(cuò)誤的練習(xí)方式反而會(huì)對身體造成傷害。
為了改善上述情況,目前出現(xiàn)了部分針對瑜伽練習(xí)的輔助設(shè)備,例如,中國專利申請cn201610255660.3公開了一種輔助練習(xí)瑜伽的方法及系統(tǒng)。該申請通過智能穿戴設(shè)備檢測用戶練習(xí)瑜伽動(dòng)作時(shí)的用戶數(shù)據(jù);將所述用戶數(shù)據(jù)與所述瑜伽動(dòng)作的標(biāo)準(zhǔn)數(shù)據(jù)進(jìn)行比較;若用戶數(shù)據(jù)與標(biāo)準(zhǔn)數(shù)據(jù)不對應(yīng),發(fā)出提示信息。該申請解決了練習(xí)者在缺乏瑜伽教練指導(dǎo)下很難正確練習(xí)瑜伽的問題,但需要瑜伽練習(xí)者佩戴智能穿戴設(shè)備,使用很不方便,而且采取的數(shù)據(jù)容易受外界環(huán)境等一些客觀因素的影響,不能準(zhǔn)確的檢測練習(xí)者練習(xí)姿勢,在檢測到練習(xí)者練習(xí)姿勢不準(zhǔn)確時(shí),也不能給出標(biāo)準(zhǔn)的姿勢供練習(xí)者參考,不能很好的達(dá)到輔助練習(xí)瑜伽的作用。
中國專利申請cn201610243003.7公開了一種電子教練實(shí)現(xiàn)方法及系統(tǒng),該申請利用攝像機(jī)的動(dòng)作識(shí)別技術(shù)將采集到的用戶動(dòng)作圖像序列與標(biāo)準(zhǔn)動(dòng)作圖像序列相比對,以達(dá)到糾正用戶動(dòng)作的效果。另一中國專利申請cn201210138503.6公開了一種基于人體姿態(tài)識(shí)別的體育教學(xué)輔助系統(tǒng)和方法,該申請通過深度攝像裝置獲取包括用戶跟隨示范動(dòng)作運(yùn)動(dòng)動(dòng)作的用戶動(dòng)作深度圖像序列,并存儲(chǔ)標(biāo)準(zhǔn)動(dòng)作模型和與標(biāo)準(zhǔn)動(dòng)作模型對應(yīng)的標(biāo)準(zhǔn)動(dòng)作示范圖像序列;在瑜伽練習(xí)時(shí),向用戶顯示所述標(biāo)準(zhǔn)動(dòng)作示范圖像序列,將預(yù)定時(shí)間點(diǎn)或時(shí)間段的所述用戶動(dòng)作深度圖像序列與對應(yīng)時(shí)間點(diǎn)或時(shí)間段的標(biāo)準(zhǔn)動(dòng)作模型進(jìn)行比較,獲取用戶動(dòng)作與標(biāo)準(zhǔn)動(dòng)作模型的差異,并據(jù)所述差異向顯示裝置輸出動(dòng)作評價(jià)信息或動(dòng)作糾正提示信息。上述兩個(gè)專利申請僅采用簡單的將人體抽象成點(diǎn)和線的組合,或者僅僅標(biāo)注關(guān)鍵關(guān)節(jié)的方法進(jìn)行建模,效果不佳而且依賴于人工標(biāo)注特征;同時(shí),所描述的用戶動(dòng)作與標(biāo)準(zhǔn)動(dòng)作的比較僅僅停留在概念上,而沒有提出具體的算法或者是技術(shù)手段。
深度學(xué)習(xí)應(yīng)用在圖像(視頻)識(shí)別上具有準(zhǔn)確率高、識(shí)別速度快的優(yōu)勢。但目前,采用深度學(xué)習(xí)的方法進(jìn)行動(dòng)作識(shí)別的瑜伽或其它運(yùn)行項(xiàng)目的練習(xí)輔助系統(tǒng)還處于空白狀態(tài)。
技術(shù)實(shí)現(xiàn)要素:
本申請?zhí)峁┝艘环N基于機(jī)器視覺的運(yùn)動(dòng)輔助方法及系統(tǒng),旨在至少在一定程度上解決現(xiàn)有技術(shù)中的上述技術(shù)問題之一。
為了解決上述問題,本申請?zhí)峁┝巳缦录夹g(shù)方案:
一種基于機(jī)器視覺的運(yùn)動(dòng)輔助方法,包括:
步驟a:采集至少一個(gè)運(yùn)動(dòng)項(xiàng)目的至少一個(gè)體式的標(biāo)準(zhǔn)動(dòng)作視頻;
步驟b:采用深度學(xué)習(xí)算法根據(jù)所述標(biāo)準(zhǔn)動(dòng)作視頻構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型;
步驟c:采集練習(xí)者的當(dāng)前動(dòng)作視頻,將所述當(dāng)前動(dòng)作視頻輸入張量遞歸神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識(shí)別,并根據(jù)識(shí)別結(jié)果顯示與所述當(dāng)前動(dòng)作視頻對應(yīng)的標(biāo)準(zhǔn)動(dòng)作視頻。
本申請實(shí)施例采取的技術(shù)方案還包括:所述步驟a還包括:將所述標(biāo)準(zhǔn)動(dòng)作視頻分割成只包含單個(gè)動(dòng)作的短視頻,以分割得到的短視頻作為訓(xùn)練樣本構(gòu)建動(dòng)作視頻訓(xùn)練集。
本申請實(shí)施例采取的技術(shù)方案還包括:所述步驟a還包括:對所述動(dòng)作視頻訓(xùn)練集進(jìn)行數(shù)據(jù)預(yù)處理;所述預(yù)處理包括:對所述動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行向下采樣處理,提取向下采樣處理后的短視頻中以人為中心的邊界框,裁剪掉所述邊界框之外的多余背景,并將剪裁后的短視頻幀由rgb圖轉(zhuǎn)化為灰度圖。
本申請實(shí)施例采取的技術(shù)方案還包括:在所述步驟b中,所述構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型具體包括:設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),自動(dòng)學(xué)習(xí)所述動(dòng)作視頻訓(xùn)練集中每個(gè)短視頻的時(shí)空特征;并通過所述張量卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的時(shí)空特征訓(xùn)練張量遞歸神經(jīng)網(wǎng)絡(luò)模型。
本申請實(shí)施例采取的技術(shù)方案還包括:所述張量遞歸神經(jīng)網(wǎng)絡(luò)模型包括輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層、張量遞歸層和輸出層;所述輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層依次連接,所述張量遞歸層全連接到第三卷積層,所述輸出層全連接到張量遞歸層。
本申請實(shí)施例采取的另一技術(shù)方案為:一種基于機(jī)器視覺的運(yùn)動(dòng)輔助系統(tǒng),包括:
指導(dǎo)裝置:用于采集至少一個(gè)運(yùn)動(dòng)項(xiàng)目的至少一個(gè)體式的標(biāo)準(zhǔn)動(dòng)作視頻,采用深度學(xué)習(xí)算法根據(jù)所述標(biāo)準(zhǔn)動(dòng)作視頻構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型;并采集練習(xí)者的當(dāng)前動(dòng)作視頻,將所述當(dāng)前動(dòng)作視頻輸入張量遞歸神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識(shí)別;
顯示裝置:用于根據(jù)識(shí)別結(jié)果顯示與所述當(dāng)前動(dòng)作視頻對應(yīng)的標(biāo)準(zhǔn)動(dòng)作視頻。
本申請實(shí)施例采取的技術(shù)方案還包括:所述指導(dǎo)裝置還包括第一數(shù)據(jù)預(yù)處理模塊,所述第一數(shù)據(jù)預(yù)處理模塊用于將所述標(biāo)準(zhǔn)動(dòng)作視頻分割成只包含單個(gè)動(dòng)作的短視頻,以分割得到的短視頻作為訓(xùn)練樣本構(gòu)建動(dòng)作視頻訓(xùn)練集。
本申請實(shí)施例采取的技術(shù)方案還包括:所述指導(dǎo)裝置還包括第二數(shù)據(jù)預(yù)處理模塊,所述第二數(shù)據(jù)預(yù)處理模塊用于對所述動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行向下采樣處理,提取向下采樣處理后的短視頻中以人為中心的邊界框,裁剪掉所述邊界框之外的多余背景,并將剪裁后的短視頻幀由rgb圖轉(zhuǎn)化為灰度圖。
本申請實(shí)施例采取的技術(shù)方案還包括:所述指導(dǎo)裝置還包括模型構(gòu)建模塊,所述模型構(gòu)建模塊用于設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),自動(dòng)學(xué)習(xí)所述動(dòng)作視頻訓(xùn)練集中每個(gè)短視頻的時(shí)空特征;并通過所述張量卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的時(shí)空特征訓(xùn)練張量遞歸神經(jīng)網(wǎng)絡(luò)模型。
本申請實(shí)施例采取的技術(shù)方案還包括:所述張量遞歸神經(jīng)網(wǎng)絡(luò)模型包括輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層、張量遞歸層和輸出層;所述輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層依次連接,所述張量遞歸層全連接到第三卷積層,所述輸出層全連接到張量遞歸層。
相對于現(xiàn)有技術(shù),本申請實(shí)施例產(chǎn)生的有益效果在于:本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助方法及系統(tǒng)通過深度學(xué)習(xí)算法構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型,在運(yùn)動(dòng)過程中,將練習(xí)者的動(dòng)作視頻輸入張量遞歸神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識(shí)別與分類后,顯示對應(yīng)的標(biāo)準(zhǔn)動(dòng)作視頻供練習(xí)者參考。與現(xiàn)有技術(shù)相比,本申請具有以下有益效果:
1、引入深度學(xué)習(xí)算法,且不需要復(fù)雜的預(yù)處理或者人工標(biāo)注,使動(dòng)作識(shí)別的精度更高;
2、利用已經(jīng)訓(xùn)練好的張量遞歸神經(jīng)網(wǎng)絡(luò)模型來對動(dòng)作視頻進(jìn)行直接識(shí)別,不需要再與標(biāo)準(zhǔn)動(dòng)作進(jìn)行對比就可以直接輸出識(shí)別結(jié)果,具有更快的識(shí)別和檢測速度;
3、通過視頻的方式直接采集練習(xí)者的動(dòng)作視頻,而無需通過心率、血氧等間接數(shù)據(jù)獲取,保證了源信息的完整性;
4、標(biāo)準(zhǔn)的動(dòng)作視頻也以動(dòng)作圖像的方式保存和表現(xiàn),保證了作為標(biāo)準(zhǔn)對比信息的標(biāo)準(zhǔn)性;
5、不需要穿戴附加設(shè)備,優(yōu)化了用戶使用體驗(yàn)。
附圖說明
圖1是本申請實(shí)施例的模型訓(xùn)練階段的模型訓(xùn)練方法流程圖;
圖2是本申請整個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)圖;
圖3為本申請實(shí)施例的張量遞歸神經(jīng)網(wǎng)絡(luò)模型構(gòu)建方法示意圖;
圖4是瑜伽動(dòng)作特征二階張量的張量秩一分解示意圖;
圖5為張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞整體結(jié)構(gòu)示意圖;
圖6是忘記門層結(jié)構(gòu)示意圖;
圖7為輸入門層結(jié)構(gòu)示意圖;
圖8為輸入門層第二部分結(jié)構(gòu)示意圖;
圖9為輸出門層結(jié)構(gòu)示意圖;
圖10為三階張量的張量列分解示意圖;
圖11為二階張量(矩陣)的張量列分解示意圖;
圖12是本申請實(shí)施例的動(dòng)作識(shí)別階段的動(dòng)作識(shí)別方法的流程圖;
圖13是本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本申請的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本申請進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本申請,并不用于限定本申請。
計(jì)算機(jī)視覺是一門研究如何使機(jī)器“看”的科學(xué),更進(jìn)一步的說,就是指用攝影機(jī)和計(jì)算機(jī)代替人眼對目標(biāo)進(jìn)行識(shí)別、跟蹤和測量的機(jī)器視覺,并進(jìn)一步做圖像處理,用計(jì)算機(jī)處理成為更適合人眼觀察或傳送給儀器檢測的圖像。作為一門科學(xué)學(xué)科,計(jì)算機(jī)視覺研究相關(guān)的理論和技術(shù),試圖創(chuàng)建能夠從圖像或者多維數(shù)據(jù)中獲取“信息”的人工智能系統(tǒng)。這里所指的信息指香農(nóng)定義的,可以用來幫助做一個(gè)“決定”的信息。因?yàn)楦兄梢钥醋魇菑母泄傩盘?hào)中提取信息,所以計(jì)算機(jī)視覺也可以看作是研究如何使人工系統(tǒng)從圖像或多維數(shù)據(jù)中“感知”的科學(xué)。
機(jī)器學(xué)習(xí)是人工智能的一個(gè)分支。人工智能的研究是從以“推理”為重點(diǎn)到以“知識(shí)”為重點(diǎn),再到以“學(xué)習(xí)”為重點(diǎn),一條自然、清晰的脈絡(luò)。顯然,機(jī)器學(xué)習(xí)是實(shí)現(xiàn)人工智能的一個(gè)途徑,即以機(jī)器學(xué)習(xí)為手段解決人工智能中的問題。機(jī)器學(xué)習(xí)理論主要是設(shè)計(jì)和分析一些讓計(jì)算機(jī)可以自動(dòng)“學(xué)習(xí)”的算法。機(jī)器學(xué)習(xí)算法是一類從數(shù)據(jù)中自動(dòng)分析獲得規(guī)律,并利用規(guī)律對未知數(shù)據(jù)進(jìn)行預(yù)測的算法。
本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助方法及系統(tǒng)基于深度學(xué)習(xí)算法(機(jī)器學(xué)習(xí)算法的一種)構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型,在運(yùn)動(dòng)過程中,通知指導(dǎo)裝置實(shí)時(shí)采集練習(xí)者的動(dòng)作視頻,并通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型對采集的動(dòng)作視頻進(jìn)行識(shí)別分類后,通過顯示裝置顯示分類結(jié)果對應(yīng)的標(biāo)準(zhǔn)動(dòng)作視頻供練習(xí)者參考和調(diào)整,從而達(dá)到輔助練習(xí)的目的。本申請采用深度學(xué)習(xí)的方法進(jìn)行動(dòng)作視頻的識(shí)別與分類,使用方便,不僅準(zhǔn)確率高,而且對用戶動(dòng)作無任何干擾。在以下實(shí)施例中,本申請實(shí)施例僅以瑜伽練習(xí)輔導(dǎo)為例進(jìn)行具體說明,可以理解,本申請同樣適用于舞蹈、武術(shù)等動(dòng)作相對簡單且易于識(shí)別的運(yùn)動(dòng)項(xiàng)目的輔助練習(xí)。
具體地,以瑜伽練習(xí)輔導(dǎo)為例,本申請包括兩個(gè)階段,第一階段為模型訓(xùn)練階段,該階段通過采集一定人數(shù)的受試者的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻,采用深度學(xué)習(xí)算法根據(jù)采集的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型。第二階段為瑜伽動(dòng)作識(shí)別階段;該階段通過實(shí)時(shí)采集瑜伽練習(xí)者的瑜伽動(dòng)作視頻,并通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型對采集的瑜伽動(dòng)作視頻進(jìn)行識(shí)別后分類后,顯示出標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考練習(xí)。以下分別對模型訓(xùn)練階段和瑜伽動(dòng)作識(shí)別階段的實(shí)現(xiàn)方式進(jìn)行具體說明。
請參閱圖1,是本申請實(shí)施例的模型訓(xùn)練階段的模型訓(xùn)練方法流程圖。本申請實(shí)施例的模型訓(xùn)練方法包括以下步驟:
步驟100:通過圖像采集裝置采集100個(gè)(具體人數(shù)不限)受試者一定數(shù)量的瑜伽體式的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻;
在步驟100中,受試者優(yōu)選為專業(yè)瑜伽教練,本申請以下實(shí)施例中僅以采集26個(gè)基本瑜伽體式的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻為例進(jìn)行具體說明,可以理解,實(shí)際應(yīng)用中,采集的瑜伽體式數(shù)量不限。在采集時(shí),所有受試者的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻均在相似且同質(zhì)的背景下進(jìn)行采集,且每個(gè)受試者在視頻中每個(gè)相同動(dòng)作各重復(fù)4次,動(dòng)作之間有短暫間隔(長度在8到30秒之間)。采集的視頻每幀大小為120×160像素,視頻幀數(shù)為每秒25幀。
步驟110:按照各個(gè)標(biāo)準(zhǔn)瑜伽動(dòng)作視頻之間的間隔將每個(gè)標(biāo)準(zhǔn)瑜伽動(dòng)作視頻分別分割成只包含單個(gè)動(dòng)作的短視頻,以分割得到的短視頻作為訓(xùn)練樣本構(gòu)建瑜伽動(dòng)作視頻訓(xùn)練集;
在步驟110中,分割后的短視頻的長度在2秒~7秒之間,分割后,即可得到包含了10400個(gè)(26×100×4)短視頻的瑜伽動(dòng)作視頻訓(xùn)練集,再利用瑜伽動(dòng)作視頻訓(xùn)練集中的每個(gè)訓(xùn)練樣本分別生成它們的垂直翻轉(zhuǎn)和鏡像版本,以增加示例數(shù)。
步驟120:對瑜伽動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行預(yù)處理;
在步驟120中,對瑜伽動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行預(yù)處理具體包括:
步驟1201:對瑜伽動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行向下采樣處理;
在步驟1201中,向下采樣即模糊處理,向下采樣后,短視頻每幀分辨率由120×160變?yōu)?0×80,從而減少內(nèi)存占用空間,提高算法效率。
步驟1202:提取每個(gè)向下采樣處理后的短視頻中以人為中心的邊界框,并裁剪掉邊界框之外的多余背景;
在步驟1202中,完成后剪裁后的短視頻每幀分辨率由60×80變成34×54,進(jìn)一步減少內(nèi)存占用空間。
步驟1203:將剪裁后的短視頻幀由rgb圖轉(zhuǎn)化為灰度圖,完成瑜伽動(dòng)作視頻訓(xùn)練集的數(shù)據(jù)預(yù)處理;
步驟130:根據(jù)預(yù)處理后的瑜伽動(dòng)作視頻訓(xùn)練集構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型;
在步驟130中,張量遞歸神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建方式為:首先,設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),自動(dòng)學(xué)習(xí)瑜伽動(dòng)作視頻訓(xùn)練集中每個(gè)短視頻的時(shí)空特征;然后,使用從張量卷積神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí)到的瑜伽動(dòng)作時(shí)空特征訓(xùn)練張量遞歸神經(jīng)網(wǎng)絡(luò)模型,通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型根據(jù)26個(gè)瑜伽動(dòng)作標(biāo)簽對標(biāo)準(zhǔn)瑜伽動(dòng)作視頻進(jìn)行分類。由于本申請采集的原始視頻輸出是二維的,這就造成了cnn(卷積神經(jīng)網(wǎng)絡(luò))在圖像識(shí)別的應(yīng)用比較單一,不能直接對原始視頻進(jìn)行處理,如果采用常規(guī)的cnn進(jìn)行瑜伽動(dòng)作分類,則只能對瑜伽動(dòng)作的圖像進(jìn)行分類,而不是對整個(gè)瑜伽動(dòng)作進(jìn)行分類,效果不佳。因此,本申請通過設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),可以直接接收原始瑜伽動(dòng)作短視頻的輸入,而不需要對訓(xùn)練集數(shù)據(jù)進(jìn)行復(fù)雜的預(yù)處理。
具體地,請一并參閱圖2和圖3,圖2是本申請整個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)圖。整個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)模型包括輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層、張量遞歸層和輸出層;輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層依次連接,張量遞歸層全連接到第三卷積層,所述輸出層全連接到張量遞歸層。圖3為本申請實(shí)施例的張量遞歸神經(jīng)網(wǎng)絡(luò)模型構(gòu)建方法示意圖(為了方便說明,實(shí)施例中代入一些參數(shù)舉例,但具體實(shí)現(xiàn)不局限于具體參數(shù))。本申請實(shí)施例的張量遞歸神經(jīng)網(wǎng)絡(luò)模型構(gòu)建方法包括以下步驟:
步驟150a:輸入層:輸入為34×54×9的張量;
在步驟150a中,34×54×9的張量對應(yīng)瑜伽動(dòng)作視頻訓(xùn)練集中短視頻的9個(gè)連續(xù)的幀,每個(gè)幀的圖像分辨率為34×54。
步驟150b:第一卷積層:采用7×7×5的卷積核,在34×54×9的張量上計(jì)算出瑜伽動(dòng)作的7個(gè)特征;
在步驟150b中,經(jīng)過第一卷積層卷積后,張量規(guī)模變?yōu)?8×48×5;在第一卷積層中,激勵(lì)函數(shù)采用tanh函數(shù),即yc1=tanh(∑wc1xc1+bc1),其中yc1表示第一卷積層的輸出,xc1表示第一卷積層的輸入,xc1,yc1表示張量,wc1,bc1分別表示權(quán)重和偏置量。
步驟150c:第一校正層:由于在第一卷積層中采用的激勵(lì)函數(shù)tanh存在負(fù)值,因此在第一卷積層后加入第一校正層,進(jìn)行簡單的取絕對值的操作,經(jīng)過第一校正層后校正后張量的規(guī)模不變;
步驟150d:第一池化層:采用2×2的池化窗口對張量進(jìn)行最大池化,以保證提取的瑜伽動(dòng)作特征的平移不變性,經(jīng)過第一池化層池化后,張量規(guī)模變?yōu)?4×24×5;
步驟150e:第二卷積層:采用5×5×3的卷積核,在14×24×5的張量上算出瑜伽動(dòng)作的35個(gè)特征;經(jīng)過第二卷積層卷積后,張量規(guī)模變?yōu)?0×20×3;第二卷積層中也采用tanh激勵(lì)函數(shù),即yc2=tanh(∑wc2xc2+bc2),其中yc2表示第二卷積層的輸出,xc1表示第二卷積層的輸入,xc2,yc2表示張量,wc2,bc2分別表示權(quán)重和偏置量;
步驟150f:第二校正層:同第一校正層,對第二卷積層激勵(lì)函數(shù)取絕對值;
步驟150g:第二池化層:同第一池化層,采用2×2的池化窗口對張量進(jìn)行最大池化,經(jīng)過第二池化層池化后,張量規(guī)模變?yōu)?×10×3;
步驟150h:張量第三卷積層:采用3×3×3的卷積核,在5×10×3的張量上算出5個(gè)瑜伽動(dòng)作特征;經(jīng)過張量第三卷積層卷積后,張量規(guī)模變?yōu)?×8×1,再將張量轉(zhuǎn)換成大小為120的向量(5×3×8×1);
步驟150i:張量遞歸層:采用一定數(shù)量的(本申請以50個(gè)為例)張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞,全連接到第三卷積層;本申請?jiān)诘谌矸e層的輸出與張量遞歸層之間引入張量秩一分解,對第三卷積層輸入到張量遞歸層的瑜伽動(dòng)作特征張量序列的分量進(jìn)行張量秩一分解,并以分解后的形式進(jìn)行存儲(chǔ),也就是將瑜伽動(dòng)作特征進(jìn)行張量秩一分解后,輸入張量遞歸層;其中,秩一張量(rank-onetensor)為:數(shù)學(xué)上,若一個(gè)n階張量能夠表示成n個(gè)向量的外積,則該張量稱為秩一張量。張量秩一分解(tensorrank-onedecomposition)為:在數(shù)學(xué)上,張量秩一分解,是將一個(gè)張量分解成一系列秩一張量的線性組合。張量秩一分解能夠獲得張量對象更加緊湊和更有意義的表示。如n階張量
在公式(1)中,
如圖4所示,為瑜伽動(dòng)作特征二階張量的張量秩一分解示意圖。其中,i1=4、i2=6分別二階張量各個(gè)階的維數(shù),a第一階,b第二階,第k分量表示第k重要的成分(k=1,2,...r),最右邊的兩個(gè)矩陣為張量的因子矩陣,數(shù)量等于張量的階數(shù)。張量秩一分解的物理意義為提取二維瑜伽動(dòng)作特征的主成分。
步驟150j:輸出層:輸出層全連接到張量遞歸層,輸出26個(gè)瑜伽動(dòng)作標(biāo)簽;輸出層采用softmax激勵(lì)函數(shù),公式為:
yi=softmax(∑jwi,jxj+bi),(2)
在公式(2)中,yi表示屬于瑜伽動(dòng)作i的概率,wi,j代表權(quán)重,bi代表瑜伽動(dòng)作i的偏置量,xj表示輸出層輸入,j代表張量遞歸層節(jié)點(diǎn)j,即張量遞歸層的節(jié)點(diǎn)索引。
張量遞歸神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)時(shí)間序列相關(guān)信息,適合于處理視頻等與時(shí)間序列有關(guān)的信息,因此本申請實(shí)施例在張量卷積神經(jīng)網(wǎng)絡(luò)之后引入張量遞歸層,使得瑜伽動(dòng)作視頻能夠更好地被分類。
具體如圖5所示,為張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞整體結(jié)構(gòu)示意圖(本圖中包含3個(gè)時(shí)序的張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞)。本申請實(shí)施例中采用的張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞主要包括3層門結(jié)構(gòu)(門是一種讓信息選擇式通過的方法,由于門結(jié)構(gòu),張量遞歸神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)到瑜伽動(dòng)作視頻中的長期依賴信息,從而在對練習(xí)者進(jìn)行的瑜伽動(dòng)作進(jìn)行分類時(shí)精度更高。),通過3層門結(jié)構(gòu)去除或者增加信息到張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞狀態(tài)的能力,即瑜伽動(dòng)作視頻的時(shí)空信息可以通過3層門結(jié)構(gòu)被有選擇地遺忘或保存。所述3層門分別為忘記門層、輸入門層、輸出門層,結(jié)構(gòu)具體如下:
1、忘記門層(forgetgate):用于控制張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞對上一時(shí)序瑜伽動(dòng)作時(shí)空特征的遺忘程度(即控制著上一時(shí)間點(diǎn)的瑜伽動(dòng)作特征有多少被保留)。忘記門層結(jié)構(gòu)如圖6所示。該門讀取上一時(shí)序的lstm細(xì)胞輸出ht-1和本時(shí)序輸入xt,經(jīng)過sigmoid激勵(lì)函數(shù)輸出一個(gè)在0到1之間的數(shù)值ft給細(xì)胞狀態(tài)ct-1。忘記門層公式如下:
ft=σ(wf·[ht-1,xt]+bf)(3)
2、輸入門層(inputgate):用于控制張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞本時(shí)序有關(guān)瑜伽動(dòng)作時(shí)空特征的細(xì)胞狀態(tài)ct(即控制當(dāng)前時(shí)間點(diǎn)輸入多少新的瑜伽動(dòng)作特征)。具體如圖7所示,為輸入門層結(jié)構(gòu)示意圖。輸入門層包含兩個(gè)部分,其中:
第一部分:通過一個(gè)sigmoid門決定輸入值更新程度it;然后一個(gè)tanh門創(chuàng)建一個(gè)新的細(xì)胞狀態(tài)的候選值向量;請一并參閱圖7,是輸入門層第一部分結(jié)構(gòu)示意圖。輸入門層第一部分公式如下:
it=σ(wi·[ht-1,xt]+bi)(4)
第二部分:通過輸入值更新程度it和新細(xì)胞狀態(tài)的候選值向量更新細(xì)胞狀態(tài)ct(即控制向下一個(gè)時(shí)間點(diǎn)輸出多少當(dāng)前時(shí)間點(diǎn)的瑜伽動(dòng)作特征)。一個(gè)乘法門把舊狀態(tài)ct-1與遺忘程度ft相乘,接著加上更新程度
3、輸入門層(outputgate):用于確定本時(shí)序張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞輸出值ht,在本申請實(shí)施例中指本時(shí)序?qū)W習(xí)到的瑜伽動(dòng)作時(shí)空特征對下一時(shí)序張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞的影響,該輸出值基于細(xì)胞狀態(tài)ct。首先,一個(gè)sigmoid門來確定細(xì)胞狀態(tài)輸出程度ot,接著,細(xì)胞狀態(tài)通過tanh門進(jìn)行處理,得到一個(gè)在-1到1之間的值tanh(ct),并再通過一個(gè)乘法門將它和sigmoid的輸出ot相乘,最終得到輸出值ht。具體請參閱圖9,為輸出門層結(jié)構(gòu)示意圖。輸出門層公式如下:
ot=σ(wo[ht-1,xt]+bo)(7)
ht=ot*tanh(ct)(8)
在張量遞歸神經(jīng)網(wǎng)絡(luò)的時(shí)序與時(shí)序之間的全連接中,本申請引入張量列分解/tt分解(tensortraindecomposition)。張量遞歸神經(jīng)網(wǎng)絡(luò)隱藏層的自連接屬于向量到向量的全連接,將瑜伽動(dòng)作特征矩陣與lstm((longshort-termmemory,長短時(shí)記憶網(wǎng)絡(luò))全連接的權(quán)值矩陣進(jìn)行張量列分解,以tt-format表示,降低全連接參數(shù)的規(guī)模。假設(shè)全連接瑜伽動(dòng)作特征的權(quán)值矩陣規(guī)模為50×50,采用的重構(gòu)方案可為2×25和2×25,設(shè)置tt-rank為(1,r,1),將瑜伽動(dòng)作特征的權(quán)值矩陣映射到(2×25)×(2×25)的矩陣(二階張量),在進(jìn)行張量列分解得到權(quán)值矩陣的tt-format表示,不同r值對應(yīng)不同規(guī)模的tt-format表示,隨著權(quán)值參數(shù)的規(guī)模與r值成正比,選擇合適的r值能夠減少張量遞歸層的空間復(fù)雜度及計(jì)算量,起到縮減網(wǎng)絡(luò)參數(shù)規(guī)模的效果。
上述中,張量列分解(tensortraindecomposition,tt-decomposition)是一種張量分解模型,將張量的每一個(gè)元素都用若干個(gè)矩陣的乘積表示。假設(shè)存在d階張量
在公式(9)中,
矩陣的張量列分解:
假設(shè)矩陣a∈rm×n,選擇重構(gòu)方案,如重構(gòu)方案:
基于上述,本申請實(shí)施例在張量遞歸神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練階段,以有標(biāo)簽的瑜伽動(dòng)作短視頻為輸入,經(jīng)過張量卷積層的卷積、校正、池化等過程進(jìn)行處理,將每個(gè)三維的瑜伽動(dòng)作短視頻分別處理成為多個(gè)一維的瑜伽動(dòng)作特征。一維瑜伽動(dòng)作特征與張量遞歸神經(jīng)網(wǎng)絡(luò)層進(jìn)行全連接,把瑜伽動(dòng)作特征輸入到張量遞歸神經(jīng)網(wǎng)絡(luò)層,并依次經(jīng)過張量遞歸神經(jīng)網(wǎng)絡(luò)層的輸入門層、遺忘門和輸出門層之后,輸出不同的瑜伽動(dòng)作標(biāo)簽,由瑜伽動(dòng)作標(biāo)簽值與真實(shí)值的差來構(gòu)造損失函數(shù),并通過梯度下降算法和反向傳播算法來調(diào)節(jié)不同層的參數(shù)值。訓(xùn)練完成后,即可得到一個(gè)以短視頻作為輸入、并輸出26個(gè)瑜伽動(dòng)作標(biāo)簽的張量遞歸神經(jīng)網(wǎng)絡(luò)模型。本申請通過選用50個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞作為張量遞歸層,并與張量卷積網(wǎng)絡(luò)中的第三卷積層全連接,由于張量遞歸層的加入和張量分解的引入,張量遞歸神經(jīng)網(wǎng)絡(luò)模型對于瑜伽動(dòng)作視頻的分類準(zhǔn)確率得到了較大提高。
請參閱圖12,是本申請實(shí)施例的動(dòng)作識(shí)別階段的動(dòng)作識(shí)別方法的流程圖。本申請實(shí)施例的動(dòng)作識(shí)別方法包括以下步驟:
步驟200:實(shí)時(shí)采集練習(xí)者的當(dāng)前瑜伽動(dòng)作視頻;
在步驟200中,在開始練習(xí)前,練習(xí)者可以選擇練習(xí)模式,例如自由練習(xí)模式、順序練習(xí)模式、固定體式練習(xí)模式等,并在練習(xí)時(shí)根據(jù)需求進(jìn)行選擇。如果練習(xí)者選擇自由練習(xí)模式,則需對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行識(shí)別和分類后,通過顯示裝置顯示與當(dāng)前瑜伽動(dòng)作視頻對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考。如果練習(xí)者選擇順序練習(xí)模式,則通過顯示裝置順序顯示26個(gè)瑜伽基本體式的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考,而無需進(jìn)行動(dòng)作識(shí)別分類。如果練習(xí)者選擇固定體式練習(xí)模式,則根據(jù)顯示裝置顯示26個(gè)瑜伽基本體式列表,練習(xí)者選擇需要練習(xí)的體式后,通過顯示裝置顯示該體式對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考。當(dāng)前瑜伽動(dòng)作視頻的采集長度可根據(jù)練習(xí)需求進(jìn)行設(shè)定。
步驟210:對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行預(yù)處理;
在步驟210中,對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行預(yù)處理具體包括:
步驟2101:對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行向下采樣處理;
步驟2102:提取當(dāng)前瑜伽動(dòng)作視頻中以練習(xí)者為中心的邊界框,并裁剪掉邊界框之外的多余背景;
步驟2103:將剪裁后的當(dāng)前瑜伽動(dòng)作視頻幀由rgb圖轉(zhuǎn)化為灰度圖,完成當(dāng)前瑜伽動(dòng)作視頻的數(shù)據(jù)預(yù)處理;
步驟220:將預(yù)處理后的當(dāng)前瑜伽動(dòng)作視頻輸入張量遞歸神經(jīng)網(wǎng)絡(luò)模型,通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型將該瑜伽動(dòng)作視頻進(jìn)行識(shí)別與分類后,輸出對應(yīng)的瑜伽動(dòng)作標(biāo)簽,并根據(jù)瑜伽動(dòng)作標(biāo)簽顯示標(biāo)準(zhǔn)瑜伽動(dòng)作視頻。
在瑜伽動(dòng)作識(shí)別階段,本申請通過采集用戶的瑜伽動(dòng)作視頻,相對于圖像能夠保留更多的特征信息,在數(shù)據(jù)預(yù)處理時(shí)無需依賴任何人工標(biāo)注特征,直接將瑜伽動(dòng)作視頻作為原始輸入,并利用已經(jīng)訓(xùn)練好的張量遞歸神經(jīng)網(wǎng)絡(luò)模型對瑜伽動(dòng)作視頻進(jìn)行識(shí)別分類,無需與標(biāo)準(zhǔn)瑜伽動(dòng)作視頻進(jìn)行對比就可以直接輸出分類結(jié)果,使得識(shí)別和分類的速度更快,并保證了識(shí)別的精度。同時(shí),本申請可以根據(jù)分類結(jié)果顯示標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考,從而達(dá)到輔助練習(xí)瑜伽的目的。
請參閱圖13,是本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助系統(tǒng)的結(jié)構(gòu)示意圖。本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助系統(tǒng)包括指導(dǎo)裝置和顯示裝置,指導(dǎo)裝置和顯示裝置相互連接。指導(dǎo)裝置用于采集一定人數(shù)的受試者的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻,采用深度學(xué)習(xí)算法根據(jù)采集的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型;并在練習(xí)者練習(xí)瑜伽過程中,實(shí)時(shí)采集練習(xí)者的當(dāng)前瑜伽動(dòng)作視頻,通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行識(shí)別與分類后,通過顯示裝置顯示對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考練習(xí)。
具體地,指導(dǎo)裝置包括第一視頻采集模塊、第一數(shù)據(jù)預(yù)處理模塊、第二數(shù)據(jù)預(yù)處理模塊、模型構(gòu)建模塊、第二視頻采集模塊、第三數(shù)據(jù)預(yù)處理模塊、視頻識(shí)別與分類模塊;
第一視頻采集模塊:用于在模型訓(xùn)練階段采集100個(gè)受試者一定數(shù)量的瑜伽體式的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻;第一視頻采集模塊優(yōu)選為攝像頭;在采集時(shí),所有受試者的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻均在相似且同質(zhì)的背景下進(jìn)行采集,且每個(gè)受試者在視頻中每個(gè)相同動(dòng)作各重復(fù)4次,動(dòng)作之間有短暫間隔(長度在8到30秒之間)。采集的視頻每幀大小為120×160像素,視頻幀數(shù)為每秒25幀。
第一數(shù)據(jù)預(yù)處理模塊:用于按照各個(gè)標(biāo)準(zhǔn)瑜伽動(dòng)作視頻之間的間隔將每個(gè)標(biāo)準(zhǔn)瑜伽動(dòng)作視頻分別分割成只包含單個(gè)動(dòng)作的短視頻,以分割得到的短視頻作為訓(xùn)練樣本構(gòu)建瑜伽動(dòng)作視頻訓(xùn)練集;其中,分割后的短視頻的長度在2秒~7秒之間,分割后,即可得到包含了10400個(gè)(26×100×4)短視頻的瑜伽動(dòng)作視頻訓(xùn)練集,再利用瑜伽動(dòng)作視頻訓(xùn)練集中的每個(gè)訓(xùn)練樣本分別生成它們的垂直翻轉(zhuǎn)和鏡像版本,以增加示例數(shù)。
第二數(shù)據(jù)預(yù)處理模塊:用于對瑜伽動(dòng)作視頻訓(xùn)練集進(jìn)行數(shù)據(jù)預(yù)處理;數(shù)據(jù)預(yù)處理具體包括:對瑜伽動(dòng)作視頻訓(xùn)練集中的短視頻進(jìn)行向下采樣處理,提取每個(gè)向下采樣處理后的短視頻中以人為中心的邊界框,并裁剪掉邊界框之外的多余背景,并將剪裁后的短視頻幀由rgb圖轉(zhuǎn)化為灰度圖。
模型構(gòu)建模塊:用于根據(jù)預(yù)處理后的瑜伽動(dòng)作視頻訓(xùn)練集構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型;其中,張量遞歸神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建具體包括:首先,設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),自動(dòng)學(xué)習(xí)瑜伽動(dòng)作視頻訓(xùn)練集中每個(gè)短視頻的時(shí)空特征;然后,再使用從張量卷積神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí)到的瑜伽動(dòng)作時(shí)空特征訓(xùn)練張量遞歸神經(jīng)網(wǎng)絡(luò)模型,通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型根據(jù)26個(gè)瑜伽動(dòng)作標(biāo)簽對標(biāo)準(zhǔn)瑜伽動(dòng)作視頻進(jìn)行分類;本申請通過設(shè)計(jì)張量卷積神經(jīng)網(wǎng)絡(luò),可以直接接收原始瑜伽動(dòng)作短視頻的輸入,而不需要對訓(xùn)練集數(shù)據(jù)進(jìn)行復(fù)雜的預(yù)處理。
上述中,整個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)模型包括輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層、張量遞歸層和輸出層;輸入層、第一卷積層、第一校正層、第一池化層、第二卷積層、第二校正層、第二池化層、第三卷積層依次連接,張量遞歸層全連接到第三卷積層,輸出層全連接到張量遞歸層。具體地:
輸入層:輸入為34×54×9的張量;34×54×9的張量對應(yīng)瑜伽動(dòng)作視頻訓(xùn)練集中短視頻的9個(gè)連續(xù)的幀,每個(gè)幀的圖像分辨率為34×54。
第一卷積層:采用7×7×5的卷積核,在34×54×9的張量上計(jì)算出瑜伽動(dòng)作的7個(gè)特征;經(jīng)過第一卷積層卷積后,張量規(guī)模變?yōu)?8×48×5;在第一卷積層中,激勵(lì)函數(shù)采用tanh函數(shù),即yc1=tanh(∑wc1xc1+bc1),其中yc1表示第一卷積層的輸出,xc1表示第一卷積層的輸入,xc1,yc1表示張量,wc1,bc1分別表示權(quán)重和偏置量。
第一校正層:由于在第一卷積層中采用的激勵(lì)函數(shù)tanh存在負(fù)值,因此在第一卷積層后加入第一校正層,進(jìn)行簡單的取絕對值的操作,經(jīng)過第一校正層后校正后張量的規(guī)模不變;
第一池化層:采用2×2的池化窗口對張量進(jìn)行最大池化,以保證提取的瑜伽動(dòng)作特征的平移不變性,經(jīng)過第一池化層池化后,張量規(guī)模變?yōu)?4×24×5;
第二卷積層:采用5×5×3的卷積核,在14×24×5的張量上算出瑜伽動(dòng)作的35個(gè)特征;經(jīng)過第二卷積層卷積后,張量規(guī)模變?yōu)?0×20×3;第二卷積層中也采用tanh激勵(lì)函數(shù),即yc2=tanh(∑wc2xc2+bc2),其中yc2表示第二卷積層的輸出,xc1表示第二卷積層的輸入,xc2,yc2表示張量,wc2,bc2分別表示權(quán)重和偏置量;
第二校正層:同第一校正層,對第二卷積層激勵(lì)函數(shù)取絕對值;
第二池化層:同第一池化層,采用2×2的池化窗口對張量進(jìn)行最大池化,經(jīng)過第二池化層池化后,張量規(guī)模變?yōu)?×10×3;
張量第三卷積層:采用3×3×3的卷積核,在5×10×3的張量上算出5個(gè)瑜伽動(dòng)作特征;經(jīng)過張量第三卷積層卷積后,張量規(guī)模變?yōu)?×8×1,再將張量轉(zhuǎn)換成大小為120的向量(5×3×8×1);
張量遞歸層:采用一定數(shù)量的張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞,全連接到第三卷積層;本申請?jiān)诘谌矸e層的輸出與張量遞歸層之間引入張量秩一分解,對第三卷積層輸入到張量遞歸層的瑜伽動(dòng)作特征張量序列的分量進(jìn)行張量秩一分解,并以分解后的形式進(jìn)行存儲(chǔ),也就是將瑜伽動(dòng)作特征進(jìn)行張量秩一分解后,輸入張量遞歸層;其中,秩一張量(rank-onetensor)為:數(shù)學(xué)上,若一個(gè)n階張量能夠表示成n個(gè)向量的外積,則該張量稱為秩一張量。張量秩一分解(tensorrank-onedecomposition)為:在數(shù)學(xué)上,張量秩一分解,是將一個(gè)張量分解成一系列秩一張量的線性組合。張量秩一分解能夠獲得張量對象更加緊湊和更有意義的表示。如n階張量
在公式(1)中,
如圖4所示,為瑜伽動(dòng)作特征二階張量的張量秩一分解示意圖。其中,i1=4、i2=6分別二階張量各個(gè)階的維數(shù),a第一階,b第二階,第k分量表示第k重要的成分(k=1,2,...r),最右邊的兩個(gè)矩陣為張量的因子矩陣,數(shù)量等于張量的階數(shù)。張量秩一分解的物理意義為提取二維瑜伽動(dòng)作特征的主成分。
輸出層:輸出層全連接到張量遞歸層,輸出26個(gè)瑜伽動(dòng)作標(biāo)簽;輸出層采用softmax激勵(lì)函數(shù),公式為:
yi=softmax(∑jwi,jxj+bi),(2)
在公式(2)中,yi表示屬于瑜伽動(dòng)作i的概率,wi,j代表權(quán)重,bi代表瑜伽動(dòng)作i的偏置量,xj表示輸出層輸入,j代表張量遞歸層節(jié)點(diǎn)j,即張量遞歸層的節(jié)點(diǎn)索引。
張量遞歸神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)時(shí)間序列相關(guān)信息,適合于處理視頻等與時(shí)間序列有關(guān)的信息,因此本申請實(shí)施例在張量卷積神經(jīng)網(wǎng)絡(luò)之后引入張量遞歸層,使得瑜伽動(dòng)作視頻能夠更好地被分類。
具體如圖5所示,為張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞整體結(jié)構(gòu)示意圖(本圖中包含3個(gè)時(shí)序的張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞)。本申請實(shí)施例中采用的張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞主要包括3層門結(jié)構(gòu),通過3層門結(jié)構(gòu)去除或者增加信息到張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞狀態(tài)的能力,即瑜伽動(dòng)作視頻的時(shí)空信息可以通過3層門結(jié)構(gòu)被有選擇地遺忘或保存。所述3層門分別為忘記門層、輸入門層、輸出門層,結(jié)構(gòu)具體如下:
1、忘記門層(forgetgate):用于控制張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞對上一時(shí)序瑜伽動(dòng)作時(shí)空特征的遺忘程度(即控制著上一時(shí)間點(diǎn)的瑜伽動(dòng)作特征有多少被保留)。忘記門層結(jié)構(gòu)如圖6所示。該門讀取上一時(shí)序的lstm細(xì)胞輸出ht-1和本時(shí)序輸入xt,經(jīng)過sigmoid激勵(lì)函數(shù)輸出一個(gè)在0到1之間的數(shù)值ft給細(xì)胞狀態(tài)ct-1。忘記門層公式如下:
ft=σ(wf·[ht-1,xt]+bf)(3)
2、輸入門層(inputgate):用于控制張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞本時(shí)序有關(guān)瑜伽動(dòng)作時(shí)空特征的細(xì)胞狀態(tài)ct(即控制當(dāng)前時(shí)間點(diǎn)輸入多少新的瑜伽動(dòng)作特征)。具體如圖7所示,為輸入門層結(jié)構(gòu)示意圖。輸入門層包含兩個(gè)部分,其中:
第一部分:通過一個(gè)sigmoid門決定輸入值更新程度it;然后一個(gè)tanh門創(chuàng)建一個(gè)新的細(xì)胞狀態(tài)的候選值向量;請一并參閱圖7,是輸入門層第一部分結(jié)構(gòu)示意圖。輸入門層第一部分公式如下:
it=σ(wi·[ht-1,xt]+bi)(4)
第二部分:通過輸入值更新程度it和新細(xì)胞狀態(tài)的候選值向量更新細(xì)胞狀態(tài)ct(即控制向下一個(gè)時(shí)間點(diǎn)輸出多少當(dāng)前時(shí)間點(diǎn)的瑜伽動(dòng)作特征)。一個(gè)乘法門把舊狀態(tài)ct-1與遺忘程度ft相乘,接著加上更新程度
3、輸入門層(outputgate):用于確定本時(shí)序張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞輸出值ht,在本申請實(shí)施例中指本時(shí)序?qū)W習(xí)到的瑜伽動(dòng)作時(shí)空特征對下一時(shí)序張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞的影響,該輸出值基于細(xì)胞狀態(tài)ct。首先,一個(gè)sigmoid門來確定細(xì)胞狀態(tài)輸出程度ot,接著,細(xì)胞狀態(tài)通過tanh門進(jìn)行處理,得到一個(gè)在-1到1之間的值tanh(ct),并再通過一個(gè)乘法門將它和sigmoid的輸出ot相乘,最終得到輸出值ht。具體請參閱圖9,為輸出門層結(jié)構(gòu)示意圖。輸出門層公式如下:
ot=σ(wo[ht-1,xt]+bo)(7)
ht=ot*tanh(ct)(8)
在張量遞歸神經(jīng)網(wǎng)絡(luò)的時(shí)序與時(shí)序之間的全連接中,本申請引入張量列分解/tt分解(tensortraindecomposition)。張量遞歸神經(jīng)網(wǎng)絡(luò)隱藏層的自連接屬于向量到向量的全連接,將瑜伽動(dòng)作特征矩陣與lstm((longshort-termmemory,長短時(shí)記憶網(wǎng)絡(luò))全連接的權(quán)值矩陣進(jìn)行張量列分解,以tt-format表示,降低全連接參數(shù)的規(guī)模。假設(shè)全連接瑜伽動(dòng)作特征的權(quán)值矩陣規(guī)模為50×50,采用的重構(gòu)方案可為2×25和2×25,設(shè)置tt-rank為(1,r,1),將瑜伽動(dòng)作特征的權(quán)值矩陣映射到(2×25)×(2×25)的矩陣(二階張量),在進(jìn)行張量列分解得到權(quán)值矩陣的tt-format表示,不同r值對應(yīng)不同規(guī)模的tt-format表示,隨著權(quán)值參數(shù)的規(guī)模與r值成正比,選擇合適的r值能夠減少張量遞歸層的空間復(fù)雜度及計(jì)算量,起到縮減網(wǎng)絡(luò)參數(shù)規(guī)模的效果。
上述中,張量列分解(tensortraindecomposition,tt-decomposition)是一種張量分解模型,將張量的每一個(gè)元素都用若干個(gè)矩陣的乘積表示。假設(shè)存在d階張量
在公式(9)中,
矩陣的張量列分解:
假設(shè)矩陣a∈rm×n,選擇重構(gòu)方案,如重構(gòu)方案:
基于上述,本申請實(shí)施例在張量遞歸神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練階段,以有標(biāo)簽的瑜伽動(dòng)作短視頻為輸入,經(jīng)過張量卷積層的卷積、校正、池化等過程進(jìn)行處理,將每個(gè)三維的瑜伽動(dòng)作短視頻分別處理成為多個(gè)一維的瑜伽動(dòng)作特征。一維瑜伽動(dòng)作特征與張量遞歸神經(jīng)網(wǎng)絡(luò)層進(jìn)行全連接,把瑜伽動(dòng)作特征輸入到張量遞歸神經(jīng)網(wǎng)絡(luò)層,并依次經(jīng)過張量遞歸神經(jīng)網(wǎng)絡(luò)層的輸入門層、遺忘門和輸出門層之后,輸出不同的瑜伽動(dòng)作標(biāo)簽,由瑜伽動(dòng)作標(biāo)簽值與真實(shí)值的差來構(gòu)造損失函數(shù),并通過梯度下降算法和反向傳播算法來調(diào)節(jié)不同層的參數(shù)值。訓(xùn)練完成后,即可得到一個(gè)以短視頻作為輸入、并輸出26個(gè)瑜伽動(dòng)作標(biāo)簽的張量遞歸神經(jīng)網(wǎng)絡(luò)模型。本申請通過選用50個(gè)張量遞歸神經(jīng)網(wǎng)絡(luò)細(xì)胞作為張量遞歸層,并與張量卷積網(wǎng)絡(luò)中的第三卷積層全連接進(jìn)行測試,由于張量遞歸層的加入和張量分解的引入,張量遞歸神經(jīng)網(wǎng)絡(luò)模型對于瑜伽動(dòng)作視頻的分類準(zhǔn)確率得到了較大提高。
第二視頻采集模塊:用于在瑜伽動(dòng)作識(shí)別階段實(shí)時(shí)采集練習(xí)者的當(dāng)前瑜伽動(dòng)作視頻;第二視頻采集模塊優(yōu)選為攝像頭;在開始練習(xí)前,練習(xí)者可以選擇練習(xí)模式,例如自由練習(xí)模式、順序練習(xí)模式、固定體式練習(xí)模式等,并在練習(xí)時(shí)根據(jù)需求進(jìn)行選擇。如果練習(xí)者選擇自由練習(xí)模式,則需對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行識(shí)別和分類后,通過顯示裝置顯示與當(dāng)前瑜伽動(dòng)作視頻對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考。如果練習(xí)者選擇順序練習(xí)模式,則通過顯示裝置順序顯示26個(gè)瑜伽基本體式的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考,而無需進(jìn)行動(dòng)作識(shí)別分類。如果練習(xí)者選擇固定體式練習(xí)模式,則根據(jù)顯示裝置顯示26個(gè)瑜伽基本體式列表,練習(xí)者選擇需要練習(xí)的體式后,通過顯示裝置顯示該體式對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻供練習(xí)者參考。當(dāng)前瑜伽動(dòng)作視頻的采集長度可根據(jù)練習(xí)需求進(jìn)行設(shè)定。
第三數(shù)據(jù)預(yù)處理模塊:用于對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行數(shù)據(jù)預(yù)處理;數(shù)據(jù)預(yù)處理具體包括:對當(dāng)前瑜伽動(dòng)作視頻進(jìn)行向下采樣處理后,提取當(dāng)前瑜伽動(dòng)作視頻中以練習(xí)者為中心的邊界框,裁剪掉邊界框之外的多余背景,并將剪裁后的瑜伽動(dòng)作視頻幀由rgb圖轉(zhuǎn)化為灰度圖。
視頻識(shí)別與分類模塊:用于將預(yù)處理后的當(dāng)前瑜伽動(dòng)作視頻輸入訓(xùn)練好的張量遞歸神經(jīng)網(wǎng)絡(luò)模型,通過張量遞歸神經(jīng)網(wǎng)絡(luò)模型將該瑜伽動(dòng)作視頻進(jìn)行識(shí)別與分類后,輸出對應(yīng)的瑜伽動(dòng)作標(biāo)簽,并通過顯示裝置根據(jù)瑜伽動(dòng)作標(biāo)簽顯示對應(yīng)的標(biāo)準(zhǔn)瑜伽動(dòng)作視頻。
顯示裝置包括顯示模塊和人機(jī)交互模塊;
顯示模塊用于顯示運(yùn)動(dòng)項(xiàng)目列表、練習(xí)模式列表、體式列表等信息,練習(xí)者可根據(jù)顯示信息進(jìn)行選擇;并根據(jù)練習(xí)者的選擇或指導(dǎo)裝置的分類結(jié)果顯示標(biāo)準(zhǔn)瑜伽動(dòng)作視頻;
人機(jī)交互模塊用于練習(xí)者與指導(dǎo)裝置之間的信息交互,個(gè)人資料、個(gè)人偏好、時(shí)間設(shè)置等,以根據(jù)個(gè)人需求對指導(dǎo)裝置進(jìn)行相應(yīng)的控制操作。
在本申請實(shí)施例中,指導(dǎo)裝置為包括但不限于電視、pc、智能手機(jī)或pad等電子設(shè)備。
本申請實(shí)施例的基于機(jī)器視覺的運(yùn)動(dòng)輔助方法及系統(tǒng)通過深度學(xué)習(xí)算法構(gòu)建張量遞歸神經(jīng)網(wǎng)絡(luò)模型,在運(yùn)動(dòng)過程中,將練習(xí)者的動(dòng)作視頻輸入張量遞歸神經(jīng)網(wǎng)絡(luò)模型進(jìn)行識(shí)別與分類后,顯示對應(yīng)的標(biāo)準(zhǔn)動(dòng)作視頻供練習(xí)者參考。與現(xiàn)有技術(shù)相比,本申請具有以下有益效果:
1、引入深度學(xué)習(xí)算法,且不需要復(fù)雜的預(yù)處理或者人工標(biāo)注,使動(dòng)作識(shí)別的精度更高;
2、利用已經(jīng)訓(xùn)練好的張量遞歸神經(jīng)網(wǎng)絡(luò)模型來對動(dòng)作視頻進(jìn)行直接識(shí)別,不需要再與標(biāo)準(zhǔn)動(dòng)作進(jìn)行對比就可以直接輸出識(shí)別結(jié)果,具有更快的識(shí)別和檢測速度;
3、通過視頻的方式直接采集練習(xí)者的動(dòng)作視頻,而無需通過心率、血氧等間接數(shù)據(jù)獲取,保證了源信息的完整性;
4、標(biāo)準(zhǔn)的動(dòng)作視頻也以動(dòng)作圖像的方式保存和表現(xiàn),保證了作為標(biāo)準(zhǔn)對比信息的標(biāo)準(zhǔn)性;
5、不需要穿戴附加設(shè)備,優(yōu)化了用戶使用體驗(yàn)。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。