骨骼的動作識別資料集 基於關節資料的人體動作識別

2021-10-13 02:20:50 字數 4780 閱讀 7642

徐寅鵬 臧嚴 李秋潔

摘要:借助msrc-12人體動作資料集中的動作樣本資料,選取80個不同人體的相同動作序列作為訓練資料,構建動作模板,選取除上述80個樣本外的400個動作序列作為測試資料,分別提取兩者骨骼向量的角度特徵,運用動態時間規整演算法(dtw)進行模板匹配,從而識別出人體典型動作。實驗結果表明,不同人體執行的同一動作的多個樣本作為訓練模板時能夠有效識別人體動作,但是在輸入的動作序列與模板在時間上有一定差距時、次要部位的角度特徵的變化佔主要地位時會影響識別效果。

中圖分類號:tp3        文獻標識碼:a

1 引言

手勢識別主要包括靜態手勢識別和動態手勢識別。靜態手勢是指靜止不動的手的狀態,其識別方法主要包括模板匹配等。模板匹配是通過計算待識別的手勢和手勢模板庫中的手勢模板的相似度進行識別的,當相似度達到設定值時,則認為待識別手勢就是該模板手勢。hernandez等人採用模板匹配的方法,採集了176個手語詞匯集,對美國手語進行動作識別。動態手勢是由一幀一幀的手勢序列組成的,主要的識別演算法有動態時間規整(dtw)、隱馬爾科夫模型(hmm)、支援向量機(svm)、adaboost演算法、人工神經網路(anns)等。王兵等人採用基於畫素分類的指尖檢測演算法找到指尖的個數,對人手的運動軌跡進行分析,並針對運動軌跡中運動方向的變化,提取了動態手勢的運動方向變化角度作為特徵,採用隱馬爾科夫模型進行訓練和識別各個手勢[2]。

本課題主要研究基於關節資料的人體動作識別,提取多個具有典型區分度的角度特徵,運用動態時間規整演算法(dtw)進行模板匹配識別典型人體動作。

2 人體關節資料集

2.1 msrc-12動作資料集

本課題採用的是msrc-12(microsoft research cambridge-12)人體動作資料集。msrc-12動作資料集由人體各個部位的骨骼資料序列組成,是由微軟研究院劍橋大學計算機實驗室製作的,是由kohli[3]等通過kinect體感裝置訓練採集的。

kinect是一款融合了許多先進視覺技術的新一代體感互動裝置,它的硬體集合了聲、電、光以及機械學等多個領域的先進技術,其主要的零部件有將近上百個,是目前電子產品中工藝極為複雜的一款[4]。

2.2 資料集內容

msrc-12動作資料集是由30個人執行12類動作而採集的人體座標資料。在不同的引導機制下,不同的人執行同乙個動作,每個動作重複了多次,包括594個動作序列,總計6244個動作例項。資料集的每一幀資料都是由kinect採集的人體20個骨骼關節點的座標組成的,動作例項就是由這20個骨骼關節點的座標隨時間變化的序列組成[5]。20個骨骼關節點如圖1所示。

msrc-12動作資料集包含594個動作序列(儲存在594個csv檔案中)和594個動作標籤檔案(儲存在594個tagstream檔案中)。其中csv和tagstream檔案的命名方式統一為:p[1]_[2]_[3]_p[4].[csv][tagstream],其中[1]和[2]表示儲存的動作序列的引導機制,[3]表示儲存的動作序列的類別,[4]表示執行動作的人的編號。

2.3 典型動作介紹

資料集總共有12類動作,本課題的實驗就是基於其中4個動作的樣本資料進行模板匹配,從而識別出人體典型動作的。定義的典型動作分別為蹲下、投擲、舉起並伸展雙臂和彎腰,如圖2所示。

3 基於關節資料的人體動作識別

3.1 基本流程

動作識別的基本思路為借助msrc-12動作資料集中的樣本資料,採用dtw演算法將樣本訓練集提取的角度特徵和測試集中的角度特徵進行模板匹配,從而識別出人體動作,具體流程見下圖3。

3.2 特徵提取

人體身高、胖瘦、形體各不相同,如果以選取的特徵與上述特徵有關,必然會使匹配率降低,所以選取的特徵應與上述特徵無關。當不同的人執行同乙個動作時,需要通過相似的特徵來解析出這個動作。

