梅雪峰 趙禮峰
(南京郵電大學(xué)理學(xué)院 南京 210023)
手勢(shì)識(shí)別廣泛應(yīng)用于各類人機(jī)交互場(chǎng)景中,在購物、居家、醫(yī)療等領(lǐng)域發(fā)揮著重要的作用。手勢(shì)識(shí)別按照其完成的模式主要分為兩大類:基于計(jì)算機(jī)視覺的手勢(shì)識(shí)別和基于體感控制器的手勢(shì)識(shí)別[1]。近年來,采用肌肉傳感器的手勢(shì)識(shí)別方法正逐步普及,可穿戴臂環(huán)使用傳感器獲取人體表面肌電信號(hào)(surface electromyography,sEMG),將處理后的信號(hào)數(shù)據(jù)傳輸至模型進(jìn)而完成手勢(shì)識(shí)別過程[2]。Naik G R 等[3]使用采集的sEMG 數(shù)據(jù)提取各維度特征,采用支持向量機(jī)等方法進(jìn)行手勢(shì)動(dòng)作的模式分類;陳香等[4]提出采用隱馬爾可夫模型對(duì)肌電信號(hào)完成識(shí)別,最終分類器的準(zhǔn)確率達(dá)到94%;張碩[5]使用KNN 與其他算法組合的方法研究這類問題,需要根據(jù)不同情形調(diào)整優(yōu)化組合模型。謝小雨等[6]使用DTW 算法構(gòu)建模型實(shí)現(xiàn)肌電信號(hào)的手勢(shì)識(shí)別,準(zhǔn)確率達(dá)到96.09%。此外,還有學(xué)者使用其它流行算法實(shí)現(xiàn)手勢(shì)識(shí)別[7~9],如卷積神經(jīng)網(wǎng)絡(luò)、長(zhǎng)短期記憶網(wǎng)絡(luò)以及兩者相互融合的方式,所得模型的穩(wěn)定性高且能夠達(dá)到較高準(zhǔn)確率,廣泛應(yīng)用于各類場(chǎng)景中。
梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)是一種經(jīng)典的迭代決策樹算法[10],將決策樹與集成學(xué)習(xí)思想進(jìn)行了有效結(jié)合。高效實(shí)現(xiàn)GBDT 的框架有XGBoost、pGBRT 等[11~12],但是在數(shù)據(jù)量增大且特征維度較高時(shí),多數(shù)GBDT 算法會(huì)出現(xiàn)訓(xùn)練效率低、準(zhǔn)確率下降的現(xiàn)象。為解決傳統(tǒng)算法需要手動(dòng)提取數(shù)據(jù)片段以及訓(xùn)練效率低的問題,本文采用改進(jìn)的肌電信號(hào)數(shù)據(jù)采集和處理方式,使用LightGBM 算法對(duì)表面肌電信號(hào)數(shù)據(jù)完成手勢(shì)動(dòng)作分類,能夠在進(jìn)一步提升sEMG 手勢(shì)識(shí)別準(zhǔn)確率的同時(shí),顯著提升模型的訓(xùn)練效率。
LightGBM 是由GBDT經(jīng)過改進(jìn)的框架,采用直方圖算法尋找最優(yōu)分割點(diǎn),為提升遍歷數(shù)據(jù)的方式并且更好的應(yīng)對(duì)高維數(shù)據(jù)處理場(chǎng)景,使用兩種改進(jìn)性能的算法:基于梯度的單側(cè)采樣(Gradient-based One-Side Sampling,GOSS)和互斥特征捆綁(Exclusive Feature Bundling,EFB)。
按照決策樹理論中信息增益的定義,梯度越大(即訓(xùn)練不充分)的樣本所提供增益會(huì)更高[13]。GOSS算法采用過濾掉部分?jǐn)?shù)據(jù)并保留少量數(shù)據(jù)的方式,保存所有大梯度樣本,在小梯度樣本上進(jìn)行隨機(jī)采樣。為消除減少的部分樣本對(duì)整體數(shù)據(jù)分布的影響,GOSS 在計(jì)算小梯度樣本的信息增益時(shí)會(huì)引入一個(gè)系數(shù)來平衡數(shù)據(jù)分布[14]。
GOSS 算法按照各樣本的梯度絕對(duì)值降序排列,假設(shè)大梯度樣本所占比率為a,小梯度樣本所占比率為b,在整個(gè)樣本集上篩選出前a×100%的樣本構(gòu)成大梯度子集A,隨后再從其余樣本中隨機(jī)選出b×100%構(gòu)成小梯度子集B。GOSS 算法對(duì)子集B的梯度和乘以平衡常數(shù)(1-a)/b,用于補(bǔ)償采樣對(duì)原始數(shù)據(jù)分布的影響,則在子集A∪B上第j個(gè)特征位于點(diǎn)d處的信息增益如式(1):
高維數(shù)據(jù)的分布通常非常稀疏,在稀疏特征空間中許多特征是互斥的,即它們幾乎不會(huì)同時(shí)取非零值,而在絕大數(shù)情況下都同時(shí)取零。在這類稀疏特征空間下,通過設(shè)計(jì)一種近乎無損的方法來降低特征數(shù),并不會(huì)對(duì)數(shù)據(jù)集的信息完整性造成影響。
EFB 算法可將眾多互斥特征捆綁到更少的密集特征束上,能夠有效避免零特征值的不必要計(jì)算,從而構(gòu)造出與單個(gè)特征相似程度高的特征直方圖,降低計(jì)算復(fù)雜度。在LightGBM 算法中,EFB 要對(duì)互斥特征進(jìn)行合并操作,將判定為互斥的特征合并成一個(gè)特征,找到最優(yōu)互斥特征捆綁是一個(gè)NP難問題[15],EFB 算法把互斥特征捆綁到一起,形成稠密特征束。
直方圖算法對(duì)特征值進(jìn)行裝箱處理,在訓(xùn)練前先把特征值轉(zhuǎn)化為桶,也就是把每個(gè)特征的取值分成若干個(gè)分段函數(shù)。對(duì)于連續(xù)型特征,直方圖算法的基本思想是先把特征值離散化為m個(gè)整數(shù)序列,然后將序列依次編號(hào)為0,1,…,m-1,構(gòu)造成類似于m個(gè)“桶”的直方圖[16]。對(duì)于離散型特征,可將其編碼為對(duì)應(yīng)特征值,如果取值個(gè)數(shù)n多于設(shè)定的桶數(shù)量m,則將數(shù)量較少的特征值合并;如果n≤m,則將n個(gè)特征值作為n個(gè)桶。圖1展示了分桶過程,與GBDT 中需要遍歷所有特征值數(shù)據(jù)的策略相比,這里只需遍歷分桶后直方圖的值。
圖1 直方圖算法的分桶過程
LightGBM 采用改進(jìn)的直方圖算法,EFB 算法捆綁互斥特征來減少特征數(shù),完成對(duì)互斥特征的合并處理;使用GOSS算法保存大梯度樣本,隨機(jī)選取小梯度樣本,在降低每次迭代樣本數(shù)的同時(shí)更關(guān)注訓(xùn)練不足的樣本。LightGBM 屬于決策樹集成模型,能夠在不降低精度的情況下顯著提升運(yùn)算速度,適合處理高維數(shù)據(jù)。
基于決策樹的大多數(shù)學(xué)習(xí)算法都是采用按層分裂的策略(Level-wise)生長(zhǎng)樹,根據(jù)某個(gè)判斷條件輸出“滿足條件”和“不滿足條件”分出左右子樹,每個(gè)結(jié)點(diǎn)不斷重復(fù)向下生長(zhǎng)。LightGBM 使用按葉子分裂(Leaf-wise)的結(jié)點(diǎn)分裂方式,找出每一層所有結(jié)點(diǎn)中信息增益最大的單個(gè)結(jié)點(diǎn)進(jìn)行分裂并依次循環(huán)下去。在分裂次數(shù)相同的情況下,按葉子分裂能夠比按層分裂減少更多的損失。但是當(dāng)數(shù)據(jù)量較少的時(shí)候,按葉子分裂生長(zhǎng)策略可能會(huì)造成過擬合,為合理解決這個(gè)問題,LightGBM 通過限制樹的最大深度來減少過擬合的出現(xiàn)。
為提升以往人工提取手勢(shì)動(dòng)作特征數(shù)據(jù)的效率,本次實(shí)驗(yàn)數(shù)據(jù)來自于開源設(shè)計(jì)的MYO 臂環(huán)采集的8通道sEMG數(shù)據(jù)。由圖2所示,MYO臂環(huán)由8片與皮膚表面貼合的傳感器構(gòu)成,每個(gè)傳感器都能夠測(cè)量表層以下肌肉活動(dòng)的電信號(hào),具備精度高、功耗低、觸感良好的優(yōu)勢(shì)。實(shí)驗(yàn)數(shù)據(jù)采集過程中手臂上的8 個(gè)MYO 臂環(huán)傳感器會(huì)按時(shí)間先后分別傳送8 個(gè)節(jié)點(diǎn)的信號(hào),然后需要按照時(shí)間順序?qū)@8個(gè)節(jié)點(diǎn)數(shù)據(jù)做扁平化處理,使其展開為具有64 維特征的sEMG數(shù)據(jù)。
圖2 MYO臂環(huán)
本數(shù)據(jù)集一共有11678 條記錄,數(shù)據(jù)集中共有四類手勢(shì)動(dòng)作,分別為伸食指和小拇指(簡(jiǎn)稱為Rock)、剪刀手、五指伸展和OK 手勢(shì)。四類手勢(shì)動(dòng)作樣本標(biāo)簽分布較為均勻,經(jīng)扁平化處理后數(shù)據(jù)集中共有64 維sEMG 特征,用數(shù)字0~3 分別代表四種動(dòng)作。如圖3(a)所示,波形數(shù)據(jù)表示同一個(gè)動(dòng)作由8 通道傳感器捕獲到的表面肌電信號(hào),橫坐標(biāo)為時(shí)間序列點(diǎn)數(shù),縱坐標(biāo)為sEMG 的幅度;圖3(b)表示同一個(gè)傳感器在8 個(gè)時(shí)間結(jié)點(diǎn)上的波動(dòng)幅度。根據(jù)波動(dòng)特征發(fā)現(xiàn),在采集到的8 通道肌電數(shù)據(jù)段中,各個(gè)傳感器傳送的電信號(hào)反映各個(gè)維度上肌肉活動(dòng)的差異,呈現(xiàn)出不同的波動(dòng)形狀和幅度,而單個(gè)傳感器的電信號(hào)在各個(gè)時(shí)間點(diǎn)上波動(dòng)幅度相近,隨時(shí)間呈現(xiàn)規(guī)律性變化。數(shù)據(jù)集中除了少數(shù)信號(hào)波動(dòng)異常之外,整個(gè)sEMG 數(shù)據(jù)的波動(dòng)規(guī)律符合實(shí)驗(yàn)預(yù)期。
圖3 sEMG波動(dòng)檢測(cè)圖
本實(shí)驗(yàn)在計(jì)算機(jī)配置為Intel? Core ?i5-8300H CPU、內(nèi)存8G、NVIDIA GTX1050TI、Windows 10 操作系統(tǒng)下運(yùn)行,編程軟件為Python3.7。從數(shù)據(jù)集中隨機(jī)選出80%的樣本作為訓(xùn)練集,剩下20%樣本作為測(cè)試集,對(duì)于存在的少數(shù)異常值不作處理,在數(shù)據(jù)集中保留適當(dāng)噪聲,使模型具備適應(yīng)噪聲的能力。由于各個(gè)通道的數(shù)據(jù)在規(guī)格上存在差異,因此需要對(duì)特征值做標(biāo)準(zhǔn)化處理,經(jīng)過特征縮放使得某些特征的比例差異不會(huì)影響到預(yù)測(cè)結(jié)果。
在訓(xùn)練sEMG 手勢(shì)識(shí)別模型時(shí)要調(diào)整LightGBM 的各項(xiàng)參數(shù),該過程采用五折交叉驗(yàn)證和網(wǎng)格搜索相結(jié)合的方式尋找最優(yōu)參數(shù),經(jīng)過反復(fù)試驗(yàn),表1列出了LightGBM的核心參數(shù)調(diào)優(yōu)結(jié)果。
表1 LigthGBM核心參數(shù)調(diào)優(yōu)結(jié)果
在模型的訓(xùn)練和測(cè)試中,圖4 展示了訓(xùn)練集和測(cè)試集上AUC(Area Under Curve)指標(biāo)隨迭代次數(shù)增加而逐漸增大的趨勢(shì),AUC 值越大代表模型的整體性能越好,當(dāng)?shù)螖?shù)大于1000 次時(shí),兩條曲線的AUC 值已經(jīng)趨于穩(wěn)定。圖5 為均方根誤差(RMSE)隨著迭代次數(shù)增加而逐漸降低的過程,訓(xùn)練集和測(cè)試集上的損失不斷下降,沒有發(fā)現(xiàn)過擬合現(xiàn)象,迭代超過一定次數(shù)后RMSE 在測(cè)試集上已經(jīng)基本穩(wěn)定。
圖4 AUC變化曲線
圖5 RMSE變化曲線
為檢驗(yàn)sEMG 手勢(shì)識(shí)別模型在測(cè)試集上的表現(xiàn)性能,表2 展示了測(cè)試集上手勢(shì)識(shí)別分類結(jié)果的混淆矩陣。根據(jù)實(shí)驗(yàn)結(jié)果,四類手勢(shì)動(dòng)作的平均識(shí)別率達(dá)到了97.13%,基本都保持在較高的準(zhǔn)確率。Rock 手勢(shì)的識(shí)別準(zhǔn)確率達(dá)到98.62%,在單個(gè)手勢(shì)中表現(xiàn)效果最好;在預(yù)測(cè)五指伸展動(dòng)作時(shí)誤差稍高,在后續(xù)研究中可進(jìn)一步優(yōu)化,總體上手勢(shì)動(dòng)作都保持在較高的識(shí)別準(zhǔn)確率。在本文關(guān)注的計(jì)算性能方面,LightGBM 由于經(jīng)過各個(gè)維度上優(yōu)化算法的改進(jìn),一共只消耗8.26s的訓(xùn)練時(shí)間,能夠達(dá)到97.13%的準(zhǔn)確率,這要優(yōu)于傳統(tǒng)的GBDT 算法。通過實(shí)驗(yàn)結(jié)果驗(yàn)證,LightGBM 不僅取得較高精度,而且提升了訓(xùn)練效率。
表2 手勢(shì)動(dòng)作識(shí)別的混淆矩陣
本文采用表面肌電信號(hào)手勢(shì)識(shí)別數(shù)據(jù)集,提出使用LightGBM 算法完成手勢(shì)識(shí)別模型的構(gòu)建,取得良好的實(shí)驗(yàn)結(jié)果。LightGBM 具有訓(xùn)練速度快、預(yù)測(cè)效果好、占用內(nèi)存少和穩(wěn)定性高的優(yōu)點(diǎn)。在實(shí)際場(chǎng)景中采集到的sEMG 數(shù)據(jù)經(jīng)常存在特征維度大、噪聲復(fù)雜以及容易在不同個(gè)體上產(chǎn)生差異的現(xiàn)象,LightGBM 分類模型可以很好地克服這些問題,對(duì)于手勢(shì)識(shí)別的應(yīng)用具有重要研究?jī)r(jià)值。
雖然基于LightGBM 的手勢(shì)識(shí)別模型在分類效果和運(yùn)算性能上得到一定提升,但在準(zhǔn)確率方面還有進(jìn)一步的提升空間,可考慮將LightGBM 與其他算法融合,提升在噪聲處理方面的優(yōu)勢(shì),讓模型具有更好的表現(xiàn)。