基于移动端GPS和运动打卡APP的设计与实现

2019-05-24 14:21李方方李维勇李桂韬
无线互联科技 2019年2期
关键词:数据采集

李方方 李维勇 李桂韬

摘 要:本项目以跑步运动为切入点,高校为目标用户群体,利用手机的GPS和传感器采集运动数据,对学生的运动过程进行无人值守化的管理。本系统开发的APP通过采集学生的运动数据,形成学生一次运动的完整记录。基于这些数据,开发数据分析系统和管理系統,能够达到智能化监督和评定的效果。

关键词:移动端GPS;运动打卡;数据采集

随着软件技术的发展,人们生活的各个方面都与科技有着紧密的联系,因此也给人们的生活、学习、工作的方式带来新的改变。目前,全国正在广泛开展亿万学生阳光体育运动,随之而来对运动过程的监督、效果评估、数据管理成为一个问题。

目前学生移动端设备比较普及,包括手机和智能手表。特别是高校的手机覆盖率接近100%,本项目以跑步运动为切入点,高校为目标用户群体,利用手机的GPS和传感器采集运动数据,对学生的运动过程进行无人值守化的管理。

本项目提出一种利用手机端定位的特点实现上述功能的解决方案。

1 系统的设计思路

本系统使用基于移动端GPS和传感器的运动打卡APP开发。对学生提供一个快速、便捷、安全的签到打卡软件,包括打卡、自由跑、锻炼、社区、直播、聊天等功能。同时对学校提供学生跑步数据、学生个人信息的管理,修改跑步范围等功能。

2 系统应用的关键技术

2.1 Android平台的GPS定位技术

Android平台的定位技术一共有两种技术:GPS定位和网络定位。

由于本项目主要使用在室外环境且对定位精度要求较高,因此,本项目选择AGPS定位技术来获取所需要的定位数据。

2.2 Android平台的传感器技术

智能手机传感器的使用使用户即使在地铁站、隧道等GPS信号全无的情况下也依然可以进行运动距离的估算,并且可以分析判断用户正在进行哪项运动,如骑行、跑步、爬山、步行、滑雪等。本项目中用到的方向传感器主要返回三轴的角度数据;重力传感器返回重力数据,利用x,y,z 3个值求三角函数,就可以精确检测手机的运动状态。从而就可以判断出用户此时的运动状态。加速度传感器获取的是x,y,z三轴的加速度数值,手机朝下放在桌面上,z轴为-9.81。它能够感知到加速度的变化,比如晃动、跌落、上升、下降等各种移动变化都能被G-sensor转化为电信号,在用户把手机放入口袋时也能够计算出用户的步数。

2.3 人脸识别技术及身份确认

人脸识别技术包含3个部分:人脸检测、人脸跟踪、人脸对比。人脸检测是指动态的场景与复杂的背景中判断是否存在面像,并分离出这种面像。人脸跟踪是指对被检测到的面貌进行动态目标跟踪。具体采用基于模型的方法或基于运动与模型相结合的方法[1]。

本项目人脸对比支持:(1)多种图片类型。支持生活照、证件照、身份证芯片照、带网纹照4种类型的人脸对比。(2)活体检测。基于图片中的破绽分析,判断其中的人脸是否为二次翻拍。(3)质量检测。返回模糊、光照等质量检测信息,用于辅助判断图片是否符合识别要求[2]。

2.4 轨迹算法

本项目使用道格拉斯—普克算法对运动轨迹进行抽稀保存。用户的运动轨迹实际上是由很多个经纬度坐标连接而成,但是并不需要把所有运动时记录下来的经纬度坐标都用来绘制轨迹,本项目使用道格拉斯—普克算法对这些数据进行抽稀,得到的抽稀后的点依然可以保证运动轨迹的形状大致不变,还能让曲线更平滑、更节省存储空间[3]。

2.5 学生画像建模

学生画像是对现实中的学生的建模。基于大数据技术,通过整理搜集学生在本软件上的跑步时间、里程、次数和浏览、点击、留言、评论等碎片化的行为轨迹,研究学生行为习惯分析出学生的性格、习惯、态度等信息,从而生成学生画像。主要有以下几个步骤。

