周露,宋浩蘭,白靜蕾,聞家豪,李繼亮
(西安石油大學(xué)電子工程學(xué)院,陜西西安 710065)
隨著科技的發(fā)展,傳感器技術(shù)廣泛應(yīng)用于健康狀況評估和健康監(jiān)護等領(lǐng)域。傳感器通過收集人們?nèi)粘;顒訝顟B(tài)、消耗的能量、睡眠質(zhì)量等行為數(shù)據(jù),進行分析處理,以達到監(jiān)測身體狀態(tài)的目的,從而對健康進行干預(yù),提供個性化健康實施方案的個人健康管理系統(tǒng)應(yīng)運而生[1]。人在一天中進行的運動是影響人體健康的主要因素,傳統(tǒng)的人體運動信息采集,是以圖像或視頻的方式跟蹤對象的運動,提取對象輪廓,最后根據(jù)圖像信息數(shù)據(jù)判斷運動對象的動作[2]。對于運動視頻圖像邊緣特征的自適應(yīng)識別,可以通過計算圖像灰度值,獲得圖像的主要信息,這種方法容易受光線與監(jiān)測區(qū)域的限制。加速度傳感器可以捕捉到對象的運動,而不受光線與監(jiān)測空間的限制[3-4],因此基于加速度傳感器數(shù)據(jù)采集系統(tǒng)的運動識別具有廣泛的應(yīng)用前景[5-6]?;诖思夹g(shù),以人體運動行為作為研究對象,使用加速度傳感器作為數(shù)據(jù)采集工具,完成對走路、站立、跑步、躺臥、上樓、下樓六種運動模式的數(shù)據(jù)采集。在此基礎(chǔ)上,利用支持向量機算法建模識別,實現(xiàn)人體運動模式識別。
實驗采集人體行走、站立、跑步、躺臥、上樓、下樓的運動數(shù)據(jù)。為了得到最具有代表意義的數(shù)據(jù),同時考慮到傳感器佩戴的穩(wěn)定性,穿戴方式也影響實驗數(shù)據(jù)的準(zhǔn)確性[7-9],實驗時需要合適的佩戴方式。傳感器佩戴在手腕上,行進間的擺手可以反映人體的運動情況,但是站立交談時也會有手臂的擺動,容易引入噪聲;傳感器佩戴在腿上或背上,數(shù)據(jù)相對可靠,但這樣的佩戴位置不容易形成易穿戴、好推廣的產(chǎn)品[10-12];綜合考察最終確定佩戴傳感器位置為皮帶扣處。傳感器佩戴位置示意及三軸正方向如圖1 所示,三軸組成的坐標(biāo)系為左手直角坐標(biāo)系。
圖1 加速度傳感器佩戴示意圖
根據(jù)文獻調(diào)研,人體運動頻率的范圍為0.5~20 Hz,常見動作不超過5 Hz[13]。根據(jù)香農(nóng)采樣定律,為了采集到真實可靠的人體運動信號,采樣頻率應(yīng)大于40 Hz。
實驗使用的加速度傳感器采樣頻率為100 Hz,量程為±16g,內(nèi)置電池與藍牙模塊,可以與手機連接進行數(shù)據(jù)傳輸與保存。傳感器實物與手機藍牙傳輸界面如圖2、圖3 所示。
圖2 傳感器實物圖
圖3 藍牙傳輸界面圖
支持向量機(Support Vector Machine,SVM)算法是由Cortes 和Vapnik 于1995 年提出,SVM 算法會從訓(xùn)練數(shù)據(jù)集中選擇一組特征子集,使得該特征子集成為劃分訓(xùn)練數(shù)據(jù)的邊界。支持向量機算法是一種監(jiān)督機器學(xué)習(xí)算法,十分適用于分類場景[14]。
SVM 算法本質(zhì)上是一個處理二分類問題的分類器,所以當(dāng)遇到多分類問題時就需要對分類器進行設(shè)計重組[15-16]。常見的SVM 多分類器的設(shè)計方法主要是通過組合多個二分類器進行設(shè)計,常見的有“一對一”法和“一對多”法。文中采用“一對多”法對支持向量機模型進行訓(xùn)練。
“一對多”法為:在一次訓(xùn)練中,把其中一個類別樣本標(biāo)記為+1,其余的類別歸為另一類,全部標(biāo)記為-1,使用重新標(biāo)記的數(shù)據(jù)訓(xùn)練一個SVM 分類器,以此方法遍歷所有類別。若有K個類別,則訓(xùn)練得到K個SVM 分類器[17-18]。在識別過程中,將未知樣本數(shù)據(jù)代入每一個分類器,對比計算結(jié)果,未知樣本為結(jié)果最大值的那一類。
為了提取到原始數(shù)據(jù)中對分類有貢獻的信息,選取200 個數(shù)據(jù)點劃分為一個窗口,即2 s 內(nèi)的加速度信息,按照50%重疊的滑動窗口對數(shù)據(jù)進行加窗處理,達到對原始運動信號的分割。在處理加速度信號時,每一軸的數(shù)據(jù)都包含不同的特征,特征反映出來的差異對機器學(xué)習(xí)算法的訓(xùn)練有巨大作用。
文中提取的主要特征包括三軸加速度信號的均值、標(biāo)準(zhǔn)差、眾數(shù)、極差、最大值、最小值、中值絕對偏差。為了盡可能多地提取信號的時域特征,對三軸加速度信號求取了一階導(dǎo)數(shù),并提取了一階導(dǎo)數(shù)對應(yīng)的時域特征,從原始信號與信號導(dǎo)數(shù)中共得到42個特征量。
各特征量的介紹如下:
均值特征為在一個窗口內(nèi)的加速度數(shù)據(jù)的平均值,其計算公式如式(1)所示:
標(biāo)準(zhǔn)差特征為在一個窗口內(nèi)的加速度數(shù)據(jù)的標(biāo)準(zhǔn)偏差,標(biāo)準(zhǔn)差表示數(shù)據(jù)偏離平均值的程度,標(biāo)準(zhǔn)差越大,說明數(shù)據(jù)的離散程度越大,也就意味著受試者的加速度變化程度大,標(biāo)準(zhǔn)差可根據(jù)式(2)計算。
最大(?。┲堤卣鳛樵谝粋€窗口內(nèi)采集到的加速度數(shù)據(jù)的最大(?。┲?。
中值絕對偏差特征為在一個窗口內(nèi)的加速度數(shù)據(jù)的中值絕對偏差,相比于標(biāo)準(zhǔn)差,中值絕對偏差中異常值權(quán)重小,少量的異常值對中值絕對偏差影響較小,可根據(jù)式(3)計算。
極差特征為在一個窗口內(nèi)加速度數(shù)據(jù)的最大值和最小值之差。極差特征可以用來反映信號變化的劇烈程度,比如跑步信號的極差比步行的極差大很多,下樓的運動狀態(tài)也存在較大的極差,這是區(qū)分運動模式的重要特征,極差可根據(jù)式(4)求得:
眾數(shù)特征為在一個窗口內(nèi)加速度數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)據(jù)。
對三軸加速度信號求取了一階導(dǎo)數(shù),根據(jù)計算結(jié)果,提取加速度一階導(dǎo)數(shù)的均值、標(biāo)準(zhǔn)偏差、最大值、最小值、中值絕對偏差的特征。
對走路、跑步、站立、躺臥、上樓和下樓共六種動作進行加速度特征提取,加速度的特征數(shù)據(jù)作為支持向量機模型的輸入數(shù)據(jù)。
該次實驗有28 名志愿者參與,受試者將傳感器佩戴于皮帶扣位置如圖4 所示,所有受試者采用相同方向佩戴傳感器,采集了每位受試者的上樓、下樓、行走、跑步、站立、躺臥六種狀態(tài)數(shù)據(jù)。在采集過程中,受試者不受任何約束,不規(guī)定先出左腳還是右腳,在采集站立與躺臥的數(shù)據(jù)時,不規(guī)定受試者的站姿與躺臥的姿勢,完全按照自己的習(xí)慣執(zhí)行相應(yīng)的動作。
圖4 傳感器實際佩戴狀態(tài)圖
實驗過程中,一共成功采集了28 名志愿者的數(shù)據(jù),每名志愿者的實驗數(shù)據(jù)包含六種狀態(tài),每種狀態(tài)的測量時間約為5 min,實驗中應(yīng)用的加速度傳感器同時測量記錄三個方向的加速度信號。
六種運動狀態(tài)的原始加速度的三軸數(shù)據(jù)曲線圖如圖5 所示,從圖中可以看出,不同的運動行為產(chǎn)生的加速度信號存在較大差異,其中站立與躺臥兩種運動狀態(tài)下,加速度變化很小。
圖5 各種運動狀態(tài)的原始加速度數(shù)據(jù)
站立狀態(tài)時X軸信號為1g,躺臥狀態(tài)時Z軸信號為1g,這是由于站立與躺臥時加速度傳感器的朝向不同;跑步時X軸加速度峰值超過3g,且頻率比行走時的頻率高;上樓時X軸加速度的變化范圍為0.5g~1.7g,而下樓時Y軸加速度的變化范圍為0.5g~2.1g。
采集結(jié)束后,對采集的數(shù)據(jù)進行加窗處理并進行特征值提取,對來自不同狀態(tài)的信號的數(shù)據(jù)打上標(biāo)簽加以區(qū)分,最終得到32 320 個樣本。
圖6 為多種運動模式下X軸加速度最大值的分布,跑步狀態(tài)、站立狀態(tài)、躺臥狀態(tài)的分布呈現(xiàn)出特有的規(guī)律。走路狀態(tài)、上樓狀態(tài)、下樓狀態(tài)在此特征中混淆在一起。X軸加速度最大值是區(qū)分跑步、站立、躺臥三種狀態(tài)的一個重要的指標(biāo)。圖7為Y軸加速度標(biāo)準(zhǔn)差的分布,下樓狀態(tài)的數(shù)據(jù)與走路狀態(tài)、上樓狀態(tài)的數(shù)據(jù)范圍不同,此特征可用于區(qū)分下樓狀態(tài),而站立狀態(tài)與躺臥狀態(tài)在此特征中呈現(xiàn)混淆。在識別模型中,綜合多個特征條件進行模型訓(xùn)練與識別。
圖6 X軸加速度最大值分布
圖7 Y軸加速度標(biāo)準(zhǔn)差分布
使用Python 的機器學(xué)習(xí)scikit-learn 庫建立支持向量機分類模型,通過網(wǎng)格搜索方式尋找支持向量機的最佳核函數(shù)以及軟間隔參數(shù)。識別結(jié)果見表1,識別的準(zhǔn)確度可根據(jù)式(5)求得:
表1 模型識別的準(zhǔn)確度結(jié)果
站立、步行、躺臥、跑步、上樓和下樓六種狀態(tài)時的識別準(zhǔn)確度分別為98.08%、89.59%、100%、98.93%、83.67%、88.39%,總體識別的準(zhǔn)確度為93.84%。
實驗結(jié)果表明,人體躺臥狀態(tài)的傳感器方向與其他五種狀態(tài)不同,因此信號特征明顯,達到了100%的識別。站立信號的變化幅度小,跑步信號的變化幅度大、頻率高,因此識別準(zhǔn)確度也超過了98%。針對步行、上樓與下樓三種狀態(tài)的識別準(zhǔn)確度較低,表2 中展示了詳細的混淆情況。
表2 識別結(jié)果的混淆矩陣
該文使用三軸加速度傳感器采集了人體常見的六種運動狀態(tài),通過提取信號的時域特征信息,并訓(xùn)練支持向量機分類器,最終達到93.84%的總體分類識別準(zhǔn)確度。實驗結(jié)果表明,支持向量機分類器能夠較好地識別人體行為。如今大部分的可穿戴設(shè)備都配置有加速度傳感器,因此文中的算法有較好的移植性。由于實驗中的受試者全部為大學(xué)生,得到的信號規(guī)律存在局限性,下一步計劃將其他年齡段人群的數(shù)據(jù)歸入模型訓(xùn)練之中,提高模型的通用性并實現(xiàn)更多行為的識別。