基於步態的可穿戴設備用戶識別方法及系統與流程
2023-06-03 04:09:31 1

本發明屬於用戶識別技術領域,具體涉及一種基於步態的能量高效的可穿戴設備用戶識別方法及系統。
背景技術:
可穿戴設備越來越流行。一方面,可穿戴設備可以收集穿戴者數據並能夠幫助改善穿戴者的生活質量;另一方面,可穿戴設備收集的穿戴者數據暴露可能損害穿戴者的日常生活。理想狀態下,用戶希望使用可穿戴設備,但不用擔心個人隱私信息的洩露。研究近期的解決方案或者忽略了用戶識別系統帶著的能量消耗,或者添加了昂貴的硬體設備,或者需要用戶執行特定的運動過程來完成數據建模。
技術實現要素:
為解決上述問題,本發明基於研究中已得出的「每個人的步態特徵具有唯一性」的結論,將用戶走路時的步態特徵作為用戶身份的識別特徵,提出一種通過加速度傳感器收集步態數據,對用戶步態建模和分析,通過與分類模型輸出值來識別當前用戶身份的方法和系統,降低用戶識別系統的能量消耗,增強對用戶隱私和安全的保護。
在本發明所公開的基於步態的可穿戴設備用戶識別方法如下:
將加速度傳感器自動收集用戶數據進行預處理並得到用戶步態數據,提取用戶步態數據的特徵值並輸入至用戶分類器,根據用戶分類器的輸出結果即可判斷用戶是否為可穿戴設備擁有者。
進一步的,用戶分類器的建立包括以下步驟:
s1、加速度傳感器自動收集用戶的動態數據;
s2、對收集的動態數據進行預處理,即採用數據平滑法過濾掉用戶的非步態數據;
s3、對預處理後的步態數據提取特徵值,並形成由多個特徵值組成的用戶步態數據特徵向量;
s4、將多個特徵向量作為一類支持向量機方法的訓練數據,對步態特徵訓練並形成用戶分類器;
進一步的,在後續使用中,系統將經過步驟s1至s3得到的用戶步態數據特徵向量作為分類器的輸入,分類器根據用戶步態數據特徵向量進行數據分類,判定用戶是否為可穿戴設備擁有者。
進一步的,分類器判斷是可穿戴設備擁有者時,可穿戴設備會正常解鎖讓用戶使用,否則,可穿戴設備被鎖定不被用戶使用。
進一步的,加速度傳感器為可穿戴設備自帶的(內置的)三向加速度傳感器。
進一步的,s1中通過動態數據收集方法收集用戶的動態數據,即將數據收集時間劃分為多個時間片,加速度傳感器在每個時間片中隨機選取一個時刻收集數據,若當前時刻加速度傳感器收集到是動態數據,則繼續在當前時間片收集,若當前時刻收集到是靜態數據,則放棄在該時間片的數據收集,加速度傳感器會進入休眠狀態,直到下一個時間片被喚醒。
進一步的,通過傅立葉變換計算收集數據的頻率大小並判斷當前數據是靜態數據還是動態數據。
進一步的,s2中,利用快速傅立葉變換對收集的動態數據進行分析,得到動態數據的頻率分布,對傅立葉係數峰值點對應的頻率不符合特定頻段的動態數據認為是非步態數據,並直接選擇丟棄。
進一步的,s3中的用戶步態數據特徵值至少包括步態數據的均值、標準差、方差、平均絕對偏差、四分位距、功率和能量中的兩種。
進一步的,加速度傳感器為三向加速度傳感器,對三向加速度傳感器採集的三個方向上的加速度進行合成得到加速度mi,將n個合成後的加速度mi放入一個窗口中用於一組特徵值數據的提取,並得到一個對應的用戶步態數據特徵向量,即一條一類支持向量機方法的訓練數據,其中,
式中,xi,yi,zi是在i時刻三個軸上的加速度。
進一步的,s4中所述的一類支持向量機方法如下:
使用核函數將得到的步態數據特徵值轉換到高維的特徵空間,並在這個特徵空間內建立一個用於數據區分的最大間隔超平面,即分類器;最大間隔超平面的建立是通過計算所有訓練樣本的最小距離距離,即:
(ω·φ(xi))≥ρ-ξi(i=1,2...,lξi≥0)
式中,ω和ρ都是超平面參數,φ是從輸入空間到特徵空間的映射函數,v是允許的異常值的漸近分數,l是訓練集合的數量,ρ是一個鬆弛變量;
決策函數用於輸出最終數據區分結果,在後續使用時,用戶數據輸入分類器後,通過決策函數輸出值即可用於識別用戶,決策函數f(x)的計算公式為:
f(x)=sgn(ω·φ(x)-ρ)
其中,sgn為符號函數;
事實上,通過核函數轉換數據七個特徵值後,一類支持向量機改變原始數據集為第二分類的唯一成員,使用鬆弛參數分離數據集中的一個類,然後使用標準的二分類支持向量機;一類支持向量機算法返回一個函數f在小區域中取值為+1,在其他區域中取值為-1,即決策函數f取值為「+1」時為可穿戴設備擁有者,否則取值為「-1」。
進一步的,使用的核函數是高斯核函數。
本發明還公開一種基於步態的可穿戴設備用戶識別系統,採用上述用戶識別方法的進行可穿戴設備的用戶識別,具體可包括數據採集模塊、預處理模塊、步態數據特徵值提取模塊、分類器訓練模塊及用戶識別模塊。
本發明與現有技術相比,在能量高效、降低噪點和減少用戶幹預三個方面均具有較大的改進,具體有益效果如下:
(1)能夠通過可穿戴設備的內置傳感器收集步態數據,並建立用戶分類模型(分類器),無需用戶單獨再執行特定的運動過程,減少了對設備擁有者的幹預,能自動的使用當前獲取的可穿戴設備擁有者數據,提取步態特徵值,並建立分類模型,明顯降低了可穿戴設備識別的能量消耗。
(2)能夠準確識別當前用戶身份,增加了可穿戴設備擁有者的隱私性和安全性。
(3)採用動態收集算法收集數據,減少不必要的數據收集時間段,降低能量的消耗。
(4)利用快速傅立葉變換更加精準的收集步態數據,去除噪點數據,提供用戶身份預測的精度。
(5)使用一類數據挖掘分類方法中的一類支持向量機算法,通過使用無幹擾的數據進行數據分類模型的訓練,極大地減少了對用戶的幹預,也進一步降低用戶識別系統的能量消耗。
附圖說明
圖1可穿戴設備用戶識別方法流程圖;
圖2中,(a)為行走時採集的數據圖譜,(b)為上下樓採集的數據圖譜。
具體實施方式
下面結合附圖和具體實施例,對本發明作進一步說明。
如圖1所示,本發明所公開的基於步態的能量高效的可穿戴設備用戶識別方法,主要分為兩大階段,即分類器建立階段和通過分類器實現可穿戴設備用戶識別階段。具體包括以下5個步驟:
步驟1:動態數據收集
通常採用加速度傳感器來收集用戶的步態數據,實施例中可直接使用可穿戴設備自帶的三向加速度傳感器收集用戶步態數據,無需額外增加硬體,節約成本,減少能耗。
收集數據會產生很多冗餘數據並且會對可穿戴設備消耗更多的能量,而一個小的精準的步態數據集既能夠減少能量消耗,又能夠提高預測準確度。為了能夠更加準確地收集數據集和節約能量,本發明設計了動態數據收集方法,通過傅立葉變換計算收集到的數據的頻率,通過頻率的大小判斷當前數據是靜態數據(頻率為0或近似為0)還是動態數據。使可穿戴設備內置的加速度傳感器在用戶動態(即通常認為的走路、跑步、上下樓、爬山等運動狀態)時收集用戶數據,在檢測到用戶的靜態(即通常認為的睡覺、靜坐、日常電腦前辦公等靜止狀態)數據時,加速度傳感器進入休眠狀態。具體方法如下:
我們將數據收集時間劃分為多個時間片,其中數據收集時間被定義為用戶穿戴可穿戴設備的所有時間。加速度傳感器在每個時間片中隨機選取一個時刻收集數據。如果當前時刻加速度傳感器收集到運動數據,則可穿戴設備用戶識別系統會繼續在當前時間片收集數據,如果當前時刻收集到用戶靜止數據,則放棄在該時間片的數據收集。將數據收集時間定義為t,分成n個時間片,每個時間片的時間為θ。每個加速度傳感器在時間片[0,θ]維持一個計數器c,一個閾值k,和計時器t。k表示在一個時間片內系統數據收集次數,是一個比較小的整數,如1,2,3。θ是一個時間常量,θ的取值範圍可設置為30s。計時器t為[0,θ]範圍內的隨機值,用於在[0,θ]範圍內隨機選取一個時刻進行數據收集。
當加速度傳感器在一個時間片內開始收集數據,並檢測到當前用戶數據是動態數據,加速度傳感器會給c加1。在t時刻內,如果c<k且用戶正在運動,則持續收集數據直至時間片結束;否則,加速度傳感器會進入休眠狀態,直到下一個時間片被喚醒。當一個時間片的數據收集工作完成,c的值會被重置為0,t的值會被重置為[0,θ]範圍內的隨機值。
可見,本發明採用動態數據收集方法來減少硬體設備的能量消耗,不需要用戶進行特定的步行數據收集階段。可穿戴設備內置的加速度傳感器在用戶步行時收集用戶數據,在檢測到用戶的其他的步態時,加速度傳感器進入休眠狀態。這種動態數據收集方法能大大減少硬體設備的能量消耗,達到能量高效。
步驟2:動態數據平滑處理
步態,即正常走路時所表現的姿態。用戶的日常運動狀態中包含多種,如走路、跑步、上下樓等,對應的動態數據也包含走路數據、跑步數據、上下樓數據等,而用於本發明模型的訓練的數據僅限於正常走路數據,即,步態數據(注,本發明中所述的步態(數據)、走路(數據)、行走(數據)和步行(數據)指的是同一個意思)。本發明發現使用加速度傳感器收集到的原始動態數據幾乎不能用於模型的訓練,其中包含太多的非正常步態噪點數據,因此需要進行預處理。
為了過濾非步行噪點數據,在數據收集過程中,同時結合數據平滑方法,減少其中非走路步態的噪點數據。眾所周知,人在各種行走狀態有不同的頻率,如,跑步的頻率、上下樓的頻率是和行走的頻率完全不同的。如圖2所示,x軸代表活動頻率,y軸表示傅立葉係數,找到係數的峰值,然後其對應的橫坐標即為當前數據活動頻率。從圖2中可以觀察到上下樓的周期與行走的周期完全不同。故,可通過各種運動狀態的傅立葉係數峰值點對應的橫坐標獲取運動狀態的活動頻率,從而對不同的運動狀態進行區分和過濾。具體可結合快速傅立葉變換實現數據平滑方法,即,利用快速傅立葉變換對動態數據的進行分析,得到各類運動狀態對應的動態數據的頻率分布,當發現當前動態數據的傅立葉係數峰值點對應頻率不符合特定頻段的,則認為該數據不是步行數據,直接選擇丟棄,以此過濾掉收集的動態數據中非步態數據,即噪點數據。其中,特定頻段指的根據經驗值得到的用戶步態數據的頻率分布範圍。可見,通過數據平滑處理,可降低噪點,減少用戶幹預,更加精準的收集步態數據,提升用戶身份預測的精度。
步驟3:步態數據特徵提取
許多流行的智能可穿戴設備,如:applewatch,samsunggears2和華為手錶都是內置加速度傳感器的。實施例中同樣使用的是3向(x,y,z)加速度傳感器進行數據採集,其中,xi,yi,zi分別代表i時刻該方向上的加速度。考慮到加速度傳感器每次可能被放置在不同的位置,而傳感器的位置會影響三個方向的加速度大小,故通過計算三個方向上合成後的加速度的大小來消除方向對加速度測量的影響:其中,xi,yi,zi是在i時刻三個軸上的加速度。
將n個加速度數據放入一個窗口(相當於多個數據的集合)中{min,...,min+n-1}(i=0,1,2,...),通過將多個加速度數據放在一個窗口,作為後續分析計算的基礎(即用於提取特徵值數據),可以減少數據冗餘,提高用戶識別的準確度。
實施例中,將一個窗口中經過平滑處理後的步態數據提取均值、標準差、方差、平均絕對偏差、四分位距、功率和能耗七個值作為用戶步態數據的特徵值,通過對n個加速度數據提取七個特徵值來提高用戶識別的準確度,各特徵提取公式如下:
均值:
標準差:
方差:
平均絕對誤差:
四分位距:iqr=q3-q1
功率:
能耗:
以上公式中,表示在i時刻xi,yi,zi三個軸方向上合成後的加速度,q1和q3分別表示一個窗口中的上中位數和下中位數。
在分類器建立階段,可將得提取的七個用戶步態數據特徵值組成一個特徵向量,每一個特徵向量可作為分類器作為訓練集中一個訓練樣本。在分類器建成,用戶識別階段,形成的特徵向量作為分類器的輸入進行用戶識別。
步驟4:當前數據分析
傳統上,機器學習應用是使用訓練數據訓練分類器,並生成分類模型(本文中分類器、分類模型、數據模型指的是一個意思),然後通過執行分類模型對測試數據進行分類。
在多分類或者多分類場景中,已經很多分類方法被提出。但是,本發明考慮訓練數據集只來自一個可穿戴設備擁有者的情況。在獲得更多陌生人的數據集時,我們希望能夠區別可穿戴設備擁有者和陌生人的身份,這種情況稱為一類分類。可以想像一種場景,當一個小偷竊取了可穿戴設備,設備擁有者希望設備可以識別當前穿戴該設備的用戶是否為設備擁有者。在這種場景中,提前收集小偷的數據作為測試數據是不現實的。如果我們使用監督性數據學習方法來訓練分類器,對於這種情況,數據模型沒有辦法來對小偷的數據做身份預測。但如果只有一類訓練數據,能否將測試數據進行正確的分類呢?在機器學習中,支持向量機(svm)是與相關的學習算法有關的監督學習模型,可以分析數據,識別模式,用於分類和回歸分析。本發明使用一類支持向量機(one-classsvm)方法來對唯一用戶數據集進行用戶身份分配。使用可穿戴設備擁有者的訓練數據創建數據模型,如果新收集的數據與數據模型相差太多,模型可以根據一些方法標記新收集的數據為非設備擁有者數據,使得設備可以識別出當前用戶不是設備擁有者。
傳統的支持向量機(svm)通過一個非線性函數將數據投影到一個非線性決策邊界中。一類支持向量機中,使用核函數將得到的步態數據特徵值轉換到高維的特徵空間,在這個空間建立一個最大間隔超平面用於數據區分。最大間隔超平面即為分類器,超平面的建立是通過計算所有訓練樣本(即特徵向量)的最小距離距離,即:
(ω·φ(xi))≥ρ-ξi(i=1,2...,lξi≥0)
式中,ω和ρ都是超平面參數,φ是從輸入空間到特徵空間的映射函數,v是允許的異常值的漸近分數,l是訓練集合的數量,ρ是一個鬆弛變量。
決策函數用於輸出最終數據區分結果,決策函數f(x)的計算公式為:
f(x)=sgn(ω·φ(x)-ρ)
其中,sgn為符號函數:
事實上,通過核函數轉換數據七個特徵值後,一類支持向量機改變原始數據集為第二分類的唯一成員,使用鬆弛參數分離數據集中的一個類,然後使用標準的二分類支持向量機。一類支持向量機算法返回一個決策函數f在小區域中取值為+1,在其他區域中取值為-1,從而完成數據的分類。
實施例中,使用可穿戴設備穿戴者步行特徵作為訓練集,即通過步驟1至3獲得的多個由七個步態數據特徵值組成的特徵向量,使用高斯核函數(rbf,)作為核函數轉換訓練集到高維空間(數據在二維空間中不可劃分,而在三維空間中則可以劃分)。其中,核函數是為了讓二維數據轉化為多維數據,方便數據區分,而選擇高斯核函數是因為相對簡單並且計算更快。
值得注意的是,分類模型成型後,還可對後續收集的步態數據再訓練,實現更新分類,以進一步提高用戶識別的準確度。故分類模型可包括初始成型和實時更新兩個子步驟,即:
初始成型:將第一時間段收集的所有步態數據經過數據平滑處理,計算出特徵向量後作為一類支持向量機方法的訓練數據,得到的數據模型,即初始模型;
實時更新:將上一時間段收集的所有步態數據再作為一類支持向量機方法的訓練數據,並對上一時間段形成的訓練模型進行實時更新,更新後的訓練模型作為本時間段的分類評價模型,而本時間段的步態數據又將作為模型更新的訓練數據,更新後的訓練模型又成為下一上一的分類評價模型,並以此循環,作到實時更新訓練模型,保證模型的精準性。
但根據經驗得知,用戶的步態數據特徵在一定時間內是比較穩定的,實施例中通過可穿戴設備擁有者的步態數據形成的初始分類器即可滿足識別用戶的需求。
步驟5:用戶身份識別
通過第一階段(即通過上述步驟1至步驟4)形成用戶分類器後,後續用戶在使用可穿戴設備時通過分類器的輸出值判斷即可實現用戶自動識別。具體的,系統將自動收集用戶數據,經過步驟1至步驟3處理後得到的用戶步態數據的特徵向量,並輸入用戶分類器,然後根據分類器的輸出值進行數據分類,判斷該用戶是否為可穿戴設備擁有者。即,當數據與分類器(數據模型)訓練集相似時,分類器輸出「1」,可穿戴設備會正常解鎖讓用戶使用,當數據與分類器訓練集不同時,分類器輸出「-1」,可穿戴設備被鎖定不被用戶使用。以此保證可穿戴設備擁有者的隱私性和安全性。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。