以「蹲下」這個動作為例,不同的人做出的動作都具有一定的差異性,骨骼與骨骼之間位置、長度、姿態等不盡相同,但是都表達了同乙個動作,如圖4所示,所以必須找到乙個共同的表達方式來表達同乙個動作。

由此可以用骨骼間的夾角來代替骨骼的變化即動作的變化,從而識別出動作。動作資料集中的20個關節點資料並不是全部都用得到,所以可以通過篩選剔除不需要的關節點,實現資料的降維處理,使資料更具可靠性和普適性[6]。

利用人體的四肢及其與脊椎的夾角就可以基本確定人體的動作。本課題採用了15個關節點,如圖1所示,將wristright簡記為wr,所以15個關節點分別為wr、er、sr、sc、sl、el、wl、s、hc、hr、kr、ar、hl、kl、al,這些關節點組成了13根骨骼,以右腕、右肘和右肩組成的夾角為例,記為wr-er-sr,有wr-er-sr,er-sr-sc,sc-sl-el,sl-el-hl,hc-hr-kr,hr-kr-ar,hc-hl-kl,hl-kl-al這8個夾角,還有sr-sc、sl-sc、hr-hc和hl-hc與s-hc組成的4個夾角。

本課題的模板訓練集使用了msrc-12資料集,其中不同的動作序列簡化了樣本採集過程。訓練集中的關節點座標資料是三維座標,先利用座標資料得出骨骼向量,由於骨骼向量是向量,骨骼長度和方向也可得出;再通過空間向量夾角公式計算出骨骼間的夾角,見式(1)。

3.3 動作識別演算法

本課題主要通過提取人體動作的關節角度特徵並運用動態時間規整演算法(dtw)識別出人體典型動作。該演算法最初應用在語音識別領域,它通過動態規劃思想去解決發音長短不同的兩條音訊曲線的語義識別。dtw演算法就是使用warping扭曲的方式對時間軸進行拉伸或收縮,從而計算兩條曲線的相似性。假設有兩個時間序列a和b,分別為模板序列和測試序列,他們的長度分別用m和n來表示,序列中每個時間點對應乙個特徵值,見式(2)和(3)。

其中,a為樣本空間模板,b為測試模板。具體方法是把短的曲線序列延伸到和長的曲線相同長度進行計算,或者把長的時間軸收縮到和短的曲線相同長度。所以,使用[dtw]演算法匹配兩條曲線的最短距離總和前,需要先構造乙個[n×m]的矩陣,如圖6所示。

其中,元素[(i,j)]表示其中一條曲線上的點ai到另一條曲線上的點ai的距離d(ai,bj),一般使用歐氏距離進行計算,計算公式為[dai,bj=(ai-bj)2],表示矩陣中路線途經的點。w的第k個元素定義為[wk=(i,j)k],表示a和b兩條時間序列的對映關係。k表示規整路徑的終點標號,其值應不小於測試序列與模板序列中的最大長度,不大於兩者的序列長度和,數學公式可以表示為式(4)[8]。

矩陣中的每乙個點只有三個方向可以選擇,如圖7所示。如果規整路徑w已經經過(i,j)點,下乙個方向只能是以下三種情況之一,分別是(i+1,j)、(i,j+1)、(i+1,j+1)。

定義累加距離d(i,j),從起點開始,每選擇出兩條序列(i,j)點之間的一條最短距離,就進行累加。累加距離d(i,j)表示當前格點的距離d(i,j),即ai和bj兩點間的歐氏距離,與該點前一點的累加距離之和,見式(5)。

4 實驗結果和結論

4.1 實驗結果及分析

通過對骨骼關節點資料的特徵提取,運用動態時間規整演算法(dtw)將經過特徵提取的兩個集合進行模板匹配,實現對人體典型動作的識別。

在不同動作序列條件下,隨著幀數的增加,角度特徵具有明顯差異,以蹲下和舉起雙臂這兩個動作為例,所提取的角度特徵如圖8所示;在同一人執行相同動作序列條件下,隨著幀數的增加,所提取的角度特徵具有相似性,以舉起雙臂這個動作為例,所提取的角度特徵如圖9所示;在不同人執行相同動作序列條件下,隨著幀數的增加,所提取的角度特徵雖然有所差別,但是也具有一定的相似性,以舉起雙臂這個動作為例,所提取的角度特徵如圖10所示。

