本發(fā)明涉及傳感器采集比對領域,具體地,涉及一種基于kinect的動作比對系統(tǒng)和基于kinect的動作比對方法。
背景技術(shù):
目前,許多人都有學習武術(shù)、舞蹈或者體操的習慣,而常規(guī)學習模式往往存在需要有教練、固定場所、固定時間以及一個教練只輔導一類的動作等弊端。而若自己獨自進行訓練,則往往動作不規(guī)范也不容易發(fā)現(xiàn),長久練習下去,并不會有較好的訓練效果,費時費力且收效甚低。
因此,提供一種可以在任何時間,任何地點,進行動作訓練的系統(tǒng),同時可以在虛擬環(huán)境下,根據(jù)用戶不同動作進行比對,有利于用戶獨自鍛煉的基于kinect的動作比對系統(tǒng)和基于kinect的動作比對方法是本發(fā)明亟需解決的問題。
技術(shù)實現(xiàn)要素:
針對上述現(xiàn)有技術(shù),本發(fā)明的目的在于克服現(xiàn)有技術(shù)中,常規(guī)的武術(shù)、舞蹈或者體操等動作訓練往往受時間和空間的局限的問題,從而提供一種可以在任何時間,任何地點,進行動作訓練的系統(tǒng),同時可以在虛擬環(huán)境下,根據(jù)用戶不同動作進行比對,有利于用戶獨自鍛煉的基于kinect的動作比對系統(tǒng)和基于kinect的動作比對方法。
為了實現(xiàn)上述目的,本發(fā)明提供了一種基于kinect的動作比對系統(tǒng),其中,所述基于kinect的動作比對系統(tǒng)包括kinect采集模塊,實時動作序列拆分模塊,模板動作伸縮模塊,實時動作序列和模板動作序列比對模塊,以及數(shù)據(jù)處理模塊;其中,
所述kinect采集模塊用于采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù);
所述實時動作序列拆分模塊用于將每個實時動作序列各自拆分開,每兩個實時動作之間形成有停頓點,相鄰的兩個停頓點之間形成為一個實時動作序列,所述實時動作序列拆分模塊通過監(jiān)測每個停頓點,并將每兩個相鄰的停頓點之間的一個實時動作序列予以拆分出;
所述模板動作伸縮模塊用于將模板動作中的每個模板動作序列的長度拉伸或縮短至與對應的實時動作序列相同;
所述實時動作序列和模板動作序列比對模塊用于將每組經(jīng)拉伸或縮短至長度與對應的實時動作序列相同的模板動作序列和該對應的實時動作序列進行比對;
所述數(shù)據(jù)處理模塊用于對每組經(jīng)過所述實時動作序列和模板動作序列比對模塊比對后的數(shù)據(jù)進行分析;其中,
三維空間的坐標系為:根據(jù)kinect設備所在位置為三維空間坐標原點,z軸正方向為攝像頭指向方向,x軸平行于設備所在平面并與z軸垂直且指定原點向右為正方向,y軸垂直于x、z軸所在平面且指定y軸正方向豎直該平面向上。
優(yōu)選地,所述基于kinect的動作比對系統(tǒng)還包括各骨骼點數(shù)據(jù)平滑消抖模塊,所述各骨骼點數(shù)據(jù)平滑消抖模塊用于對采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)采用多幀數(shù)據(jù)采用濾波算法對骨骼進行消抖處理。
優(yōu)選地,所述濾波算法選自限幅濾波法、中位值濾波法、算術(shù)平均濾波法、遞推平均濾波法、中位值平均濾波法、限幅平均濾波法、一階滯后濾波法、加權(quán)遞推平均濾波法、消抖濾波法和限幅消抖濾波法中的一種或多種。
優(yōu)選地,所述基于kinect的動作比對系統(tǒng)還包括骨骼數(shù)據(jù)優(yōu)化模塊,所述骨骼數(shù)據(jù)優(yōu)化模塊用于通過對采集的用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)來計算出用戶在運動中各骨骼點的速度,并計算用戶的整體速度,并根據(jù)整體速度的變化情況優(yōu)化速度數(shù)據(jù)。
優(yōu)選地,速度數(shù)據(jù)的優(yōu)化采用dfp擬牛頓法進行優(yōu)化。
優(yōu)選地,采集的骨骼點的數(shù)量為20-40個;
所述實時動作序列和模板動作序列比對模塊中比對的骨骼點的數(shù)量為12-16個。
優(yōu)選地,所述實時動作序列和模板動作序列比對模塊采用如下所示的公式進行比對:
本發(fā)明還提供了一種基于kinect的動作比對方法,其中,所述基于kinect的動作比對方法使用根據(jù)上述所述的基于kinect的動作比對系統(tǒng),所述基于kinect的動作比對方法包括:
步驟101,采用kinect采集模塊采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù);
步驟102,采用實時動作序列拆分模塊將每個實時動作序列各自拆分開,形成多個獨立的實時動作序列;
步驟103,將每個模板動作序列的長度采用模板動作伸縮模塊拉伸或縮短至與對應的實時動作序列相同;
步驟104,將步驟103中拉伸或縮短后的模板動作序列和與該模板動作序列對應的實時動作序列采用實時動作序列和模板動作序列比對模塊進行比對;
步驟105,將步驟104中比對后的數(shù)據(jù)采用數(shù)據(jù)處理模塊進行分析。
優(yōu)選地,步驟101和步驟102之間還包括以下步驟:采用骨骼點數(shù)據(jù)平滑消抖模塊對步驟101中采集的運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)采用濾波算法進行消抖處理。
優(yōu)選地,步驟101和步驟102之間還包括以下步驟:采用骨骼數(shù)據(jù)優(yōu)化模塊根據(jù)采集的用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)對速度數(shù)據(jù)進行優(yōu)化。
優(yōu)選地,步驟101中采集的骨骼點的數(shù)量為20-40個;
步驟105中所述實時動作序列和模板動作序列比對模塊中比對的骨骼點的數(shù)量為12-16個。
根據(jù)上述技術(shù)方案,本發(fā)明通過設置kinect采集模塊,實時動作序列拆分模塊,模板動作伸縮模塊,實時動作序列和模板動作序列比對模塊,以及數(shù)據(jù)處理模塊,先通過kinect采集模塊采集實時運動中的各骨骼點的實時三維空間的坐標數(shù)據(jù),而后將采集到的實時運動拆分為多個實時動作序列,并根據(jù)實時動作序列,將對應的模板動作序列進行拉伸或縮短至長度相同,而后再用數(shù)據(jù)處理模塊比對上述實時動作序列和模板動作序列,并進行分析,找出實時動作中的問題,從而實現(xiàn)可以獨自進行訓練,且能夠?qū)崟r矯正自己的動作,大大提高獨自訓練的有效性,降低對訓練的時間、空間和人員等的要求。
本發(fā)明的其他特征和優(yōu)點將在隨后的具體實施方式部分予以詳細說明。
附圖說明
附圖是用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1是本發(fā)明提供的一種基于kinect的動作比對方法的流程圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的具體實施方式進行詳細說明。應當理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
本發(fā)明提供了一種基于kinect的動作比對系統(tǒng),其中,所述基于kinect的動作比對系統(tǒng)包括kinect采集模塊,實時動作序列拆分模塊,模板動作伸縮模塊,實時動作序列和模板動作序列比對模塊,以及數(shù)據(jù)處理模塊;其中,
所述kinect采集模塊用于采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù);
所述實時動作序列拆分模塊用于將每個實時動作序列各自拆分開,每兩個實時動作之間形成有停頓點,相鄰的兩個停頓點之間形成為一個實時動作序列,所述實時動作序列拆分模塊通過監(jiān)測每個停頓點,并將每兩個相鄰的停頓點之間的一個實時動作序列予以拆分出;
所述模板動作伸縮模塊用于將模板動作中的每個模板動作序列的長度拉伸或縮短至與對應的實時動作序列相同;
所述實時動作序列和模板動作序列比對模塊用于將每組經(jīng)拉伸或縮短至長度與對應的實時動作序列相同的模板動作序列和該對應的實時動作序列進行比對;
所述數(shù)據(jù)處理模塊用于對每組經(jīng)過所述實時動作序列和模板動作序列比對模塊比對后的數(shù)據(jù)進行分析;其中,
三維空間的坐標系為:根據(jù)kinect設備所在位置為三維空間坐標原點,z軸正方向為攝像頭指向方向,x軸平行于設備所在平面并與z軸垂直且指定原點向右為正方向,y軸垂直于x、z軸所在平面且指定y軸正方向豎直該平面向上。
上述設計通過設置kinect采集模塊,實時動作序列拆分模塊,模板動作伸縮模塊,實時動作序列和模板動作序列比對模塊,以及數(shù)據(jù)處理模塊,先通過kinect采集模塊采集實時運動中的各骨骼點的實時三維空間的坐標數(shù)據(jù),而后將采集到的實時運動拆分為多個實時動作序列,并根據(jù)實時動作序列,將對應的模板動作序列進行拉伸或縮短至長度相同,而后再用數(shù)據(jù)處理模塊比對上述實時動作序列和模板動作序列,并進行分析,找出實時動作中的問題,從而實現(xiàn)可以獨自進行訓練,且能夠?qū)崟r矯正自己的動作,大大提高獨自訓練的有效性,降低對訓練的時間、空間和人員等的要求。當然,需要指出的是,這里的模板動作為規(guī)范的動作采集到的點,例如,可以為事先錄制好的標準動作的采集數(shù)據(jù),本領域技術(shù)人員可以按照適宜操作和采集的方式進行采集。
當然,為了使比對效果更好,進一步降低因抖動對數(shù)據(jù)采集的有效性的影響,降低采集的數(shù)據(jù)的誤差,在本發(fā)明的一種優(yōu)選的實施方式中,所述基于kinect的動作比對系統(tǒng)還包括各骨骼點數(shù)據(jù)平滑消抖模塊,所述各骨骼點數(shù)據(jù)平滑消抖模塊用于對采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)采用多幀數(shù)據(jù)采用濾波算法對骨骼進行消抖處理。
當然,這里的濾波算法可以為常規(guī)選擇的類型,例如,所述濾波算法可以選自限幅濾波法、中位值濾波法、算術(shù)平均濾波法、遞推平均濾波法、中位值平均濾波法、限幅平均濾波法、一階滯后濾波法、加權(quán)遞推平均濾波法、消抖濾波法和限幅消抖濾波法中的一種或多種。
進一步優(yōu)選的實施方式中,為了更好地提高采集的數(shù)據(jù)的有效性和準確性,所述基于kinect的動作比對系統(tǒng)還可以包括骨骼數(shù)據(jù)優(yōu)化模塊,當然,這里的骨骼數(shù)據(jù)優(yōu)化模塊需要能對骨骼點的移動位移等作出有效的優(yōu)化即可,例如,所述骨骼數(shù)據(jù)優(yōu)化模塊可以設置為用于通過對采集的用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)來計算出用戶在運動中各骨骼點的速度,并計算用戶的整體速度,并根據(jù)整體速度的變化情況優(yōu)化速度數(shù)據(jù)。
這里的優(yōu)化速度數(shù)據(jù)的優(yōu)化方式可以按照本領域常規(guī)方式進行操作,例如,一種更為優(yōu)選的實施方式中,速度數(shù)據(jù)的優(yōu)化可以采用dfp擬牛頓法進行優(yōu)化。當然,其他可行的方式在此也可以使用,例如,可以為梯度下降法等。
當然,kinect采集模塊采集的骨骼點的數(shù)量可以根據(jù)實際需要進行選擇,例如,一種優(yōu)選的實施方式中,采集的骨骼點的數(shù)量為20-40個。
更為優(yōu)選的實施方式中,為了進一步降低比對的難度和復雜度等,所述實時動作序列和模板動作序列比對模塊中比對的骨骼點的數(shù)量可以進一步選擇為12-16個。當然,這里比對的骨骼點可以根據(jù)實際需要進行選擇,可以根據(jù)動作的不同選擇不同的骨骼點,在此不多作贅述。
同樣地,一種更為優(yōu)選的實施方式中,比對時采用的比對方式可以根據(jù)實際需要選擇,例如,所述實時動作序列和模板動作序列比對模塊采用如下所示的公式進行比對:
本發(fā)明還提供了一種基于kinect的動作比對方法,其中,所述基于kinect的動作比對方法使用根據(jù)上述項所述的基于kinect的動作比對系統(tǒng),如圖1所示,所述基于kinect的動作比對方法包括:
步驟101,采用kinect采集模塊采集用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù);
步驟102,采用實時動作序列拆分模塊將每個實時動作序列各自拆分開,形成多個獨立的實時動作序列;
步驟103,將每個模板動作序列的長度采用模板動作伸縮模塊拉伸或縮短至與對應的實時動作序列相同;
步驟104,將步驟103中拉伸或縮短后的模板動作序列和與該模板動作序列對應的實時動作序列采用實時動作序列和模板動作序列比對模塊進行比對;
步驟105,將步驟104中比對后的數(shù)據(jù)采用數(shù)據(jù)處理模塊進行分析。
一種優(yōu)選的實施方式中,步驟101和步驟102之間還可以包括采用骨骼點數(shù)據(jù)平滑消抖模塊對步驟101中采集的運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)采用濾波算法進行消抖處理。
更為優(yōu)選的實施方式中,步驟101和步驟102之間還可以包括采用骨骼數(shù)據(jù)優(yōu)化模塊根據(jù)采集的用戶在運動中各骨骼點的實時三維空間的坐標數(shù)據(jù)對速度數(shù)據(jù)進行優(yōu)化。
同樣地,步驟101中采集的骨骼點的數(shù)量為20-40個;步驟105中所述實時動作序列和模板動作序列比對模塊中比對的骨骼點的數(shù)量為3-10個。
以上結(jié)合附圖詳細描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護范圍。
另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進行組合,為了避免不必要的重復,本發(fā)明對各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實施方式之間也可以進行任意組合,只要其不違背本發(fā)明的思想,其同樣應當視為本發(fā)明所公開的內(nèi)容。