杜成飛
(西南交通大學 電氣工程學院,成都 611756)
保障工務作業人員的人身安全是鐵路運輸管理的一項重要內容[1],現有的人工監控方式存在成本高、范圍小、易受環境因素影響等缺點,由于工作失誤,人身安全事故的案例時有發生:(1)2010年5月22日14 時29 分,西昌工務段在成昆線九里~燕崗站間進行補修作業時,2 名勞務工下道避車不及時,被通過的44116次貨運列車碰撞死亡.(2)2014年5月13日4 時05 分,上海局杭州工務段在滬昆下行線衢州~后溪街站間進行探傷作業時,3 名作業人員被反方向運行的中鐵電化局運管公司杭州維管段接觸網作業車撞上,造成2 人死亡,1 人重傷[2].隨著微電子、網絡及傳感器技術的不斷發展,人類行為狀態的實時連續捕獲與采集已經非常便利,對這些行為數據進行分析,有助于深入理解人的行為模式,在鐵路工務安全監測領域具有應用價值.
早期人員行為識別主要采用基于邏輯規則的方法,這種方法無法處理數據中包含的噪聲,模型構建困難,識別能力較弱,因此現在大量行為識別研究工作采用機器學習的方法[3].機器學習是指通過計算機學習數據中的內在規律性信息,獲得新的經驗和知識,以提高計算機的智能性,使計算機能夠像人那樣去決策.行為識別問題通常也看做機器學習中的分類問題,近年來主要的分類算法有決策樹(Decision Tree)、隨機森林(Random Forest)、K 最近鄰(K-Nearest Neighbor,KNN)、樸素貝葉斯(Na?ve Bayes)、支持向量機(Support Vector Machine,SVM)、邏輯回歸(Logistic Regression)、神經網絡(Neural Networks)等.
根據應用領域的不同,目前存在大量面向行為識別的方法,從行為監測的角度分類,可以分為基于視覺的行為識別和基于傳感器的行為識別.
基于視覺的行為識別分為基于可見光波段的人體行為識別和基于紅外波段的人體行為識別兩種.由于可見光波段的人體行為數據易于獲取,基于該波段的人體行為識別研究開始較早,Zhang 等人[4]通過用光流表征運動信息來定位感興趣區域,然后使用其方向梯度和光流直方圖來描述該區域,最后利用SVM 分類器對人體的各種動作類型進行分類.Zhang 等人[5]利用基于SIFT 特征的ASIFT 進行關鍵點軌跡表達以獲得關于人體行為動作的全局時空信息,再通過LDA 描述特征,最后由K-means 進行分類以識別人體行為.Sowmya[6]使用BOF (Bag Of Features)算法,對建筑工人爬梯,砌磚,木工,繪畫和抹灰工作進行了識別,準確率為95%,該算法在KTH 數據集下的準確率為96%.由于基于可見光波段的人體行為識別系統容易受到光照變換的影響,而且在弱光照環境下不能很好地進行人體行為識別,同時還存在遮擋以及可能的隱私泄露等其他影響因素,因此近年來基于紅外波段的人體行為識別研究越來越受到學界的重視.Jiang 等人[7]首次將三維卷積神經網絡應用于紅外人體行為識別.Liu 等人[8]提出了基于光流累計圖的全局時空信息特征表達,實現了InfAR 數據集下79.25%的準確率.
基于傳感器的行為識別方法由于不受場景、光線的限制,使用靈活,故在行為識別中得到了最為廣泛的應用.Huang 等人[9]使用決策樹、隨機森林、SVM 等三種算法對生活中5 類行為進行了分類識別,并研究了腰部不同佩戴位置對于識別率的影響.Ravì等人[10]提出了一種深度學習方法,它將從慣性傳感器數據中學到的特征與來自一組淺特征的補充信息相結合,實現了準確和實時的行為分類.Cardoso 等人[11]為了解決靜態數據集下識別率較高,但在新輸入數據集下識別率較低的問題,提出了在線半監督學習,讓標簽與非標簽數據持續不斷地訓練模型,提高了對新用戶行為的識別率.Khan 等人[12]通過單個三軸加速度傳感器對工人行為識別做了研究,實現了實采數據集下94%的準確率,并證明傳感器佩戴于腰部位置識別效果是最好的.Ward 等人[13]模擬“木工車間”裝配任務,通過在手臂兩個位置安裝傳感器和麥克風,對鋸切,錘擊,銼削,鉆孔,打磨,打磨,打開抽屜,擰緊螺絲,轉動螺絲刀等9 種動作做了研究,對于加速度值和聲音分別采用隱馬爾科夫模型(HMMS)和線性判別分析法(LDA),得出了在用戶依賴下98%,用戶無關下87%,用戶適應下95%的識別準確率.Mekruksavanich 等人[14]研究了辦公室久坐行為,使用智能手表中的加速度計和陀螺儀,通過WEKA 中的分類算法,得出了最高93.57%的識別率.
綜上來看,基于視覺的行為識別由于對光線、視角的要求較高,且不具備靈活便攜性,不適合鐵路工務場景下的行為識別,因此本文選擇基于加速度傳感器的方法,分析并模擬了7 種鐵路工務人員的常見行為,提取其時、頻域特征,最終通過WEKA 平臺完成了分類與測試,整體研究思路如圖1所示.

