李方方 李維勇 李桂韜
摘 要:本項(xiàng)目以跑步運(yùn)動(dòng)為切入點(diǎn),高校為目標(biāo)用戶(hù)群體,利用手機(jī)的GPS和傳感器采集運(yùn)動(dòng)數(shù)據(jù),對(duì)學(xué)生的運(yùn)動(dòng)過(guò)程進(jìn)行無(wú)人值守化的管理。本系統(tǒng)開(kāi)發(fā)的APP通過(guò)采集學(xué)生的運(yùn)動(dòng)數(shù)據(jù),形成學(xué)生一次運(yùn)動(dòng)的完整記錄?;谶@些數(shù)據(jù),開(kāi)發(fā)數(shù)據(jù)分析系統(tǒng)和管理系統(tǒng),能夠達(dá)到智能化監(jiān)督和評(píng)定的效果。
關(guān)鍵詞:移動(dòng)端GPS;運(yùn)動(dòng)打卡;數(shù)據(jù)采集
隨著軟件技術(shù)的發(fā)展,人們生活的各個(gè)方面都與科技有著緊密的聯(lián)系,因此也給人們的生活、學(xué)習(xí)、工作的方式帶來(lái)新的改變。目前,全國(guó)正在廣泛開(kāi)展億萬(wàn)學(xué)生陽(yáng)光體育運(yùn)動(dòng),隨之而來(lái)對(duì)運(yùn)動(dòng)過(guò)程的監(jiān)督、效果評(píng)估、數(shù)據(jù)管理成為一個(gè)問(wèn)題。
目前學(xué)生移動(dòng)端設(shè)備比較普及,包括手機(jī)和智能手表。特別是高校的手機(jī)覆蓋率接近100%,本項(xiàng)目以跑步運(yùn)動(dòng)為切入點(diǎn),高校為目標(biāo)用戶(hù)群體,利用手機(jī)的GPS和傳感器采集運(yùn)動(dòng)數(shù)據(jù),對(duì)學(xué)生的運(yùn)動(dòng)過(guò)程進(jìn)行無(wú)人值守化的管理。
本項(xiàng)目提出一種利用手機(jī)端定位的特點(diǎn)實(shí)現(xiàn)上述功能的解決方案。
1 系統(tǒng)的設(shè)計(jì)思路
本系統(tǒng)使用基于移動(dòng)端GPS和傳感器的運(yùn)動(dòng)打卡APP開(kāi)發(fā)。對(duì)學(xué)生提供一個(gè)快速、便捷、安全的簽到打卡軟件,包括打卡、自由跑、鍛煉、社區(qū)、直播、聊天等功能。同時(shí)對(duì)學(xué)校提供學(xué)生跑步數(shù)據(jù)、學(xué)生個(gè)人信息的管理,修改跑步范圍等功能。
2 系統(tǒng)應(yīng)用的關(guān)鍵技術(shù)
2.1 Android平臺(tái)的GPS定位技術(shù)
Android平臺(tái)的定位技術(shù)一共有兩種技術(shù):GPS定位和網(wǎng)絡(luò)定位。
由于本項(xiàng)目主要使用在室外環(huán)境且對(duì)定位精度要求較高,因此,本項(xiàng)目選擇AGPS定位技術(shù)來(lái)獲取所需要的定位數(shù)據(jù)。
2.2 Android平臺(tái)的傳感器技術(shù)
智能手機(jī)傳感器的使用使用戶(hù)即使在地鐵站、隧道等GPS信號(hào)全無(wú)的情況下也依然可以進(jìn)行運(yùn)動(dòng)距離的估算,并且可以分析判斷用戶(hù)正在進(jìn)行哪項(xiàng)運(yùn)動(dòng),如騎行、跑步、爬山、步行、滑雪等。本項(xiàng)目中用到的方向傳感器主要返回三軸的角度數(shù)據(jù);重力傳感器返回重力數(shù)據(jù),利用x,y,z 3個(gè)值求三角函數(shù),就可以精確檢測(cè)手機(jī)的運(yùn)動(dòng)狀態(tài)。從而就可以判斷出用戶(hù)此時(shí)的運(yùn)動(dòng)狀態(tài)。加速度傳感器獲取的是x,y,z三軸的加速度數(shù)值,手機(jī)朝下放在桌面上,z軸為-9.81。它能夠感知到加速度的變化,比如晃動(dòng)、跌落、上升、下降等各種移動(dòng)變化都能被G-sensor轉(zhuǎn)化為電信號(hào),在用戶(hù)把手機(jī)放入口袋時(shí)也能夠計(jì)算出用戶(hù)的步數(shù)。
2.3 人臉識(shí)別技術(shù)及身份確認(rèn)
人臉識(shí)別技術(shù)包含3個(gè)部分:人臉檢測(cè)、人臉跟蹤、人臉對(duì)比。人臉檢測(cè)是指動(dòng)態(tài)的場(chǎng)景與復(fù)雜的背景中判斷是否存在面像,并分離出這種面像。人臉跟蹤是指對(duì)被檢測(cè)到的面貌進(jìn)行動(dòng)態(tài)目標(biāo)跟蹤。具體采用基于模型的方法或基于運(yùn)動(dòng)與模型相結(jié)合的方法[1]。
本項(xiàng)目人臉對(duì)比支持:(1)多種圖片類(lèi)型。支持生活照、證件照、身份證芯片照、帶網(wǎng)紋照4種類(lèi)型的人臉對(duì)比。(2)活體檢測(cè)?;趫D片中的破綻分析,判斷其中的人臉是否為二次翻拍。(3)質(zhì)量檢測(cè)。返回模糊、光照等質(zhì)量檢測(cè)信息,用于輔助判斷圖片是否符合識(shí)別要求[2]。
2.4 軌跡算法
本項(xiàng)目使用道格拉斯—普克算法對(duì)運(yùn)動(dòng)軌跡進(jìn)行抽稀保存。用戶(hù)的運(yùn)動(dòng)軌跡實(shí)際上是由很多個(gè)經(jīng)緯度坐標(biāo)連接而成,但是并不需要把所有運(yùn)動(dòng)時(shí)記錄下來(lái)的經(jīng)緯度坐標(biāo)都用來(lái)繪制軌跡,本項(xiàng)目使用道格拉斯—普克算法對(duì)這些數(shù)據(jù)進(jìn)行抽稀,得到的抽稀后的點(diǎn)依然可以保證運(yùn)動(dòng)軌跡的形狀大致不變,還能讓曲線更平滑、更節(jié)省存儲(chǔ)空間[3]。
2.5 學(xué)生畫(huà)像建模
學(xué)生畫(huà)像是對(duì)現(xiàn)實(shí)中的學(xué)生的建模?;诖髷?shù)據(jù)技術(shù),通過(guò)整理搜集學(xué)生在本軟件上的跑步時(shí)間、里程、次數(shù)和瀏覽、點(diǎn)擊、留言、評(píng)論等碎片化的行為軌跡,研究學(xué)生行為習(xí)慣分析出學(xué)生的性格、習(xí)慣、態(tài)度等信息,從而生成學(xué)生畫(huà)像。主要有以下幾個(gè)步驟。
(1)數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì):學(xué)生畫(huà)像分為3層數(shù)據(jù)倉(cāng)庫(kù),第一層為原始數(shù)據(jù)層,存放需要的數(shù)據(jù)的匯總、抽象與集成;第二層為數(shù)據(jù)中間層,對(duì)第一層的數(shù)據(jù)進(jìn)行清洗、提取整合;第三層為數(shù)據(jù)結(jié)果層,存放學(xué)生最終的畫(huà)像數(shù)據(jù)。
(2)學(xué)生畫(huà)像的構(gòu)建:根據(jù)學(xué)生畫(huà)像的業(yè)務(wù)需求,對(duì)學(xué)生的原始數(shù)據(jù)進(jìn)行規(guī)則的抽取、清洗、轉(zhuǎn)換、分類(lèi)放入第二層。再根據(jù)自定義規(guī)則生成相應(yīng)的學(xué)生標(biāo)簽,存放在數(shù)據(jù)倉(cāng)庫(kù)的第三層。最終生成學(xué)生畫(huà)像[4]。
3 基于Android的系統(tǒng)實(shí)現(xiàn)
在系統(tǒng)邏輯架構(gòu)設(shè)計(jì)方面,采用分層架構(gòu)設(shè)計(jì)。主要分為5層架構(gòu):界面表示層、應(yīng)用層、客戶(hù)端的數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)處理層、服務(wù)端的數(shù)據(jù)訪問(wèn)層。
界面表示層主要負(fù)責(zé)與用戶(hù)交互。主要包括用戶(hù)登錄界面、用戶(hù)戰(zhàn)隊(duì)界面、好友界面、用戶(hù)運(yùn)動(dòng)界面、用戶(hù)社區(qū)界面以及用戶(hù)排名界面。通過(guò)這些界面,用戶(hù)可以方便地使用系統(tǒng)功能。應(yīng)用層主要是控制業(yè)務(wù)邏輯,為界面表示層提供服務(wù)。主要包含6個(gè)功能模塊:用戶(hù)登錄模塊、用戶(hù)戰(zhàn)隊(duì)模塊、好友模塊、用戶(hù)運(yùn)動(dòng)模塊、用戶(hù)社區(qū)模塊以及用戶(hù)排名模塊。
客戶(hù)端的數(shù)據(jù)訪問(wèn)層只為應(yīng)用層提供服務(wù),主要存儲(chǔ)用戶(hù)信息以及、好友信息以及部分手機(jī)傳感器收集的數(shù)據(jù)。業(yè)務(wù)處理層主要向應(yīng)用層提供服務(wù)。例如用戶(hù)登錄服務(wù)、好友服務(wù)、用戶(hù)運(yùn)動(dòng)服務(wù)、用戶(hù)社區(qū)等服務(wù),是系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。服務(wù)端數(shù)據(jù)訪問(wèn)層主要提供數(shù)據(jù)訪問(wèn)支持,采用MySQL關(guān)系數(shù)據(jù)庫(kù)[5]。
3.1 制定運(yùn)動(dòng)計(jì)劃和路線
本系統(tǒng)根據(jù)每個(gè)學(xué)生不同的學(xué)生畫(huà)像生成每個(gè)學(xué)生周和月度運(yùn)動(dòng)計(jì)劃,包含跑步、步行、爬山、游泳等多個(gè)類(lèi)別。學(xué)生每天按照計(jì)劃在約定的時(shí)間內(nèi)進(jìn)行鍛煉,學(xué)生可提前根據(jù)天氣和個(gè)人時(shí)間調(diào)整計(jì)劃,但必須保證足夠的運(yùn)動(dòng)量。用戶(hù)在跑步過(guò)程中所經(jīng)過(guò)的路徑會(huì)實(shí)時(shí)繪制在地圖上。通過(guò)調(diào)用高德地圖API實(shí)時(shí)獲取用戶(hù)的地理位置,再根據(jù)上一次的地理位置進(jìn)行連線顯示在地圖上。學(xué)??梢灾贫ü潭ǖ倪\(yùn)動(dòng)路線,或者可以在后臺(tái)管理頁(yè)面選中一片區(qū)域,以此來(lái)產(chǎn)生一個(gè)必經(jīng)點(diǎn)和4個(gè)隨機(jī)點(diǎn)。學(xué)生進(jìn)行運(yùn)動(dòng)時(shí)可以調(diào)整路線,只需經(jīng)過(guò)一個(gè)必經(jīng)點(diǎn)和兩個(gè)隨機(jī)點(diǎn)即可。
3.2 運(yùn)動(dòng)監(jiān)測(cè)
本應(yīng)用程序基于GPS和傳感器技術(shù),精準(zhǔn)記錄軌跡、里程、配速、步數(shù)等數(shù)據(jù),自動(dòng)統(tǒng)計(jì)分段里程的配速信息,能夠直觀展示學(xué)生運(yùn)動(dòng)全過(guò)程。在運(yùn)動(dòng)開(kāi)始、運(yùn)動(dòng)結(jié)束記錄打卡,在運(yùn)動(dòng)過(guò)程中隨機(jī)要求2~3次打卡,會(huì)提前5 min語(yǔ)音提示,需在5 min內(nèi)手工打卡,打卡時(shí)進(jìn)行指紋驗(yàn)證、人臉識(shí)別,并上傳學(xué)生此時(shí)的地理位置,以證明是學(xué)生自己在某位置打卡。上傳成績(jī)后服務(wù)端還會(huì)對(duì)跑步異常的數(shù)據(jù)進(jìn)行二次復(fù)查。
三重防作弊功能分為3部分:綁定手機(jī)、打卡過(guò)程中的3次指紋驗(yàn)證、3次人臉識(shí)別。
綁定手機(jī),此功能是通過(guò)獲取IEMA和MAC地址來(lái)進(jìn)行賬號(hào)與手機(jī)的綁定。
指紋驗(yàn)證,通過(guò)調(diào)用手機(jī)自帶的指紋模塊,并接受返回結(jié)果。
人臉識(shí)別,通過(guò)手機(jī)相機(jī)進(jìn)行拍照收集到用戶(hù)的人臉信息上傳至服務(wù)器進(jìn)行人臉識(shí)別。
3.3 后臺(tái)管理
后臺(tái)管理頁(yè)面功能包括學(xué)校管理、學(xué)生管理,數(shù)據(jù)的錄入支持批量導(dǎo)入;對(duì)于課程管理,包含課程信息管理和成績(jī)管理,可以通過(guò)管理后臺(tái)向管理的學(xué)生分配作業(yè),可以限定運(yùn)動(dòng)區(qū)域、時(shí)間、及格線等屬性;針對(duì)學(xué)生的成績(jī)后臺(tái)可以手動(dòng)修改策略,和其他成績(jī)進(jìn)行綜合評(píng)定;對(duì)應(yīng)的運(yùn)動(dòng)數(shù)據(jù)有實(shí)時(shí)排行榜,在后臺(tái)用戶(hù)可以查看相應(yīng)名次;同時(shí)也支持學(xué)校針對(duì)該學(xué)校發(fā)布相應(yīng)的通告信息和知識(shí)推送。
3.4 運(yùn)動(dòng)社區(qū)
基于學(xué)生的運(yùn)動(dòng)成績(jī),能夠有相應(yīng)的積分,相應(yīng)積分能夠確定不同級(jí)別,能夠在社區(qū)中進(jìn)行消費(fèi);并且在社區(qū)中,學(xué)生之間可以相互交流,發(fā)表動(dòng)態(tài)和評(píng)論,社區(qū)信息也包含學(xué)校發(fā)布的知識(shí)專(zhuān)題、賽事活動(dòng)、直播交流,學(xué)生可以在社區(qū)中選擇自主參與,針對(duì)賽事并有實(shí)時(shí)進(jìn)度和排名。
3.5 數(shù)據(jù)管理
對(duì)于用戶(hù)運(yùn)動(dòng)數(shù)據(jù)支持本地緩存,不需要運(yùn)動(dòng)過(guò)程中實(shí)時(shí)聯(lián)網(wǎng)上傳數(shù)據(jù);數(shù)據(jù)能夠與其他系統(tǒng)對(duì)接,數(shù)據(jù)實(shí)現(xiàn)共享;基于運(yùn)動(dòng)數(shù)據(jù)能夠分析、提供智能化的運(yùn)動(dòng)計(jì)劃,并監(jiān)督學(xué)生按時(shí)執(zhí)行,并記錄執(zhí)行效果。
[參考文獻(xiàn)]
[1]WALLACE R S,EPSTEIN R,ROBERTS G,et al.The anatomy of A.L.I.C.E[A].Parsing the turing test: philosophical and methodological issues in the quest for the thinking computer[M].Berlin:Springer Netherlands,2009.
[2]WALLACE R S.AIML overview[EB/OL].(2014-03-24)[2018-12-24].http://www.pandorabots.com/pandora/pics/wallaceaimltutorial.html.
[3]語(yǔ)音云·開(kāi)放平臺(tái)[EB/OL].(2014-03-24)[2018-12-24].http://open.voicecloud.cn/.
[4]科大迅飛[EB/OL].(2014-04-27)[2018-12-24].http://www.iflytek.com/.
[5]姚飛,張成昱,陳武.清華智能聊天機(jī)器人“小圖”的移動(dòng)應(yīng)用下載[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2014(z1):120-126.