摘" 要: 人體在運(yùn)動(dòng)過(guò)程中會(huì)產(chǎn)生微弱的生物電信號(hào),其中蘊(yùn)含著大量的控制信息。為了使用生物電信號(hào)中的信息控制機(jī)械臂動(dòng)作,提出一種基于DTW算法的sEMG手勢(shì)識(shí)別控制系統(tǒng),利用該系統(tǒng)對(duì)采集的原始信號(hào)進(jìn)行濾波和放大。為了確定有效的sEMG,采用移動(dòng)平均法對(duì)處理信號(hào)進(jìn)行劃分。使用平均絕對(duì)值從數(shù)據(jù)片段中提取有效段數(shù)據(jù),應(yīng)用DTW算法將3路表面肌電信號(hào)融合,計(jì)算樣本與模型之間的相似度,實(shí)現(xiàn)手勢(shì)識(shí)別;再將識(shí)別后的信號(hào)通過(guò)無(wú)線模塊發(fā)送到控制指令,以控制機(jī)械臂的動(dòng)作;最后,采用提出的算法并結(jié)合6種類型的手勢(shì)分類模型創(chuàng)建最佳特征模型。實(shí)驗(yàn)測(cè)試結(jié)果表明,使用動(dòng)態(tài)時(shí)間規(guī)整(DTW)算法進(jìn)行手勢(shì)識(shí)別的平均準(zhǔn)確率為93.752%,6種手勢(shì)的平均模型匹配率達(dá)到92%,實(shí)現(xiàn)了肌電信號(hào)對(duì)機(jī)械臂的精確控制。由此證明所提方法的手勢(shì)識(shí)別比傳統(tǒng)的閾值控制開(kāi)關(guān)更準(zhǔn)確。
關(guān)鍵詞: 手勢(shì)識(shí)別; DTW算法; 表面肌電圖(sEMG); 特征提??; 機(jī)械臂; 手勢(shì)檢測(cè)
中圖分類號(hào): TN911.71?34; TP242" " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " " " "文章編號(hào): 1004?373X(2025)02?0131?06
Design of sEMG gesture recognition control system based on DTW algorithm
HAN Tuanjun, LEI Dongyuan, HUANG Chaojun, LU Chao
(School of Physics amp; Telecommunications Engineering, Shanxi University of Technology, Hanzhong 723000, China)
Abstract: The human body can produce weak bioelectric signals during movement, which contains a large amount of control information. In order to use the information from bioelectric signals to control the movement of robotic arms, a sEMG (surface electromyography) gesture recognition control system based on DTW (dynamic time warping) algorithm is proposed, which can be used to filter and amplify the collected original signal. In order to determine the effective sEMG, the moving average method is used to partition the processed signal. The MAV (mean absolute value) is used to extract the valid segment data from data fragments, the DTW algorithm is used to fuse three sEMG, and the similarity between the sample and the model is calculated, so as to realize the gesture recognition. The recognized signal is used to send the control command by means of the wireless module to control the action of the robotic arm. The proposed algorithm is used to create the optimal feature model by combining with 6 gesture classification models. The experimental results show that the average accuracy of the gesture recognition using the DTW algorithm is 93.752%, and the average model matching rate of 6 gestures can reach 92%, achieving the precise control of the robotic arm by sEMG. It proves that the gesture recognition of the proposed method is more accurate than traditional threshold controlled switches.
Keywords: gesture recognition; DTW algorithm; surface electromyography; feature extraction; mechanical arm; gesture detection
0" 引" 言
肌電信號(hào)是肌肉活動(dòng)狀態(tài)中產(chǎn)生的動(dòng)作電位序列,不同序列對(duì)應(yīng)不同的肌肉收縮模式,不同肌肉收縮模式對(duì)應(yīng)不同的sEMG信號(hào)特征,通過(guò)對(duì)肌電信號(hào)特征差異性研究,可以將肌電信號(hào)應(yīng)用于人工智能控制等領(lǐng)域[1?3]。本文提出了一種基于DTW算法的sEMG手勢(shì)識(shí)別控制系統(tǒng),系統(tǒng)通過(guò)肌電傳感器采集原始肌電信號(hào),對(duì)原始肌電信號(hào)進(jìn)行濾波和放大;為了確定有效的sEMG,采用移動(dòng)平均法對(duì)信號(hào)進(jìn)行處理并劃分信號(hào)段。然后使用平均絕對(duì)值(MAV)從數(shù)據(jù)片段中提取有效段數(shù)據(jù)。應(yīng)用DTW算法將3路表面肌電信號(hào)融合,計(jì)算出樣本與模型之間的相似度,實(shí)現(xiàn)手勢(shì)識(shí)別,識(shí)別后的信號(hào)通過(guò)無(wú)線模塊發(fā)送控制指令來(lái)控制機(jī)械臂進(jìn)行動(dòng)作。通過(guò)測(cè)試證明該手勢(shì)識(shí)別比傳統(tǒng)的閾值控制開(kāi)關(guān)更準(zhǔn)確,控制動(dòng)作成功率在90%以上。
1" 系統(tǒng)的硬件模型
基于DTW算法的sEMG手勢(shì)識(shí)別控制系統(tǒng)可分為兩部分:一部分是以Arduino系列為微處理器的sEMG信號(hào)處理和手勢(shì)識(shí)別系統(tǒng);另一部分是以Cortex?M3系列為微處理器的機(jī)械手臂執(zhí)行系統(tǒng)。系統(tǒng)首先對(duì)肌電信號(hào)進(jìn)行預(yù)處理、數(shù)據(jù)分割、特征提取和模板匹配識(shí)別,識(shí)別的手勢(shì)信息通過(guò)無(wú)線模塊發(fā)送給機(jī)械臂,機(jī)械臂執(zhí)行相應(yīng)動(dòng)作。整個(gè)系統(tǒng)的框圖如圖1所示。
2" 實(shí)驗(yàn)步驟設(shè)計(jì)及數(shù)據(jù)采集處理
2.1" 數(shù)據(jù)預(yù)處理
針對(duì)表面肌電信號(hào)的原始信號(hào)復(fù)雜性,對(duì)采集到的數(shù)據(jù)進(jìn)行去噪處理,利用4階的巴特沃斯高通濾波器(f=10 Hz)去除運(yùn)動(dòng)偽跡和電纜引起的電噪聲,再利用帶通濾波(f=500 Hz)去除高頻噪聲[4]。通過(guò)陷波處理可以有效地消除電磁場(chǎng)引起的50 Hz工頻噪聲。系統(tǒng)設(shè)計(jì)了調(diào)零穩(wěn)壓電路確保系統(tǒng)的輸入和輸出能夠達(dá)到平衡,有效地減少系統(tǒng)的零點(diǎn)偏差。
2.2" 信號(hào)數(shù)據(jù)分割
為了滿足系統(tǒng)的實(shí)時(shí)需求,設(shè)計(jì)使用閾值比較法和移動(dòng)平均法相結(jié)合的方法提取出有效數(shù)據(jù)的起始和終止時(shí)刻,移動(dòng)平均法通過(guò)使用固定的滑動(dòng)窗口,以獲取當(dāng)前區(qū)域的平均能量,從而獲取當(dāng)前區(qū)域的狀態(tài)。通過(guò)肌電信號(hào)把手勢(shì)動(dòng)作分割出來(lái),實(shí)現(xiàn)手勢(shì)識(shí)別的有效性。移動(dòng)平均法示意圖如圖2所示。
每個(gè)人肌肉纖維的特性和肌肉信號(hào)的能量變化幅度不同,影響系統(tǒng)判斷動(dòng)作的有效性。通過(guò)能量法可以得到不同的肌電信號(hào)中的有效動(dòng)作段,可以提高診斷的準(zhǔn)確性。圖3是握拳動(dòng)作3個(gè)連續(xù)動(dòng)作的能量圖,第一列顯示了每個(gè)動(dòng)作的滑動(dòng)平均值,第二列顯示了每個(gè)動(dòng)作的滑動(dòng)平均探測(cè)能量。圖中的虛線代表一個(gè)特定的閾值(T=0.76),由于人體肌肉纖維組織的差異性,不同人之間的閾值不同,所以每個(gè)人需要根據(jù)自身產(chǎn)生的表面肌電信號(hào)的動(dòng)態(tài)范圍和噪聲水平,計(jì)算信號(hào)的移動(dòng)平均值和標(biāo)準(zhǔn)差,然后根據(jù)標(biāo)準(zhǔn)差和一個(gè)可調(diào)節(jié)的系數(shù)來(lái)調(diào)整合適的閾值。如果一個(gè)動(dòng)作的連續(xù)度超過(guò)了這個(gè)閾值,判斷其是一個(gè)有效的動(dòng)作。經(jīng)過(guò)與閾值信號(hào)T的比較分析可得到有效的動(dòng)作點(diǎn),可以將其從整個(gè)時(shí)間序列信號(hào)中準(zhǔn)確提取[5?8]。
2.3" 數(shù)據(jù)特征提取
由于分割后的肌電信號(hào)比較微弱,系統(tǒng)采用時(shí)域法對(duì)5種動(dòng)作肌電信號(hào)進(jìn)行特征提取。該方法不需要系統(tǒng)進(jìn)行其他數(shù)據(jù)轉(zhuǎn)換操作及數(shù)據(jù)加工,方便系統(tǒng)計(jì)算,系統(tǒng)的負(fù)載工作量也比較小。該方法的基本思想是通過(guò)改變窗口信號(hào)的長(zhǎng)度和寬度,獲得一個(gè)更加精確的平均能量[9]。式(1)~式(5)的運(yùn)算可以提取到肌電信號(hào)對(duì)應(yīng)的時(shí)域特征值。
平均絕對(duì)值(MAV)反映了信號(hào)曲線函數(shù)偏離的程度,公式如下:
[MAV=1Ni=1Nxi] (1)
均方根(RMS)反映了肌肉活動(dòng)產(chǎn)生的肌電信號(hào)能量的強(qiáng)弱,公式為:
[RMS=1Ni=1Nx2i] (2)
積分肌電值(IEMG)反映了肌肉運(yùn)動(dòng)時(shí)的活動(dòng)強(qiáng)度,公式為:
[IEMG=i=1Nxi] (3)
標(biāo)準(zhǔn)偏差(STD)反映了肌電信號(hào)數(shù)據(jù)間的離散程度,公式為:
[STD=1Ni=1N(xi-x)2] (4)
Willison振幅(WA)反映了肌肉運(yùn)動(dòng)時(shí)的收縮能力,公式為:
[WA=i=1N-1fxi-xi-1] (5)
2.4" DTW算法實(shí)現(xiàn)
實(shí)驗(yàn)采集的信號(hào)序列是離散的時(shí)間序列,人體的每一組動(dòng)作執(zhí)行肌肉動(dòng)作信號(hào)序列、肌肉運(yùn)動(dòng)的力度大小及頻率、肌肉動(dòng)作時(shí)間節(jié)奏相差較小,算法設(shè)計(jì)可以控制數(shù)據(jù)穩(wěn)定在同一運(yùn)動(dòng)時(shí)間頻率范圍。使用動(dòng)態(tài)時(shí)間規(guī)整(DTW)算法來(lái)實(shí)現(xiàn)直接對(duì)人體這些離散肌電信號(hào)序列進(jìn)行快速的識(shí)別,可以避免因特征序列長(zhǎng)短強(qiáng)弱不統(tǒng)一在某一階段引起無(wú)法正確有效地識(shí)別信號(hào)序列的問(wèn)題。此方法可以大幅度提高肌電信號(hào)識(shí)別檢測(cè)的整體準(zhǔn)確度。文中使用DTW算法來(lái)實(shí)現(xiàn)對(duì)特征序列的自動(dòng)識(shí)別,生成準(zhǔn)確的信號(hào)值序列[10?14]。設(shè)參考模板R中動(dòng)作總幀數(shù)為M,即[Ri={r1,r2,…,rm,…,rM},i=1,2,…,8],rm表示第m幀的動(dòng)作特征矢量,每個(gè)分量是一個(gè)3維的向量;設(shè)測(cè)試模板為T,[Tj={t1,t2,…,tn,…,tN},j=1,2,…,8],其是一個(gè)N維向量。其中,M和N的長(zhǎng)度可以不同,但它們的維度值應(yīng)當(dāng)保持一致。對(duì)于每一維向量,參考模板和測(cè)試模板之間的幀匹配距離用公式(6)計(jì)算得出。
[ditn,rm=tn-rm, i=1,2,…,8]" " "(6)
DTW算法示意圖如圖4所示。在一個(gè)二維的直角坐標(biāo)系中,橫軸數(shù)為N位,即表示每一個(gè)被測(cè)試的樣本,縱軸數(shù)為M位,則表示其為一參考的測(cè)試樣本,而圖中的整數(shù)坐標(biāo)點(diǎn)即表示每一個(gè)被參考的測(cè)試樣本和上一個(gè)參考測(cè)試的樣本坐標(biāo)間關(guān)系的另一個(gè)交匯點(diǎn)。DTW算法就是尋找在每完成一條動(dòng)作,通過(guò)坐標(biāo)網(wǎng)格點(diǎn)之前的最后一條的最短路徑。由于在每個(gè)動(dòng)作的變化軌跡之間的動(dòng)作先后順序之間并不可能會(huì)隨時(shí)發(fā)生任何變化,因此路徑的選擇一定是從左下角開(kāi)始到右上角結(jié)束。
路徑所通過(guò)的格點(diǎn)依次為(t1,r1),(t2,r2),…,(tN,rM) 。為了確保每一個(gè)點(diǎn)都不會(huì)出現(xiàn)太大的偏差,把斜率的大小設(shè)定為0.5~2,并且確保每一個(gè)點(diǎn)都不會(huì)超出設(shè)定的閾值,以便最終實(shí)現(xiàn)第一個(gè)(n,m)的目標(biāo),則前一個(gè)點(diǎn)只可能為(n-1,m)或(n-1,m-1)或(n-1,m-2)。通過(guò)計(jì)算Di(tN,rM)可以確定出各維度的特征向量之間的最短間隔,具體表現(xiàn)在公式(7)中。根據(jù)公式(7)和公式(8),表示出各維度的第3維度的特征向量之間的最短間隔DTW。
通過(guò)DTW算法可以將肌電信號(hào)中的兩個(gè)活動(dòng)段進(jìn)行定位,并將它們的兩個(gè)有效運(yùn)動(dòng)段進(jìn)行匹配,從而得到更接近實(shí)際情況的結(jié)果。此外,由于干電極傳感器臂上有一個(gè)3維的輸出信息,可以利用DTW算法自動(dòng)完成匹配,從而有效地減少由于測(cè)量角度不準(zhǔn)等原因?qū)е碌木日`差。
3" 設(shè)計(jì)結(jié)果分析
3.1" 模板制作與匹配
創(chuàng)建手勢(shì)模板的目的是提高對(duì)手勢(shì)動(dòng)作的有效識(shí)別率,克服視覺(jué)偏差、位置的不同、個(gè)體差異產(chǎn)生的影響。模板在制作模型的整個(gè)過(guò)程考慮了各種組織差異,為了構(gòu)建一個(gè)有效的模型,需要先從訓(xùn)練階段的訓(xùn)練樣本中提取數(shù)據(jù),然后估計(jì)它們的平均長(zhǎng)度。識(shí)別出信號(hào)序列的有效部分,并選擇長(zhǎng)度相似的樣本進(jìn)行平均訓(xùn)練,以確定最佳的樣本長(zhǎng)度。對(duì)于每個(gè)訓(xùn)練動(dòng)作,選擇8個(gè)長(zhǎng)度與其平均動(dòng)作長(zhǎng)度相差最小的樣本,然后使用這些樣本來(lái)匹配其他動(dòng)作,以確保能夠找到最大、最小或最低的運(yùn)動(dòng)樣本。通過(guò)DTW算法可以從7個(gè)動(dòng)作樣本中篩選出與之最匹配的時(shí)間序列點(diǎn),并將其取平均,從而獲得每個(gè)練習(xí)動(dòng)作的初始模板。該方法可以更好地參考和比較不同的動(dòng)作,從而更有效地提高訓(xùn)練效果。在實(shí)驗(yàn)測(cè)試中僅使用了一個(gè)模板。表1所示為模板的匹配距離。
最終的識(shí)別結(jié)果用混淆矩陣表示,如表2所示。
從表2的實(shí)驗(yàn)數(shù)據(jù)結(jié)果分析可得,手勢(shì)識(shí)別平均準(zhǔn)確率為93.752%。在這6個(gè)動(dòng)作中,握拳和展拳動(dòng)作的特征最為明顯,握拳手勢(shì)和展拳手勢(shì)兩個(gè)動(dòng)作的手勢(shì)準(zhǔn)確率為100%,OK手勢(shì)的手勢(shì)準(zhǔn)確率較低為84.38%。
3.2" 特征值提取結(jié)果分析
圖5a)是點(diǎn)贊手勢(shì)動(dòng)作時(shí)獲取的一組較原始的肌電數(shù)據(jù),圖5b)是通過(guò)對(duì)圖例中的數(shù)據(jù)圖進(jìn)行特征提取運(yùn)算處理后而獲得的這一組原始數(shù)據(jù)圖。
圖中:橫坐標(biāo)軸上為移動(dòng)窗口后所對(duì)應(yīng)的序列號(hào);圖上的散點(diǎn)表示特征提取運(yùn)算結(jié)束后序列號(hào)所對(duì)應(yīng)的特征值。
從圖中可以清楚地看出,特征值的變化趨勢(shì)和實(shí)際變化的幅度都有明顯的差異。因此,在提取或處理特征信號(hào)數(shù)據(jù)時(shí),應(yīng)當(dāng)考慮到這些變化的實(shí)際情況,以便更好地分析出原始信號(hào)數(shù)據(jù)的幅度。
3.3" 實(shí)驗(yàn)硬件控制效果
機(jī)械手臂使用3D打印進(jìn)行實(shí)現(xiàn),動(dòng)作執(zhí)行依靠無(wú)線傳輸數(shù)據(jù)指令來(lái)控制機(jī)械臂內(nèi)部舵機(jī)進(jìn)行動(dòng)作。整個(gè)測(cè)試平臺(tái)如圖6所示。
按照之前的采集數(shù)據(jù)操作過(guò)程進(jìn)行模型匹配。測(cè)試動(dòng)作的模板順序依次為握拳、展拳、手腕左旋、手腕右旋、OK手勢(shì)、點(diǎn)贊手勢(shì),6種手勢(shì)所對(duì)應(yīng)的機(jī)械手臂動(dòng)作如圖7所示。
實(shí)驗(yàn)中,通過(guò)手部的動(dòng)作和機(jī)械手的動(dòng)作進(jìn)行對(duì)比,來(lái)判斷識(shí)別是否準(zhǔn)確,如果機(jī)械手的動(dòng)作和對(duì)應(yīng)手部動(dòng)作相同,認(rèn)為識(shí)別成功。實(shí)驗(yàn)共進(jìn)行600次,每個(gè)動(dòng)作識(shí)別100次。手部的動(dòng)作和機(jī)械手的動(dòng)作對(duì)比結(jié)果如表3所示。
由表3可以得出,握拳手勢(shì)和展拳手勢(shì)識(shí)別控制的準(zhǔn)確率為96%,手勢(shì)控制平均準(zhǔn)確率為92%,握拳手勢(shì)和展拳手勢(shì)準(zhǔn)確率高是選取的測(cè)試肌肉區(qū)域?qū)@兩種手勢(shì)反應(yīng)比較強(qiáng)烈,其他的手勢(shì)的反應(yīng)較小。
4" 結(jié)" 論
本文設(shè)計(jì)了一種基于DTW算法的sEMG手勢(shì)識(shí)別控制系統(tǒng)。對(duì)于肌電信號(hào)的采集、處理、識(shí)別和機(jī)械手臂的控制,使用動(dòng)態(tài)時(shí)間規(guī)整算法進(jìn)行手勢(shì)檢測(cè),平均準(zhǔn)確率為93.752%,6種手勢(shì)的平均準(zhǔn)確率達(dá)92%,實(shí)現(xiàn)了肌電信號(hào)對(duì)機(jī)械手臂的精確控制。結(jié)果表明,所提系統(tǒng)具有一定的實(shí)際應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 韓團(tuán)軍,張晶,黃朝軍,等.基于sEMG信號(hào)和BPNN算法的機(jī)械臂控制系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2023,51(19):106?111.
[2] 王金瑋,曹樂(lè),闞秀,等.基于表面肌電信號(hào)的LDA?BPNN雙臂手勢(shì)識(shí)別算法[J].傳感器與微系統(tǒng),2023,42(6):158?160.
[3] 馮凱,董秀成,劉棟博.基于多域融合與特征選擇的手勢(shì)識(shí)別研究[J].傳感器與微系統(tǒng),2023,42(5):37?40.
[4] 谷中歷,張霞,徐梓桓,等.一種基于sEMG信號(hào)多重分形的肌肉疲勞特征分析方法[J].河北科技大學(xué)學(xué)報(bào),2023,44(2):103?111.
[5] 侯一帆,文斌,徐進(jìn),等.基于CC3200和ADS1299表面肌電無(wú)線采集系統(tǒng)[J].中國(guó)醫(yī)療器械雜志,2023,47(2):150?153.
[6] 李宏偉,張淑亮.DTW算法在地震時(shí)間序列信息挖掘中的應(yīng)用[J].山西地震,2023(1):37?40.
[7] 常銘,許孟華,楊建宏,等.面向動(dòng)物機(jī)器人的新型可充電表面肌電信號(hào)采集系統(tǒng)設(shè)計(jì)與應(yīng)用[J].現(xiàn)代電子技術(shù),2022,45(24):136?140.
[8] 劉強(qiáng),李玉榕,杜國(guó)川,等.基于sEMG信號(hào)的關(guān)節(jié)力矩NARX預(yù)測(cè)模型[J].儀器儀表學(xué)報(bào),2022,43(11):123?131.
[9] 錢美超,黃琰,章芳,等.基于DTW算法的臺(tái)風(fēng)運(yùn)動(dòng)軌跡相似性研究[J].電子技術(shù)與軟件工程,2022(19):230?233.
[10] 李林豐,薛波.基于改進(jìn)DTW算法的窨井蓋盜損檢測(cè)方法[J].電聲技術(shù),2022,46(9):111?116.
[11] 劉光達(dá),許藍(lán)予,肖若蘭,等.基于FGNN算法的sEMG肌肉疲勞分類方法[J].科學(xué)技術(shù)與工程,2022,22(19):8370?8377.
[12] 謝小雨,劉喆頡.基于DTW算法的肌電信號(hào)手勢(shì)識(shí)別方法[J].計(jì)算機(jī)工程與應(yīng)用,2018,54(5):132?137.
[13] 張應(yīng)祥,位少聰,張茜茜,等.基于遷移學(xué)習(xí)的表面肌電信號(hào)手勢(shì)識(shí)別[J].南京理工大學(xué)學(xué)報(bào),2023,47(3):304?310.
[14] 杜妍辰,孫潔,汪曉銘,等.基于肌電信號(hào)的人體下肢運(yùn)動(dòng)意圖映射研究進(jìn)展[J].上海理工大學(xué)學(xué)報(bào),2023,45(2):128?136.