一種人體動作識別方法和移動智能終端的制作方法
【技術領域】
[0001] 本發明涉及人機交互中的動作識別技術領域,具體涉及一種人體動作識別方法和 移動智能終?而。
【背景技術】
[0002] 目前,人機交互系統中的手勢識別方案主要可以分為兩類:基于視覺的方案和基 于傳感器的方案。基于視覺的手勢識別研究較早,識別方法也較為成熟,但是該方案存在對 環境敏感,系統復雜,計算量大等弊端。而基于傳感器的手勢識別雖然起步時間較晚,但是 靈活可靠,不受環境、光線的影響,實現簡單,是一種具有發展潛力的識別方法。手勢識別的 本質是根據手勢模型利用手勢識別算法將手勢分類。手勢識別算法的優劣直接關系到手勢 識別的效率和精度。
[0003]目前的手勢識別算法主要有以下幾種:
[0004] (I) DTW (Dynamic Time Warpin,動態時間規整)。DTW算法雖然能解決輸入數據序 列和模板數據序列長度不一致的問題,但匹配性能對用戶的依賴性較大;
[0005] (2)HMM(Hidden Markov Model,隱馬爾可夫模型)。由于用戶的個體差異,同一手 勢動作存在著較大差異,難以建立準確的手勢動作模板和隱性馬爾可夫模型。而且,隱馬爾 可夫模型HMM在分析手勢動作時過于復雜,使得訓練和識別的計算量較大;
[0006] (3)人工神經網絡。人工神經網絡識別算法需要大量的訓練數據,而且算法復雜度 尚。
[0007] 因此,現有基于傳感器的識別方案在智能終端上的應用仍然面臨著很多待解決的 問題,例如:
[0008] (1)如何基于傳感器實現較高精度的識別。
[0009] (2)如何降低識別計算的復雜度。由于智能終端是資源受限的設備,在手勢識別過 程中,智能終端的持續感知需要消耗不少的能量,所以智能終端的手勢識別需要考慮計算 量和功耗問題。
[0010] (3)現有技術一般要求在給定的智能終端姿態或一個固定的平面上操作,限制了 用戶動作的范圍,對設備的姿態要求較高,這樣就給用戶使用造成了極大的不便,用戶體驗 較差。
【發明內容】
[0011] 本發明提供了一種人體動作識別方法和移動智能終端,以解決或部分解決上述技 術問題,提高人體動作識別方法的精度,降低計算復雜度。
[0012] 為了達到上述目的,本發明的技術方案是這樣實現的:
[0013] 根據本發明的一個方面,提供了一種人體動作識別方法,采集人體動作數據進行 訓練得到特征提取參數和模板數據序列,方法還包括:
[0014] 在一次人體動作識別中,采集需要執行人體動作識別的數據,得到原始數據序 列;
[0015] 利用特征提取參數對原始數據序列進行特征提取,降低原始數據序列的數據維 數,得到降維后的測試數據序列;
[0016] 將測試數據序列與模板數據序列進行匹配,當存在匹配成功的測試數據序列時, 確認該測試數據序列關聯的模板數據序列對應的人體動作發生。
[0017] 可選地,采集人體動作數據進行訓練得到特征提取參數和模板數據序列包括:
[0018] 對同一個人體動作多次采集數據,得到多個訓練數據序列;
[0019] 利用主成分分析對每個訓練數據序列進行特征提取,降低訓練數據序列的數據維 數,得到降維后的訓練數據序列,根據降維后的訓練數據序列之間的距離,確定出人體動作 對應的一個模板數據序列。
[0020] 可選地,采集需要執行人體動作識別的數據,得到原始數據序列包括:
[0021] 利用傳感器采集三軸加速度數據和/或三軸角速度數據,將采集的三軸加速度數 據和/或三軸角速度數據分別保存到對應的環形緩沖區中;
[0022] 按照預定的頻率同時從環形緩沖區中采樣,并以預定步長的滑動窗對采樣數據進 行加窗處理,得到預定長度的原始數據序列。
[0023] 可選地,方法還包括:
[0024] 對預定長度的原始數據序列進行濾波處理以濾除干擾噪聲。
[0025] 可選地,對預定長度的原始數據序列進行濾波處理以濾除干擾噪聲包括:
[0026] 對預定長度的原始數據序列的每個軸向上進行濾波處理的數據點,選取該數據點 左側相鄰的預定數目的數據點以及選取該數據點右側相鄰的預定數目的數據點,計算選取 出的數據點的均值并由該均值替換濾波處理的數據點的數值。
[0027] 可選地,利用主成分分析對每個訓練數據序列進行特征提取,降低訓練數據序列 的數據維數,得到降維后的訓練數據序列,根據降維后的訓練數據序列之間的距離,確定出 人體動作對應的一個模板數據序列包括:
[0028] 對采集的每個訓練數據序列進行濾波,并對濾波后的訓練數據序列進行歸一化處 理;
[0029] 計算訓練數據序列的協方差矩陣的所有特征值以及每個特征值對應的單位特征 向量;
[0030] 從特征值中選擇一個最優特征值;
[0031] 利用最優特征值對應的單位特征向量構成的轉換矩陣,對訓練數據序列進行降維 處理,計算訓練數據序列在轉換矩陣上的映射,得到降維后的訓練數據序列;
[0032] 分別計算降維后的每個訓練數據序列與其它訓練數據序列之間的距離,并對每個 訓練數據序列的所有距離求平均,從得到的每個訓練數據序列的平均距離中選擇最小值, 并將最小值所在的訓練數據序列,作為該人體動作對應的一個模板數據序列。
[0033] 可選地,利用特征提取參數對原始數據序列進行特征提取,降低原始數據序列的 數據維數,得到降維后的測試數據序列包括:
[0034] 特征提取參數包括:模板數據序列對應的訓練數據序列的各軸向均值,標準差向 量以及用于數據降維的轉換矩陣;
[0035] 利用訓練數據序列的各軸向均值和標準差向量對濾波處理后的原始數據序列進 行歸一化處理;
[0036] 利用轉換矩陣,對歸一化處理后的原始數據序列進行特征提取,降低原始數據序 列的數據維數,得到降維后的測試數據序列。
[0037] 可選地,將測試數據序列與模板數據序列進行匹配,當存在匹配成功的測試數據 序列時,確認該測試數據序列關聯的模板數據序列對應的人體動作發生包括:
[0038] 通過如下公式計算模板數據序列與測試數據序列之間的距離:
[0040] 其中,A為模板數據序列,表示模板數據序列中的第i個元素,D為測試數據 序列,di表示測試數據序列中的第i個元素,N為模板數據序列和測試數據序列的長度, DIST (D,A)表示求取D與A之間的距離;
[0041] 在得到模板數據序列與測試數據序列之間的距離后,將距離與一預定閾值進行比 較,當距離小于預定閾值時匹配成功,確認該測試數據序列關聯的模板數據序列對應的人 體動作發生。
[0042] 可選地,在利用訓練得到的特征提取參數對原始數據序列進行特征提取之前,方 法還包括:
[0043] 對采集的原始數據序列進行篩選,并在篩選到有效的原始數據序列后,對該有效 的原始數據序列利用訓練得到的特征提取參數進行特征提取。
[0044] 根據本發明的另一個方面,提供了一種移動智能終端,移動智能終端包括:參數獲 取單元、數據采集單元、降維單元和匹配單元;
[0045] 參數獲取單元,用于獲取特征提取參數和模板數據序列;
[0046] 數據采集單元,用于采集需要執行人體動作識別的數據,得到原始數據序列;
[0047] 降維單元,用于利用參數獲取單元的特征提取參數對原始數據序列進行特征提 取,降低原始數據序列的數據維數,得到降維后的測試數據序列;
[0048] 匹配單元,用于將測試數據序列與參數獲取單元的模板數據序列進行匹配,當存 在匹配成功的測試數據序列時,確認該測試數據序列關聯的模板數據序列對應的人體動作 發生。
[0049] 本發明的有益效果是:本發明實施例提供的人體動作識別方案,通過預先訓練獲 得特征提取參數和模板數據序列,并利用特征提取參數對測試數據序列進行降維,例如,將 原始的三維加速度信號降低至一維,相比于現有技術中直接在三維數據上分別進行操作的 方案,大大降低了計算的復雜度,并且由于將三維數據轉換至一維數據,能夠去除噪聲,并 降低用戶發出手勢指令時對設備姿態的要求,允許用戶更加靈活地執行手勢動作,提高了 用戶體驗。實驗證明,本實施例的方案與現有技術相比可以準確識別出用戶抬手以及翻轉 手腕等人體動作,識別精度高,而且對用戶動作姿態、起始點位置都沒有嚴格的要求,可以 較為隨意地執行動作,用戶體驗更好。
[0050] 另外,本發明實施例還提供了一種移動智能終端,在人體動作識別過程中通過降 低數據維數使得計算量小、功耗低,可以在移動智能終端設備中實時地運行和檢測識別,更 好地滿足了實際應用的需要,也提高了本發明實施例提供的移動智能終端的競爭力。
【附圖說明】
[0051] 圖1是本發明一個實施例的一種人體動作識別方法的流程圖;
[0052] 圖2是本發明又一個實施例的一種人體動作識別方法的流程示意圖;
[0053] 圖3是本發明又一個實施例的數據采集示意圖;
[0054] 圖4是本發明又一個實施例的添加滑動窗處理不意圖;
[0055] 圖5是本發明又一個實施例的一種移動智能終端的框圖。
【具體實施方式】
[0056] 本發明實施例的主要構思是:針對現有基于傳感器的人體動作識別方案存在的問 題,本發明實施例預先采集人體動作數據進