圖1 研究思路流程圖
本文選取鐵軌探傷工為代表,對其行為進行研究.根據媒體資料[15],可以看出鐵路探傷工的動作頻率較低,種類也比較固定,主要分為以下七類:上道、下道、行走、跑步、下蹲、起立、站立,它們的特點如表1所示.

表1 探傷工人行為類型及特點
本文對人體行為數據進行采集的傳感器模塊型號為BWT901CL,模塊集成了三軸加速度計、三軸陀螺儀、三軸地磁場傳感器,內置電池和藍牙,可實時給上位機傳送測量的數據.本文采集的是三軸加速度數據.
文獻[16]通過研究大量文獻,發現將加速度傳感器佩戴在人身體的腰部,比其它位置更穩固,也更加能反映人整體的運動情況.本文所研究的行為類型均為全身性行為,因此采用腰部固定的方式,如圖2所示.

圖2 傳感器BWT901CL 與佩戴方式
1.3.1 傾斜矯正
由于傳感器模塊在不同人體上固定的位置會略有偏差,為避免由此帶來的誤差,需要進行坐標系變換.如圖3所示,O-XYZ 為設備坐標系,相對于設備的位置不變;O-X’Y’Z’為觀察坐標系,其中OX’軸正方向對應于人體前進方向.

圖3 設備坐標系與觀察坐標系
設α1β1γ1α2β2γ2α3β3γ3 分別為觀察坐標系的軸OX’ OY’ OZ’在設備坐標系下與OX OY OZ 軸的夾角,根據坐標轉換公式(1)即可將測量值(x y z)轉換為統一的觀察坐標系下的值(x’ y’ z’).

1.3.2 去噪
傳感器采集到的運動數據不僅包含了人體運動產生的加速度,同時也不可避免的含有一些噪聲,主要有:傳感器的固有噪聲、傳感器在運動中的晃動、重力加速度的影響產生的噪聲,為保證后面工作的順利進行,需要對噪聲進行消除[17].
本文采用移動均值濾波算法對數據進行去噪處理.移動均值濾波算法是一種典型的線性濾波算法,對周期性噪聲干擾有良好的抑制作用.濾波所得的信號序列中第n個點的值yy(n),等于原始信號中第n個點y(n)及其相鄰M個點的均值,靠近頭尾部分的點在計算時,窗長依次減小,如公式(2)所示.

