基于手机传感器的多种热身动作检测算法研究分析计算机科学与技术专业.docx
《基于手机传感器的多种热身动作检测算法研究分析计算机科学与技术专业.docx》由会员分享,可在线阅读,更多相关《基于手机传感器的多种热身动作检测算法研究分析计算机科学与技术专业.docx(35页珍藏版)》请在课桌文档上搜索。
1、11)iJJ-jAi11.2 系统发展背景11.2.1 安卓平台优势11.2.2 常见热身运动姿态简介21.3 SVM分类器32.1 安卓技术简介42.1.1 安卓系统架构42.1.2 安卓系统的四大核心组件52.2 安卓传感器技术52.2.1 安卓传感器系统架构52.2.2 安卓传感器接口简介62.2.3 三种传感器的特点72.2.4 传感器数据的获得7第三章系统分析研究93.1 系统需求分析93.1.1 系统功能需求93.1.2 系统技术需求93.1.3 系统维护需求103.1.4 系统安全需求103.2 可行性分析103.2.1 经济可行性103.2.2 技术可行性103.2.3 操作可
2、行性113.3 系统结构设计113.4 系统开发流程分析12第四章系统设计与实现134.1 传感器结构134.2 工作流程134.3 用户用例图设计144.4 系统界面设计及操作简介144.5 系统模块设计16I/175.1 简介175.2 具体步骤175.2.1 数据预处理:去燥和分割175.2.2 特征提取185.2.3 分类器算法选择195.2.4 SVM分类器原理简介205.2.5 SVM算法识别运动状态23第六章系统测试266.2 测试步骤266.3 测试结语27第七章总结(缺陷和展望)287.1 本文总结287.2 后续工作28 3)参考文献致谢错误!未定义书签。摘要随着当下新兴科
3、技日新月异的发展,智能手机的功能变得越来越先进,而且手机上集成了非常多的微型传感器模块。因为手机具有小巧且方便使用的缘故,所以相较于其他的设备更加合适用来进行行为识别方面的研究。又因为现在人们越来越注重身体健康,喜欢运动的人群也随之增多,但由于许多人缺少运动之前的热身环节,从而导致运动时受伤的现象屡见不鲜,所以本文将通过一个具体的开发实例,提出一种基于Android系统的热身运动识别应用的设计思路。在进行软件开发时,其中的主要的工作就是通过智能手机内置的传感器来采集用户的热身运动信息,经由内部程序处理后,当再次接收到相同的运动信息时,能够识别出用户的运动状态。论文具体阐述了系统的设计思路到具体
4、开发流程,采用Android平台完成开发,实现了运动识别功能,包括慢跑、转体运动和高抬腿,满足用户运动数据的采集和运动识别。其中通过比较各种分类器之后,决定采用SVM分类器算法对获取到的传感器数据进行处理,将经过预处理操作之后的传感器数据放到SVM分类器中进行分类,分类后会导出训练模型,用于之后进行的行为识别。论文最后通过两个实验对系统功能进行了检测。关键词:运动状态识别;AndrOid平台;手机传感器;SVMAbstractWiththerapiddevelopmentofemergingtechnologiesinrecentyears,thefunctionsofthesmartphon
5、eshavebecomemoreandmoreadvanced,andmanyembeddedmicro-sensormoduleshavebeenintegratedinthesmartphones.Sincethesizeofthesmartphonesissmallandconvenienttouse,itismoresuitableforstudyingthebehavioridentificationthanotherdevices.Recentyears,peoplearepayingmoreattentiontophysicalhealth,thenumberofpeoplewh
6、olikesportsisincreasing.However,manypeoplelackthewarm-upsessionbeforeexercise,whichleadstoinjuriesduringexercise,thisarticlewilladoptaspecificdevelopmentexampletoproposetheideaforwarm-upsportsrecognitionapplicationsbasedontheAndroidsystem.Duringsoftwaredevelopment,oneofthemaintasksistocollectwarm-up
7、sportsinformationoftheuserthroughthebuilt-insensorsofthesmartphone.Afterprocessingthroughtheinternalprogram,whenreceivingthesamemotioninformation,theusersmotionstatuscanberecognized.Thethesiselaboratedonthesystemsdesignideastothespecificdevelopmentprocess,usingAndroidplatformtocompletethedevelopment
8、,toachievethefunctionofmotionrecognition,includingjogging,swivelingmovementsandhighleglift,tomeettheuser,smotiondataacquisitionandmotionrecognition.Amongthem,aftercomparingvariousclassifiers,itisdecidedtousetheSVMclassifieralgorithmtoprocesstheacquiredsensordatatogenerateacorrespondingmodel,andfinal
9、lyperformmotionrecognition.Finally,aseriesofexperimentsareusedtoverifytheaccuracyoftheapplication.Keywords:Warm-upstatusrecognition;Androidplatfonn;Mobilephonesensor;SVM第一章绪论1.1 应用背景在当下,智能手机已经成为每个人不可或缺的便携式智能设备,而且其重要性还在与日俱增,在某种意义上来说,它相当于一台我们生活中使用的狭义的电脑,但是它又具备电脑没有的优势,它随着时代的进步,功能变得越来越强大,可以用它做的事情也愈来愈多,手
10、机中内置的传感器种类也越来越多,精度也愈发准确,与此同时,随着科学技术的发展,以及人类意识的进步,越来越多的人意识到运动的重要性,各种各样的运动方式琳琅满目,深受人们的喜爱,所以基于智能手机的行为识别技术的开发也就应运而生。当人们无论在户外还是在室内进行运动时,大多都会随身携带手机,而且大部分的智能手机中都配备了具有相当精度的微型传感器,人们的使用手机的频率和手机自身的素质使得基于便携式移动微型计算机的人类行为识别研究成为可能,而且能在运动识别方面获得十足的发展。胡龙的研究中指出了行为识别领域的开发技术。在Lane等人的研究中对基于移动设备传感器研究进行了阐述,在着眼于相关具体行为的自动识别领
11、域,已经有人完成了相当的工作。例如在黄卓勋等和刘斌等进行的健身以及复杂行为识别算法领域的研究,以及李瑞峰等人在人体行为方面的研究综述。本文设计了一个基于智能手机传感器的用于检测3种热身运动的系统,以此给出一种运动检测系统的设计思路,以及有关的算法相关知识。1.2 系统发展背景1.2.1 安卓平台优势Android系统就是一个基于开放式的手机电脑平台操作系统,它是由Google公司于2007年首先推出。从它面世以来,到现在为止快速占领了大部分的市场份额,而且相对于其他的传统品牌例如诺基亚,摩托罗拉等,Android系统在移动客户端的开发中更具有优势,而且与传统的JaVa程序开发语言对比,它在运行
12、时具有资源占用率低,性能稳定的特点,深受广大开发者和用户的青睐。韩文智等人在研究中指出了有关AndrOid的应用开发的相关知识。张娜网在其文章中总结了Android系统的基础架构,康立富等人指出了基于Android平台的行为识别应用的开发框架。Android系统是一种在Linux系统的基础上,开发出的一种基于开源代码的移动设备系统,现在可常见于除苹果以外的智能手机中,由于其代码是开源的状态,所以各大移动设备厂商争相入驻,使其迅速在全球得到蓬勃发展,并成为苹果系统的强烈竞争对手,而且他的系统完整度与应用丰富度也不容小觑。所以最后在经过各方面的因素考量后,因Android平台相较于其他平台适用性更
13、广,容错率更大,限制较小,使我们专注于研究行为识别的开发,所以最后决定选择使用Android平台来开发这个应用。1.2.2 常见热身运动姿态简介吴哲君等人指出在进行行为识别应用开发之前要进行步态分析。我们设计系统的第一步就是要确定系统所具备的功能,最终经过思考之后确定了三个动作。(1)慢跑:用户将手机放在裤子的口袋中,然后开始进行相对匀速的跑步动作;(2)高抬腿:用户同样可以将手机放在裤子的口袋中,大幅度的做交替往上抬腿运动;(3)体转运动:用户手持手机,向左向右旋转身体。人体的身体行为分析(以走路为例):慢跑时的速度通常较低,但相较于行走来说更快,动作幅度相比快跑显得更下以及频率更慢,如下页
14、图1.1所示。人在走路时,两只脚是呈相对应且对称的状态,当一只脚抬起来的时候,另一只离地,并且是周期性运动,当一只脚从落地到下一次落地视为一个周期,完成了两步走,经过比对分析发现,慢跑和高抬腿以及体转运动的运动模式与之有异曲同工,都是以周期为计算单位,所以我们可以通过传感器的数据差异值来判断出不同运动状态。InitialPeriods Double-hmSupportSingle-Iimb StanceSecondDoubIeJimb 卜, SupportInitial SwingMid* SwingTerminal SwingFoot StrikeOppocite Foot Strike(R
15、eversal of Fore-Aft Sear)Opposite Ib-OHFootTibiaClearanceVerticalFoot Stnk图Ll人类行走步态分析1.3SVM分类器SVM作为一种高效的统计学分类器,已经被应用于各种各样的研究当中。其中几个比较重要的研究如刘松松等人切在图像分类方面的研究,溪海燕等人网在交通行人识别的研究,倪志伟等人介绍了SVM在金融方面的研究。SVM分类器运用于运动识别领域己经有好几个年头,并且被大量运用于复杂行为识别的过程中,我们在这里阐述了一种基于智能手机传感器的SVM分类器的热身运动检测系统的开发过程,在选择使用SVM算法分类器进行开发前,先与其他
16、几个常见算法进行了比较分析,随后阐述了SVM算法的数学原理。从运动识别系统开发的过程中看,其中的算法包括训练和检测两个阶段:首先通过把智能手机放到裤兜中,然后对Android系统获取到的传感器数据进行处理,处理后提供给向量机学习,然后再使用训练好的模型对用户的热身运动进行预测。李神送等人M在文章中对获取传感器数据进行了详细的介绍。第二章系统开发技术2.1 安卓技术简介2.1.1 安卓系统架构我们可以把AndrOid系统的架构粗略的分成四个个部分,分别是:LinUX内核层、系统运行层、应用框架层和运用层。如图2.1所示。ApplicationsHomeContactsPoneBrowserApp
17、licationFrameworkActivityManagerWindowManagerContentProvidersViewSystemNotificationManagerPackage7IepbonyResourceLocationXMPPManagerManagerManagerManagerServiceLibrariesAndroidRuntimeSurfaceFfllH三Vi-SligManagerFrameworklibrariesOpenGLESFreeTyPeWebKit1.inuxKernelDisplayDriverCameraDriverBluetoothDriv
18、erFlashMemoryDriverBinder(IPC)DriverUSBKeypadWiAAudioPowerDriverDriverDriverDriversManaQement(1) 图2.1Android系统架构(2) 1.inux内核层:LinUX是Android系统的内核结构。它为Android智能手机中的摄像头、主板、显示器等提供了底层的驱动,总的来说LinUX内核层就是硬件驱动层。(2)系统运行层:系统运行层又可称之为代码逻辑层。这一层为Android系统的开发者提供了各种各样的库函数支持,其中有些决定了Android系统的某些特性功能。如SQLite库为Android手机
19、提供了储存数据和提取数据的功能,OPenGLES库就使开发人员在进行软件设计时可以通过这个库实现3D绘画功能。还有比较重要的一点,就是系统运行层为AndrOid系统开发所提供的一些核心库,能够让开发者使用JAVA语言来进行开发。(3)应用框架层:这一层就主要是为Android系统开发提供了各种各样的外部或内部的APl供开发者调用,这里就不多加赘述。(4)应用层:应用层最通俗的说法就是APP(Application),它通过Android系统这个载体来实现与用户的交互行为,也就是手机中各式各样的程序。2.1.2 安卓系统的四大核心组件Android系统的四大组件分别是活动(Activity)、服
20、务(Service)、广播接收器(BroadcastReceiver)和内容提供器(ContentProvider)1。(1) Activity:简单的说活动就是Android应用程序UI界面,所有的显示内容都是归属于AetiVity的,俗称AndrOid应用系统的“门面”。它展示出了开发者想要在应用程序中提供给用户的功能,并起到引导用户与智能手机进行交互的作用。(2) Service:服务就是应用程序在后台实现的功能,用户在使用程序和退出程序时都看不到它,但它一直都在默默地运行,只要进行相应的设置,并获得一些权限,就可以使应用程序在后台完成用户指定的各种操作。(3) BroadcastRec
21、eiver:广播接收器的功能就像它的名字一样,是Android应用程序用来接收广播的组件,智能手机与其他手机之间的信息传输和主机中各个硬件之间的信息交互都是通过广播接收器来实现的,其中最简单的例子就比如短信和电话,当有电话呼入或者是接收到信息时,可以通过一系列的操作来通知用户接收到了信息,并让用户做出响应。(4) ContentProvider:内容提供器就是实现了同一一部智能手机中的不同应用程序之间可以相互通信,就比如微信有了权限之后就可以获取到你手机中保存到的电话号码一样,大大扩展了智能手机的功能。2.2 安卓传感器技术2.2.1 安卓传感器系统架构在进行有关Android传感器的开发中,
22、Android官方为开发者提供了调用传感器数据的函数接口,我们在开发时,在明确了相关的参数之后,就可以直接调用相应的变量和函数以获取到传感器的数值。系统层次结构如下页图2.2所示。图2.2传感器系统层次结构图如图2.2所示,Android传感器系统的层次结构一共分三层,分别是应用程序层、Android系统层以及硬件和驱动层,在这其中,Sensor的JAVA类是由Android平台提供的传感器数据交互接口,我们在程序中就是在此层中调用函数来对我们需要的数据进行处理。2.2.2 安卓传感器接口简介(1) SensorManager类SensorManager类是Android智能手机中所有传感器的
23、上级管理程序,可以在程序取得各种传感器的实例,接收参数为传感器的类型(SenSor.TYPE_SENSORTYPE):Sensorsensor=senserManager.getDefaultSensor(Sensor.TYPE_SENSORTYPE)(2) Sensor类Sensor类中定义了Android手机中各种各样的传感器的“名字”,我们可以使用参数获取到这些传感器的支持,然后在传感器管理器中注册后,即可设置监听程序,从而就可以获取到传感器的数据。(3) SensorEventListener接口它定义了OnSenSOrChanged()和OnACCUraCyChanged()这两个方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手机 传感器 多种 热身 动作 检测 算法 研究 分析 计算机科学 技术 专业

链接地址:https://www.desk33.com/p-1226488.html