(1)数据仓库的设计:学生画像分为3层数据仓库,第一层为原始数据层,存放需要的数据的汇总、抽象与集成;第二层为数据中间层,对第一层的数据进行清洗、提取整合;第三层为数据结果层,存放学生最终的画像数据。

(2)学生画像的构建:根据学生画像的业务需求,对学生的原始数据进行规则的抽取、清洗、转换、分类放入第二层。再根据自定义规则生成相应的学生标签,存放在数据仓库的第三层。最终生成学生画像[4]。

3 基于Android的系统实现

在系统逻辑架构设计方面,采用分层架构设计。主要分为5层架构:界面表示层、应用层、客户端的数据访问层、业务处理层、服务端的数据访问层。

界面表示层主要负责与用户交互。主要包括用户登录界面、用户战队界面、好友界面、用户运动界面、用户社区界面以及用户排名界面。通过这些界面,用户可以方便地使用系统功能。应用层主要是控制业务逻辑,为界面表示层提供服务。主要包含6个功能模块:用户登录模块、用户战队模块、好友模块、用户运动模块、用户社区模块以及用户排名模块。

客户端的数据访问层只为应用层提供服务,主要存储用户信息以及、好友信息以及部分手机传感器收集的数据。业务处理层主要向应用层提供服务。例如用户登录服务、好友服务、用户运动服务、用户社区等服务,是系统实现的基础。服务端数据访问层主要提供数据访问支持,采用MySQL关系数据库[5]。

3.1 制定运动计划和路线

本系统根据每个学生不同的学生画像生成每个学生周和月度运动计划,包含跑步、步行、爬山、游泳等多个类别。学生每天按照计划在约定的时间内进行锻炼,学生可提前根据天气和个人时间调整计划,但必须保证足够的运动量。用户在跑步过程中所经过的路径会实时绘制在地图上。通过调用高德地图API实时获取用户的地理位置,再根据上一次的地理位置进行连线显示在地图上。学校可以制定固定的运动路线,或者可以在后台管理页面选中一片区域,以此来产生一个必经点和4个随机点。学生进行运动时可以调整路线,只需经过一个必经点和两个随机点即可。

3.2 运动监测

本应用程序基于GPS和传感器技术,精准记录轨迹、里程、配速、步数等数据,自动统计分段里程的配速信息,能夠直观展示学生运动全过程。在运动开始、运动结束记录打卡,在运动过程中随机要求2~3次打卡,会提前5 min语音提示,需在5 min内手工打卡,打卡时进行指纹验证、人脸识别,并上传学生此时的地理位置,以证明是学生自己在某位置打卡。上传成绩后服务端还会对跑步异常的数据进行二次复查。

三重防作弊功能分为3部分:绑定手机、打卡过程中的3次指纹验证、3次人脸识别。

绑定手机,此功能是通过获取IEMA和MAC地址来进行账号与手机的绑定。

指纹验证,通过调用手机自带的指纹模块,并接受返回结果。

人脸识别,通过手机相机进行拍照收集到用户的人脸信息上传至服务器进行人脸识别。

3.3 后台管理

后台管理页面功能包括学校管理、学生管理,数据的录入支持批量导入;对于课程管理,包含课程信息管理和成绩管理,可以通过管理后台向管理的学生分配作业,可以限定运动区域、时间、及格线等属性;针对学生的成绩后台可以手动修改策略,和其他成绩进行综合评定;对应的运动数据有实时排行榜,在后台用户可以查看相应名次;同时也支持学校针对该学校发布相应的通告信息和知识推送。

3.4 运动社区

基于学生的运动成绩,能够有相应的积分,相应积分能够确定不同级别,能够在社区中进行消费;并且在社区中,学生之间可以相互交流,发表动态和评论,社区信息也包含学校发布的知识专题、赛事活动、直播交流,学生可以在社区中选择自主参与,针对赛事并有实时进度和排名。

3.5 数据管理

对于用户运动数据支持本地缓存,不需要运动过程中实时联网上传数据;数据能够与其他系统对接,数据实现共享;基于运动数据能够分析、提供智能化的运动计划,并监督学生按时执行,并记录执行效果。

[参考文献]

[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]语音云·开放平台[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].现代图书情报技术,2014(z1):120-126.

猜你喜欢
数据采集
Web网络大数据分类系统的设计与改进
基于大型嵌入式系统的污水检测系统设计
基于开源系统的综合业务数据采集系统的开发研究