1.3.3 分割與標記
由于后續步驟中需要提取特征值,而特征值一般都是基于統計量的,這意味著需要加窗處理,將采集到的連續信號序列分割成有限的數據集合.根據大量研究顯示,窗長度對于行為的識別是很重要的,它應該至少能包括行為在一個周期內的數據[18,19],具體的長度根據傳感器的采樣頻率以及行為周期大小決定,本文使用的是矩形窗.為避免錯誤標記,窗口應該保持一定的重疊,有研究[20,21]表明,50%的重疊率對于特征選擇來說是最佳的,這意味著每一個窗口內有50%的數據和相鄰窗口中是一樣的.分割后的每個樣本中數據點個數即為窗長,每個樣本都給定一個標簽,表示該樣本的行為類型.
直接使用來自于傳感器的數據通常是不可能的,因此可以采用提取特征值的方式,供機器學習使用,選擇合適的特征值是實現高效識別的保證.本文對X、Y、Z 三軸的數據分別在時域和頻域提取了以下7 種特征.其中N為窗口長度,Ai表示該樣本中的第i個值.
(1) 均值
均值mean的計算公式為式(3),反映了加速度值的平均大小.

(2) 標準差
標準差std的計算公式為式(4),反映了動作的波動程度.

(3) 最大值
max是窗口內加速度數據的最大值,它代表了加速度值變化區間的上限.見式(5).

(4) 四分位距
四分位距IQR的計算公式為式(6),其中Q3和Q1表示將將整個窗口中的數據按升序排列并四等分之后,第三和第一個等分點處的數據.IQR反映了窗口內加速度值的分散程度,可以避免特殊值產生的干擾,對均值大小相近的行為有較好的區分效果.

(5) 任意兩軸的相關系數
任意兩軸的相關系數corr的計算公式為式(7),其中A和A’分別表示X、Y、Z 三軸中任意兩軸的數據,反映了任意兩軸數據之間的線性相關程度.

(6) 偏度
峰度skewness的計算公式為式(8),反映了加速度波形的左右偏移程度.

(7) FFT 系數
通過快速傅里葉變換(FFT)將時域內的加速度數值轉換到頻域范圍內,鐵路工務人員的動作頻率較低,因此只提取前三維系數,對應公式(9)中k=0,1,2 時計算的結果.

本文選取了4 種在行為識別研究中廣泛應用的分類器進行機器學習實驗,分別是C4.5 決策樹、隨機森林、KNN、SVM.KNN 算法的優勢在于分類思想簡單,且易于實現[17].C4.5 是一種較為成熟的決策樹算法,運算速度快,分類結果直觀,實用性強[22].隨機森林是一種組合分類算法,通過在樹的生長過程中引入隨機性,降低了決策樹之間的相關度從而降低集成學習算法的泛化誤差[23].SVM 是基于統計學習理論和結構風險最小化原理的監督學習算法,主要優勢在于減小了學習機的復雜性和訓練集的誤差并具有良好的泛化能力[14].
實驗共采集了8 人的加速度數據,性別男,年齡范圍20~28 歲,身高范圍1.6~1.8 m,體重范圍50~80 kg.
為了獲知坐標系的變換矩陣,在采集每人的數據之前,需要按照表2的要求,完成向量k和向量i的測定,采集過程分別如圖4(a) 和(b) 所示,理論上k與i之間的夾角為90°,但實際測量中人體姿態很難保持絕對的標準,因此夾角在87°~93°范圍內的,都視為合理的值,向量j的計算公式為式(10).


圖4 向量k 與i 的測定

表2 坐標系變換矩陣需要的采集量及要求
每人完成7 種動作,每種動作采集50 個樣本,實驗是在與現場基本相同的條件下完成的,其中上道和下道的坡度符合鐵路路肩的坡度標準,其余動作均在標準鐵軌下完成.如圖5所示,從左到右依次為下道、起立、跑步、下蹲、站立、上道、行走.

圖5 七種行為數據的采集
實驗預處理階段主要的參數設置如表3所示,其中濾波器窗長是通過MATLAB 軟件對采集數據進行濾波實驗后,確定的一個能使波形平滑但又不過于失真的值.由于樣本采集到的動作完成時間最多不超過2 s,所以滑動窗口取128,即2.56 s,足夠包含至少一個動作,同時符合2 的倍數的要求,便于FFT 的計算.

