本發(fā)明涉及人體動(dòng)作識(shí)別領(lǐng)域,更具體地,涉及一種基于機(jī)器學(xué)習(xí)的人體動(dòng)作識(shí)別方法。
背景技術(shù):
1、目前,人體動(dòng)作姿態(tài)的識(shí)別方法可分為三類:基于統(tǒng)計(jì)的方法、基于模板的方法和基于語(yǔ)法的方法。隱馬爾可夫模型是目前應(yīng)用最廣的一種方法。brand等人(1997)提出了耦合隱馬爾可夫模型(chmm),并對(duì)手語(yǔ)進(jìn)行了識(shí)別。duong等人(2005)提出了s-hsmm(switching?hidden-semi?markov?model)模型,s-hsmm的識(shí)別性能高于hhmms,但是算法復(fù)雜度較高。同時(shí),hmms只適合于描述單個(gè)運(yùn)動(dòng)物體的系統(tǒng),且無(wú)法進(jìn)行信息的有效融合。也有部分學(xué)者將hmm和動(dòng)態(tài)貝葉斯網(wǎng)絡(luò)兩者結(jié)合起來(lái),高效地實(shí)現(xiàn)了行人體動(dòng)作姿態(tài)的建模和識(shí)別。近年,楊君等人(2021)利用openpose算法進(jìn)行數(shù)據(jù)分析和挖掘,檢測(cè)出圖像中人體關(guān)鍵點(diǎn)的信息并計(jì)算距離,再計(jì)算出夾角,判斷人體動(dòng)作的不足之處并提示反饋。cao等人(2021)提出了一種有效地檢測(cè)圖像中多人的二維姿態(tài)的方法。該體系結(jié)構(gòu)被設(shè)計(jì)為通過(guò)同一序列預(yù)測(cè)過(guò)程的兩個(gè)分支共同學(xué)習(xí)部分位置及其關(guān)聯(lián),對(duì)全局上下文進(jìn)行編碼,允許一個(gè)貪婪的自下而上的解析步驟,以保持高精度,同時(shí)實(shí)現(xiàn)實(shí)時(shí)性能。
2、圖像識(shí)別技術(shù)起源于20世紀(jì)40年代,在20世紀(jì)90年代,人工神經(jīng)網(wǎng)絡(luò)與支持向量機(jī)相結(jié)合,促進(jìn)了圖像識(shí)別技術(shù)的發(fā)展。針對(duì)傳統(tǒng)的圖像識(shí)別技術(shù)是以淺層次結(jié)構(gòu)模型為主,需要人為對(duì)圖像進(jìn)行預(yù)處理,導(dǎo)致出現(xiàn)了降低圖像識(shí)別準(zhǔn)確率的問(wèn)題,科研工作者開(kāi)始研究更深層次的網(wǎng)絡(luò)結(jié)構(gòu)模型,用模型自身提取圖像特征,避免人為干預(yù),在此期間,許多深度學(xué)習(xí)模型被提出,如:dbn、dfn、cnn、rnn等。同時(shí),深度學(xué)習(xí)的各種算法模型順利運(yùn)用到商業(yè)之中。例如:在國(guó)內(nèi),以百度為代表的無(wú)人駕駛汽車將以深度學(xué)習(xí)為基礎(chǔ)的計(jì)算機(jī)視覺(jué)、聽(tīng)覺(jué)等識(shí)別技術(shù)應(yīng)用到“百度無(wú)人駕駛汽車”系統(tǒng)研發(fā)中。在國(guó)外,google、microsoft、facebook等公司將深度學(xué)習(xí)技術(shù)作為公司發(fā)展的重要技術(shù)之一,甚至針對(duì)深度學(xué)習(xí)技術(shù)研發(fā)了一系列的深度學(xué)習(xí)框架,如:goolgle公司研發(fā)的tensorflow,microsoft公司研發(fā)的cntk,facebook公司研發(fā)的torch,fchollet公司研發(fā)的keras,d等,這些深度學(xué)習(xí)技術(shù)框架主要應(yīng)用于圖像識(shí)別分類、手寫字識(shí)別、語(yǔ)音識(shí)別、預(yù)測(cè)、自然語(yǔ)言處理等方面。近幾年,針對(duì)人體圖像識(shí)別,佛羅里達(dá)大學(xué)計(jì)算機(jī)視覺(jué)研究中心提出了一個(gè)簡(jiǎn)單而有效的端到端深度網(wǎng)絡(luò)(命名為ssa2d)用于視頻中的動(dòng)作檢測(cè),該網(wǎng)絡(luò)在單個(gè)鏡頭中執(zhí)行像素級(jí)的聯(lián)合動(dòng)作檢測(cè),其中檢測(cè)到的參與者的每個(gè)像素都被分配一個(gè)動(dòng)作標(biāo)簽。袁雅婷(2021)提出了多濾波動(dòng)態(tài)圖卷積神經(jīng)網(wǎng)絡(luò)算法,該算法基于圖卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),融合了多濾波圖卷積結(jié)構(gòu)、動(dòng)態(tài)骨架圖結(jié)構(gòu)與多尺度時(shí)域卷積結(jié)構(gòu),優(yōu)化了空間與時(shí)間的特征提取方案,實(shí)現(xiàn)了新的動(dòng)作識(shí)別模型,在數(shù)據(jù)集上提升了的準(zhǔn)確率。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種基于機(jī)器學(xué)習(xí)的人體動(dòng)作識(shí)別方法,具體是基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法解決健身訓(xùn)練中動(dòng)作識(shí)別的問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為:
3、一種基于機(jī)器學(xué)習(xí)的人體動(dòng)作識(shí)別方法,包含以下步驟:
4、s1,采集視頻數(shù)據(jù):采集人體動(dòng)作的視頻影像畫面數(shù)據(jù);
5、s2,識(shí)別人體關(guān)鍵點(diǎn):采用mediapipe框架在若干幀的視頻影像畫面中構(gòu)建出運(yùn)動(dòng)員該動(dòng)作的運(yùn)動(dòng)軌跡;
6、s3,圖像預(yù)處理:基于視頻影像畫面數(shù)據(jù)對(duì)上述運(yùn)動(dòng)軌跡進(jìn)行畸變矯正;
7、s4,動(dòng)作分類與評(píng)估,通過(guò)svm分類技術(shù)與已有的訓(xùn)練集進(jìn)行訓(xùn)練參數(shù)的匹配,識(shí)別出該運(yùn)動(dòng)者目前的運(yùn)動(dòng)動(dòng)作。
8、優(yōu)選的,所述步驟s2采用mediapipe框架在若干幀的視頻影像畫面中構(gòu)建出運(yùn)動(dòng)員該動(dòng)作的運(yùn)動(dòng)軌跡的實(shí)現(xiàn)過(guò)程為:
9、mediapipe框架是基于blaze-pose算法,是一個(gè)結(jié)合檢測(cè)器-跟蹤器、深度卷積神經(jīng)網(wǎng)絡(luò)和回歸編碼器網(wǎng)絡(luò)的技術(shù);即首先運(yùn)行檢測(cè)器-跟蹤器,然后運(yùn)行深度卷積神經(jīng)網(wǎng)絡(luò),最后采用回歸編碼器網(wǎng)絡(luò)對(duì)關(guān)鍵點(diǎn)位置進(jìn)行回歸,得到準(zhǔn)確的關(guān)鍵點(diǎn)坐標(biāo),從而優(yōu)化姿態(tài)估計(jì)的準(zhǔn)確,具體為;
10、檢測(cè)器-跟蹤器為神經(jīng)網(wǎng)絡(luò)的前置處理階段,用于提供初始的姿勢(shì)估計(jì)和跟蹤;檢測(cè)器若檢測(cè)到人臉(若檢測(cè)不到人臉則結(jié)束),則使用檢測(cè)到的人臉位置信息來(lái)計(jì)算髖骨的中線與人臉構(gòu)成的向量,以校正人體的傾斜角度,并確定其他人體部位的位置,生成初始的估計(jì)結(jié)果;跟蹤器利用歷史信息和運(yùn)動(dòng)模型來(lái)預(yù)測(cè)當(dāng)前幀中的人體位置;
11、深度卷積神經(jīng)網(wǎng)絡(luò)由三部分組成,首先是熱圖預(yù)測(cè)網(wǎng)絡(luò)和偏移網(wǎng)絡(luò),用于輸出定位人體關(guān)鍵點(diǎn)的熱圖和偏移圖;其中,偏移圖表示關(guān)鍵點(diǎn)相對(duì)于熱圖中預(yù)測(cè)位置的微小偏移量;通過(guò)將熱圖位置與對(duì)應(yīng)的偏移圖相結(jié)合,能更精確地定位關(guān)鍵點(diǎn)的位置;最后,回歸編碼器網(wǎng)絡(luò)用于對(duì)關(guān)鍵點(diǎn)位置進(jìn)行回歸,得到準(zhǔn)確的關(guān)鍵點(diǎn)坐標(biāo)。
12、優(yōu)選的,所述步驟s3畸變矯正是使用矩陣透視變換對(duì)視頻影像進(jìn)行畸變矯正,具體是通過(guò)將視頻影像畫面中的四個(gè)角點(diǎn)映射到目標(biāo)圖像中的四個(gè)角點(diǎn),來(lái)計(jì)算透視變換矩陣;基于透視變換矩陣將原始圖像中的任意點(diǎn)映射到目標(biāo)圖像中的對(duì)應(yīng)位置。
13、優(yōu)選的,所述透視變換矩陣具有以下形式:
14、
15、透視變換矩陣是一種線性變換矩陣,用于將三維坐標(biāo)中的一個(gè)點(diǎn)映射到另一個(gè)三維坐標(biāo)系中的對(duì)應(yīng)點(diǎn),x、y、z表示目標(biāo)三維坐標(biāo)點(diǎn)的坐標(biāo),x、y、z表示原始三維坐標(biāo)點(diǎn)的坐標(biāo);
16、透視變換矩陣中的元素[aij]反映了兩個(gè)坐標(biāo)系統(tǒng)之間的映射關(guān)系,其具體變換方式如下:
17、
18、z=1
19、通過(guò)這種變換,能夠?qū)⒃甲鴺?biāo)點(diǎn)映射到目標(biāo)坐標(biāo)系中的對(duì)應(yīng)位置;
20、透視變換矩陣中的每個(gè)元素[aij]均能通過(guò)對(duì)原始坐標(biāo)系和目標(biāo)坐標(biāo)系之間的關(guān)系進(jìn)行計(jì)算獲得;
21、對(duì)于透視變換矩陣來(lái)說(shuō),使用標(biāo)定方法(如攝像機(jī)標(biāo)定)來(lái)計(jì)算這些參數(shù),以確保變換的準(zhǔn)確性;在用戶建立個(gè)人檔案時(shí),可以采集到用戶的各個(gè)軀干的長(zhǎng)度比例等數(shù)據(jù),并以此對(duì)攝像頭拍攝時(shí)產(chǎn)生的畸變進(jìn)行修正;實(shí)現(xiàn)人體各個(gè)關(guān)鍵點(diǎn)的復(fù)原以及準(zhǔn)確定位。
22、優(yōu)選的,所述步驟s4動(dòng)作分類與評(píng)估的過(guò)程為:采用svm對(duì)目標(biāo)視頻影像的動(dòng)作進(jìn)行分類,并對(duì)比標(biāo)準(zhǔn)動(dòng)作的姿勢(shì)數(shù)據(jù),判斷人們某一時(shí)刻的動(dòng)作是否標(biāo)準(zhǔn);
23、采用svm算法用于對(duì)目標(biāo)圖像的動(dòng)作進(jìn)行分類的實(shí)現(xiàn)方式為:基于blaze-pose算法提取到的關(guān)節(jié)點(diǎn)坐標(biāo)作為訓(xùn)練集,將人工輔助分類標(biāo)注后的各個(gè)動(dòng)作的訓(xùn)練集輸入svm分類器中進(jìn)行訓(xùn)練,通過(guò)隨機(jī)梯度下降法得到損失最小的參數(shù),得到相應(yīng)動(dòng)作的分類器,基于得到的動(dòng)作分類器對(duì)目標(biāo)圖像的動(dòng)作進(jìn)行分類。
24、svm是一個(gè)有監(jiān)督的二分類模型,其基本思想尋找一個(gè)滿足分類要求的最優(yōu)超平面,使得該超平面既保證精度又能使得到離超平面最近樣本的距離最大。在本發(fā)明中,我們選擇了線性核的svm,該svm的決策函數(shù)可以表述為:
25、f(xi)=sign(<w,xi>+b)
26、其中xi為模型接受的輸入特征向量,w為權(quán)重因子,b為截距值。
27、假定樣本訓(xùn)練集合為{(x1,y1),(x2,y2),...,(xl,yl)},其中xi為mediapipe框架提取的數(shù)據(jù)特征,yi為動(dòng)作分類標(biāo)簽,則超平面的求解優(yōu)化模型為:
28、
29、s.t.yi(<w,xi>+b)≥1-ξi,i=1,2,…,l.
30、式中c為懲罰項(xiàng)參數(shù),ξi為松弛因子。
31、sigmoid激活函數(shù)主要用于神經(jīng)網(wǎng)絡(luò)中的激活層,用來(lái)將輸入值映射到一個(gè)固定的范圍(通常是0到1),其數(shù)學(xué)形式為:
32、
33、在本發(fā)明中,sigmoid函數(shù)結(jié)果被用作實(shí)現(xiàn)動(dòng)作分類的置信度,函數(shù)的輸入z為樣本到超平面的距離,對(duì)于樣本(xi,yi),其于超平面的距離zi計(jì)算方法為:
34、
35、在訓(xùn)練分類器時(shí),本發(fā)明以前文中blaze-pose算法提取到的關(guān)節(jié)點(diǎn)坐標(biāo)作為訓(xùn)練集,并將人工輔助分類標(biāo)注后的各個(gè)動(dòng)作的訓(xùn)練集輸入svm分類器中進(jìn)行訓(xùn)練,通過(guò)隨機(jī)梯度下降法得到損失最小的參數(shù),得到相應(yīng)動(dòng)作的分類器。以此達(dá)到可以對(duì)視頻影像畫面中人物動(dòng)作的進(jìn)行分類的作用,再通過(guò)識(shí)別視頻中人物的動(dòng)作實(shí)現(xiàn)運(yùn)動(dòng)識(shí)別、計(jì)數(shù)的功能。除了關(guān)鍵點(diǎn)訓(xùn)練集之外,關(guān)節(jié)點(diǎn)坐標(biāo)計(jì)算出的關(guān)鍵關(guān)節(jié)角度也可以作為訓(xùn)練集。使用這些角度作為訓(xùn)練集得到svm分類器,也可以實(shí)現(xiàn)準(zhǔn)確的動(dòng)作分類。
36、優(yōu)選的,所述步驟s4之前還包括:當(dāng)采集的視頻影像畫面中存在不同人物時(shí),采用yolo-v7模型用于對(duì)視頻影像畫面中不同人物進(jìn)行區(qū)分與標(biāo)注,輸出不同人物識(shí)別框的四個(gè)頂點(diǎn)的坐標(biāo),便于切割分別計(jì)數(shù),從而實(shí)現(xiàn)對(duì)多人體場(chǎng)景的準(zhǔn)確計(jì)數(shù)。
37、優(yōu)選的,所述采用yolo-v7模型用于對(duì)視頻影像畫面中不同人物進(jìn)行區(qū)分與標(biāo)注的實(shí)現(xiàn)過(guò)程為:yolo-v7模型中的目標(biāo)檢測(cè)器對(duì)視頻中不同的測(cè)試對(duì)象進(jìn)行區(qū)分;首先將視頻影像畫面輸入yolo-v7目標(biāo)檢測(cè)器進(jìn)行處理;目標(biāo)檢測(cè)器會(huì)對(duì)視頻影像畫面的每個(gè)幀進(jìn)行分析,并識(shí)別出其中的目標(biāo)對(duì)象;通過(guò)檢測(cè)器輸出的結(jié)果,得到不同對(duì)象的坐標(biāo)信息,即在圖像上的位置;根據(jù)目標(biāo)檢測(cè)器輸出的不同對(duì)象的坐標(biāo)信息,將視頻中的特定區(qū)域進(jìn)行切割;隨后針對(duì)每個(gè)切割的圖像區(qū)域?qū)Σ煌臏y(cè)試對(duì)象進(jìn)行統(tǒng)計(jì)。
38、優(yōu)選的,對(duì)于單人運(yùn)動(dòng)場(chǎng)景,所述步驟s4后還包括輸出用戶報(bào)告,包括標(biāo)準(zhǔn)度分析報(bào)告和動(dòng)作評(píng)價(jià)報(bào)告;對(duì)于多人運(yùn)動(dòng)場(chǎng)景,所述步驟s4后還包括針對(duì)個(gè)人分別生成步驟s4后還包括輸出用戶報(bào)告,包括標(biāo)準(zhǔn)度分析報(bào)告和動(dòng)作評(píng)價(jià)報(bào)告。
39、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
40、本發(fā)明利用mediapipe框架,通過(guò)視頻識(shí)別人體姿態(tài)、動(dòng)作定位出人體關(guān)鍵點(diǎn),如肩膀、手肘、膝蓋等部位,構(gòu)建出一個(gè)人體模型。其次使用矩陣透視變換對(duì)視頻映像進(jìn)行畸變矯正,降低由于拍攝角度導(dǎo)致的誤差問(wèn)題?;诠俜綐?biāo)準(zhǔn)文件中不同動(dòng)作的關(guān)節(jié)標(biāo)準(zhǔn),訓(xùn)練動(dòng)作識(shí)別模型。利用svm分類技術(shù)對(duì)上述人體模型所做動(dòng)作進(jìn)行分類。并對(duì)比模型定位和標(biāo)準(zhǔn)動(dòng)作姿勢(shì)的相關(guān)數(shù)據(jù),判斷人們某一時(shí)刻的動(dòng)作是否標(biāo)準(zhǔn)。為運(yùn)動(dòng)者提供智能動(dòng)作指導(dǎo),提示其改進(jìn)鍛煉動(dòng)作姿勢(shì),從而避免因鍛煉姿勢(shì)不當(dāng)導(dǎo)致人體損傷的問(wèn)題。為了適應(yīng)多個(gè)對(duì)象同時(shí)進(jìn)行鍛煉的場(chǎng)景,本發(fā)明還使用yolo-v7模型對(duì)不同的測(cè)試對(duì)象區(qū)分后運(yùn)行。
41、本發(fā)明用于對(duì)運(yùn)動(dòng)尤其是健身動(dòng)作進(jìn)行識(shí)別、計(jì)數(shù)與提出糾正意見(jiàn),以便更好地達(dá)到訓(xùn)練動(dòng)作標(biāo)準(zhǔn)及預(yù)防因訓(xùn)練動(dòng)作不標(biāo)準(zhǔn)導(dǎo)致的對(duì)身體的訓(xùn)練傷害,有效做到標(biāo)準(zhǔn)訓(xùn)練,科學(xué)健康訓(xùn)練。