選取左臂和左腿上共4個角度特徵,其中紅色實線表示左臂的兩個角度特徵,藍色實線表示左腿的兩個角度特徵。

經過上述對提取角度特徵的分析,下面進行同一動作的識別。每個動作樣本實際上是由同乙個人重複多次組成的,所以單個資料檔案中就有多個樣本。先選取動作資料集中的80個樣本作為模板,然後選取除上述樣本外的400個相同動作序列作為輸入資料,設定累計歐式距離的閾值為20,動作識別率如表1所示。

通過模板匹配,舉起雙臂和投擲這兩個動作的識別率很高,而蹲下和彎腰這兩個動作的識別率較高。以蹲下這個動作為例,匹配的主要部位在腿部,沒有大幅度的變化,如圖10所示。而手臂部位的角度隨著幀數的增加出現毛刺現象,兩者完成的時間長度有較大差距,在dtw進行幀數的匹配時差距就會放大,累計歐式距離變大,致使識別失敗。

4.2 總結與展望

基於msrc-12資料集的關節點資料,選取多個樣本作為模板,輸入測試資料,提取能夠表徵基本動作的角度特徵進行模板匹配,從而識別出人體動作。

由於msrc-12動作資料集中樣本較多,所以進行模板匹配時更易找出相似度最高的動作序列。仍然存在的問題是如果輸入的動作序列與模板在時間上有一定差距時,會影響識別效果;當次要部位的角度特徵的變化佔主要地位時也會影響識別效果。這與演算法本身、特徵提取的方式等有關。所用資料集是由kinect採集的,其中也包含一些不屬於動作序列的幀資料,例如人體靜止時的資料。所以我們將會從這些方面繼續改進。

[1] 朱紅蕾,朱昶勝,徐志剛.人體行為識別資料集研究進展[j].自動化學報,2018,44(06):978-1004.

[2] 王健.基於kinect的手勢識別及人機互動[d].南京郵電大學,2018.

[3] s.fothergill, h.m.mentis, p.kohli, and s.nowozin.  instructing people for training gestural interactive systems[j]. in acm annual conference on human factors in computing system(chi), 2012:1737-1746.

[4] 姜延豐.基於kinect的動作評價方法研究[d].瀋陽工業大學,2017.

[5] 刁俊方.基於kinect的人體動作識別技術研究[d].重慶大學,2015.

[6] 胡青松,張亮.人體行為序列化識別演算法研究[j].電子技術應用,2018,44(04):122-125+129.

[7] 顧軍華,李碩,劉洪普,等.基於骨骼向量夾角的人體動作識別演算法[j].感測器與微系統,2018,37(02):120-123.

[8] 邢志飛.基於kinect的人體姿態檢測與動作識別技術的研究[d].瀋陽工業大學,2015.

骨骼的動作識別資料集 人體骨骼動作識別

參賽者須同意如下保密規則 1.保密資訊範圍 平台方向參賽者披露或提供的全部資訊,以及參賽者因參加本次大賽從平台方處獲得 知曉所得的商業秘密和其他所有非第三方所知的資訊,包括但不限於 1 平台方提供的 語音 資料 等 2 平台方從第三方處獲得但應承擔保密義務的資料 資訊 3 其他通常不為平台方以外的人...

Kinect人體動作識別資料集

1.gaming datasets g3d 遊戲動作資料集,該資料集包含10個受試者進行20個遊戲動作 右拳 左拳 右拳 左拳 防守 高爾夫球揮拍 網球揮拍 網球發球 投球 瞄準和射擊 行走 跳躍 爬坡 蹲伏 駕駛汽車 揮手 拍打和鼓掌。有10種動作型別 走路,坐下,站起來,撿起,抬起來,扔,推,拉...

合成中文識別資料集的相關repo

介紹合成中文識別資料集的相關repo 修改自synthtext cvpr2016 用於生成自然場景文字影象。備註 但 給人的感覺是很混亂,沒有清晰結構,目前作者也停止了維護,基於opencv2.4,版本過舊無法pip直接安裝或者需要自己改動一些 乙個合成資料生成器用於文字識別 備註 結構清晰,作者一...