国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進KNN算法的動態(tài)手勢識別研究

2020-04-29 14:26陳嘉偉郝瑞玲
中北大學學報(自然科學版) 2020年3期
關(guān)鍵詞:訓練組手勢成功率

陳嘉偉,韓 晶,郝瑞玲,胡 迪

(1. 中北大學 機電工程學院,山西 太原 030051; 2. 中國人民解放軍32382部隊,北京 100072)

0 引 言

手勢是最常用到的交流和操控方式,在日常生活中作用很大. 隨著傳感器技術(shù)的發(fā)展,手勢識別成為了可能. 近年來,越來越多的研究者將微型傳感器應(yīng)用于人體動作的識別[1],人們通過手勢傳感器獲取手部動作數(shù)據(jù),達到了人機交互的目的.

一直以來,手勢識別的算法都是人們研究的重點. Mantyjarvi[2]提出了一種利用小波變換的計算機視覺人體動作識別的方法. 徐賢[3]等應(yīng)用傳統(tǒng)K最近鄰(KNN: K-Nearest Neighbor)算法和電容式傳感器實現(xiàn)了手勢識別,相比普通的閾值識別方式,有效提高了識別成功率; 呂蕾[4]等利用數(shù)據(jù)手套實現(xiàn)了靜態(tài)手勢識別方法,通過靜態(tài)手勢特征以及相應(yīng)的手勢特征點集的提取來實現(xiàn)手勢識別; 孫榮宗[5]等提出了一種基于粗糙集的KNN算法,將粗糙集與傳統(tǒng)KNN算法結(jié)合,有效提高了KNN算法的識別效率. Xu Ruize[6]等通過定義多個手勢信號的特征值并對其符號進行編碼,結(jié)合Hopfield算法實現(xiàn)了手勢識別. 本文結(jié)合上述研究,提出一種改進的KNN算法來對ADXL335傳感器的手勢動作識別,改進KNN算法對手勢動作信號中提取的特征量進行編碼,并將KNN算法的訓練組數(shù)據(jù)進行了優(yōu)化處理,從而提高手勢識別結(jié)果的準確率,為了驗證試驗效果,本文在LabVIEW平臺設(shè)計了一款體感俄羅斯方塊[7]游戲.

1 算法原理

1.1 傳統(tǒng)KNN算法

KNN算法[8]是目前常用的一種數(shù)據(jù)挖掘算法,廣泛用于數(shù)據(jù)分析、 圖像處理、 文本分類等領(lǐng)域[9-10]. KNN算法的基本思想是: 給定一個訓練數(shù)據(jù)集,對新的輸入實例,選定一個適當?shù)木嚯x機制,在訓練數(shù)據(jù)集中找到與該實例最鄰近的K個實例, 這K個實例的多數(shù)屬于某個類,就把該輸入實例分類到此類中.

KNN算法步驟:

1) 處理數(shù)據(jù),對數(shù)據(jù)進行降噪處理;

2) 輸入已分類的訓練組向量以及測試組向量數(shù)據(jù);

3) 根據(jù)距離機制計算訓練組與測試組間的距離,多數(shù)采用歐式距離;

(1)

式中:Di,Dj分別為測試組向量與訓練組向量;di,dj分別為測試組向量與訓練組向量中的元素.

4) 根據(jù)計算出的距離大小,在訓練組中選出K個與測試組數(shù)據(jù)Di距離最小的訓練組數(shù)據(jù),計算出測試組數(shù)據(jù)Di屬于每個分類的權(quán)重Y,Di屬于分類Xl的權(quán)重公式為

(2)

其中

(3)

5) 輸出訓練樣本中權(quán)重最大的樣本所屬的分類標簽.

傳統(tǒng)KNN算法的不足[11]之處是當測試組分類不均衡時,會導致分類出的結(jié)果誤差較大; 當傳統(tǒng)KNN算法面對大樣本數(shù)據(jù)集時,計算成本消耗較大.

1.2 改進KNN算法

