吳紀蕓 江 梁
基于智能手機檢測學生行為系統
吳紀蕓 江 梁
在校園里,大學生遲到、曠課和早退的現象頻頻出現,這既影響老師的授課和學生的學業,也嚴重影響學校形象。因此,如何有效杜絕此類現象的蔓延,是我校同其他高校亟待解決的問題。本文建立一個基于Android智能手機對學生行為檢測的系統模型,利用手機的內置傳感器(加速度、陀螺儀、壓力、近距離和光線傳感器)采集學生的行為特征,并設計一個警報系統。本文設計一個基于Andriod系統的手機應用軟件用于采集學生的行為特征,并對其進行數據預處理,運用參數優化后的支持向量機對行為數據進行分類,經檢測得到系統的精確度高達98.2%。
如今,在大學校園里,大學生上課遲到、曠課和早退等現象頻頻發生,嚴重影響學校的形象和學生的學習情況。近年來,智能手機技術和傳感器技術越來越成熟,促使現有的許多智能手機內都集成了許多傳感器,如小米3手機就集成了加速度、近距離、光線等傳感器。其次,由于Android平臺的開源性,使得Android智能手機的價格比較低且使用比較廣泛,進而使Android智能手機成為運動識別和運動檢測的理想平臺。目前基于Android智能手機進行的人體運動識別的研究大多都是把手機固定在身體的某些部位,比如:胸前、手臂上、大腿上等。雖然識別的精度達到80% 以上,但是因為每個學生的習慣不同,所以每個學生都有自己習慣放置的位置,比如:上衣口袋、褲兜、手上等。另外,由于衣服的款式和材質的不同,也會對手機在其中的方向和位置造成影響。所以要使算法具有廣泛使用性,并適用于大部分學生,就需要考慮手機位置和方向在口袋里的多樣性。因此,本文主要研究Android智能手機在位置和方向都不確定的情況下對學生的行為進行識別。
為了能夠更好地督促學生自身的行為,也為了學校方便管理學生。為此,設計一個警報系統:利用Android智能手機內置傳感器采集的數據,判斷手機的地理位置是否在上課教室,如果不是,系統就發送警報信息至輔導員處;如果是,接著經過SVM算法分析之后,確定行為特征是否匹配,若不是則發送警報信息至輔導員處,如果是,則判斷行為是否符合預設行為,若是則說明學生在教室上課,否則閾值加1。接著判斷閾值是否大于等于3,若是就發送警告信息至輔導員處,否則再判斷是否在同一節課,若是則重新獲取手機傳感器數據,否則將閾值初始化。
手機位置判斷
近年來,有許多利用智能手機對運動識別的不同應用和功能的研究。而對于手機在身上放置的位置,有些研究是讓實驗者把手機放在一個位置來進行所有的研究;有些研究是則把手機固定在一個或多個位置來采集訓練數據。盡管一些研究指出在手機位置已知的情況下對運動的識別精度會提高,但卻只有少部分文獻研究如何判別手機位置的算法。為了能夠迎合用戶的習慣,將手機放置在自己習慣的口袋位置中,因此,本次建?;贏ndroid智能手機內置的近距離和光線傳感器檢測距離和光線的變化來控制程序的自動運行,并采集數據。
近距離傳感器是通過紅外線進行測距的,當用戶在接聽電話或者將手機放進口袋時,近距離傳感器可以判斷出手機貼近了人的臉部或者衣服而關閉屏幕的觸控功能,從而防止誤操作,也可以節約電量的耗損。大多數的近距離傳感器返回的是以cm為單位的絕對距離,但也有一些是返回距離的遠或近。光線傳感器測量光線的強度,以lux為單位,Android SDK將光線強度分為不同的等級,每一個等級的最大值由一個常量(其中最大值為120000.0f,最小值為100.f)表示,以便根據手機所處環境的光線來調節手機屏幕的亮度和鍵盤燈。
為了判別手機是否在口袋中,本模型設當光線的強度值小于100.0f,且近距離傳感器的返回值為0,則說明用戶將手機放置在口袋中。
數據采集
Android智能手機中常見的傳感器有加速度、陀螺儀、磁力、壓力、近距離和光線傳感器等。加速度傳感器用來獲取x、y、z三個方向的加速度值;陀螺儀傳感器用來測量手機繞x、y、z軸旋轉的度數;壓力傳感器用來測量當前的壓強;近距離傳感器用來測量附近的物體與設備屏幕間的距離;光線傳感器用來測量周圍環境的光照強度。使用Android智能手機內置的傳感器,要先獲取系統中的傳感器管理對象SersonManager,然后通過SersonManager和傳感器的類別獲取到相應的傳感器。

