馬立, 劉暢
(1.北京航天石化技術裝備工程有限公司, 北京 100076;2.北京科技大學 自動化學院, 北京 100083)
導航定位技術是利用能夠為被導航載體提供姿態(tài)及位置信息的電、磁、光、聲、天文、慣性等一系列信號進行導航的綜合技術,在現代軍事、交通、航空、航天等多個領域獲得了廣泛應用。當代導航技術分為很多種,主要的方式是以慣性導航技術為主,通過GPS、地形、地磁、無線電等其他輔助導航技術對慣性導航的結果進行誤差修正,從而得到載體運動時的精確位置信息。
而個人導航就是利用導航設備對使用者的位置進行定位并對其進行引導直至目的地的過程,或者是對行人的運動軌跡進行跟蹤的過程。在實際活動中,人們往往身處人跡罕至的野外,或是高樓林立、道路紛繁的城市,或是錯綜復雜的辦公大樓和商業(yè)大廈,這些情況使得人們對定位與導航信息有著非常迫切的需求。廣泛應用的GPS導航在地形復雜的叢林或高樓林立的城市會有導航盲點,這給個人航位推算導航以巨大的發(fā)展空間。
本文以對行人的運動狀態(tài)進行分類為突破點,就個人航跡推算中計算步長環(huán)節(jié)的精度提高,以增強航跡導航的精確度。
DR定位是一種完全自助式的定位方法, 其原理主要是利用航向傳感器和距離傳感器實時檢測目標的航向角和位移, 從而推算出移動目標的位置信息, 具有短時間定位精度高、自主性強等特點。對于行人導航定位來說, 加速度計可以提供行人步行的位置和速度測量信息, 而電子羅盤可提供行人行走的方向角信息。

(1)
其中,θi和di為第i次位移方向和位移距離。推算定位原理如圖1所示。

圖1 航跡推算原理圖
行走的方向角信息可以通過特定方法得到。且步長的計算模型隨行人運動狀態(tài)的不同而有所差異,本文做著重考慮的問題是通過特定方法得到行人的運動狀態(tài),從而建立準確的步長模型,以提高航跡推算的精確度。
運動分類已經有了很多的研究方法,研究手段上主要有兩個大的方向:基于計算機視覺[1]和基于傳感器數據[2]。而基于加速度傳感器的步態(tài)研究又有兩大分支,身份識別[3]和運動分析[4]。行人步態(tài)分類大部分是以行人運動過程中加速度特征值為基礎來進行分類。在特征值得提取上,可以選擇時域特征或者頻域特征。時域特征常用的有平均值、標準差、中值等統計量。在頻域方面,小波分解被廣泛應用于基于加速度信號的步態(tài)分類。
通過對采集的數據進行處理分析以區(qū)分靜止、跑、上下樓及平地行走等狀態(tài)。對采集到的原始數據要進行一下預處理,首先是利用滑動平均法對數據進行處理,滑動平均相當于低通濾波,能夠有效減少高頻噪聲的干擾,進一步突出數據本身的特點。另外要對采集到的原始數據進行歸一化處理。歸一化處理主要是考慮到由于每個人的行走習慣各不相同,采集到的樣本數據變化范圍也不盡相同,而步態(tài)分類的依據主要是不同行走方式之間的差異,由于個人行走習慣的不同造成采集到的數據的差異必然會對分類結果造成一定的影響。為了消除信號的數值大小對識別結果的影響,同時也為了簡化后續(xù)的處理過程,將對采集到的數據進行歸一化處理,經過這種無量綱的處理之后,把之前的絕對數值變成了相對數值的關系,從而達到了消除個體差異的目的,凸顯了行走模式的本質,是十分必要的。
讓實驗對象以快速、常速、慢速上、下樓梯和水平行走等各種形式行走,用三軸加速度傳感器分別對3個方向的加速度值信號進行采集分析可知側向加速度信號受個體差異較大,但是對于走路模式的識別影響較小,因此在本文中只選取垂直方向和前進方向的加速度信號進行分析。
根據本課題的實際情況,擬通過對三軸加速度計和磁羅盤輸出的信號進行一系列地處理,并根據不同運動類型之間的相關性來進行分類,從而得到行人的運動狀態(tài)。我們采集了多個個體的多種運動模式,包括快速、常速、慢速等不同速度的水平行走以及上樓、下樓梯等三維空間內的較復雜活動。從比較三維加速度信號時域圖開始到提取原始數據的頻域特征再到結合時頻域特征等各方面進行分析。根據我們的日常經驗和初步實驗分析,我們認為側向加速度信號受不同人的走路習慣影響變化較大,且對走路模式的識別貢獻較小,即個體區(qū)分大,不同類別間區(qū)分小。在特征的選擇上,本文的思路如圖2所示。

