吳飛
(四川大學(xué)計算機(jī)學(xué)院,成都 610064)
基于手機(jī)傳感器的左右手識別
吳飛
(四川大學(xué)計算機(jī)學(xué)院,成都 610064)
科學(xué)技術(shù)的高速發(fā)展,智能手機(jī)因其內(nèi)置的各類傳感器而功能越來越強(qiáng)大。通過智能手機(jī)內(nèi)置的傳感器分別收集左右手從桌面拿起手機(jī)時的狀態(tài)數(shù)據(jù),從中提取相關(guān)特征。利用序列向前選擇(SFS)算法及相關(guān)評價函數(shù)選出特征子集,然后通過機(jī)器學(xué)習(xí)算法構(gòu)建分類模型,用來對用戶拿起手機(jī)的左右手進(jìn)行識別。最后通過10-折交叉驗證方法評估模型的準(zhǔn)確率,實驗結(jié)果表明構(gòu)建的分類模型具有較高的準(zhǔn)確率。
智能手機(jī);傳感器;機(jī)器學(xué)習(xí);交叉驗證;左右手識別
隨著集成電路技術(shù)的飛速發(fā)展,移動終端的處理能力越來越強(qiáng)大,尤其手機(jī)的發(fā)展備受矚目。在其發(fā)展進(jìn)程中可以發(fā)現(xiàn)手機(jī)的屏幕尺寸越來越大,我們可以歸結(jié)為以下幾個原因:日常生活中,用戶使用手機(jī)處理的事務(wù)越來越多,使用平板電腦等大屏移動終端的場景也越來越多,這些不可避免地加大了對屏幕顯示的需求;同時多點觸控技術(shù)對輸入方式的顛覆使得大屏幕更適應(yīng)當(dāng)前的潮流;此外,軟件技術(shù)的提高帶來了豐富的軟件應(yīng)用,大屏幕手機(jī)在游戲、影視、圖片等應(yīng)用中帶來了良好的用戶體驗。
手機(jī)的快速發(fā)展在給用戶帶來良好使用體驗的同時也帶來了相應(yīng)的挑戰(zhàn)[1],特別是在單手操作大屏幕手機(jī)時,若用戶使用的不是習(xí)慣用手時,便會帶來很大的可用性問題,影響用戶的操作體驗。雖然目前手機(jī)可以設(shè)置單手模式來減少用戶單手操作時的可用性問題,但是該功能僅僅只是縮小了用戶操作的界面,并且需要用戶主動去設(shè)置,不能實時自動地調(diào)整。
縱觀手機(jī)發(fā)展歷程,可以找到解決上述問題的方法——利用手機(jī)內(nèi)置的各種傳感器。科學(xué)技術(shù)的發(fā)展進(jìn)步,智能手機(jī)集成了各種傳感器,這些傳感器增強(qiáng)了手機(jī)的功能,同時也使得豐富的應(yīng)用軟件也越來越貼近人們的生活。例如,在手機(jī)游戲中運用重力感應(yīng)器,增加用戶的游戲體驗;利用手機(jī)傳感器收集來的數(shù)據(jù),識別用戶一天的姿態(tài)(坐、立、行、跑),從而估算出用戶一天消耗的卡路里,制定合理飲食和運動[2];閱讀軟件利用傳感器識別用戶的翻頁動作等??紤]到上述應(yīng)用中利用傳感器收集用戶的數(shù)據(jù),識別用戶的狀態(tài),從而解決相應(yīng)的問題。因此可以考慮利用手機(jī)內(nèi)置的傳感器來解決大屏幕手機(jī)帶來的可用性問題。
為解決上述手機(jī)屏幕尺寸帶來的可用性問題,首先需要考慮的是識別出用戶使用手機(jī)的左右手。本文通過手機(jī)內(nèi)置的傳感器分別收集左右手從桌面拿起手機(jī)時的數(shù)據(jù),從數(shù)據(jù)中提取相關(guān)特征,通過機(jī)器學(xué)習(xí)(Machine Learning)算法建立分類模型,用以對左右手進(jìn)行識別。使用交叉驗證方法評估出分類模型具有較高分類準(zhǔn)確率。
目前,利用手機(jī)傳感器收集數(shù)據(jù)進(jìn)行分析的研究主要集中在對用戶運動、手勢和姿態(tài)的識別。
文獻(xiàn)[3]采用手機(jī)內(nèi)置的加速度傳感器,通過基于連續(xù)的隱馬爾可夫模型來構(gòu)建手勢識別系統(tǒng)。該識別系統(tǒng)中包含了從數(shù)據(jù)中除去設(shè)備方向帶來影響的預(yù)處理步驟。文中還對樣本精度和采樣頻率的影響做了相關(guān)研究。文獻(xiàn)[4]中,通過手機(jī)加速度傳感器收集數(shù)據(jù),構(gòu)建模型對用戶的運動狀態(tài)(慢跑、走、站、坐和上下樓等)進(jìn)行識別。文中對具有周期模式的運動狀態(tài)進(jìn)行了詳細(xì)的分析,使得更容易識別這些運動狀態(tài)。此外,使用了三種學(xué)習(xí)算法對識別的準(zhǔn)確率進(jìn)行判斷。文獻(xiàn)[5]為了提高識別準(zhǔn)確率和擴(kuò)展應(yīng)用任務(wù),提出了新的手勢識別系統(tǒng),該系統(tǒng)基于手機(jī)的三種傳感器(加速度傳感器、陀螺儀和磁力計)。為了整合每種傳感器的數(shù)據(jù),提出了數(shù)據(jù)加權(quán)融合方法。通過隱馬爾科夫模型進(jìn)行訓(xùn)練和識別。文獻(xiàn)[6]通過3軸加速度傳感器對手機(jī)在空間中的位置和變化率進(jìn)行識別,并將其應(yīng)用到網(wǎng)球游戲中。通過對正手擊球、反手擊球和發(fā)球等動作的共同的連續(xù)序列進(jìn)行分析,得出不同的模式進(jìn)而用于對動作的識別。
上述關(guān)于傳感器的相關(guān)研究運用不同的方法和不同的手機(jī)內(nèi)置傳感器,對用戶的手勢、姿態(tài)和運動進(jìn)行建模識別,都有較高的識別率和應(yīng)用前景。但這些研究都是對手機(jī)內(nèi)置傳感器在應(yīng)用程序中的擴(kuò)展,本文希望通過對用戶左右手的識別,除了達(dá)到上述目的外,還可以提高手機(jī)的可用性。
2.1 受試者
本實驗的受試者為13名在校大學(xué)生(男性),年齡在24~30之間。所有的受試者在日常中都經(jīng)常使用手機(jī),且都有單手操作手機(jī)的經(jīng)驗。在所有的受試者中,當(dāng)單手操作手機(jī)時,既有習(xí)慣使用左手的,也有習(xí)慣使用右手的。
2.2 實驗任務(wù)
該實驗選擇屏幕尺寸為5.5寸的大屏Android手機(jī)用來采集實驗數(shù)據(jù)。為了收集實驗時的傳感器數(shù)據(jù),編寫了一個簡單的Android程序,程序截圖如圖1所示。
圖中開始和停止按鈕用來控制數(shù)據(jù)的收集:按下開始鈕時,程序采集傳感器數(shù)據(jù),將其寫入相應(yīng)的文本文件中并存儲到手機(jī)本地上;按下停止鈕時,程序停止對傳感器數(shù)據(jù)的采集。按鈕下的界面用來實時顯示傳感器數(shù)據(jù)。
本實驗要求受試者分別使用左右手從桌面拿起手機(jī),到達(dá)使用手機(jī)的狀態(tài)時停止。開始準(zhǔn)備拿起手機(jī)時按下開始按鈕,停止時按下停止按鈕。要求受試者左右手分別實驗20次(實際實驗中實驗次數(shù)可能超過20次)。
圖1 實驗界面
2.3 實驗步驟
首先,向受試者說明實驗?zāi)康?,了解實驗過程。為了讓受試者清楚明白實驗步驟,讓其先嘗試幾次實驗。然后,將手機(jī)豎直平放在桌面上,受試者正對手機(jī)開始實驗。按下開始按鈕,受試者單手拿起手機(jī),拿至面前到達(dá)使用狀態(tài)時,按下停止按鈕。最后將手機(jī)放回原位,這樣一次實驗完成。受試者同一只手重復(fù)20次后,需要將收集到的傳感器數(shù)據(jù)另存為其他文件,避免與另一只手的數(shù)據(jù)混淆(該步驟由實驗者完成)。受試者使用另一只手重復(fù)上述步驟,最終完成實驗。
實驗后,受試者完成一份問卷,記錄下受試者的年齡、單手使用手機(jī)時的習(xí)慣用手等信息。
3.1 數(shù)據(jù)收集
本文要收集手機(jī)傾斜、搖擺等運動學(xué)數(shù)據(jù),因此我們要收集的傳感器數(shù)據(jù)包括重力傳感器、加速度傳感器、線性加速度傳感器和陀螺儀等運動傳感器。
根據(jù)上述實驗,本文收集了13位受試者共591個姿態(tài)數(shù)據(jù)(將手機(jī)從桌面拿起到使用狀態(tài)的過程算一個姿態(tài)),其中包括左手?jǐn)?shù)據(jù)302個,右手?jǐn)?shù)據(jù)289個。收集的數(shù)據(jù)按照“X軸加速度Y軸加速度Z軸加速度時間戳”的格式保存在文本文件中。不同的傳感器數(shù)據(jù)保存在不同文本文件中。
3.2 數(shù)據(jù)預(yù)處理
根據(jù)研究[10]手機(jī)傳感器收集的數(shù)據(jù)與實際值有一定數(shù)值的偏差。收集的原始數(shù)據(jù)因為有波動和噪聲,因而帶來誤差。誤差按照性質(zhì)的不同,分為系統(tǒng)誤差、隨機(jī)誤差和粗大誤差。不同性質(zhì)的誤差處理的方法不同。
系統(tǒng)誤差是由某些特定原因引起的誤差。系統(tǒng)誤差的大小和方向往往會保持不變或者按一定的規(guī)律變化,可以通過減去一個補(bǔ)償值來消除,本文中通過減去手機(jī)在桌面靜止時傳感器數(shù)值的平均值來消除。隨機(jī)誤差的大小和方向都不一定且變化沒有規(guī)律,但是在統(tǒng)計學(xué)上符合一定的規(guī)律,可以通過濾波的方法減少隨機(jī)誤差的影響。粗大誤差是被試者自己粗心導(dǎo)致,規(guī)范實驗步驟后,可以不予考慮。
4.1 特征選擇方法
收集的手機(jī)傳感器的原始數(shù)據(jù)不能直接用于構(gòu)建分類模型。本文首先提出的特征包括:速度、平均值和角度。對于各個特征的具體描述如下:
速度(Velocity):取線性加速度傳感器各軸以及時間戳數(shù)據(jù),計算平均速度作為特征(共1個),計算公式(1)如下。速度反映了拿起手機(jī)的快慢。
其中V表示速度,xi、yi、zi、ti表示每個姿態(tài)第i個采樣X、Y、Z軸的線性加速度與時間戳。
平均值:取各個傳感器各軸的加速度數(shù)據(jù),分別計算其平均值作為特征(共12個)。平均值描述了各個傳感器各軸數(shù)據(jù)的總體趨勢。各個傳感器各軸平均值表示符號如表1所示。
表1 各個傳感器各軸平均值表示符號
角度(Angle):指的是手機(jī)拿起后狀態(tài)一定時末狀態(tài)左右傾斜的角度(共1個)。因為重力傳感器X軸的數(shù)值表示手機(jī)左右傾斜時重力加速度在X軸上的分量。因此可以用重力傳感器X軸的數(shù)值來表示手機(jī)的左右傾斜程度,而不必算出準(zhǔn)確的傾斜角度,從而減少了計算量。
由于機(jī)器學(xué)習(xí)方法構(gòu)建的分類模型的質(zhì)量很大程度上依賴于作為輸入數(shù)據(jù)集合而所選的特征。剔除不相關(guān)及冗余等不必要的特征,可以提高分類模型的分類準(zhǔn)確率。因此,需要對上述提出的特征集合進(jìn)行特征選擇。本文使用序列向前選擇(SFS)算法搜索特征子集,使用相關(guān)性和分類器錯誤率作為評價函數(shù)來分別評價產(chǎn)生的特征子集的好壞,并將兩種評價函數(shù)進(jìn)行比較。
序列向前選擇(SFS)算法已經(jīng)被成功用于各種各樣的特征選擇問題,生成具有高性能的最小特征子集。SFS算法是自底向上的搜索過程,特征子集從空集X開始,每次從剩下的特征子集中選擇一個使得評價函數(shù)的取值達(dá)到最優(yōu)的特征x加入到特征子集X中。
運用相關(guān)性來度量特征子集的好壞是基于這樣一個假設(shè):好的特征子集所包含的特征應(yīng)該是與分類的相關(guān)度較高,而特征之間的相關(guān)的較低。評價函數(shù)的計算是通過調(diào)用weka的CfsSubsetEval函數(shù)。使用分類器錯誤率評價特征子集的性能是指使用特定的分類器(本文使用SVM),用給定的特征子集對樣本集進(jìn)行分類,用分類的精度來衡量特征子集的好壞。當(dāng)加入一個新的特征x到特征子集X中后,如果沒有提高評價函數(shù)的取值,那么就終止特征選擇過程。
4.2 特征選擇結(jié)果
對收集的數(shù)據(jù)進(jìn)行特征選擇,使用相關(guān)性作為評估函數(shù)選出的特征子集為:AVE(Ax)、AVE(Gx)、ANGLE。使用分類器錯誤率進(jìn)行特征選擇的過程如表2:
表2 分類器錯誤率特征選擇
表中粗體表示特征選擇的結(jié)果為:AVE(Ax)、AVE (Ay)、ANGLE、AVE(Wz)。
4.3 分類結(jié)果
根據(jù)上述特征子集選擇產(chǎn)生的結(jié)果,利用機(jī)器學(xué)習(xí)方法來構(gòu)建分類模型,并通過10折交叉驗證方法驗證分類模型的準(zhǔn)確率。在本文中,利用了多種機(jī)器學(xué)習(xí)方法來構(gòu)建模型,并比較它們的分類準(zhǔn)確率。用到的機(jī)器學(xué)習(xí)方法包括:支持向量機(jī)(SVM)、邏輯回歸(LR)、多層感知器(MLP)、決策樹(J48)。最終的分類準(zhǔn)確率如表3所示。
表3 多種不同機(jī)器學(xué)習(xí)方法應(yīng)用在不同評價函數(shù)上的分類準(zhǔn)確率
從表中可以看出,每種機(jī)器學(xué)習(xí)方法構(gòu)建的分類模型的分類準(zhǔn)確率都很高,平均分類準(zhǔn)確率在96%左右。還可以從橫向和縱向兩個方向?qū)Ρ碇械臄?shù)據(jù)進(jìn)行比較分析。
從橫向看,在不同的機(jī)器學(xué)習(xí)方法中,構(gòu)建的分類模型的分類準(zhǔn)確率相對較高的是支持向量機(jī)(SVM)。從縱向看,使用分類器錯誤率作為評價函數(shù)選出的特征子集比用相關(guān)性作為評價函數(shù)選出的特征子集構(gòu)建的分類模型的分類準(zhǔn)確率高,分類準(zhǔn)確率最高的特征子集是AVE(Ax)、AVE(Ay)、ANGLE、AVE(Wz),使用SVM分類準(zhǔn)確率達(dá)97.80%。
本文使用了手機(jī)內(nèi)置的運動傳感器來收集其從桌面拿起到使用過程中的狀態(tài)數(shù)據(jù)。通過分析數(shù)據(jù)生成了相關(guān)特征,并從中刪除不相關(guān)和冗余的特征,使用序列向前選擇(SFS)算法來搜索特征子集,同時使用相關(guān)性和分類器錯誤率來分別評價所搜索的特征子集的好壞,最終選出準(zhǔn)確率最高的特征子集,最后使用多種機(jī)器學(xué)習(xí)算法構(gòu)建分類模型,最終的分類準(zhǔn)確率都很高,平均在96%左右。這說明機(jī)器學(xué)習(xí)算法與手機(jī)內(nèi)置傳感器結(jié)合可以用來解決本文提出的手機(jī)尺寸帶來的可用性問題。
本文研究存在著很多有待改進(jìn)提高的部分。①在數(shù)據(jù)收集部分,本文收集數(shù)據(jù)的起始和結(jié)束是通過相關(guān)按鈕人為控制。在該過程中,收集的手機(jī)狀態(tài)數(shù)據(jù)有可能帶來偏差,例如,結(jié)束時點擊按鈕可能帶來手機(jī)角度的偏差。因此,自動識別數(shù)據(jù)收集的起始和結(jié)束點是未來工作一個重要環(huán)節(jié)。②研究只考慮了手機(jī)平躺在桌面被拿起的情況,未來可以考慮多種起始狀態(tài)的情況。③用于構(gòu)建模型的特征,文中考慮的也許并不全面,可能存在其他更合適特征,可以提高識別準(zhǔn)確率。④文中現(xiàn)在的研究結(jié)果僅僅是在離線狀態(tài)下的,并不是實時產(chǎn)生的,未來希望可以實時對用戶和手機(jī)的狀態(tài)做出反應(yīng)。
除了上述提及的以外,未來一個非常重要的方向就是應(yīng)用文中的研究結(jié)果,提高手機(jī)的可用性,改善用戶的操作體驗,正如文中引言提及的,也是本文研究的目的所在。例如,利用本文的研究結(jié)果結(jié)合用戶使用手機(jī)的數(shù)據(jù)(如應(yīng)用程序使用的頻率、輸入法使用等),可以根據(jù)用戶的使用手自動調(diào)節(jié)手機(jī)桌面應(yīng)用程序圖標(biāo)布置、輸入法界面等設(shè)置,減少屏幕尺寸變大帶來的可用性問題,以提高用戶的滿意度。
[1]Hsu H H,Tsai K C,Cheng Z,et al.Posture Recognition with G-Sensors on Smart Phones[C].NBiS.2012:588-591.
[2]Lane N D,Miluzzo E,Lu H,et al.A Survey of Mobile Phone Sensing[J].IEEE Communications Magazine,2010,48(9):140-150.
[3]Pylvanainen T.Accelerometer Based Gesture Recognition Using Continuous HMMs[C].Iberian Conference on Pattern Recognition and Image Analysis.Springer Berlin Heidelberg,2005:639-646.
[4]Kwapisz J R,Weiss G M,Moore S A.Activity Recognition Using Cell Phone Accelerometers[J].ACM SigKDD Explorations Newsletter, 2011,12(2):74-82.
[5]Liu,F.,et al.Gesture Recognition System Based on Multi-Sensor for Future Mobile Phone[J].Proceedings of 2011 2nd Asia-Pacific Conference on Wearable Computing Systems(APWCS 2011 V1).
[6]Cho H,Kim S,Baek J,et al.Motion Recognition with Smart Phone Embedded 3-Axis Accelerometer Sensor[C].2012 IEEE Interna-tional Conference on Systems,Man,and Cybernetics(SMC).IEEE,2012:919-924.
[7]Pei C,Guo H,Yang X,et al.Sensors in Smart Phone[C].International Conference on Computer and Computing Technologies in Agriculture.Springer Berlin Heidelberg,2010:491-495.
[8]D'Elia M G,Paciello V.Sensors Uncertainty on an Android Smart Phone[C].Instrumentation and Measurement Technology Conference (I2MTC),2012 IEEE International.IEEE,2012:698-702.
[9]Guolu W,Kaijin Q,Yao C.The Design and Implementation of a Gravity Sensor-Based Mobile Phone for the Blind[C].Software Engineering and Service Science(ICSESS),2013 4th IEEE International Conference on.IEEE,2013:570-574.
[10]Ma Z,Qiao Y,Lee B,et al.Experimental Evaluation of Mobile Phone Sensors[C].Signals and Systems Conference(ISSC 2013),24th IET Irish.IET,2013:1-8.
[11]Brezmes T,Gorricho J L,Cotrina J.Activity Recognition from Accelerometer Data on a Mobile Phone[C].International Work-Conference on Artificial Neural Networks.Springer Berlin Heidelberg,2009:796-799.
Right and Left Hand Identification Based on Mobile Sensor
WU Fei
(College of Computer Science,Sichuan University,Chengdu610064)
With the rapid development of science and technology,smart phones become more powerful because of its built-in various sensors.Collects state data when mobile phone is picked up from tabletop by right and left hand through sensors which are built in smart phone,and then relevant features are extracted from them.Uses sequence forward selection(SFS)algorithm and the related evaluation function to select the feature subset,then builds classification model via machine learning algorithm,which is used to identify which hand is used when user picked up the mobile phone from tabletop.At last assessments the accuracy of model through 10-fold cross-validation,the results of experimental show that the built classification model has a high accuracy.
Smart Phone;Sensor;Machine Learning;Cross-Validation;Right and Left Hand Identification
1007-1423(2017)05-0026-05
10.3969/j.issn.1007-1423.2017.05.007
吳飛(1990-),男,湖北洪湖人,碩士,研究方向為數(shù)字娛樂與人機(jī)交互
2016-11-29
2017-02-06