張語萌 李志俊 步子豪 陶加貝
【摘 要】本文對各種常用分類器進(jìn)行優(yōu)缺點(diǎn)分析,最后選擇了基于閾值分割的SVM-KNN方法識別步態(tài)相位,并與SVM、KNN方法進(jìn)行比較。
【關(guān)鍵字】外骨骼機(jī)器人;步態(tài)相位識別;SVM-KNN;閾值分割
中圖分類號: TP242文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2019)28-0023-002
DOI:10.19694/j.cnki.issn2095-2457.2019.28.006
【Abstract】In this paper, the advantages and disadvantages of various classifiers are analyzed. Finally, SVM-KNN method based on threshold segmentation is selected to identify gait phase, and compared with SVM and KNN methods.
【Key words】Exoskeleton robot; Gait phase recognition; SVM-KNN; Threshold segmentation
外骨骼機(jī)器人技術(shù)現(xiàn)如今已廣泛地應(yīng)用在軍事、生活、醫(yī)療等方面,外骨骼的控制方式是基于人的運(yùn)動意圖來進(jìn)行控制的。目前有很多種方式可以獲取人體的運(yùn)動意圖信號,根據(jù)不同的獲取方式,可以簡單地將控制方法分為三種:基于圖像的方式、基于運(yùn)動傳感器的方式和基于生物電信號方式。分類算法的選擇對于判斷人體的運(yùn)動意圖的準(zhǔn)確性,提高人體平地行走的步態(tài)相位模式分類的準(zhǔn)確率非常重要。目前常用于模式分類的算法主要有神經(jīng)網(wǎng)絡(luò)、隱馬爾可夫、模糊分類器、動態(tài)時間規(guī)整、支持向量機(jī)、K近鄰法等。
1 基于SVM與基于KNN的分類識別方法
1.1 基于SVM的分類識別方法
支持向量機(jī)是一種二分類器,是針對線性可分類問題的最優(yōu)化分類而提出的。支持向量機(jī)最重要的是求出最優(yōu)超平面并且將兩種分類樣本正確地分開,同時使兩個樣本之間的間隔最大。二維情況下,線性可分的超平面如圖1所示。圖中H表示最優(yōu)化分類線,黑點(diǎn)方形表示兩種分類樣本,H1和H2的距離L=2/‖w‖為分類間隔,H1和H2分別為穿過兩類樣本且與H最近的平行線,而穿過H1和H2上的樣本為支持向量。
對于非線性問題,可以將向量映射到更高維的空間中,在高維空間中找出輸入量和輸出量之間的非線性關(guān)系。設(shè)點(diǎn)核函數(shù)K(X,X'),先通過非線性變換,將輸入量變換到高維空間中,然后再在高維空間中求出最優(yōu)線性超平面。
本文把人體平地行走時一個步態(tài)周期劃分為5個相位,按照足底與地面接觸情況和膝關(guān)節(jié)的角度劃分了支撐前、中、后,擺動前、后5種相位模式。對sEMG信號進(jìn)行預(yù)處理和特征提取后,采用SVM作為分類器進(jìn)行分類。本文對人體正常平地行走狀態(tài)下,去除開始和結(jié)尾數(shù)據(jù),采集中間200個步態(tài)周期的sEMG信號特征值作為樣本數(shù)據(jù)。步態(tài)周期時間約為1000毫秒,使用數(shù)據(jù)窗方法來提取特征值,數(shù)據(jù)窗長度為60ms,采樣頻率為2000Hz,即一個樣本包含120個采樣點(diǎn)數(shù)據(jù),一個周期可以分為約16組樣本,200個步態(tài)周期總共有3200組樣本。其中5個步態(tài)相位(支撐前、中、后,擺動前、后)分別占一個步態(tài)周期時間的10%、40%、10%、20%、20%,即分別所占的樣本組數(shù)為:320、1280、320、640、640。選取總樣本數(shù)的80%作為訓(xùn)練集,20%作為測試集。本文SVM算法是用MATLAB編寫的,從而實(shí)現(xiàn)對5種步態(tài)模式的識別,分類器識別結(jié)果得知一個步態(tài)周期中,5種步態(tài)相位的識別率在82.8%到89.8%之間,平均識別率為85.9%,平均識別時間為13.2ms,識別效果一般。
1.2 基于KNN的分類識別方法
K近鄰算法最早是由Cover和Hart在1968年提出的。該算法的核心思想是在已知樣本集的類別條件下,對于某個測試樣本在特征空間中,若與其K個近鄰的樣本中的大多數(shù)屬于某一個類,那么該樣本也屬于這個類別。KNN方法在確定分類決策上只與K個最近樣本有關(guān),對于那些類域交叉或重疊較多的待分樣本集,KNN方法比較合適,其分類方法簡單直觀,效果較好。但是當(dāng)樣本集規(guī)模較大時,對應(yīng)的計(jì)算量也較大。
使用上述的實(shí)驗(yàn)方法再次進(jìn)行實(shí)驗(yàn),用KNN算法進(jìn)行分類時,K通常選取質(zhì)數(shù)以防止出現(xiàn)類別票數(shù)相同的情況。對于5種步態(tài)模式,本文選取K=5,其識別結(jié)果可得,5種步態(tài)相位的識別率在82.8%到91.4%之間,平均識別率為86.6%,平均識別時間為25.0ms,相較與SVM識別算法,KNN無需訓(xùn)練模型,但在識別中需要比較與所有樣本的距離,當(dāng)特征維數(shù)較大時,其計(jì)算量較大,識別所需時間較多,對于樣本數(shù)較少時,其識別準(zhǔn)確率比SVM算法略高,SVM算法需要在訓(xùn)練階段對訓(xùn)練樣本構(gòu)造分類器,在訓(xùn)練階段需要耗費(fèi)一定的時間,但是分類器可以離線構(gòu)造,在分類階段其耗費(fèi)時間較短,實(shí)時性較高。
2 基于SVM-KNN的分類識別方法
SVM算法對于非線性問題能夠很好的解決,可以把非線性特征轉(zhuǎn)換為線性特征,能夠處理高維問題,泛化能力強(qiáng),具有很好的穩(wěn)定性,但是在距離超平面近的樣本或類域交叉重疊、不平衡時,出錯率比較大。
KNN方法在確定分類決策上只與K個最近樣本有關(guān),對于那些類域交叉或重疊較多的待分樣本集,KNN方法比較合適。但是KNN方法的待測樣本要計(jì)算所有已知樣本的距離,計(jì)算比較復(fù)雜,耗時長,在特征向量維數(shù)較高時更為明顯。
SVN-KNN改進(jìn)算法。
本文提出了一種改進(jìn)的SVM-KNN算法,能夠解決常規(guī)SVM-KNN算法樣本分布不均衡,特征值維數(shù)和權(quán)重等方面的問題,提高識別準(zhǔn)確率,減小識別時間。改進(jìn)的SVM-KNN算法具體步驟如下:
步驟1 對原始sEMG信號進(jìn)行小波閾值去噪、巴特沃斯帶通濾波和50Hz陷波濾波預(yù)處理。
步驟2 提取時域、頻域和AR模型參數(shù)等特征值。
步驟3 對特征向量進(jìn)行PCA降維處理。
步驟4 根據(jù)訓(xùn)練數(shù)據(jù)集計(jì)算出支持向量機(jī)的分類超平面和所有支持向量。
步驟5 計(jì)算測試樣本X到分類超平面的距離|f(X)|。
步驟6 給定閾值ε(ε>0),若|f(X)|≥ε,使用優(yōu)化參數(shù)的 SVM分類識別。若|f(X)|<ε,說明該測試樣本點(diǎn)距離超平面較近,則用加權(quán)重的馬氏距離算的KNN算法進(jìn)行分類,以所有支持向量作為測試樣本X的近鄰樣本。
3 改進(jìn)的KNN-SVM步態(tài)識別
本文對原始數(shù)據(jù)集進(jìn)行小波去噪,巴特沃斯濾波預(yù)處理,提取特征值得到特征向量樣本集X={X1,…,XN},Xi={AVAi1,VARi1,RMSi1,…,AVAij,VARij,RMSij,…},一個特征向量Xi包含時域(4)、頻域(3)、AR模型參數(shù)(4)共11種特征,j為肌電信號通道(股二頭肌、闊筋膜張肌、股直肌、腓腸?。?,共4個通道,因此一個特征向量包含44維數(shù)據(jù),本文采用PCA降維方法取前4種主要成分作為最終的特征向量樣本,即Xi={x1,x2,x3,x4}。選取總樣本數(shù)的80%作為訓(xùn)練集,20%作為測試集,改進(jìn)的SVM-KNN分類器識別結(jié)果如表1所示。
由上表可得,5種步態(tài)相位的識別率在90.6%到95.3%之間,平均識別率為93.3%,平均識別時間為15.6ms,識別效果較好。相較于SVM算法和KNN算法,KNN-SVM的識別準(zhǔn)確率得到提升,并且識別時間較短,當(dāng)測試樣本到SVM分類超平面的距離超過閾值時,選用改進(jìn)參數(shù)的SVM算法進(jìn)行識別,當(dāng)距離小于ε時,以SVM分類器的所有支持向量作為測試樣本的近鄰樣本,用KNN算法進(jìn)行識別,不需要計(jì)算與所有訓(xùn)練樣本的距離,減少識別時間,提高準(zhǔn)確率。本文經(jīng)過多次試驗(yàn),當(dāng)閾值ε=0.7,K=3時,分類器分類器具有最高準(zhǔn)確率達(dá)到93.3%左右。取不同閾值和K值時分類器的準(zhǔn)確率如表2所示。
4 實(shí)驗(yàn)結(jié)果比較與分析
本文對同一數(shù)據(jù)樣本集分別用SVM、KNN、傳統(tǒng)SVM-KNN、改進(jìn)SVM-KNN這4種算法進(jìn)行識別,改進(jìn)的SVM-KNN算法對步態(tài)相位模式識別的準(zhǔn)確率相比傳統(tǒng)的SVM-KNN算法有較為明顯的提高,其對每種運(yùn)動模式的識別率都在90%以上,擺動后期的識別率最高為95.3%,支撐后期的識別率較低為90.6%。
5 結(jié)論
本文提出的改進(jìn)的SVM-KNN算法能夠解決常規(guī)SVM-KNN算法樣本分布不均衡,特征值維數(shù)和權(quán)重等方面的問題,提高識別準(zhǔn)確率,減小識別時間,其主要改進(jìn)點(diǎn)在于:
利用PCA方法對特征值進(jìn)行降維處理,提高數(shù)據(jù)有效性,當(dāng)測試樣本和分類超平面之間的距離大于給定閾值時,用SVM算法識別,利用粒子群算法優(yōu)化SVM懲罰參數(shù)C和核函數(shù)半徑參數(shù)g,提高分類器性能;當(dāng)測試樣本和分類超平面之間的距離小于給定閾值時,則以支持向量(SVs)作為測試樣本近鄰樣本,采用KNN進(jìn)行分類,支持向量(SVs)能夠充分代表訓(xùn)練樣本集的含義,同時減小KNN算法對近鄰樣本的依賴性,利用加權(quán)重的馬氏距離來計(jì)算的KNN算法樣本間的距離。
【參考文獻(xiàn)】
[1]杭成成.基于sEMG信號的下肢運(yùn)動意圖識別方法[D].武漢理工大學(xué),2019.
[2]陳峰.可穿戴型助力機(jī)器人技術(shù)研究[D].中國科學(xué)技術(shù)大學(xué),2007.
[3]張浩,劉志鏡.加權(quán)DTW距離的自動步態(tài)識別[J].中國圖像圖像學(xué)報(bào),2010,15(5):830-836.