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