表3 預處理階段主要參數設置
本文使用懷卡托大學的開源機器學習平臺WEKA,選擇J48、RandomForest、IBk 和LibSVM 四種分類器,首先根據網格搜索法GridSearch 找到最優參數,如表4所示,然后通過10 折交叉驗證,具體做法是將帶有真實行為標簽的加速度特征值集合分成10 份,輪流將每1 份作為測試集,其余9 份作為訓練集,將得到10 次分類精度的平均值作為該方法的精度估計[22].表5給出了四種算法對于這7 種行為的平均識別準確率,表6~表9中是各算法具體的分類混淆矩陣,行表示的是樣本的真實類型,列表示的是分類器預測的類型,例如表6第一行數據表示:240 個下道樣本中,有237 個被識別為下道,1 個被識別為跑步,1 個被識別為站立,以及1 個被識別為上道.

表4 分類器與參數設置
從表5所示的平均識別準確率來看,四種算法對于特定的7 種動作均有較高的識別率,其中SVM 算法是表現最好的,而C4.5 決策樹算法相對最弱.

表5 四種算法的平均識別準確率(%)
由表6可知,C4.5 決策樹算法建立的模型在分類時,對每一種類型的樣本均存在一定的錯誤分類.這主要是因為決策樹的生長過程采用的是貪婪算法,如果不控制樹的生長,會很容易出現過擬合,為了解決這個問題,C4.5 算法包含了剪枝的功能,但是剪枝又會增加一定的錯誤率,因此是一種折中處理,最后得到的是一棵綜合指標較優的樹,這個結果是合理的.

表6 C4.5 決策樹的分類混淆矩陣
由表5、表7可知,隨機森林算法無論是總體平均識別率,還是對于各類型樣本的分類正確率,均優于C4.5 決策樹.隨機森林通過隨機對訓練樣本、特征值進行自舉重采樣,并建立很多決策樹組成“森林”,最后讓多棵樹投票進行決策,相較于決策樹算法,具有更好的泛化能力和分類表現.

表7 隨機森林的分類混淆矩陣
由表8可知,KNN 算法在本次實驗條件下具有很好的分類表現,除了“起立”和“下蹲”兩種行為會出現混淆以外,其余行為均識別正確.但是,由于KNN 在進行分類時,需要將新樣本與所有已知樣本進行比較和排序,當訓練樣本數量較大時,計算量會很大,這是在推廣到實際應用時應該考慮到的因素.

表8 KNN 的分類混淆矩陣
表9展示了SVM 算法的分類結果,可見容易混淆的行為仍然是“起立”和“下蹲”.在實驗過程中發現,SVM 的表現主要受懲罰系數cost、gamma 系數、核函數的選擇以及樣本是否過歸一化的影響,表中給出的是經過參數調優和歸一化之后得到的最優結果.

表9 SVM 的分類混淆矩陣
從4 個混淆矩陣來看,鐵路探傷工7 種主要行為中,“起立”和“下蹲”是最容易出現混淆的,原因主要是這兩類行為本身比較類似,現有特征值代表性還不夠,在今后的工作中應該提取更加能反映二者特性的特征值或者進一步擴大數據集.本文研究的4 種算法對其余5 種行為的識別均較好,在實際的工程應用中,可根據系統的架構、軟硬件性能等具體情況,選取最合適的算法.
本文使用加速度傳感器,采集了模擬條件下鋼軌探傷工的7 種行為數據,提取了27 維動作特征,通過對比C4.5 決策樹、隨機森林、KNN、SVM 四種分類算法采用10 折交叉驗證得出的識別結果,SVM 算法的識別準確率最高,為99.2%,在該數據集下有非常好的識別效果.該研究為消除鐵路現場作業人員的行為安全隱患具有一定工程應用價值.