關鍵詞:步態相位預測;慣性傳感器;骨架;時空圖卷積網絡;通道注意力機制
外骨骼機器人是一種可以穿戴行走式的機械設備,它可以減輕人類的負重,起到支撐、保護、運動等作用,廣泛應用于醫療、農業、工業、軍事等領域,已經成為未來科技發展的趨勢。按用途不同,外骨骼機器人可以分為助力型[1-2]、負重型[3-4]和康復型[5-6]機器人3類。本文主要探討了基于下肢助力型的外骨骼機器人,其能夠通過在人體下肢關節處提供適當的外部輔助力矩來提高人體的運動能力[7],識別并預測穿戴者的運動意圖是外骨骼機器人輔助人類運動的前提和基本要求,根據感知到的人類意圖從而有效控制外骨骼的運動[8]。因此,必須首先估計人類的行走意圖,以確保外骨骼機器人不會阻礙人類的運動[9-10]。
人體行走過程是一個持續且規律的周期性運動。目前最常用的步態周期研究方法依賴于四相識別技術,由腳跟著地(HS)、腳尖著地(TS)、腳跟離地(TO)和擺動相中點(SM)表示。基于當前步態研究階段,使用一系列可穿戴傳感器,包括腳踏開關、壓力鞋墊和慣性傳感器,在步態階段檢測方面進行了廣泛的研究[11-13]。
常用的步態相位檢測分類算法可分為三大類:閾值方法(Threshold-BasedMethods,TBM)、機器學習方法(MachineLearningMethods,MLM)和深度學習(DeepLearning,DP)。閾值方法通過手動設置閾值,觀察原始數據的特征,并根據這些特征將步態階段進行分類[14]。Kim等[15]提出了一種基于慣性測量單元(InertialMeasurementUnit,IMU)的腳-地接觸檢測(Foot-GroundContactDetection,FGCD)算法。Bejarano等[11]提出了一種基于慣性和磁性傳感器的自適應算法,用于檢測步態事件,這種算法在健康人和步態病理患者身上都表現出色。Seel等[16]使用加速度計和陀螺儀傳感器,提出了一種實時的步態事件檢測方法。與TBM算法相比,數據驅動的機器學習算法性能得到了顯著提高,它利用大量的數據來進行分類任務,從而減少了手動創建有意義特征的需求。在步態相位預測應用中,各種機器學習方法如K近鄰[17]、決策樹[18]、貝葉斯網絡分類器[19]、線性判別分析[20]等都被廣泛應用,它們同樣適用于區分步態階段[21]。深度學習是機器學習領域中一個新的研究方向,在搜索技術、數據挖掘、機器翻譯、自然語言處理、多媒體學習、語音、推薦和個性化技術,以及其他相關領域都取得了很多成果。Su等[22]提出了一種基于IMU和足底壓力傳感器的深度卷積神經網絡(DeepConvolutionalNeuralNetwork,DCNN),用于識別步態周期的5個階段。另外,Wu等[23]提出了一種用于步態階段分類的圖卷積網絡模型(GraphConvolutionalNetworkModel,GCNM),并將其與長短時記憶網絡(LongShort-TermMemory,LSTM)和DCNN進行了比較,結果表明GCNM在步態階段分類方面具有較高的準確性,驗證了該模型的有效性。
然而,這些步態相位預測方法沒有充分考慮到關節之間的相互聯系,也沒有充分挖掘時間和空間之間的聯系,無法充分表現人體步態相位特征。
在基于視頻的動作識別領域,基于時空卷積網絡的算法ST-GCN[24]得到了廣泛應用,它能夠利用人體骨架信息。現有的基于圖的方法通常將骨架表示為無向圖,并使用兩個獨立的網絡對骨骼和關節進行建模,但不能充分利用關節和骨骼之間的依賴關系。因此,本文引入基于通道注意力機制增強的有向圖神經網絡(CA-DGNN)[25]的外骨骼機器人步態相位預測模型。該方法采用有向非循環圖來表示骨架模型,其中關節作為圖的頂點,骨骼作為邊,可以捕捉關節之間的依賴關系;引入了通道注意力機制,通過對關節的不同通道信息賦予不同的權重來關注重要通道,使模型能在不同的特征空間中聚焦重要信息。同時,在已有下肢外骨骼機器人的基礎上研制了一套基于IMU慣性傳感器的人體步態運動數據采集設備,通過采集的數據計算得出骨架信息和運動信息,并將其輸入到CA-DGNN中,以構建下肢骨架模型并進行下肢外骨骼機器人步態相位預測的研究,探討了算法參數和部分超參數對步態相位預測性能的影響。
1方法與數據
1.1下肢助力外骨骼機器人
本文研究的下肢助力外骨骼機器人,其結構示意圖如圖1所示,該外骨骼采用剛性的機械支撐結構,在外骨骼機器人的大小腿和腰部安裝傳感器,采集人體的步態運動信息;在膝關節處布置電機驅動結構,作為外骨骼機器人的關節執行器,在人體運動時提供相應的助力力矩;在外骨骼的背部安裝控制器等組件,采用相應的控制策略,實現外骨骼機器人的實時控制。
1.2人體步態信息采集設備
本文構建的人體步態信息采集設備如圖2所示。該設備由大小腿和腰部的柔性綁縛結構組成,在大小腿和腰部均布置IMU慣性傳感器,用于采集人體大小腿和腰部的運動數據,主要是大小腿和腰部的三軸角度、三軸加速度、三軸角速度,并且在腰部安裝有協處理器,通過CAN(Controllerareanetwork)總線傳輸,將數據整合并通過藍牙發送到手機等移動設備。
1.3人體步態數據的獲取
傳感器的人體坐標系的規定如圖3所示,即以人體側面為基準,平行于人體矢狀面運動方向為X軸,重力加速度方向為Y軸,垂直于人體矢狀面為Z軸。
本文采用的數據是由本研究團隊設計的一套人體步態信息采集設備采集的運動數據,共邀請了4位志愿者進行步態行走的數據采集,采樣頻率為100Hz,單次采集時間為20s,每位實驗者重復采集5次作為一組數據,共采集了5組數據,對其分別命名為數據集1、數據集2、數據集3、數據集4和數據集5,其中數據集1、2、3、4分別為4位不同志愿者的步態數據,數據集5與數據集3為同一個志愿者的2次運動數據(重新進行穿戴)。每個數據集內包括大小腿和腰部的三軸角度、三軸加速度和三軸角速度。
1.4基于CA-DGNN的步態相位預測
因為骨架提供了關于人體運動的關鍵信息,通過分析骨架在不同步態相位中的姿態和加速度,可以獲取有關步態周期的節奏、速度等重要特征。步態相位預測的主要流程如下:首先進行步態數據的采集,本文邀請4位志愿者穿戴人體步態信息采集設備進行實驗,得到行走步態運動數據;建立下肢骨架模型,建立時空圖卷積網絡;進行超參數實驗,確定相應最優窗口大小;最后進行用戶獨立實驗和用戶依賴實驗,與其他算法進行比較。圖4顯示了骨架及其相應的有向圖,把腰部作為點1,左大小腿分別為點2和點5;右大小腿分別為點3和點4,形成圖結構。
為了進一步提高模型在步態預測任務上的準確率,本文在DGNN的基礎上加以改進,引入了基于通道注意力機制增強的有向圖神經網絡(CA-DGNN)來進行步態相位的預測。
CA-DGNN將關節和骨骼信息結合起來并表示為一個有向非循環圖(Directedacyclicgraph),其中關節作為頂點,骨骼作為邊,關節之間的依賴關系通過圖的有向邊建模,GTCN(Graphtemporalconvolutionnetwork)由DGN塊(Directedgraphnetwork)、TCN塊(Temporalconvolutionnetwork)和ECA塊(Efficientchannelattention)及若干功能層組成(圖4)。
模型從數據輸入到多幀步態相位輸出的流程圖如圖5所示。在骨架數據輸入后,分別經過3個添加了ECA模塊的GTCN操作后,輸出張量被輸入到全連接層,以獲得每個步態的特征向量。在這之后,步態的特征向量通過Softmax函數傳遞到輸出層,以獲得步態相位類別的預測。最后,將模型預測的不同時間的步態進行組合,得到多幀步態相位輸出。本文使用100幀數據預測未來10幀,即未來100ms的數據。
在CA-DGNN中,每個圖時間卷積模塊后都添加了一個ECA模塊。ECA模塊通過考慮每個通道及其k個鄰居進行局部跨通道交互信息,自適應地調整每個通道的權重,使得模型能夠更加關注重要的通道,抑制噪聲和無關信息。同時,本文改進了圖學習的方法,增加了對有向非循環圖進行稀疏化的操作,抑制了相關性較低的連接形成。
2實驗結果
本文將上述人體步行步態運動數據關節角度、加速度、角速度進行數據平滑處理,進行了窗口大小對算法性能影響的實驗,分別運用CNN、RNN[26]、TCN[27]、LSTM[28]這4種時間序列算法以及基于骨架的DGNN算法進行實驗,最終與CA-DGNN進行比較,證明CA-DGNN算法在步態相位預測上的優越性。
訓練參數設置為:學習率為0.001,批量大小為32,優化器選擇Adam,迭代次數為150次,丟棄率為0.3,權重衰減系數為10?4,學習率容忍次數為4。除了常規的超參數設置外,還設置了圖學習凍結步數為5,用于保證訓練開始的前5次迭代中初始圖不進行更新。
2.1窗口大小的實驗
在數據加窗時,窗口的大小對結果的影響如表1所示。本實驗所使用的傳感器采樣頻率為100Hz,正常人走路1min大約在100~120步,一個步態周期為1s左右,分別設置窗口大小為80、90、100、110、120、130、140、150、160、170和180,窗口間隔設置為1保持不變,使用數據集3作為訓練集、數據集5作為測試集。實驗將90%的數據用于訓練、10%的數據用于驗證,每次均進行100輪訓練,設置學習率為0.001。
由表1可以看出,不同的窗口大小也會影響CA-DGNN的性能,當窗口大小為100時表現最好,準確率為97.86%;當窗口大小為120時表現最差,準確率為95.25%。窗口大小為100的準確率比窗口大小為80、90、110、120、130、140、150、160、170和180時分別提高了0.84%、0.60%、2.12%、2.61%、1.57%、1.27%、1.05%、1.78%、1.56%和1.35%。
2.2用戶獨立實驗
由于CA-DGNN算法以骨架數據作為輸入,而其他算法為數據驅動,因此在實驗中,本節將原始三軸角度、三軸加速度和三軸角速度作為CNN、RNN、TCN和LSTM這4種算法的輸入,將關節坐標作為CA-DGNN的輸入,并進行比較,以證明CA-DGNN算法在步態相位預測上的優越性。使用數據集1、2、3作為訓練集、數據集4作為測試集,Windowsize設置為100,用戶獨立實驗結果如表2所示。由表2可知,在5種算法中,CA-DGNN算法的準確率比CNN、RNN、TCN、LSTM和DGNN分別提高了3.27%、5.29%、3.34%、2.69%、1.27%。
2.3用戶依賴實驗
使用數據集3作為訓練集、數據集5作為測試集,進行用戶依賴實驗,將CA-DGNN算法與其他4種算法進行比較,結果如表3所示。
由表3可知,在5種算法中,CA-DGNN算法的準確率比CNN、RNN、TCN、LSTM分別提高了2.72%、8.21%、18.09%、3.51%。
2.4消融實驗
使用數據集3作為訓練集、數據集5作為測試集,進行消融實驗,使用DGNN算法與CA-DGNN算法進行比較,結果如表4所示。
由表4可知,在消融實驗中,CA-DGNN算法相比DGNN算法在準確率、精確率、召回率和F1值上同時有顯著提升,分別提高了1.43%、2.06%、2.54%、2.38%。為了進一步驗證提出算法的實用性,將穿戴人體步態信息采集設備采集的步態數據實時輸入到訓練的CA-DGNN模型,進一步進行實驗驗證,預測準確率達到93.28%。
3討論
3.1窗口大小的影響
不同的窗口大小會影響CA-DGNN算法的性能。為進一步分析窗口大小對步態相位預測平均準確率的影響,計算了不同窗口大小下各步態相位預測準確率,如圖6所示。可以看出,在改變窗口大小的過程中,TO相位一直保持著較高的準確率,一般在99%以上,其基本不受窗口大小改變的影響。而HS、TS這兩個步態相位識別準確率低,分別為95.72%和92.10%。SM相位受窗口改變影響比較大,其最高準確率為94.16%,最低準確率為70.17%。但就準確率而言,CA-DGNN算法的性能受窗口大小這一超參數的影響不是很大,步態模型具有較強的魯棒性,在實際使用中可以減少為不同數據尋找合適窗口大小的計算量。
窗口大小為80和100時CA-DGNN的混淆矩陣如圖7所示。窗口大小為80時步態相位預測準確率稍低一些,比窗口大小為100的準確率低了0.84%。根據圖6所示,窗口大小改變時,SM相位準確率受影響變化最大,故在考慮最佳窗口大小時,應該從準確率和SM相位準確率兩個方面綜合考慮。窗口大小分別為80和100時,前者在HS、TO相位上準確率和后者相近,但TS、SM相位準確率卻低于后者,尤其是受窗口大小影響最大的SM相位,后者平均準確率比前者高了4.67%。
總體來說,窗口大小為100時準確率達到了最高,并且各個步態相位的識別準確率都位居前列,尤其是受窗口大小影響最大的SM相位。窗口大小改善了誤識別情況,并且該模型擁有較強的魯棒性,在實際使用中擁有更強的普適性。
3.2用戶獨立實驗的結果分析
在用戶獨立實驗中CA-DGNN在6種算法中表現最好,識別準確率達到了94.52%。為了進一步分析各算法的性能,計算了各步態相位預測準確率,如圖8所示。CA-DGNN在大多數步態相位預測準確率上都比其他5個算法高,最低準確率也在85.66%左右,其他算法最低準確率甚至只有61.68%。CADGNN在TS和SM準確率分別為98.34%和85.66%;HS和TO準確率分別為94.22%和95.21%,雖然并非最佳,但也達到了平均水準。在SM相位上,其他5種算法準確率都不超過70%,而CA-DGNN算法準確率高達85.66%;在TO和HS相位上,CA-DGNN準確率也在94%以上;這說明CA-DGNN在步態相位分類上的表現優于其他算法,其高準確率和穩定性更適于步態相位預測。
對CA-DGNN的實驗結果進一步分析,其混淆矩陣如圖9所示。CA-DGNN對HS、TS和TO3種步態相位預測準確率較高,但還是出現了SM步態相位的誤識別率較高的情況,如把SM識別為TO的誤識別率為8.05%,把SM識別為HS的誤識別率為6.29%。
由于所使用數據為三軸加速度和三軸角速度的下肢矢狀面運動角度,在實際運動過程中,腿部的運動特征相差不是很大,差別較大的主要是踝關節數據,而踝關節數據并沒有采集,因此出現了這幾個步態相位之間的誤識別,導致準確率降低。但在使用同樣數據的情況下,各算法識別準確率也有差別,說明模型本身的特性也是影響步態相位預測性能的重要因素。
3.3用戶依賴實驗的結果分析
前述通過用戶獨立實驗建立步態相位預測用戶依賴實驗,并且獲得了較好的結果。雖然通用模型可以減少訓練過程中所需的時間,但通用模型可能不適用于特定個體。因此進行用戶依賴實驗,將使用者數據加入模型進行訓練,以進一步提高步態識別的準確率。各算法的不同步態相位預測準確率如圖10所示。由圖可得,CA-DGNN在HS、TO、SM這3個步態相位上準確率分別為98.17%、99.24%、94.16%;在TS步態相位上準確率為96.70%,對比最好的97.73%僅相差1.03%。CA-DGNN方法中各步態的識別準確率都不小于94.16%,而其他算法最低識別準確率甚至只有71.99%。這說明CA-DGNN在步態相位預測上表現良好,優于其他幾種算法。
CA-DGNN的混淆矩陣如圖11所示,用戶依賴實驗中CA-DGNN對4種步態相位預測準確率均很高,最低也在94.16%,比前述用戶獨立實驗效果要好,并且更加穩定,魯棒性更強。但也同樣面臨前述的問題,出現了步態相位的誤識別情況,但基本不超過3%。結果說明CA-DGNN相比其他4種算法在步態相位預測上都具有更高的準確性和穩定性。
大多數分析時間序列的DL算法(如RNN、LSTM、TCN)主要關注時間特征,它們學習空間特征的能力相對較弱。這些深度學習算法鮮有明確考慮骨架和相鄰關節之間的空間連通性、依賴關系和圖形結構。因此,它們在理解人體行走所表達的步態相位方面能力相對有限,這導致其在步態相位預測的整體表現不如CA-DGNN。
3.4穿戴實驗的結果分析
在處理人體步態這種具有多維和復雜的時間依賴性數據時,CA-DGNN相比于DGNN,通過關注通道間的空間依賴關系,自動地學習通道的重要性,能夠更好地理解不同的步態相位模式,有助于提高模型的分類準確率。實際穿戴實驗的結果也能進一步驗證CA-DGNN在步態相位預測上的實用性。為測試CA-DGNN算法的實用性,測試人員穿戴運動數據采集裝備進行行走,同時使用CA-DGNN進行實時步態相位預測。同時記錄每個時刻的步態相位和模型預測結果,在測試結束后進行結果分析。實際穿戴運動數據采集設備后行走的實時步態相位預測結果的混淆矩陣如圖12所示。根據實驗結果和混淆矩陣,在處理實時步態數據方面,CA-DGNN雖然受到噪聲干擾,但仍保持93.28%的準確率。4種步態相位中HS、TS、SM都保持91%以上的準確率,只有TO相位識別準確率有較大下降。穿戴設備的實時相位預測準確率仍保持較高的水平,證明CA-DGNN有較強的準確率和魯棒性,對后續外骨骼助力的研究有實用意義。
4結束語
在本研究中,引入了一種使用CA-DGNN的基于多慣性傳感器的骨架步態相位檢測方法。首先,提取人體5個關節上IMU的運動數據,并對其進行加窗;其次,根據人體關節之間的自然連接關系,建立了步態相位預測的骨架模型;然后,使用空間圖卷積層和時間卷積層分別在空間和時間尺度上提取人體步態相位的動態特征,從而更全面地挖掘人類行走步態的空間和時間模式;最后,建立了基于CADGNN和骨架的步態相位預測模型,討論了參數對模型性能的影響,并將實驗結果與其他5種算法的結果進行了比較。實驗結果表明,CA-DGNN模型具有更好的準確性和魯棒性,優于其他5種算法。本研究旨在為基于IMU的步態相位預測提供了一種新方法。