圖2 步態(tài)分類系統分類特征圖
回到對幾種步態(tài)的分類問題上,由于跑步、靜止這兩種運動狀態(tài)和步行的其他運動狀態(tài)差別較大,在豎直方向的加速度數值上就有很大的差別,所以可以通過簡單的設定豎直方向的加速度閾值可以將跑和靜止兩種運動狀態(tài)進行區(qū)分,大于某一個閾值運動狀態(tài)為跑,小于某一個閾值為靜止,在這兩個閾值之間的初步判斷為行走狀態(tài),再通過小波變換原理對行走狀態(tài)進行進一步的區(qū)分。
因為各個軸向輸出的加速度信號與走路模式、速度都相關,對于具有非平穩(wěn)性和非線性的加速度數據,僅提供它的時域特征和頻域特征對于步態(tài)分析有一定的局限性,而小波變換是一種時頻分析方法,能有效從信號中提取相關資訊,通過伸縮和平移等運算功能對函數或信號進行多尺度細化分析,能夠有效解決傅里葉變換不能解決的問題,由于這種理論無論是在時域還是在頻域上都有良好的局部化特征和多分辨率分析的特征,也被成為“數學顯微鏡”?,F在,對于性質不隨時間變化的穩(wěn)定信號,處理方式仍然是傅里葉分析方法,但是在實際應用中,絕大部分的信號時非穩(wěn)定信號,對于這類信號處理的工具為小波分析。
(1) 小波分析簡介
從濾波器的角度看,小波分析實質上就是通過建立一系列的帯通濾波器來獲取各個頻帶上信號的相關信息[5]。在離散小波變換中,先對較大尺度的信號進行小波變換,在選取其中低頻部分在原尺度的1/2尺度上進行小波變換,叫做Mallat算法。其單步流程如圖3所示。

圖3 離散小波分解的單步處理過程
根據快速正交小波變換算法(也稱為Mallat算法),信號S(n)定義如式(2)。

(2)
其中,J是分解層數。ψ,φ是S(n)在2j分辨率逼近下的小波函數和尺度函數,都是標準正交函數。aj,dj是2j分辨率下的近似系數和細節(jié)系數。
細節(jié)系數dj和近似系數aj的計算如式(3)、式(4)。
(3)
(4)
其中,h和g分別是離散的低通濾波器和高通濾波器。
因身體運動的頻率成分都在20 Hz以下,在研究中為減小小波分解層數,把加速度信號的采樣率降到80 Hz,如圖4所示。

圖4 離散小波變換的多尺度分解示意圖
根據乃奎斯特采樣定理得到可檢測頻帶0—40 Hz,對20 Hz的信號不會產生影響。由于Danbechies正交小波族具有良好的逼近性與穩(wěn)定性,采用db4小波基函數分別對采樣后的豎直方向加速度信號進行5層小波分解,提取與運動相關的時頻特征。其中第2到第5層細節(jié)信號對應的頻帶約為0.625-20 Hz,將人走路的步頻包括在這一頻帶范圍內。
(2) SVM(支持向量機)簡介
SMV是在1963年,Vapnik為了解決模式識別的問題提出一種稱為支持向量機(Support Vector Machine, SVM)的方法,這種方法對從所有的訓練集中選擇出的一組被稱為支持向量(Support Vector)的特征子集進行劃分,子集的規(guī)模比全部訓練集會小得多,并且對特征子集的劃分與對整個數據集的劃分結果是等價的,這樣就可以實現通過對相對小規(guī)模的子集分類而得到全部分類的目的[6]。
SVM從線性可分情況下的最優(yōu)分類面發(fā)展而來。最優(yōu)分類面對分類線的要求有兩點:一是首先保證分類線能將兩類正確地分開(即訓練錯誤率為0),二是不同兩類間的距離最大。SVM所要尋找的也是一個分類超平面,在滿足分類要求(不一定完全分開)的前提下盡可能地讓訓練集中的點到分類面達到最大的距離。換一種說法就是試圖找到一個使分類面兩側的空白區(qū)域(margin)最大的分類面??梢砸韵旅娴亩S線性可分情況來說明。
如圖5所示。