在手勢識別過程中,如果需要識別的手勢數(shù)量較多,將會導致傳統(tǒng)的KNN算法訓練組數(shù)據(jù)過于龐大,從而影響識別效率. 改進KNN算法對手勢識別中需要識別的手勢進行特征提取,根據(jù)提取的特征值對手勢進行編碼,使得每個手勢都有唯一的編碼,這樣有效減少了訓練組的數(shù)據(jù)量,進而提高了手勢識別的成功率. 目前,對于特征提取沒有固定的規(guī)則,應(yīng)用在動作識別中的特征主要有靜態(tài)特征,動態(tài)特征以及時空特征[12]. 為了保證手勢識別的準確,優(yōu)化KNN算法中手勢特征的選擇應(yīng)保證同類的特征量較為穩(wěn)定且不同類的特征量的差異明顯大于同類特征量[13]. 靜態(tài)特征可以更好地反映出動作細節(jié),因此本文對手勢信號進行靜態(tài)特征提取,加速度傳感器采集到的信號為三維信號,可以將采集到的信號看作三維空間的向量從而方便特征提取,分別采集手勢動作各軸向的幅值、 向量歸一化值以及距原點的距離.

加速度傳感器的信號經(jīng)濾波器處理后較為穩(wěn)定,記手背向上時的動作為初始動作,采集到的加速度信號為

GA=(xa,ya,za).

(4)

手掌右翻,左翻以及上抬時采集到的加速度信號為

Gi=(xi,yi,zi),i=1,2,3.

(5)

基于加速度傳感器手勢靜態(tài)特征量提取的公式為

1)手勢動作的幅值

GAGi=(ki,li,mi)=(xa-xi,ya-yi,za-zi),

i=1,2,3,

(6)

式中:k,l,m為做出手勢動作后傳感器產(chǎn)生的三軸信號的幅值.

2) 向量歸一化

(7)

式中:Y代表輸出的歸一化向量;X代表長度為的向量.

(8)

(9)

式中:xi是X的第i個元素.

3) 距原點距離差

(10)

根據(jù)改進KNN算法特征量提取方法,圖1 手勢信號所提出的特征量為

T1=(0.01,-0.18,0.16,1.32,-1.10,

-0.22,-1.25).

(11)

為了對提出的特征量進一步簡化,分別檢查提取特征量的符號,并將其儲存為手勢代碼,若特征量的數(shù)值小于0.1,則將該特征量簡化為0. 因此,圖1 手勢信號所提出的符號序列代碼為

M1=(0,-1,1,1,-1,-1,-1).

(12)

改進KNN算法手勢特征量的提取大大減少了數(shù)據(jù)量,從而降低了算法的復雜程度. 圖1 手勢信號的符號序列的提取如圖2 所示.

圖1 隨機手勢信號Fig.1 Random gesture signal

圖2 隨機手勢信號特征量Fig.2 Characteristic quantities of random gesture signals

2 手勢識別系統(tǒng)

2.1 手勢操作俄羅斯方塊

在LabVIEW平臺搭建的手勢操作俄羅斯方塊系統(tǒng)中,利用ADXL335三軸加速度傳感器實時采集動態(tài)手勢信號,再通過美國國家儀器NI公司的USB-6002數(shù)據(jù)采集卡將信號輸入LabVIEW程序中. 信號將在程序中經(jīng)過二階貝塞爾濾波器處理后,利用改進KNN算法對手勢進行識別,從而對游戲進行手勢操作. 系統(tǒng)框圖如圖3 所示.

圖3 系統(tǒng)框圖Fig.3 System block diagram

2.2 手勢識別流程

手勢識別實驗流程如圖4 所示. 在手勢識別實驗開始后,測試組數(shù)據(jù)將會以與訓練組相同的方式進行手勢特征量的提取.

圖4 手勢識別實驗流程Fig.4 Experimental flow of gesture recognition

2.3 手勢定義

本文設(shè)計的是一款體感俄羅斯方塊游戲,根據(jù)該游戲的基本原理[14],需要對下落的模型進行右移,左移以及旋轉(zhuǎn)三種控制操作,本文采用手掌右翻,左翻以及上抬三種手勢動作與這三種操作對應(yīng),圖5(a)中為手勢的初始狀態(tài); (b)為右翻手勢; (c)為左翻手勢; (d)為上抬手勢. 每次游戲控制都是從手勢初始狀態(tài)開始,完成控制操作后返回手勢初始狀態(tài).

3 實驗驗證

本文對操作者在坐姿和站姿兩種情況下的手腕部右翻、 左翻、 上翻三種動作進行識別,實驗中,實驗人員對三種動態(tài)手勢各做 100次,觀察閾值判別法與改進KNN算法的識別成功率.

3.1 閾值判別法

閾值判別法作為一種簡單直觀的判別方法,常被用于傳感器信號識別中. 在本文的手勢識別中,以手腕右翻為例,實驗者做出100次右翻動作以確定閾值,X軸信號如圖6 所示,采集到右翻手勢的三軸信號初始值、 峰峰值均值及閾值如表1 所示.

