范書瑞, 賈雅亭, 劉晶花
1.河北工業(yè)大學(xué)電子信息工程學(xué)院,天津300401
2.中國科學(xué)院大學(xué)電子學(xué)研究所,北京100190
隨著信息科學(xué)和傳感器的發(fā)展,人體行為識別技術(shù)有了極大進(jìn)步.運(yùn)動模式識別技術(shù)廣泛應(yīng)用于競技體育[1]、健康檢測[2]、醫(yī)學(xué)研究和行人導(dǎo)航[3]等領(lǐng)域.采用智能手機(jī)、智能手表和智能手環(huán)等便攜設(shè)備獲取慣性測量單元(inertial measurement unit,IMU)與里程計(odometer,ODO)等傳感器數(shù)據(jù),并結(jié)合行為分析方法可以精準(zhǔn)解析物體姿態(tài)和軌跡信息[4].在人機(jī)交互[5]、智能義肢[6]等應(yīng)用中,姿態(tài)行為識別一直是研究熱點(diǎn).基于便攜設(shè)備的加速度傳感器行為識別技術(shù)[7-9]在老人或病人監(jiān)護(hù)等領(lǐng)域可以低成本且實時地獲得用戶的行為數(shù)據(jù),從而可以準(zhǔn)確快速地判斷出當(dāng)前用戶的活動情況.文獻(xiàn)[10]采用支持向量機(jī)(support vector machine,SVM)對信號幅值面積(signal magnitude area,SMA)進(jìn)行分類,但是特征過于單一.文獻(xiàn)[11]考察了標(biāo)準(zhǔn)偏差、最大值、最小值和均方根等16 種時域特征以及22 種頻域特征.文獻(xiàn)[12]對17 種特征進(jìn)行研究,提出了一種過渡感知的人體行為識別方法.文獻(xiàn)[13]考察了相關(guān)系數(shù)、熵、旋轉(zhuǎn)角、仰角、平均值、絕對偏差、四分位數(shù)、峰度、中位數(shù)、標(biāo)準(zhǔn)差和方差等時域特征以及能量、熵和DC 均值等頻域特征.上述研究成果所提取的特征在用于智能手機(jī)或智能手表等資源豐富的平臺上進(jìn)行行為分析時能取得一定效果,但是在特征計算時復(fù)雜度高、算法執(zhí)行速度低,嚴(yán)重影響了其行為識別的效率,限制了上述分類特征和分類方法的應(yīng)用范圍[14].因此在可穿戴設(shè)備和物聯(lián)網(wǎng)節(jié)點(diǎn)等資源較匱乏的場景中研究姿態(tài)識別特征顯得尤為重要.
特征選擇是根據(jù)事先明確定義的評估標(biāo)準(zhǔn)選擇原始特征子集的過程,達(dá)到消除不相關(guān)和多余的特征的效果.與降維技術(shù)如線性判別分析或主成分分析相比,特征選擇不會改變特征集的原始表示[15].本文在充分研究加速度傳感器時域特征的基礎(chǔ)上,采用特征選擇方法尋找最優(yōu)特征子集,最后采用支持向量機(jī)對分類效果進(jìn)行了評估.
本文通過層次分類方法分析加速度信號,統(tǒng)計時域特征進(jìn)行特征選擇,優(yōu)選后的特征集更能表征各種行為的突出特性.訓(xùn)練子集根據(jù)所選特征對SVM 進(jìn)行訓(xùn)練,得到相應(yīng)的參考模型,測試子集依據(jù)參考模型采用SVM 進(jìn)行分類評估.姿態(tài)識別結(jié)構(gòu)框架如圖1所示.
圖1 特征選擇流程圖Figure1 Feature selection flowchart
選擇出特征子集后,采用監(jiān)督學(xué)習(xí)方法對所選特征子集性能進(jìn)行評估.多類識別一般采用多分類器融合的體系結(jié)構(gòu),有級聯(lián)和并聯(lián)等多種方式.本文采用級聯(lián)的方式對特征進(jìn)行分層次選擇.將多個分類器串聯(lián)在一起,每一層次的特征直接用于有監(jiān)督學(xué)習(xí)模型訓(xùn)練與測試,為后一層次提供分類信息.這種級聯(lián)方式可以根據(jù)處理器資源按需選擇,尤其在遠(yuǎn)程定位追蹤領(lǐng)域,若監(jiān)測到靜態(tài)模式時關(guān)閉高功耗動作,監(jiān)測到動態(tài)模式時啟動實時定位和信息采集工作.該級聯(lián)方式是一種有效的節(jié)能方法,可用于長期遠(yuǎn)程追蹤.
SVM 是一種有效的人類活動識別和高維數(shù)據(jù)的機(jī)器學(xué)習(xí)方法,在最大余量的類之間尋找最優(yōu)分離決策超平面[16-17],具有主要的泛化能力和高度準(zhǔn)確的結(jié)果.作為一種監(jiān)督式學(xué)習(xí)技術(shù),可分析數(shù)據(jù)并識別回歸和分類應(yīng)用的模式.如果兩組點(diǎn)可以通過一個超平面在原來的維度上分開,那么它們是線性可分的;否則被認(rèn)為是線性不可分的.基于風(fēng)險最小化理論,SVM可以避免神經(jīng)網(wǎng)絡(luò)的過擬合問題,在高維空間創(chuàng)建最大超平面以區(qū)分非重疊類.SVM 的目標(biāo)是創(chuàng)建兩個平行超平面,找到平行平面之間的最大距離.
訓(xùn)練數(shù)據(jù)集D={{xi,yi}ni=1|xi ∈Rd,yi ∈{-1,+1}},在d維空間中有n個樣本,yi指類別,SVM 通過引入破壞邊緣束縛的松弛變量ξi,能夠處理不可分的樣本.松弛變量的值有3 個:ξi= 0指的是樣本距離超平面距離至少為1/||W||;0 ≤ξi≤1指的是樣本在邊緣之間;ξi≥1 是指樣本被錯誤分類.SVM 以最佳性能實現(xiàn)此方法,定義優(yōu)化的一般性分類超平面為
受限于yi(ωTxi+b)≥1-ξi ∧ξi≥0,?xi ∈D,其中參數(shù)C是一個常量,用來控制最大邊緣和最小損失之間的錯誤分類代價,指的是損失.
人體姿態(tài)初步可以分為6 種基本姿態(tài),其中包括3 種靜態(tài)姿勢(站姿、坐姿、臥姿)和3種動態(tài)姿勢(走路、下樓、上樓).本文只對這6 種姿態(tài)進(jìn)行研究,而不包含姿勢間的轉(zhuǎn)換.為了便于直觀觀察不同姿態(tài)之間的差異,圖2繪制了加速度信號的x軸、y軸、z軸、三軸合量以及SAA=|x|+|y|+|z|數(shù)據(jù)曲線.從圖中可以看到,動態(tài)姿勢曲線波動較大,靜態(tài)相對平緩,采用均值或者方差可以區(qū)分這兩種曲線;但是動態(tài)姿勢之間或者靜態(tài)姿勢之間的區(qū)分則需要深入研究.
圖2 三軸加速度數(shù)據(jù)Figure2 Tri-axis acceleration data
常用的統(tǒng)計特征包括均值、方差、標(biāo)準(zhǔn)偏差和均方根等,全面準(zhǔn)確地選擇特征子集會使機(jī)器學(xué)習(xí)模型更有效[18].本文采用了22 種時域統(tǒng)計量分別對采集到的三軸信號x、y、z,以及三軸合量VSM 和SAA 進(jìn)行計算,同時考慮三軸協(xié)方差、相關(guān)系數(shù)和信號幅度區(qū)SMA,最終得到117 種時域特征,如表1所示.
表1 時域特征標(biāo)號Table1 Time domain features number
本文采用層次化分類方法識別多種姿態(tài),將走路、上樓、下樓、坐、站立、躺6 種姿態(tài)分為5 個層次.層次1 為靜態(tài)和動態(tài),其中靜態(tài)包括坐、站立、躺,動態(tài)包括走路、上樓、下樓;層次2 區(qū)分走路與上、下樓;層次3 為上樓和下樓;層次4 為站立、坐、躺;最深一個層次5 是坐和躺.對每個層次分別進(jìn)行特征選擇,從117 個特征中選擇有效的特征子集:首先從層次1開始采用3 種算法進(jìn)行特征選擇,再依次對層次2~5 進(jìn)行選擇,以獲取識別所有層次的最佳特征子集,具體過程如表2所示.
表2 層次識別過程Table2 Level recognition procedure
采用3 種特征選擇算法(Fisher score、Relief-F、Chi square)對117 種特征進(jìn)行評估,將特征按照得分由高到低排列組合并分別作為支持向量機(jī)的輸入訓(xùn)練集以計算分類精度,最終從3 種特征選擇算法所得結(jié)果中找出一組最佳特征組合,將其輸入到支持向量機(jī)中得到分類模型,并對所選特征子集的分類精度進(jìn)行評估.
本文實驗采用加利福尼亞大學(xué)歐文分校(university of California Irvine,UCI)人體行為識別數(shù)據(jù)集HARV2[12]進(jìn)行數(shù)據(jù)處理及分類,采集數(shù)據(jù)來自30 名年齡在19~48 歲的志愿者,所有志愿者均佩戴一款腰掛的三星Galaxy SII 智能手機(jī),并遵循統(tǒng)一活動協(xié)議,動作包含6個姿態(tài):站立、坐、躺、步行、下樓和上樓.手機(jī)以50 Hz 對三軸加速度傳感器恒定速率進(jìn)行采樣,所得信號首先需進(jìn)行噪聲濾波預(yù)處理,然后以時間窗口2.56 s 和1.28 s 平滑窗口對原始數(shù)據(jù)進(jìn)行分片和統(tǒng)計分析,從117 個時域特征中提取特征子集.
在層次1 中將6 種動作分為靜態(tài)動作和動態(tài)動作兩類,靜態(tài)動作包括坐、站立、躺,動態(tài)動作包括走路、上樓、下樓.對靜態(tài)動作和動態(tài)動作進(jìn)行分類識別,通過3 種特征選擇算法得到由特征序號組成的數(shù)組,按照特征選擇方法的評分由大到小對特征進(jìn)行排序,可得到特征選擇曲線如圖3所示,其橫坐標(biāo)為支持向量機(jī)所使用特征的數(shù)量,縱坐標(biāo)為支持向量機(jī)分類準(zhǔn)確度.
圖3 層次1 的特征選擇曲線Figure3 Feature selection curve for Level 1
由圖3可以看出,特征選擇曲線在橫坐標(biāo)為10 時評分較高且此后趨于平穩(wěn),本文使用3種特征選擇算法對應(yīng)的得分最高的前10 個特征,如表3所示.從表3中可以發(fā)現(xiàn),這3 種特征選擇方法都選擇了特征序號為108,105,109,38,39 和35 的6 個特征.
表3 層次1 特征選擇排序Table3 Selected features for Level 1
這6 個特征兩兩組成子集,對數(shù)據(jù)訓(xùn)練集進(jìn)行特征計算,并輸入支持向量機(jī)以訓(xùn)練分類模型,然后使用測試集評估分類精度.采用這些特征選擇支持向量機(jī)對靜態(tài)和動態(tài)動作進(jìn)行分類識別可達(dá)到非常高的精度,對其進(jìn)行交叉驗證顯示,分類識別精度平均值為1.0,標(biāo)準(zhǔn)差為0.這6 種特征任意兩兩組合,對應(yīng)的識別精度都能獲得理想效果.其中信息熵和樣本范圍這兩種特征能以極高的精確度區(qū)分靜態(tài)和動態(tài)動作.
層次2 是對行走和上、下樓的分類進(jìn)行特征選擇.將行走作為一類,而上樓和下樓作為另一類,進(jìn)行一比一特征選擇,結(jié)果如圖4所示,在特征數(shù)量為20 時3 條曲線趨于平穩(wěn).
圖4 層次2 的特征選擇曲線Figure4 Feature selection curve for Level 2
選擇得分最高的前20 個特征如表4所示,特征序號為111,110,104,69,45,37,7,8,102,97,38,50.進(jìn)一步采用支持向量機(jī)將所選特征子集進(jìn)行訓(xùn)練和測試.由特征集(111,110,104,69,45,37,7,8,38)訓(xùn)練得到的分類精度最高,對其進(jìn)行交叉驗證可得精度平均值為1.0,標(biāo)準(zhǔn)差為0.由此可知,將這9 種特征作為輸入對支持向量機(jī)進(jìn)行訓(xùn)練,可以較準(zhǔn)確地識別走路與上下樓.依次減少特征時,精度逐漸降低,輸入特征子集為(111,110,104,69,45,37,7,8)和(111,110,104,69,45,37,7)時分類精度分別為0.994 和0.989;輸入特征子集為(111,110,104,69,45)時分類精度為0.983,分類效果同樣較理想.
表4 層次2 的特征選擇Table4 Selected features for Level 2
在層次3 中進(jìn)一步對上樓和下樓進(jìn)行分類,通過3 種選擇算法得到圖5所示結(jié)果.在20個特征以后曲線趨于平緩,獲得最優(yōu)特征子集,如表5所示.
對所選取的前20 個特征進(jìn)行進(jìn)一步評估可得,特征子集(94,3,100,52)得到的分類精度最高能達(dá)到0.991,其標(biāo)準(zhǔn)差為0.057.特征子集(94,3,100)得到的分類精度為0.983;特征子集(94,3)得到的分類精度也能達(dá)到0.973,其標(biāo)準(zhǔn)差為0.057.
圖5 層次3 的特征選擇曲線Figure5 Feature selection curve for Level 3
表5 層次3 的特征選擇Table5 Selected features for Level 3
在動態(tài)動作分類完成的基礎(chǔ)上,本實驗繼續(xù)對3 種靜態(tài)動作進(jìn)行區(qū)分,在層次4 中將躺和坐、站立進(jìn)行分類識別,使用3 種特征選擇算法,得到圖6所示特征選擇曲線.
圖6 層次4 特征選擇曲線Figure6 Feature selection curve for Level 4
從特征數(shù)為2 開始,F(xiàn)isher score 算法曲線一直維持平穩(wěn),Relief-F 和Chi square 曲線在選取5 個特征時有凹陷,后續(xù)保持平穩(wěn).選取每種方法得分?jǐn)?shù)最高的5 個特征進(jìn)行進(jìn)一步評估,如表6所示.
特征子集(0,116)作為支持向量機(jī)的輸入特征時,對躺和坐、站立進(jìn)行分類得到的精度非常高,對其進(jìn)行交叉驗證得到精度平均值為0.966,其標(biāo)準(zhǔn)差為0.084,與其他特征子集相比這組特征子集較為有效.
表6 層次4 的特征選擇Table6 Selected features for Level 4
在層次5 中對坐和站立進(jìn)行了分類識別,得到圖7所示的特征選擇曲線.Chi square 和Relief-F 在選擇前5 個特征時上升較快,之后基本趨于平緩;而Fisher score 對應(yīng)曲線在10 個特征后才能維持穩(wěn)定,同時觀察到3 條曲線趨于穩(wěn)定后均有輕微的起伏變化.為確保選擇到最優(yōu)特征,對每種算法得分最高的前25 個特征進(jìn)行分析,如表7所示.由這3 種特征選擇算法得到共同的特征為102,97,72,7,2,92,17,87,82,12,81,1,101,71 和16,采用支持向量機(jī)對特征子集進(jìn)行評估.
圖7 層次5 的特征選擇曲線Figure7 Feature selection curve for Level 5
表7 層次5 的特征選擇Table7 Selected features for level 5
特征子集(102,97,72,2)得到的分類精度為0.984,依次去掉特征72 和2 形成特征子集(102,97,72)和(102,97)所得精度也能達(dá)到0.976 和0.967,效果比較理想.而采用特征集(1,102)時,對其交叉驗證得到精度平均值為1.0,標(biāo)準(zhǔn)差為0,其分類效果最佳,對坐和站立的識別可以達(dá)到很高的精度.
對加速度傳感器數(shù)據(jù)進(jìn)行研究有助于提高人體姿態(tài)識別的精度.本文采用層次分類法對每個層次分別進(jìn)行特征選擇,對第1 層進(jìn)行特征選擇可知信息熵和樣本范圍,可以準(zhǔn)確地識別靜態(tài)動作和動態(tài)動作.對第2 層進(jìn)行特征選擇得到相關(guān)系數(shù)、協(xié)方差、功率以及偏態(tài)等9 種特征,能夠較高精度地識別走路和上、下樓.對第3 層進(jìn)行特征選擇得到50%分位數(shù)、90%分位數(shù)和平均值,這3 種特征可以較精確地識別上樓和下樓.對第4 層進(jìn)行特征選擇得到的特征SMA 可以很高精度地識別躺和坐、站立.最后對第5 層進(jìn)行特征選擇,得到90%分位數(shù)和y軸平均值這兩種特征,可用于高精度地識別坐和站立兩種動作.
實驗最終表明本文采用的Fisher score、Relief-F 和Chi square 特征選擇方法對117 個時域特征進(jìn)行選擇,獲得最優(yōu)的特征子集,適用于支持向量機(jī)層次分類法,所得特征相比于其他特征可以更精確地識別這6 種基本動作,而對于單層次采用多特征對多姿態(tài)的識別有待進(jìn)一步研究.