圖5 二維線性可分支持向量示意圖
圓圈和實心點分別代表兩類樣本,SVM要找到的是分類線H,是2類樣本能夠被完全分開,且距離最遠。H1和H2分別是經過兩類中距離分類線最近且平行分類線的直線。他們之間的間隔就是分類間隔(margin),直線H1H2上的樣本就叫做支持向量。滿足了正確分開和間距最大的條件也就保證了經驗風險最小和置信范圍最大從而使實際風險最小。
SVM是一種典型的兩類分類器,即它只回答屬于正類還是負類的問題。本課題由于要分類多種步態(tài),需要由兩類分類器得到多類分類器;具體的做法依類別數而定,下文會詳細介紹。
在對信號進行分析之前首先還是要進行一系列的預處理工作,用以去除各種噪聲和重力加速度,達到方便數據處理和提高分類效果的目的。在本課題的研究中應用了平滑、去噪、加滑動窗口和歸一化等預處理手段。
我們的目的是區(qū)分正常行走、跑步、靜止、上樓、下樓、等動作,實現對這5種動作的準確分類??偟乃悸肥怯刹顒e大的到易混淆的、由時域特征到統計特征再到特殊特征。
由于跑步、靜止、走步這三大類運動的差別較大,在豎直方向上的加速度就有明顯的差異,所以僅僅通過簡單的設定加速度閥值就可以判斷,即基于時域上的信號就可區(qū)分。即僅就這三種狀態(tài)而言,當采集到的加速度信號大于一個預先設定的閥值時為跑步,小于一個預定閥值時為靜止,在兩閥值之間時為行走狀態(tài)。
特征是決定樣本間相似性和分類器設計的關鍵,所以對步態(tài)進行分類的關鍵就是選取有效的特征。
基于此方法對行人運動狀態(tài)進行分類,分類結果如表1所示。

表1 利用加速度閾值進行分類結果
從實際檢測方法可以看出,對較為容易區(qū)分的步態(tài)特征,通過垂直方向加速度的值即可準確區(qū)分出靜止和跑,但是對于走的不同狀態(tài),還是需要更為細致的方法來進行區(qū)分,本文的重點就在于對走的不同狀態(tài)進行區(qū)分。
將步行分為上樓、下樓、平地快走、慢走四種狀態(tài)。不易分類的幾種步態(tài)利用SMV(支持向量機)方法來進行分類。
本文不易分類的步態(tài)選取了上樓下樓及平地走3種,用SVM完成三分類具體步驟如圖6所示。

圖6 兩類分類器得到多類分類器示意圖
我們就可以先問分類器“1對3”(意思是它能夠回答“是第1類還是第3類”),如果它回答3,我們就往左走,再問“2對3”這個分類器,如果它還說是“3”,我們就繼續(xù)往左走,這樣一直問下去,就可以得到分類結果。好處在哪?我們其實只調用了2個分類器(如果類別數是k,則只調用k-1個),分類速度飛快,且沒有分類重疊和不可分類現象!缺點在哪?假如一開始的分類器回答錯誤(明明是類別為1,它說成了3),那么后面的分類器是無論如何也無法糾正它的錯誤的(因為后面的分類器壓根沒有出現“1”這個類別標簽),其實對下面每一層的分類器都存在這種錯誤向下累積的現象。但是這種錯誤的累計不僅在這里有,在錯誤累積在一對其余和一對一方法中也都存在。
本文選用SVM作為分類方法,采集不易分類的運動狀態(tài)的加速度信號,對豎直方向的加速度信號以db4為小波基進行5層小波分解,將每一層的小波系數作為特征值來區(qū)分步態(tài)。通過試驗,選取第三層和第五層系數為特征量進行區(qū)分,得到結果如圖7所示。

圖7(b) 下樓與平地走分類結果

圖7(c) 上樓與平地走分類結果

圖7(d) 最后三分類結果
分類具體結果如表2所示。

表2 最后三分類結果
整體的準確率達到了96%,滿足實驗要求。
通過小波分析與SVM結合的方式可大大提高對行人步態(tài)分類的精確度,而且SVM方式通過MATLAB變成可以實現多種步態(tài)的分類,原理相同,且準確率較高,可以實現對行人多種步態(tài)的分類,進一步以步態(tài)為基礎計算行人步長,結合航位推算方法,即可大大提高行人導航的精度。