圖6 峰峰值的分布Fig.6 Distribution of peak-to-peak values

表1 右翻動態(tài)手勢參數(shù)

經(jīng)過計算,右翻動作X軸信號峰峰值均值為

EXi=μ=1.601.

(13)

方差為

DXi=σ2=0.039.

(14)

根據(jù)本文選取閾值的方法,右翻手勢X軸的峰峰值滿足中心極限定理

(15)

右翻手勢X軸的閾值為

Fi=μ-1.96σ=1.526(V).

(16)

3.2 改進KNN算法

根據(jù)改進KNN算法的特征量提取方法,實驗開始前,令實驗者多次做出三種手勢動作,將三種手勢信號進行特征量提取并對符號序列編碼記錄,結(jié)果如表2 所示.

表2 訓練組手勢編碼

3.3 實驗結(jié)果及分析

實驗中,實驗者將傳感器穿戴好后隨機做出三個手勢動作各50次,記錄兩種算法的識別成功率.

本文采用識別成功率M衡量手勢識別結(jié)果的準確率.

(17)

式中:Na為手勢識別正確結(jié)果的個數(shù);N為手勢動作的總次數(shù).

兩種識別方法的識別結(jié)果如表3 所示.

表3 改進KNN算法識別成功率對比

由識別結(jié)果可以看出,改進KNN算法在手勢識別成功率上有一定的提升,約為10%. 閾值判別法在前30次的動態(tài)手勢識別率較高,在后70次的動態(tài)手勢識別中識別成功率明顯下降,主要原因是在實驗過程中,人手的疲勞導致做出的動態(tài)手勢動作不標準,并且在動作過程中細微的動作也會對閾值判別法的識別造成干擾. 相比閾值判別法,改進KNN算法在動態(tài)手勢識別當中不易受操作者自身的影響,并且能保證較高的識別成功率.

將改進KNN算法與傳統(tǒng)KNN算法相比較,100次隨機手勢的識別成功率如表4 所示.

表4 傳統(tǒng)KNN算法與改進KNN算法識別結(jié)果對比

與傳統(tǒng)KNN算法相比,改進KNN算法的識別成功率提升在5%左右,主要原因在于傳統(tǒng)KNN算法的訓練組數(shù)據(jù)量過于龐大,而且K值的選取會影響傳統(tǒng)KNN算法的識別結(jié)果. 而本文的改進KNN算法,不但訓練樣本較少而且選取K=1即可保證識別率.

4 結(jié) 論

本文利用傳統(tǒng)KNN算法易實現(xiàn)且無需估計參數(shù)的特點,提出了一種優(yōu)化KNN手勢識別算法,實現(xiàn)了對三種手勢動作的識別,實驗結(jié)果證明,在LabVIEW平臺搭建的ADXL335體感游戲中,相比閾值判別法,改進KNN算法可以有效提高手勢識別成功率. 考慮到動態(tài)手勢種類眾多,未來的研究中將會在保證識別率的情況下進行更多動態(tài)手勢的識別.

猜你喜歡
訓練組手勢成功率
成功率100%,一顆玻璃珠入水,瓶子終于坐不住了!
成功率超70%!一張冬棚賺40萬~50萬元,羅氏沼蝦今年將有多火?
新型抗阻力訓練模式改善大學生身體素質(zhì)的實驗研究
跑臺運動訓練對脊髓損傷大鼠肺功能及HMGB-1表達的影響
如何提高試管嬰兒成功率
挑戰(zhàn)!神秘手勢
內(nèi)隱認知訓練對輕度認知障礙患者認知功能的影響
運動可延緩衰老
勝利的手勢
研究發(fā)現(xiàn):面試排第四,成功率最高等4則
哈尔滨市| 南召县| 阳高县| 金寨县| 巨野县| 阿鲁科尔沁旗| 曲沃县| 贵阳市| 沁水县| 镇雄县| 苏尼特左旗| 吉木萨尔县| 鄱阳县| 曲松县| 天水市| 葫芦岛市| 政和县| 泰来县| 松原市| 页游| 庆元县| 武城县| 兴安盟| 民勤县| 贵港市| 聊城市| 西乌珠穆沁旗| 河东区| 江油市| 长治市| 祁东县| 财经| 仪陇县| 衡水市| 岳池县| 萨嘎县| 于田县| 花莲市| 玉屏| 蓝山县| 尉氏县|