王 彬 付 雄 王俊昌
(南京郵電大學(xué)計算機學(xué)院 江蘇 南京 210023)
隨著可穿戴技術(shù)的飛速發(fā)展,可穿戴設(shè)備已經(jīng)在人們的生活中越來越普遍,但是在設(shè)備擁有者隱私保護方面尚未形成有效且標(biāo)準(zhǔn)的做法[1]。為了使各種可穿戴設(shè)備中的重要信息不外漏或不被盜取,需要可穿戴產(chǎn)品能夠?qū)崿F(xiàn)身份識別的功能。目前主流的口令、密碼等認(rèn)證方式雖然能有效地認(rèn)證身份,但存在著遺忘和丟失的問題,同時還需要用戶主動配合,這通常會帶來不必要的麻煩和損失[2]。
近年來,利用生物特征進行身份識別已經(jīng)成為計算機領(lǐng)域和生物醫(yī)藥科學(xué)領(lǐng)域中的首選安全驗證方式[3]。步態(tài)特征是生物行為特征中的一種典型特征,主要是指人在正常步行狀態(tài)下所表現(xiàn)出的行為特征,它不易被盜取而且廣泛存在[4]。步態(tài)特征差異通常表現(xiàn)在步頻、步長、腳落地時的輕重程度等幾個方面。利用人步行狀態(tài)下獨有的特點能夠有效地區(qū)分個體[5]。
目前基于步態(tài)特征的身份識別技術(shù)主要有以下三個方向:機器視覺、地面壓力傳感器和加速度傳感器。機器視覺的方法首先利用圖片拍攝或視頻錄制等手段采集用戶行走時的圖像信息建立個人信息庫,再通過圖像識別技術(shù)進行比對從而辨別不同的用戶[6],但其存在著視覺范圍、障礙物遮擋、拍攝角度、光線不足等問題,繼續(xù)發(fā)展和推廣應(yīng)用的局限性較大?;诘孛鎵毫鞲衅鞯姆椒ㄔ诘孛嫔箱佒脡毫鞲衅鳎缓蟛杉脩舨叫型ㄟ^時足底壓力的分布情況[7],但該方法需要在特定設(shè)備和場景下才能進行有效的身份驗證,實際中應(yīng)用較少。加速度傳感器具有不受視覺影響和場地限制、數(shù)據(jù)采集方便快捷的優(yōu)勢,因此基于步態(tài)特征的身份識別更多是依賴加速度傳感器實現(xiàn)。
近些年來,國內(nèi)外的專家運用加速度傳感器采集步態(tài)特征用于步態(tài)識別出現(xiàn)了很多方向。Derawi等[8]采用時間插值固定采樣點的時間間隔、平均周期長度,以步態(tài)樣本的幅值序列和時間序列為特征,利用動態(tài)規(guī)整算法(Dynamic Time Warping,DTW)計算不同長度序列的距離,識別率有所提高,但是需要在數(shù)據(jù)處理階段進行大量工作,包括數(shù)據(jù)歸一化、數(shù)據(jù)樣本維數(shù)調(diào)整,且在識別階段需要花費大量時間用于規(guī)整路徑,這對于計算能力有限的移動終端來說是不可接受的。
2019年,孔菁等[9]對手機自定義坐標(biāo)軸進行空間轉(zhuǎn)換,選用極大值、均方根、梅爾頻率倒譜系數(shù)等7種特征,使用支持向量機算法來對樣本進行訓(xùn)練分類,達到身份識別的目的。運用機器學(xué)習(xí)算法需要較高的配置,會帶來高能耗的問題,而且該算法高能耗換來的準(zhǔn)確度提升也不明顯。2019年,Sun等[10]提出一種速度自適應(yīng)步態(tài)周期分割方法和個性化閾值生成方法,采用基于快速傅里葉變換(FFT)的步態(tài)周期估計方法來提高步態(tài)分割的準(zhǔn)確性,使用皮爾森相關(guān)系數(shù)來衡量步態(tài)周期模板和用戶步態(tài)周期的相似接近程度。與具有固定速度和閾值的可用方法相比,在各種步行速度下的步態(tài)和用戶識別率得到一定改善。
然而上述研究都是基于恒定步行速度的假設(shè),而且都是在劃分出步態(tài)周期后,再應(yīng)用基于距離或度量函數(shù)的方法如DTW、PCC(Pearson Correlation Coefficient)進行識別,這就需要明確的步進周期檢測,會受周期檢測失敗和周期性相位錯位的影響[11]。在實際應(yīng)用場景中,會出現(xiàn)步行異常導(dǎo)致步態(tài)周期的不穩(wěn)定,這時單個步態(tài)周期在時域上不同,通過插值等手段度量單個步態(tài)周期頻域上的序列距離作為認(rèn)證標(biāo)準(zhǔn)具有片面性。
鑒于此,本文不針對單個步態(tài)的差距進行深入討論,著重于用戶行走習(xí)慣上的差異,提出步頻分布的新型步態(tài)特征,進行持續(xù)認(rèn)證下的步態(tài)周期分布差異研究,從而達到身份識別的目的。文獻[12]的研究表明,行人的步頻、步速同為Gauss(正態(tài)分布),平均步頻為1.96 step/s,而且步頻分布在不同人群中的差異性比較大,這也揭示了步頻分布用于身份識別的可行性。
本文提出一種基于步頻分布的身份識別算法,主要有兩部分組成:步頻分布模型的刻畫、身份識別算法。首先在數(shù)據(jù)處理階段對加速度傳感器的數(shù)據(jù)進行采集;然后在特征提取與建模階段通過動態(tài)閾值切割步態(tài),統(tǒng)計得到步頻分布建立步態(tài)特征模型;最后基于相對熵得到識別結(jié)果。實驗結(jié)果表明,基于步頻分布的身份識別算法的識別準(zhǔn)確率達到86%以上,可在大樣本認(rèn)證情況下有效地識別用戶身份,對比當(dāng)前的DTW和PCC算法,設(shè)備能耗最多不超過DTW和PCC算法的50%,提高了步態(tài)識別的準(zhǔn)確度,降低了可穿戴設(shè)備終端的能耗。
正常步態(tài)情況下,從一側(cè)腳跟著地開始到該側(cè)腳跟再次著地為止的時間被稱為一個步態(tài)周期。一個完整的步態(tài)周期分為首次觸地、支撐和擺動三個階段,每個階段對應(yīng)不同步態(tài)時期。步頻是人行走1 s的步數(shù)。通過計算一個步態(tài)周期的時間SingleStepTime來作為一步的時間,則步頻StepFrequency需要用一個完整步態(tài)周期的持續(xù)時間的倒數(shù)來表示。為簡化,本文直接使用一個完整步態(tài)周期的時間來作為刻畫步頻的一種方式,下文談?wù)摬筋l分布都指的是單個步態(tài)時間的分布。StepFrequency的計算如下:
(1)
本文提出一種基于步態(tài)切割的步頻分布生成算法,基本思想為:分析出人在行進過程中,加速度傳感器的信號呈現(xiàn)周期性的特征,以波峰為界限,切割傳感器信號獲得單個步態(tài),并統(tǒng)計單個步態(tài)周期的時間記錄入步頻分布。相關(guān)變量的定義如表1所示。
表1 變量和函數(shù)定義
首先對步頻分布區(qū)間進行處理,人行走一步的時間約為0.4~0.6 s[13],在區(qū)間[0.4,0.6]之間作m等分,則每個單獨步態(tài)都會分布在其中的小區(qū)間上,初始每個子區(qū)間為0。
接著對持續(xù)產(chǎn)生的加速度信號需要進行波峰的檢測,波峰需要滿足的條件:
(1)目前的信號Pi為下降趨勢;
(2)之前的信號Pi-1為上升趨勢;
(3)持續(xù)上升的次數(shù)等于2;
(4)信號值大于上閾值α。
在檢測到波峰之后,為了避免噪聲導(dǎo)致的“偽波峰”的影響,需要過濾掉波峰相距太近的情況,要求兩個相鄰波峰時間差大于兩個波峰差的閾值β。在行進過程中,不斷地梯度化更新波峰波谷的差值閾值μ,確??梢赃^濾掉噪聲的同時,不會遺漏掉有效數(shù)據(jù)。最后計算兩個相鄰波峰的時間差值d,遍歷步頻分布區(qū)間S找到對應(yīng)子區(qū)間Si,頻數(shù)加1。具體算法如算法1所示。
算法1基于步態(tài)切割的步頻分布生成算法
輸入: 加速度信號集合P。
輸出: 步頻分布序列S={S1,S2,…,Sm}。
1.初始化S每個區(qū)間
2.for eachPiinPdo
3. ifPi>Pi-1then
4.flag=true
5.count++
6. else
7.flag=false
8.count=0
9. if !flagandcount=2 andPi>αthen
10.p=Pi-1
11.Tp=Cp
12.T= 當(dāng)前系統(tǒng)時間
13. ifT-Tp>βandp-v>=μthen
14.Cp=T
15.d=Cp-Tp
16. 找到d所在的區(qū)間Si
17.Si++
18. end if
19. if(T-Tp)>βthen
20. 梯度化閾值μ
21. end if
22. else
23.v=Pi-1
24. continue
25.end for
26.returnS
算法在初始化步頻分布集合S時,劃分為m個小區(qū)間,時間復(fù)雜度為O(m);加速度信號集合P有n個數(shù)據(jù),遍歷P的時間復(fù)雜度為O(n),判斷波峰需要借助常數(shù)級的空間,空間復(fù)雜度為O(1);尋找單個步態(tài)落到的步頻分布區(qū)間,時間復(fù)雜度為O(m),算法整體時間復(fù)雜度O(m×n)。
相對熵,又稱為信息散度或KL散度,源于信息論,是衡量概率分布相似度的一種方式,表示一條信息的信息量大小和它的不確定性有密切關(guān)系。信息領(lǐng)域中,相對熵常用來量化兩個隨機分布之間的距離,當(dāng)這兩個隨機分布相同的時候,它們的相對熵為0,當(dāng)兩個隨機分布的差異越大時,它們之間的相對熵也會越大。
根據(jù)第1節(jié)基于步態(tài)切割的步頻分布生成算法,可以建立不同人物的步態(tài)特征模型,判斷兩份步態(tài)特征模型是否為同一個人是身份識別的最終目標(biāo)。本文在識別階段,首先對步頻分布處理,獲取步頻的概率分布,然后計算兩份步頻概率分布的相對熵來比較兩份步態(tài)數(shù)據(jù)的相似度,從而達到身份識別的目的。
假設(shè)對于一個未認(rèn)證的認(rèn)證者B,步頻分布為B(x)={B1,B2,…,Bn},其聲稱與目標(biāo)用戶A為同一個人。那么需要將認(rèn)證者B的步頻特征與用戶A的步頻特征進行比較,假設(shè)用戶A的一份步頻分布為A(x)={A1,A2,…,An},可以通過式(2)、式(3)計算A、B用戶的兩份樣本的步頻概率分布PA(x)={a1,a2,…,an}、PB(x)={b1,b2,…,bn}。
(2)
(3)
因此,樣本A(x)和B(x)的差異為:
(4)
式(4)計算得到的值,代表了概率分布PA(x)與PB(x)之間的差異的一個度量。然而通過一份樣本進行識別誤差很大,考慮到之前A用戶會有多份樣本存在,把之前的樣本也參與比較分析會提高識別準(zhǔn)確率。
對于用戶A已有的樣本A1={A11,A12,…,A1n}和A2={A21,A22,…,A2n}是同一個人的兩份樣本,可以計算A1和A2的相對熵:
(5)
式(5)可以應(yīng)用于合法用戶A的所有樣本{A1,A2,…,An},得到合法用戶A的平均相對熵:
(6)
對于一個聲稱用戶A的用戶B,應(yīng)用式(4),對于任意用戶A的樣本Ai(i=1,2,…,n),如果滿足:
Dkl(B||Aj)≤k×D(A)
(7)
那么認(rèn)定B是A的一個樣本,認(rèn)證成功;否則,認(rèn)定B是一個偽冒者。
假設(shè)樣本B聲稱是A用戶,兩份步頻概率分布P=(a:3/5,b:1/5,c:1/5),Q=(a:5/9,b:3/9,d:1/9),此時引入常量τ,然后可以將P和Q轉(zhuǎn)換為P′=(a:3/5-τ/3,b:1/5-τ/3,c:1/5-τ/3,d:τ),Q′=(a:5/9-τ/3,b:3/9-τ/3,c:τ,d:1/9-τ/3),并求Dkl(P′‖Q′)。
本文提出的可穿戴計算中基于步頻分布的身份識別算法,用于在可穿戴終端上能夠高效率低功耗地識別終端用戶。實驗選用Android系統(tǒng)平臺來評估本文的算法。在安裝開發(fā)好的應(yīng)用程序之后,以后臺服務(wù)形式運行在宿主機上,無須用戶手動干預(yù)。硬件環(huán)境為華為榮耀V9,操作系統(tǒng)為Android 7.0。
為了體現(xiàn)本文算法的優(yōu)越性,我們還與另外兩種經(jīng)典的步態(tài)識別算法進行對比測試。一種是基于DTW的步態(tài)識別算法[8],該算法使用頻域上的序列作為步態(tài)特征,使用DTW算法規(guī)整路徑,計算歐式距離來實現(xiàn)身份識別,本文簡稱這種算法為BDI(Base on DTW Identification);另一種是基于皮爾森相關(guān)系數(shù)相關(guān)相似性的模板匹配算法(PCC)[10],本文簡稱這種算法為BPI(Base on PCC Identification)。本文提出的算法簡稱為BSDI(Base on StepFrequency Distributed Identification)。
在實驗數(shù)據(jù)采集階段,利用Android Studio開發(fā)工具開發(fā)一個小型的應(yīng)用程序進行數(shù)據(jù)采集,設(shè)置采樣頻率60 Hz,并實時記錄數(shù)據(jù)到數(shù)據(jù)庫中。實驗平臺內(nèi)置三軸加速度傳感器,三軸加速度傳感器的坐標(biāo)系是以手機屏幕為基準(zhǔn)的相對坐標(biāo)系[14]。以手機的幾何中心為原點,X軸平行于手機機身的短邊且以向右側(cè)為正方向,Y軸平行于機身的長邊且以向聽筒方向為正方向,Z軸垂直于手機機身且以屏幕的朝向為正方向[15]。不同方向的加速度信號值如圖1所示。
圖1 加速度信號圖
在選取數(shù)據(jù)源時,由于Y軸和X軸在用戶行走時不太敏感,而Z軸和融合軸M(Mix)的加速度呈現(xiàn)較大的周期性特征[16],本文采用三軸加速度融合之后的融合軸M作為實驗數(shù)據(jù)。融合軸M的信號值計算為:
(8)
實驗采集階段共采集了不同身高、不同性別、不同年齡段共25名志愿者(編號1-25)兩天的步態(tài)數(shù)據(jù),每名志愿者每天手持手機步行時間大約20 min(去除起始與結(jié)束階段的不穩(wěn)定數(shù)據(jù)),統(tǒng)一在摩擦系數(shù)等客觀因素均相同的操場跑道進行步行。共采集了500(2×25×10)份樣本。單個樣本為步行200步在[0.4,0.6]的 20個小區(qū)間的步頻分布。每個志愿者步行前一天的數(shù)據(jù)用于訓(xùn)練,計算該志愿者在式(7)中的認(rèn)證閾值k。后一天用于后續(xù)實驗測試部分。
如圖2所示,本文選取了志愿者1-4展示步頻特征的差異性,顯而易見,同一個志愿者的不同樣本的分布擬合度很高,而不同志愿者的差異很明顯。
圖2 不同志愿者步頻分布圖
如圖3-圖4所示,實驗測試過程中,數(shù)據(jù)表明在計算相對熵衡量兩份樣本的相似度時,偽冒認(rèn)證的相對熵大都大于0.2,而真實認(rèn)證的相對熵穩(wěn)定在0~0.15之間。
圖3 志愿者1的樣本認(rèn)證相對熵對比圖
圖4 志愿者2的樣本認(rèn)證相對熵對比圖
圖3和圖4中,真實指的是同一個志愿者的不同樣本進行的交叉認(rèn)證,偽冒是其他志愿者的樣本分別來認(rèn)證志愿者1和志愿者2。
實驗訓(xùn)練階段利用25名志愿者的前一天的樣本訓(xùn)練,每個志愿者的10份樣本交叉認(rèn)證,令FRR(錯誤拒絕率)為0,計算得到25名志愿者在式(7)中的認(rèn)證閾值k,結(jié)果如表2所示。
表2 實驗結(jié)果
實驗測試階段,將25個志愿者進行1-25編號,取1號志愿者作為目標(biāo)用戶,選取1-25號每個志愿者的10個樣本進行認(rèn)證(以此類推到25號志愿者),共計進行實驗(25×25×10)=6 250次,識別結(jié)果如表2所示。
為驗證本文算法的性能和效率,將其與BDI、BPI兩種步態(tài)識別算法在兩個方面進行對比實驗:不同樣本量情況下識別率的對比,不同時間下持續(xù)認(rèn)證給設(shè)備帶來的能耗對比。實驗時BDI和BPI均采用60 Hz的采樣率。
以25個志愿者作為目標(biāo)人物,重復(fù)實驗取平均值,結(jié)果如圖5所示。逐漸增加偽冒認(rèn)證和真實認(rèn)證的樣本量,本文算法仍然可以保持86%以上的識別準(zhǔn)確率,而其他算法識別準(zhǔn)確率在隨著樣本量增大之后逐漸降低。真實樣本數(shù)是選取作為目標(biāo)用戶的樣本,偽冒樣本是其他志愿者的樣本。
圖5 不同樣本量下的識別率比較
進行能耗對比實驗時,實驗平臺榮耀V9手機所有的前后臺應(yīng)用關(guān)閉,僅運行本文的身份識別應(yīng)用程序,采用耗電量(mAh)作為能耗的體現(xiàn)。如圖6所示,本文算法無論是短時間的認(rèn)證,還是長時間的認(rèn)證,耗電量都很低,最多僅有其他兩種算法的50%。
圖6 不同時間下持續(xù)性認(rèn)證的能耗比較
由上述兩方面的對比實驗證明,本文算法在大樣本認(rèn)證情況下,具有較高的識別準(zhǔn)確率且能耗低。這表明,本文提出的基于步頻分布的身份識別算法能有效地識別身份,并可用于計算能力較弱、內(nèi)存小的穿戴式設(shè)備中。
本文針對現(xiàn)階段可穿戴計算領(lǐng)域中身份識別算法的低效和能耗大的問題,在充分分析步態(tài)構(gòu)成之后,著重考慮用戶的行為習(xí)慣,提出一種基于步頻分布的身份識別方法,刻畫一種新型的步態(tài)特征,并通過相對熵進行認(rèn)證。實驗證明,本文算法有著較高的識別準(zhǔn)確率和較低的能耗,在各種可穿戴設(shè)備上會有比較好的實際應(yīng)用價值。雖然本文算法準(zhǔn)確率比較高,但是在步態(tài)切換時不能表現(xiàn)出良好的識別度,未來將繼續(xù)改進本文算法,使其在實際應(yīng)用中有更高的實用性。