圖1 警報系統的工作流程圖
當學生在上課期間的行為動作不符合規定超過閾值,學生的手機所獲取的地理位置數據不在上課教室,手機攜帶者不是學生本人,則學生所使用的Android智能手機就會給輔導員發一條警報消息。警報系統的工作流程:設閾值初始值為0,利用Android智能手機內置傳感器采集的數據,判斷手機的地理位置是否在上課教室,如果不是,系統就發送警報信息至輔導員處;如果是,接著經過SVM算法分析之后,確定行為特征是否匹配,若不是則發送警報信息至輔導員處,如果是,則判斷行為是否符合預設行為,若是則說明學生在教室上課,否則閾值加1,。接著判斷閾值是否大于等于3,若是就發送警告信息至輔導員處,否則再判斷是否在同一節課,若是則重新獲取手機傳感器數據,否則將閾值初始化。警報系統具體的工作流程圖如圖1所示。
數據采集
本模型使用基于Android智能手機(MIUIV6(基于Android 4.4.4 KitKat),144*73.6*8.1m3,145g)內置的三軸加速度、陀螺儀、磁力、壓力、近距離和光線傳感器來采集數據。在實驗過程中沒有對實驗者有特殊要求,他們按自己平時的習慣將手機放在任意口袋,然后做一系列動作。本建模只識別5種日?;拘袨閯幼鳎鹤呗贰⑴懿?、靜止、上樓梯、下樓梯。每種動作持續進行1分鐘,相鄰兩種動作之間間隔3s后進行,以便區分不同的動作數據。針對該建模的數據采集,借助一款Android APP,界面如圖2所示,主要利用Android智能手機內置的近距離和光線傳感器監測距離和光線的變化來控制程序的自動運行,即僅當檢測到手機放入口袋后才開始采集數據,檢測到手機拿出口袋后停止數據采集。自動將手機采集到的數據以txt文檔形式存在手機外掛SD卡(若無外掛SD卡,則將內置的ROM識別為SD卡)上,如圖3所示,為后續的數據分析和模型仿真做準備。由于手機是隨意放在口袋里進行測試的,手機在放進口袋和從口袋中取出過程中會影響傳感器數據,因此,為了能夠收集到較精確的數據,設定在手機放進口袋3s后開始收集數據,在數據收集結束3s后再從口袋取出手機。再處理數據時,除去前后多余的數據,得到最終的行為狀態數據。

圖2 Android APP數據采集界面

圖3 數據采集停止后自動生成txt文檔
數據預處理
本建模在數據采集過程中每200ms采集一次。由于采集信號時人身體的抖動或手機在口袋中的摩擦所產生的噪聲都包含在采集到的運動信號里。因此,采用異常值移除處理、歸一化處理和降維處理對收集到的數據進行預處理。
1.異常值移除處理
在收集的數據中存在許多異常值,而這些異常值將會影響整個數據的特征遷移。為此,我們先單獨導出這些異常數據,利用盒圖之間的最大值和最小值的間距來反應這些數據的變異程度。通過盒圖,不僅可以直觀地看到離群值,而且判斷數據集的離散程度和偏差的最大和最小觀察點,通過觀察遷移程度的中位數。我們刪除離群值的所有數據,所以數據特征不會遷移。
2.歸一化處理
移除異常值后,應對數據進行歸一化處理,及統一不同來源的數據使用相同的參考系統。它能夠使后續數據處理更方便,同時,它可以增加程序的收斂速度運行,以避免奇異樣本數據的特點掩蓋或被淹沒。我們將數據歸一化處理的限定范圍為。雖然歸一化后的數據有輕微變化,但其特點仍然保留,對數據的影響小。
3.降維處理
高維度的自由空間會增加程序的計算量,為了避免這種情況,需要按照累積貢獻率數據的特征進行降維。樣本數據通過線性或非線性變換從輸入空間映射到低維空間,得到新的低維數據。圖4是每個維度特性的貢獻率和累積貢獻率。在這個圖中,條形的高度分別代表9維特征的貢獻率,折線代表著9維特征的累積貢獻率,9維特征根據貢獻率由高到低排列。從圖可以看出,當數據的維度達到9時累積貢獻率達到100%。它表明9維的特性能夠充分表達了原始數據的特征。如果要求程序的運行速度或收斂速度加快,但不需要原始數據達到100%的程度,則可以通過降維。例如,前6個的表達程度特征的原始數據已達到90%。如果只需90%的累積貢獻率,我們只要提取前6個特征向量作為輸入樣本。
算法參數優化
此步驟的目的是準確地識別學生的行為狀態,包括走路、跑步、靜止、上樓梯和下樓梯。隨著這些狀態被細分為十分詳細狀態,采用n類分類方法來解決這個問題。第一到第五行為狀態分別為走路、跑步、靜止、上樓梯和下樓梯,分別標記為1、2、3、4、5。本文采用支持向量機算法進行分類。作為懲罰參數c和核函數參數g對支持向量機的性能有很大的影響,采用網格搜索的方法,找出最優值。圖5是相對應的分類精度不同的c和g參數組合。實驗結果表明,許多c和g組對應分類精度最高,但為了避免反復學習的狀態,我們采用最小的c和g的組合,也就是說,當c和g的最佳值是362.0387和2,準確度高達98.2%。
警報系統實現界面
當學生在上課期間不在教室,或手機持有者非本人,或行為異常次數達到閾值,學生所使用的手機端就會自動發送警告信息到輔導員手機端。因此,我們設計一款Android APP用于自動發送警告短信,自動發送信息的核心代碼為:

本文通過對當前科技和市場的了解和分析,考慮到可以利用可穿戴設備對學生的行為進行管理,但是由于當前的可穿戴設備的技術還不夠成熟,需要使用者每天把這些設備穿在身上,給他們的日常生活帶來諸多不便,再加之這些設備的成本比較昂貴,不適合校方普遍采購使用于學生身上。另外,隨著智能手機越來越智能化、越來越低廉化、越來越普及,所以本文借助Android智能手機的平臺建立了一個通過判斷學生手機的位置,采集大學生的行為數據庫,判斷手機的地理位置與上課地點是否相符,判斷手機攜帶者是否為學生本人,進一步將行為與課程相對應,最后對大學生行為進行檢測的系統模型,即基于Android智能手機對學生行為檢測的系統模型,并對模型進行了分析和應用。

圖4 9維特征的貢獻率和累積貢獻率

圖5 等高線表示不同分類精度的c和g參數組合
10.3969/j.issn.1001-8972.2015.09.022