智能手机左右操作手识别检测系统研究与设计和实现软件工程专业

上传人:文*** 文档编号:240899285 上传时间:2024-05-16 格式:DOCX 页数:46 大小:1.72MB
返回 下载 相关 举报
智能手机左右操作手识别检测系统研究与设计和实现软件工程专业_第1页
第1页 / 共46页
智能手机左右操作手识别检测系统研究与设计和实现软件工程专业_第2页
第2页 / 共46页
智能手机左右操作手识别检测系统研究与设计和实现软件工程专业_第3页
第3页 / 共46页
点击查看更多>>
资源描述
目 录摘 要1ABSTRACT2前 言3第一章 绪 论41.1 研究课题的提出41.2 研究现状51.3 本文的主要工作51.4 本文的组织结构6第二章 相关技术72.1 移动感知技术72.1.1 移动感知简介72.1.2 移动感知的应用82.2 数据挖掘技术82.3 数据处理工具WEKA92.3.1 Weka简介92.3.2 Weka探索者界面102.3.3 arff文件格式102.4 本章小结11第三章 研究动机与概要设计123.1 相关工作123.1.1 基于触摸行为的生物识别123.1.2 智能手机用户界面调整133.2 研究动机153.2.1 用户分析153.2.2 使用情景分析163.2.3 总结183.3 概要设计183.3.1 概述183.3.2 模块概览183.4 本章小结19第四章 各模块具体设计204.1 数据采集204.2 特征选择204.2.1 长度特征204.2.2 速率特征214.2.3 位移特征224.2.4 形状特征224.3 分类训练244.3.1 构造分类器244.3.2 分类算法254.4 本章小结27第五章 实验与分析285.1 用于采集轨迹数据的手机简易app设计285.1.1 数据采集285.1.2 数据提交与保存295.2 基于matlab的轨迹特征提取295.2.1 数据读取295.2.2 原始数据处理305.2.3特征向量计算315.2.4 输出至Weka325.3 分类表现评估325.4 本章小结33第六章 总结与展望346.1 本文总结346.2 后续工作展望34参考文献37致 谢39摘 要近年来随着各类微型嵌入式智能传感器(如三轴加速度传感器、三轴陀螺仪、磁力计、心率传感器等)在智能手机设备中的广泛应用,智能手机已经逐步成为了我们生活中不可或缺的移动智能终端。进而催生了各类基于智能手机设备的移动感知研究,例如健康看护、定位、手机丢失预警、人身侵害预警等课题。故本论文也将围绕智能手机应用展开。随着智能手机尺寸逐年增加,单手握持的可操作性体验反而愈发降低,对于手掌尺寸较小的女性用户问题则更加严重。我们若能准确利用智能手机内嵌传感器所采集到的用户操作数据来判定用户操作手机的操作手(即左手或右手)以及左右手切换动作,则可以针对性调整大屏手机用户界面的布局,进而大幅提高用户体验。论文提出了一种基于用户划屏轨迹识别左右操作手的判定方法,提出的方法主要基于大量采集优化生成的用户划屏轨迹数据训练得到监督分类器。与已有研究相比,本论文的提出的方法不需要用户手工设置操作手,仅通过传感器获取数据自行判定操作手,大幅度提高了用户的体验感受。通过在实际华为Mate9手机上运行得到的实验数据表明,识别准确率及召回率等参数可以达到80.7%和80.0%。我们同时还开发了一套可以采集手机各类传感器数据的app,不仅可以获得滑屏数据,还可以得到加速度传感器,陀螺仪数据,作为未来展望,若能加入这类传感器数据,我们还可以进一步提高算法识别准确率。关键词:移动感知,操作手识别,智能手机,触摸屏,监督分类器AbstractAs technology advances, smartphones with abundant built-in sensors (gyroscope accelerometer, heart rate sensor and etc.) are becoming more and more ubiquitous in our daily lives, which stimulates the blooming of smartphone sensing research, such as healthcare, localization and personal injury detection. In this thesis, we also focus on this field.As the size of smartphone touchscreens has become larger and larger, the operability with a single hand is getting worse, especially for female users. We envision that user experience can be significantly improved if smartphones are able to recognize the current operating hand, detect the hand-changing process and then adjust the user interfaces dynamically. In this thesis, we proposed a mechanism for recognizing the operating hands. The method based on supervised classifiers constructed from a series of refined touchscreen trace to recognize the current operating hand. Comparing with the existing solutions that all require users to select the current operating hand or confirm the hand-changing process manually, our systems follow much more convenient and practical methods and allow users to change the operating hand frequently without any harm to the user experience. We conduct extensive experiments on HUAWEI Mate9 smartphones, and the evaluation results demonstrate that our proposed systems can recognize the current operating hand with 80.7% precision and 80.0% True Positive Rates (TPR) respectively.We also developed an App for collecting sensor data, such as touchscreen trace, accelerometer and gyroscope features. As our future work, we are planning to combine these data to generate a more precision classifier to recognize the operating hands. Keywords: Mobile phone Sensing; Operating Hand Recognition; Smartphone; Touchscreen; Supervised Classification前 言智能手机大屏化发展在当今已经成为主要趋势,人们通过大屏手机,获得了更好的观赏和使用感受。但是,与此同时,人们使用手机越来越不方便,尤其是单手操作手机时。而各种手机或应用推出的单手操作模式又需要提前进行繁琐的设置,更不适用于频繁更换操作手的情况。基于这样的现状,智能手机用户迫切地需要一个能够动态识别当前操作手的系统,与屏幕尺寸调整进行衔接,来提升用户操作手机时的使用体验。本文在分析操作手识别研究现状的基础上,提出采用基于移动感知理念的数据采集方法采集划屏轨迹数据,并通过研究数据挖掘技术、学习数据处理工具Weka,完成了对识别左右操作手过程的研究与分析,包括研究动机分析、各模块设计、分类实验与分析。本文完成的主要工作如下:(1)对移动感知技术的进行研究,运用移动感知理念采集划屏数据,并运用数据挖掘技术进行数据处理,同时学习使用数据处理工具Weka;(2)完成对操作手识别系统的研究动机分析,包括对用户的分析和对使用情景的分析,分析过程中对比了先前相关工作,得出了研究重点。完成识别过程概要设计,梳理了主要识别步骤;(3)完成各步骤模块设计,包括数据采集、特征选择和分类训练这三大模块的设计;(4)完成了具体的操作手识别实验,包括用于数据采集的手机简易app设计以及特征的计算,最后评估了分类表现并得到表现最佳的分类器。第一章 绪 论这一章首先介绍了研究课题提出的背景,其次分析了现有的对于左右操作手识别系统的研究与探索,并概述了本文进行的主要工作,在本章的最后分段罗列了论文的组织结构。1.1 研究课题的提出在当今这个时代,人们的日常生活、工作、学习、生活与社交等各个方面越来越离不开智能手机,人们对智能手机的需求也不再仅仅停留于通讯的方便上,而是对影音播放、游戏娱乐、商务办公等功能及其使用感受提出了更高的要求。因此,大屏幕智能手机成为现在主要的发展方向。但是,在取得良好观赏感受的同时,人们操作手机却越来越困难,尤其是需要单手操作手机的情况下,人们往往无法触摸到大屏手机上方的按钮。这给用户操作手机带来了极大的不便,对女性用户来说尤为明显。图1.1 三星S5手机有限的触屏范围示意虽然很多新款智能手机和应用都推出了单手模式之类的解决方案,但是往往需要用户提前设置或者采取多个步骤触发,在用户频繁更换操作手时并不方便。所以,在这里提出尝试直接在用户使用手机过程中识别当前操作手的设想。同时,智能手机的嵌入式传感器不断增多,内置传感器的种类也在不断丰富。这为探索智能手机左右操作手识别系统的研究提供了技术支持和思路。1.2 研究现状当前,关于手机传感器的一些研究用不同的方法和不同的手机内置传感器,对用户的做手势、使用相关功能和运动时产生的数据等进行建模识别,很多研究都达到了较高的准确率。其中吴飞提出的一种方案与本研究课题最为相近。它通过收集从桌面拿起手机过程中的状态数据,识别当前的操作手1。该项研究从拿起手机的相关数据中提取相关特征,随后用序列向前选择(SFS)算法找出准确率高的特征子集,用机器学习算法建立分类模型,并通过10-折交叉验证方法评估得出准确率较高的模型,用来对左右操作手进行识别。该项研究有其创新之处,它不仅是对智能手机内置传感器在应用程序中的拓展,而且提高了手机的可用性。但是这项研究也有一定的局限性。主要体现在拿起手机的动作起始点没有明确界定,起点状态比较单一,以及采集数据的情景并不是日常使用手机的过程。1.3 本文的主要工作本文主要目的是研究并设计一个通过划屏轨迹识别当前操作手的系统。在进行正式的课题研究之前,本文前期进行了一些相关技术学习与研究:1、对移动感知技术的研究。通过分析移动感知理念、发展、应用方式,将移动感知理念运用到本文的轨迹数据采集中,借助手机传感器,在用户日常使用过程中,采集用户划屏轨迹数据。2、对数据挖掘技术的学习和研究。本文分析了数据挖掘技术的含义、应用场景、常见方法。利用数据挖掘技术实现了对划屏轨迹数据的处理和识别。3、对Weka数据处理工具的研究。简单概述了Weka处理数据的三种方式,主要介绍了Weka的探索者界面,最后学习了Weka专用的arff文件格式。最后,本课题将智能手机左右操作手识别系统的研究,整个研究过程包括研究动机与概要设计、各步骤模块具体设计和实验与分析。l 研究动机与概要设计由于本文主要以理论研究为主,所以对研究动机的深入分析必不可少。本文先对相关的工作进行了一些了解与分析,之后基于本课题针对的使用对象和系统使用情景,对研究动机进行了具体阐释,并通过对比得到了研究的重点。最后,进行操作手识别步骤的概要设计。l 各模块具体设计这一部分对操作手识别系统的各个步骤模块进行了具体的设计,包括数据采集过程设计,需要提取的轨迹特征的选择以及分类训练的方法。l 实验与分析这一部分首先进行了对用于采集数据的手机简易app的设计,该app采集了每条轨迹的样本点坐标和时间戳信息。然后基于Matlab语言实现了划屏轨迹特征的提取。最后运用Weka对轨迹数据分类训练,并对分类结果进行了分析和评估,初步得到了随机森林分类器表现最佳的结论。1.4 本文的组织结构本文共分为六章,每一章的内容如下:第一章:绪论。本章介绍了研究课题提出的背景,阐述了当前对于手机传感器以及智能手机操作手识别的研究现状,概述了本文进行的主要工作,最后简单介绍了本文的组织结构。第二章:相关技术。本章介绍了移动感知技术,简要介绍了基于移动感知的几个应用,基于数据挖掘的方法在课题研究中对收集到的数据进行处理。最后介绍数据处理工具Weka的功能、使用方法和数据格式。第三章:进行研究动机分析和概要设计,主要包括相关工作分析和针对用户和情景的分析,同时,进行识别系统的概要设计,包括识别过程的概述和步骤模块介绍。第四章:提出了识别左右操作手过程中具体各模块的设计方案。基于移动感知理念进行划屏轨迹数据收集,选择有效特征并实现分类训练。第五章:介绍了整个实验过程中各个模块的实现,包括对用于采集数据的手机简易app的设计、基于Matlab的特征提取实现以及对各分类器分类表现的评估。第六章:总结全文,提出对下一步研究工作的设想与展望。第二章 相关技术本章介绍了移动感知技术的理念和一些应用,论述了使用数据挖掘技术的必要性和数据挖掘的相关基础知识,最后介绍了数据处理工具Weka。2.1 移动感知技术2.1.1 移动感知简介移动感知(mobile sensing)是物联网应用的重要技术之一。物联网涉及的感知区域比无线传感网更广泛,更加与人们的日常生活、工作和学习息息相关。基于无线传感网的传统数据采集方式通常需要派出专门的工作人员用相关的专业仪器在特定时间、特定地点采样,这样不仅采样数据量较小,而且耗费了大量的人力、物力,更无法达到物联网的感知区域等要求。所以,移动感知技术应运而生,它旨在利用智能手机、个人数字助理(personal digital assistant,PDA)等人们日常随身携带的移动设备在更加广泛的感知区域内动态实时获取用户所需要的信息2,3。如今,智能手机的功能日渐强大,它们配备了越来越丰富多样的嵌入式传感器,比如加速度传感器,光线传感器、磁力传感器、陀螺仪、全球定位系统、麦克风和摄像头等,这也在推动着移动感知技术的发展。借助移动感知技术,这些传感器可以在医疗保健、社交网络、环境监测和交通管理等多个领域实现新的应用。移动感知技术已经成为一种高效且成本低廉的环境数据收集方式,尤其是针对一些需要采集大量数据的任务,比如噪音监测、城市交通流量管理、智慧医疗系统等。在这些应用领域,移动感知技术借助功能强大的智能手机终端进行数据采集,由分散的移动手机用户完成大量的数据收集任务,不仅保证了采集到的数据量和数据质量,而且能够降低数据采集时间成本和资金开销。近年来,得益于智能手机的普及,一些移动感知的应用已经被研究开发出来,下一小节中将对现有的一些移动感知应用系统进行简单介绍。2.1.2 移动感知的应用目前,关于移动感知系统的研究不断增多,在很多领域已经出现了较为成熟的应用系统。麻省理工学院(MIT)的Thiagarajan 等人设计了一种精确节能的道路交通拥塞时延预测系统 VTrack4。VTrack使用耗能较少但是噪声较大的传感器(如WiFi)来替代高耗电的GPS ,通过这些传感器采集数据,然后使用基于隐马尔可夫模型(HMM)的地图匹配方案计算汽车运行轨迹以及时延,从而实现对行程时间的估算,大大降低了系统运行能耗,同时解决了传感器不可靠的问题。Rana等人在 NokiaN95平台上实现了一个端到端的城市噪音绘制系统Ear Phone5。该系统首次利用通过众包数据采集获得的压缩和随机样本,在移动设备上的系统资源消耗合理并能够提供噪声图的高重建精度,在监测城市噪音污染中发挥了重要的作用。在本文中,基于移动感知的理念,借助手机传感器,收集手指在智能手机上的划屏轨迹数据。不同于以往的研究中提前设计一系列复杂的划屏轨迹,本文中收集到的划屏轨迹都由用户在日常生活中非刻意地产生,所以这些划屏轨迹呈现出各种各样的形状,没有明显规律性。因此,收集到的划屏轨迹数据将更具有可靠性,后续的数据分类也能得到一个相对客观、有价值的结果。2.2 数据挖掘技术前文已经介绍了本文根据移动感知的理念,收集了大量划屏轨迹的数据集。为了通过这些轨迹数据识别出轨迹类别,便需要用到数据挖掘技术。当今已进入海量数据时代。例如,沃尔玛仅一个小时就有一百万的交易量,数据库中的数据量已经达到拍(1015)这一数量级。像这样的海量数据不可能用以前的手工方式处理,因此,人们对自动化的数据分析方法有着迫切的需求,数据挖掘与及机器学习提供提供了这些方法6。数据挖掘即在数据中寻找模式的过程,即从数据集中提取信息,然后转化为可理解的结构来为下一步解决问题服务,比如客户忠诚度分析、市场购物篮分析等。数据挖掘通常包含六类常见任务:1、异常检测:识别异常数据记录,多是需要关注的数据或需要调查的错误数据。2、关联规则学习:寻找变量之间的关系。例如,借助关联规则学习,超市能够分析出顾客通常一起购买哪些东西的信息,然后将这些分析结果用于营销。这就是前文提到的市场购物篮分析。3、聚类:将数据集划分为簇,一个簇是由相互之间相似的一组对象构成的集合,不同簇中的实例一般不相似或相似度很低。4、分类:将已知的结构推广应用于新数据。比如,电子邮件程序会将电子邮件分为“合法”或“垃圾邮件”。本课题中主要应用的便是分类技术。5、回归:试图找到一个函数,以最小的误差对数据建模,来估计数据或数据集之间的关系。6、汇总:提供数据集的直观表示,包括可视化和报告生成,便于发现隐藏领域的知识,以便快速排除许多无意义的模式。基于对数据挖掘技术的学习,本文将利用通过移动感知技术获得的数据,结合识别左右轨迹类别的具体需求,借助数据挖掘技术识别出划屏轨迹类别。2.3 数据处理工具Weka2.3.1 Weka简介Weka是怀卡托智能分析环境的简称,它是基于Java的数据挖掘机器学习软件。Weka系统中包含了最为先进的机器学习算法和数据预处理工具,能够方便用户灵活地将现有的方法用于新的数据集7。它不仅能够提供多种学习方案,还可以被用于比较和评估不同算法的性能,根据结果找出最能高效解决问题的方式。Weka系统包括了2.2节中提到的所有六类方法。使用Weka的方式主要分为三种:第一,在某个数据集中应用特定的学习方案,并分析它的输出,以达到更深入了解数据的目的;第二,用已经学习的模型预测新的实例;第三,使用多种学习算法,选择性能表现最佳的方案预测新实例。Weka的交互界面菜单中可供用户选择学习方案,并设置方案参数。2.3.2 Weka探索者界面Weka为用户提供四种主要的应用界面,包括探索者(Explorer)、知识流(KnowledgeFlow)、实验者(Experiment)和简单命令行(Simple CLI)界面。如图2.1所示。研究课题中用到的是探索者界面,它是用户操作最为简单的界面。通过选择菜单、填写表单,就能够使用Weka的各种功能。不管是读取arff文件中的数据集,还是建立决策树模型,都可以简单地通过几个按钮实现;以表格形式呈现的用户选项,也极大地方便了用户填写;鼠标移动至界面工具时,会给出相应用法提示;可选择的算法都给出了合理默认值,用户无需花费过多时间进行配置。图2.1 Weka的四种应用界面但是,在探索者界面中需要一次性读取用户打开的数据集中的全部数据。因此,这样的方式,比较适合处理中小规模问题。基于本课题中所用到的数据量,本课题适合使用探索者界面。2.3.3 arff文件格式图2.2 Weka自带的airline数据集示例Weka专用的文件格式为arff格式,即属性-关系文件格式。一个arff文件呈现了一组属性结构相同的实例,各个实例相互独立且无顺序。它包括一个标题头,用来描述属性类型;还包含一个表示各实例数据的列表,数据间用逗号分隔。因此,本文中将轨迹数据处理并提取特征后,也需要将得到的实例数据转化为Weka专用的arff格式。2.4 本章小结本章主要介绍了课题研究中用到的一些技术,包括移动互联网时代的移动感知技术,数据挖掘技术以及功能强大的数据处理工具Weka。在本章的第一节,主要介绍了移动感知技术的含义、发展及其优越性,分析了随着智能终端发展为移动感知带来的推动作用和广阔前景。并简要介绍了几个现有的基于移动感知的应用系统。在本章的第二节,简单分析了为何在本课题中需要用到数据挖掘技术,介绍了数据挖掘技术的概念、方法等基础知识。在本章的第三节,介绍了数据挖掘工具Weka,介绍了Weka的主要功能,描述了研究中用到的探索者界面,并了解了Weka专用文件格式arff格式。第三章 研究动机与概要设计本章先分析了相关研究工作,对比之前的研究,对课题的研究动机进行了具体分析,并对系统主要实现步骤进行了描述。3.1 相关工作在这一节中,介绍了两个领域的相关工作。3.1.1 基于触摸行为的生物识别近年来,关于识别认证的研究不仅仅局限于利用触摸屏,而是利用了多种多样的传感器数据,从而丰富了识别认证时用到的特征。下面介绍几种基于触摸行为的生物识别认证方案。l 基于手势的身份验证基于手势的第一种身份验证方案是由Muhammad等人提出的GEAT8,一种基于手势的用于安全解锁触摸屏设备的用户认证方案。先前的方案一般将用户输入作为身份验证密码,GEAT主要根据用户输入的方式验证用户身份,如手指速度、设备加速度和划屏时间。即使攻击者看到用户做了什么手势,他们也不能通过肩窥攻击或污点攻击来重现用户做手势的动作。实验结果表明,GEAT仅用25个训练样本就可以实现3个姿势的平均等错误率为0.5。第二种方案是Luca等人进行的一项研究9。这个方案引入了一种隐式认证方法,即用户可以通过他们执行输入的方式进行认证。该方案中将用户在基于Android操作系统的触摸屏手机上绘制解锁图案的时间用于身份验证,以此区分不同的用户并使用此信息来提高输入的安全性,同时保持用户的便利性。然而,该方案准确率仅为55。因为该方案不会从用户的手势中提取任何行为特征。第三种方案是Sae-Bae等人提出的用在多点触控设备上执行五指手势的时间点进行验证10。该方案利用多点触摸表面将生物识别技术与手势输入相结合。研究中基于手掌和指尖中心的运动特征进行分类,定义了一套全面的五指触摸手势,并在对用户的研究中结合生物识别数据收集和可用性问题对其进行了测试。研究发现,用户对手势的期望特征(易用性,愉悦性,兴奋性)的用户评分与手势安全性保持一致。但是,该方案要求用户使用一只手的全部五个手指来执行手势,这在小型触摸屏的智能手机上非常不方便且该方案无法处理同一个用户做同一手势的多种行为。l 基于击键的身份验证一种基于击键的身份认证方案主要是针对带有物理键盘的设备而提出的,精度较低11。因为大多数人使用相同的手指来键入显示在屏幕上的键盘上的所有键,所以在触摸屏上对键入行为进行建模本质上是困难的。郑等人12在技术报告中报告了此方面的唯一工作。由于智能手机用户在触摸屏上点击时有其独特的行为模式,这些个人模式反映在应用力的不同节奏,力量和角度偏好上。借助智能手机配备的各种传感器,捕捉用户的窃听行为可以无缝完成。研究发现,该系统实现了高精度,平均误差率低至3.65。3.1.2 智能手机用户界面调整几款最新机型的大屏幕手机支持用户界面调整功能,以达成提升用户体验的目标。l 小米max的单手模式图3.1 小米max机型单手模式设置小米max手机的用户可以设置单手模式。用户可根据实际需要及个人喜好选择触发单手模式后屏幕缩放的大小。这样既不影响屏幕观看感受又能够方便单手操作。用户在需要触发单手模式时,由Home键向右滑动到返回键,便可以进入单手模式。如此可以轻松地单手触摸到屏幕缩放后的任意位置,十分灵活且便捷。偏爱左手操作的用户,还可以由Home键向左滑动到菜单键,进入左侧的单手模式。l iPhone半屏操作iPhone用户连续两次触碰主屏home按钮,即可触发iPhone的半屏操作模式,手机的用户交互界面将下降一半,这样手机屏幕上方所有的按钮便都能被用户触摸到了。并且触发该模式和退出该模式都非常简单快捷,极大地方便了用户单手操作iPhone手机。图3.2 iPhone半屏操作模式l 百度输入法单手模式百度输入法支持单手模式。用户可单击单手模式按钮,将输入键盘收缩并集中在左侧或右侧,即当前操作手的一侧。图3.3 百度输入法单手模式3.2 研究动机3.2.1 用户分析本文所要研究的基于划屏轨迹的智能手机左右操作手识别系统是针对所有相互独立的智能手机使用者。虽然左撇子在总人口中所占的比例很大,但现在大多数智能手机用户界面设计只考虑右撇子的人群。另外,一些用户频繁地改变操作手。调查显示,34的人通常左手操作智能手机,50通常右手操作,而近16的人使用智能手机右手或左手具有相同的频率13。以往的小屏手机使用过程中,操作手对使用的影响并不大,但是随着近年来屏幕尺寸越来越大,智能手机的操作对于很多人越来越不方便。为了照顾到每一个用户,实现各个用户的操作手识别很有必要。此外,我们知道,日常生活中,通常每位用户都是独自使用智能手机的,很少出现多人使用同一部智能手机的情况。因此,与上一节介绍的研究工作不同,先前的研究工作中,研究目的是区分不同用户产生的手势或轨迹,而本文中所有的触屏轨迹都是由同一个用户产生的。一般来说,同一用户操作手机时的生理行为都是大体相似的,所以一个用户产生的划屏轨迹与多个用户产生的相比,轨迹间的相似度极高。 图3.4 不同用户产生的两条轨迹图3.5 同一用户产生的两条轨迹在这种情况下,以往研究中常用的很多生理行为特征对于区分同一用户的左右操作手往往不再适用。所以,找出并选择有效且可区分的特征在本文中非常重要。3.2.2 使用情景分析本文中所研究的智能手机左右操作手识别过程,使用情景大多是日常使用中的刷微博、看小说、浏览图片、聊天打字这类生活化的场景。根据对用户日常生活的观察,可以将智能手机操作模式划分为五个主要类别13,如图3.6所示。大屏幕智能手机的用户界面可针对每种特定模式进行调整,特别是对于模式1和模式5,其触摸范围有限。图3.6 5种智能手机操作模式事实上,在很多日常情景之下,操作手识别和自动屏幕调整都是非常必要的。比如:第一,当另一只手忙于做其他事情时像是进食、携带重物、扶住地铁扶手时,单手便很难触碰到屏幕最上方的按钮。如果能识别出当前操作手,根据操作手调整屏幕到相应位置,会更加方便用户单手操作。第二,人们使用的输入法和拨号键盘通常占据智能手机屏幕的整个宽度。所以如果智能手机屏幕很大,就必须用双手输入。如果智能手机可以动态检测当前的操作手,然后缩小输入法的面积或按比例调拨键盘并自动让它们聚集在手的一侧,那么用户就能单手完成输入,用户体验将大大提高。第三,为了避免用户误碰到智能手机用户界面上一些敏感的按钮(比如消息发送按钮、删除按钮),造成严重后果,这些按钮应该放置在当前操作手难以触摸到的屏幕范围内。这样,用户需要做出一些努力来触摸这些按钮,偶然的触摸事件将不再发生。第四,目前大多数基于Android的智能手机的底部都有三个按钮,分别是后退按钮,主页按钮和菜单按钮。经过调查发现,大多数用户使用“后退”按钮比“菜单”按钮更频繁。相较于现在Android智能手机用户界面上固定这三个按钮的方案,另一种更合理的方法是根据当前的操作手将后退按钮放在三个位置中更容易被触摸的位置上。具体识别系统研究过程中,需要注意的是,用户在所有这些情境下用左右手产生轨迹都是不规则的,且不是刻意划出某种特定形状的。反观先前的一系列研究,它们大多目的是用于识别用户身份、解锁等等。也就是说,这时的用户是有意识地做出特定手势、产生特定轨迹的。正因如此,这些研究中研究者都是先设计出一系列复杂的触屏手势,随后挑选出几种区分度较大的手势供用户使用。所以,在本课题的数据采集过程中,必须注意抓住使用情景这一特点,引入移动感知的理念,采集用户日常使用智能手机的多项功能时产生的轨迹数据。这样收集到的数据更加客观,更适用于本课题的研究,也为之后构建合适的分类器打下了良好的基础。3.2.3 总结本节分析了智能手机左右操作手识别这一研究课题针对的用户特点与使用情景特点,并分别与3.1.1节中的研究作了对比与总结。基于以上的分析,该系统研究的主要工作便是学习与分析以上基于触摸行为的生物识别研究过程,借鉴先前的研究者设计识别系统的理念与方法。然后运用移动感知技术,在用户日常使用智能手机的生活化场景中采集用户生成的触摸屏轨迹信息,并提取其中的特征,对各种特征进行分析比较,选择有效且可区分的特征来准确识别当前的操作手。从而设计出一个基于用户的划屏轨迹判断当前操作手的系统。争取为实现当前操作手识别与3.1.2节中的用户界面调整功能的衔接打下基础。3.3 概要设计3.3.1 概述本文将要研究设计一个基于划屏轨迹实现识别当前操作手的识别的系统。首先,立足于移动感知理念,借助手机传感器,在日常生活情景中收集使用智能手机划屏数据;随后,对划屏轨迹数据进行处理与特征提取;最后,构建分类器对划屏轨迹分类,识别出产生相应轨迹的操作手。3.3.2 模块概览完整的左右操作手识别模型如图3.7所示。图3.7 左右操作手识别模型本研究课题中主要研究与实现的是步骤一,步骤四及步骤五。研究步骤如下:第一步,收集智能手机用户划屏轨迹的数据,根据后续特征提取这一步的需要,划屏轨迹数据由一系列的样本点及其对应的时间戳和坐标信息组成;第二步,利用轨迹数据,计算出包含一系列可以识别当前操作手的特征的特征向量,注意所提取的向量要有一定区分度且识别准确率高;第三步,构建分类器,使得分类器能够高准确率地区分轨迹由用户的哪只操作手产生。3.4 本章小结本章主要做了以下工作:1、通过对相关研究工作分析,学习借鉴了先前研究的经验及方法,为操作手识别系统的设计提供了思路。2、进行系统研究与设计的用户分析和使用情景分析,总结出了本文的研究动机、工作任务极其重点。3、对操作手识别系统的研究过程进行了描述,对其中的三大模块依次进行阐述。第四章 各模块具体设计本文在第二章学习了相关技术,第三章认真进行了研究动机的分析及概要设计。本章阐述了左右操作手识别系统的研究中三大模块的具体设计,包括数据采集方式,划屏轨迹特征选择,还有分类训练过程和算法。4.1 数据采集为进行数据采集,基于Android操作系统开发了收集轨迹数据的简易收集app。在用户划屏的过程中,手机app会记录每个采样点的坐标以及时间戳。为排除生理特征行为差异的影响,保证能够在后续研究中识别同一用户产生的多条轨迹,收集的数据都是由同一名用户产生的。这名用户分别使用他的左食指、右食指、左大拇指、右大拇指产生了上、下、左、右四个方向的多条轨迹,并通过简易手机app记录下了划屏轨迹数据。收集过程中,向左和向右划屏产生的划屏轨迹通过浏览图片、阅读电子书等操作产生,向上和向下划屏产生的划屏轨迹通过浏览微博、新闻等方式产生。4.2 特征选择4.2.1 长度特征l 轨迹总长度表4.1 向上划屏时的轨迹总长手指轨迹方向轨迹总长度/mm左食指向上1275.18左食指向上1177.83左大拇指向上751.662左大拇指向上871.709右食指向上912.143右食指向上917.328右大拇指向上725.29右大拇指向上731.33表4.2 向右划屏时的轨迹总长手指轨迹方向轨迹总长度/mm左食指向右670.148左食指向右713.073左大拇指向右628.466左大拇指向右646.842右食指向右731.729右食指向右792.719右大拇指向右697.039右大拇指向右711.213经过计算,得到并随机选取了一些轨迹的总长度进行分析比较。分别展示在表4.1、表4.2中。可以看到,在向上划屏的轨迹中,左手手指的划屏轨迹普遍比右手手指的划屏轨迹更长;在向右划屏的轨迹中,右手手指的划屏轨迹大多比左手手指产生的轨迹更长;且这两个方向产生的轨迹中,食指产生的轨迹总长均大于大拇指产生的轨迹。通过这些数据,可以看出多数情况下轨迹总长这一特征是具有一定区分度的。4.2.2 速率特征l 最大速率&平均速率l 速率标准差一条划屏轨迹的产生过程通常包含两部分:加速和减速。由于轨迹总长度的差异,食指和大拇指产生轨迹时加速过程和减速过程持续时间不一样。由于食指产生的轨迹通常很快地就划出了屏幕之外,所以食指划屏时的减速过程通常很短,与大拇指之间差异很大。下图展示了不同手指向左和向上划屏时的速度变化梯度。可以观察到,对图4.1 每个样本点的速度变化梯度于该名参与数据收集的用户,速度特征(最大速率、平均速率、速率标准差)可以用来区分由不同手指产生的痕迹。其中,速度变化梯度用速率标准差来衡量,速率标准差能反映速率数据的离散程度。计算公式如下:其中,N表示样本点数量,vi表示第i个样本点的速度,vavg表示平均速度。4.2.3 位移特征l x轴方向最大位移&总位移l y轴方向最大位移&总位移与4.2.1节的轨迹总长度类似,不同方向、不同手指产生的轨迹在x轴、y轴方向的最大位移和总位移的符号、绝对值大小都有显著差别。4.2.4 形状特征为了定量准确地描述轨迹的形状特征,用四次多项式对每条轨迹的离散样本点进行曲线拟合,这是为了达到精度、计算复杂度和不同手指轨迹之间的区分度之间的平衡。l 均方根误差RMSE 这个特征表示的是轨迹的平滑程度。食指通常更灵活,触摸范围比拇指更大。在操作智能手机时,食指对屏幕施加的压力较小,摩擦阻力较小,因此食指产生的划屏轨迹总是比拇指所产生的轨迹更平滑。轨迹Si的RMSE计算如下:其中yij表示轨迹Si上第j个样本点的真实y坐标值, yij 表示通过对轨迹Si进行曲线拟合计算出的第j个采样点的预测y坐标值。 ni表示迹线Si上采样点的数量。图4.2(a)和(b)分别表示相同用户右拇指和右食指产生的200条曲线的RMSE分布,每种轨迹的数量为100。我们可以观察到,对于这名用户,不同手指产生的轨迹之间的RMSE特征值是不同的。图4.2 200条轨迹的RMSEl 最大曲率&平均曲率这两个特征用于衡量曲线的曲率。用户在手机屏幕上滑动时会无意识地利用最有效的方法。当用户使用拇指操作智能手机时,由于触摸范围有限,大多数产生的轨迹是中心与操作手位于同一侧的曲线。食指的触摸范围明显较大,会产生较直的轨迹。轨迹Si的第j个样本点处的曲率计算如下:其中fi(x)表示轨迹Si的拟合曲线函数,fi(x),fi(x)分别是fi(x)的一阶导数和二阶导数,xij表示轨迹Si上的第j个离散样本点的x坐标值。图4.3绘出了由同一用户的不同手指产生的轨迹上每个样本点处的曲率大小。轨迹的方向在图中均有标注。可以看出,对于这名用户,曲率特征可以用来区分由不同手指产生的痕迹。图4.3 每个样本点的曲率l 曲线凸起方向这个特征可以用来表示轨迹曲线的凸起方向,这对于区分由左拇指和右拇指产生的轨迹非常有用。为了计算轨迹Si的CCO,首先随机选择一个接近轨迹中间的样本点。其次,构造两个矢量,分别从这个采样点到第一个和最后一个采样点。然后计算这两个向量的叉积。其中(xi1,yi1)和(,)分别表示轨迹Si的第一个和最后一个样本点的坐标。(xik,yik)表示随机选取的样本点的坐标。最后,轨迹Si的CCO计算如下:其中,sgn为符号函数。4.3 分类训练4.3.1 构造分类器本文中分类器构造的过程大致如下:1、将收集到的所有划屏轨迹数据作为样本集。在已知样本类别的情况下,生成分类器。2、在Weka探索者界面的test options选项中,本文选择的是10折交叉验证法,即把样本集中的轨迹数据随机分成10份,将其中的一份数据作为测试样本。然后,再选择另一份数据集作为测试样本。如此总共进行10次测试,每次测试集不相同。3、依据测试结果,根据计算出的评估指标,评估各个分类器的性能。4.3.2 分类算法本文用到以下几种分类器。l 随机森林(RF)随机森林是决策树算法的一种。决策树包含决策节点、分支和叶节点,从决策树的根节点到叶节点的一条路径代表着一条分类规则。具体分类过程可见图4.4中的tree,即不断的把决策节点的测试条件用于测试样本,最终找到样本所属类别。图4.4 RF算法示意图为避免高度较高的树过度训练集合,产生过高的方差,采用随机森林算法。它建立了多个决策树,对它们进行平均,在相同训练集的不同部分进行训练,能够达到减少方差的目的14。l 多层感知器(MLP)多层感知器应用到的是BP神经网络模型。神经网络是大量的简单神经元按一定规则构成的网络系统。神经网络分类用特定的算法从训练样本中学习,将获取的知识存储在网络模型的权值中,通过模拟人类大脑在同一个脉冲的反复刺激下改变神经元之间神经键连接强度来学习15。按照神经元的不同连接方式,MLP被归为前馈网络。图4.5是一个MLP的示意,它由三层及以上的节点组成。除了输入节点,每个节点都表示一个使用非线性激活函数的神经元。MLP多层和非线性激活的特点将MLP与线性感知器区分开来,因此,MLP能够区别不能线性分离的数据16。图4.5 MLP算法示意图l 朴素贝叶斯(NB)贝叶斯分类方法17是根据贝叶斯定理来进行统计分类的:其中,C表示类别,x表示多个特征,y表示标签向量。朴素贝叶斯分类器假设x中的属性之间都相互独立,然后根据特征的概率来预测分类。朴素贝叶斯分类器分类速度快、准确率高,支持增量学习。但是,大量集中的数据很难让属性之间独立这一条件得到保证。l k-最邻近分类(kNN)k-最邻近算法是一种基于实例的学习算法,它采用的策略是等到需要分类测试样本时再对训练模型建模18。它的基本思路是:一个样本在特征空间中找到k个最相似(即特征空间中最邻近)的样本,如果这k个样本中多数属于某一个类别,那么这个样本也属于这个类别。这个过程中,所选择的邻居都是已经正确分类的样本。在图4.6中,蓝色标记和红色标记均是已有分类数据,当前的任务是对绿色标记块进行分类判断,判断是属于蓝色还是红色代表的类别。图4.6 k-最邻近分类算法该算法用具体的训练实例来进行预测,不需要维护从数据集中抽象出的模型。但是,这种消极学习方法需要逐个计算测试样本和训练样本之间的相似度,因此分类开销很大。所以,一般仅基于局部信息的预测时使用k-最邻近分类器。4.4 本章小结本章主要工作如下:1、确定了采集划屏轨迹数据的方式和情景;2、完成了一些特征的计算,通过分析对比选择出了有效的特征;3、梳理了分类训练的过程,分析了所用分类器的相关算法。第五章 实验与分析本章在完成上述识别系统各模块设计的基础上,进行了对操作手识别的实验,首先设计出用于采集轨迹数据的简易app,其次用matlab对特征进行提取,最后认真评估了分类表现。5.1 用于采集轨迹数据的手机简易app设计5.1.1 数据采集本文中使用的手机简易app,定义了PointEntity类,用于保存每个样本点的数据,包括x坐标,y坐标和对应时间戳。其中,设置手机屏幕左上角的点为坐标原点,向右为x轴正方向,向下为y轴正方向。随后,定义MyPaintView类来描述轨迹产生过程。通过MotionEvent单点触控事件来获取划屏轨迹的样本点信息。MotionEvent对象是与用户触摸相关的时间序列,这个时间序列从用户首次触摸屏幕开始,记录手指在屏幕上的移动,到手指离开手机屏幕时结束:第一步,通过MotionEvent获取各个触摸点坐标及时间戳。当用户按下时,开始保存样本点信息,将获取到的样本点依次加入到allPoints动态数组中,各样本点的具体信息保存到allPointEntityList中;当用户抬起手指或是移动手指时,重绘图像。第二步,基于OnTouchListenerImp类,开始将allPoints中的样本点一一画图展示出来。public void draw(Canvas canvas) Paint p = new Paint();/依靠此类开始画线if (MyPaintView.this.allPoints.size() 1) /如果有坐标点,开始绘图Iterator iter = MyPaintView.this.allPoints.iterator();/检测该条划屏轨迹的第一个点和最后一个点. .canvas.drawLine(first.x, first.y, last.x, last.y, p);5.1.2 数据提交与保存完成轨迹相关数据获取后,用户可单击数据提交或文件提交,这样划屏轨迹数据被保存为文本文件,通过后台上传到了leancloud云服务平台。用户可登陆leancloud平台对通过手机app获取的划屏轨迹数据进行下载并保存至电脑。经过处理,得到记录一条划屏轨迹数据的csv文件。它以纯文本形式存储表格数据。如图5.1所示,划屏轨迹数据的csv文件由各个样本点的记录组成,每条样本点数据之间由换行符分隔;每条记录由时间戳,x坐标,y坐标三个字段组成,字段间用逗号分隔符隔开。图5.1 csv文件格式5.2 基于matlab的轨迹特征提取5.2.1 数据读取在这一部分,依次读取原始的csv划屏轨迹数据并将它们存储到一个struct结构体数组中。首先,根据样本数量,建立存储文件名的元胞数组。然后,创建文件类型数组并对其赋值。逐个读入文件名,利用正则表达式,匹配出相应的文件类型,存储在rawdata结构体数组的labels字段中,代表该数据文件所属类别;用csvread函数读取数据文件,将该条轨迹的样本点信息存储在data字段中。为确保不出现样本点过少的情况,这里设置了一个记录条数的阈值为5。for i = 1:1:size(files, 1) typeNum = 0; for j = 1:1:size(fileTypes, 2) partIndex = regexp(files(i).name, fileTypesj);%匹配文件类型 if partIndex = 0 typeNum = j; break; end endlabelsi = fileTypes(typeNum); fileName = strcat(fileName, files(i).name); tmpData = csvread(fileName); datai = tmpData; if size(tmpData, 1) 5 rawdata(datanum).fileType = labelsi; rawdata(datanum).data = tmpData; datanum = datanum + 1; endend5.2.2 原始数据处理这一步中,依次读取rawdata结构体数组中每个元素的data及labels字段,用cell2mat函数,将这两个字段的数据分别转化成data和labels两个独立的元胞数组,最后将data与labels矩阵合并得到新的data矩阵,在特征向量计算中使用。for index=1:1:size(rawdata,1) temp = rawdata(index).data; data(data_index) = mat2cell(temp, length(temp(:,1), . length(temp(1,:); labels(data_index) = mat2cell(rawdata(index).fileType, 1,. length(rawdata(index).fileType); data_index = data_index + 1;end5.2.3 特征向量计算这一步中,逐个计算每条轨迹的特征,存储在feature这一结构体数组中,其中,label字段表示轨迹类型,feature字段表示轨迹的特征。for index = 1:1:length(data) transdata = cell2mat(data(index); feature = trace_features(transdata); tmp = cell2mat(struct2cell(feature); features(fnum).feature = feature; features(fnum).label = labels(index); fnum = fnum + 1;endl 长度特征计算创建矩阵s,用于保存每两个样本点之间的长度、x轴和y轴方向的位移数据。轨迹总长度即个样本点之间的距离累加。l 速率特征计算本文中用平均速度法计算每个样本点的速度。for i=1:a-1 v(i)=sqrt(data(i+1,2)-data(i,2)2+(data(i+1,3)-data(i,3)2)/(data(i+1,1)-data(i,1);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!