基于有限状态机和分类器的智能手机鼠标移动方法

文档序号:7868029阅读:196来源:国知局
专利名称:基于有限状态机和分类器的智能手机鼠标移动方法
技术领域
本发明涉及一种智能手机鼠标移动方法,具体涉及一种基于有限状态机和分类器的智能手机鼠标移动方法。
背景技术
带有加速度传感器的智能手机能够利用里面的加速度传感器进行手机位置的判断,进而实现类似于鼠标的功能。但是,目前利用智能手机内部的加速度传感器进行手机位置判断的方法主要局限在积分法。这种方法产生的误差在继续判断的过程中会被累积,从而造成更大的误差。因此,该方法对加速度传感器的硬件要求非常高
发明内容

发明目的针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于有限状态机和分类器的智能手机鼠标移动方法,解决积分法对加速度传感器设备精度要求太高的问题。技术方案为实现上述发明目的,本发明采用的技术方案包括如下步骤(I)在智能手机(简称“手机”)移动时,智能手机中多组加速度传感器获取加速度数据(简称“数据”),并根据所述智能手机的移动方向对加速度数据进行标记;(2)利用打好标记的加速度数据对分类器进行训练,得到一个训练好的分类器;(3)在智能手机中初始化一个有限状态机;(4)在智能手机移动的时候,将智能手机中的加速度传感器不断获取的加速度数据,放入一个定长的队列中;(5)从队列中取出所述定长的加速度数据,使用分类器对加速度数据进行分类,得到分类结果;(6)有限状态机根据分类器的分类结果进行状态的跳转;(7)当有限状态机跳转到代表智能手机移动的状态时,执行鼠标移动动作。进一步的,还包括步骤⑶重复步骤⑷、步骤(5)、步骤(6)和步骤(7)。进一步的,所述定长为分类器训练时加速度数据的长度。进一步的,所述步骤(4)中,如果当前队列里加速度数据的长度小于所述定长,将新获取的所述加速度数据插入到队尾,如果当前队列里加速度数据的长度为所述定长,则从队头删除一个加速度数据,再将新获取的所述加速度数据插入到队尾。进一步的,所述分类器为支持向量机。有益效果本发明不是通过积分实现手机位移记录而实现鼠标移动功能的,而是使用对误差容忍度比较高的支持向量机来对加速度传感器数据进行分类,配合有限状态机的状态转换实现手机移动识别的功能,因而对加速度传感器精度的要求比较低,适合在硬件条件比较差的手机上实现。


图I为加速度传感器获取的加速度数据波形图(第一幅);图2为加速度传感器获取的加速度数据波形图(第二幅);图3为有限状态机的状态跳转图(第一幅);图4为有限状态机的状态跳转图(第二幅)。
具体实施例方式下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明具体包括如下阶段阶段I :获取并标记数据在智能手机移动时,智能手机中的多组加速度传感器获取加速度数据,如图I和图2所示,加速度值为正的数据表示手机移动的加速度方向向右,加速度值为负的数据表示手机移动的加速度方向向左,并对获取到的如图I和图2的数据进行分割,分割为上半波形(加速度值为正)和下半波形(加速度值为负)。将上半波形打上标记1,下半波形打上标记2。阶段2:训练分类器使用上述打好标记的数据训练分类器。本方法中的分类器选择支持向量机。训练好的支持向量机可以实现输入一段代表某中波形的数据,输出分类的结果,即之前打上的标记I或者标记2。阶段3:有限状态机在手机上实现一个有限状态机(简称“状态机”),该状态机的状态跳转按照图3和图4进行状态机初始状态为状态O。如图3所示,如果遇到一次输出为上半波形的分类结果,就跳转到状态1,然后再在检测下半波形的时候回到状态O。如图4所示,如果状态机先遇到的是输出为下半波形的分类结果,那么就跳转到状态2,然后再在检测到上半波形的时候回到状态O。阶段4 :获取手机移动过程中的传感器数据在训练分类器的时候,设定输入的数据长度为n,那么在分类器进行分类的时候,也需要输入长度为η的数据进行分类过程。为了维持数据长度为η,且保证获得的都是最新的数据,在手机上维护一个长度为η的队列。每次加速度传感器得到了新的数据,都将其加入到这个队列中。如果队列里数据的长度小于η,那么直接插入到队尾。如果队列里数据长度已经为η,那么要从队头删除一个数据,再在队尾插入新的数据。阶段5 :用分类器对传感器的数据进行分类判断手机中维持的队列中数据的长度。如果长度为η,那么此时队列中的数据就满足分类器的输入条件,将这个队列里的所有数据传给分类器进行分类。这样可以保证每次给分类的数据都是最新的η个数据。阶段6 :状态机的状态跳转
将阶段5中获得的分类器的结果传递给状态机,然后状态机就可以按照在阶段3中设置的状态跳转方式进行跳转。阶段7 :根据状态机的状态执行动作每次状态机的状态发生改变的时候,都判断当前处于哪个状态。在状态机的所有状态中,状态I和状态2都代表发生了手机的移动(两个状态代表的移动的方向相反)。如果状态机跳转的目的状态是I或2的话,就执行手机移动的相应动作,也即执行鼠标的功倉泛。·
权利要求
1.一种基于有限状态机和分类器的智能手机鼠标移动方法,包括如下步骤 (1)在智能手机移动时,智能手机中多组加速度传感器获取加速度数据,并根据所述智能手机的移动方向对加速度数据进行标记; (2)利用打好标记的加速度数据对分类器进行训练,得到一个训练好的分类器; (3)在智能手机中初始化一个有限状态机; (4)在智能手机移动的时候,将智能手机中的加速度传感器不断获取的加速度数据,放入一个定长的队列中; (5)从队列中取出所述定长的加速度数据,使用分类器对加速度数据进行分类,得到分类结果; (6)有限状态机根据分类器的分类结果进行状态的跳转; (7)当有限状态机跳转到代表智能手机移动的状态时,执行鼠标移动动作。
2.根据权利要求I所述基于有限状态机和分类器的智能手机鼠标移动方法,其特征在于还包括步骤⑶重复步骤⑷、步骤(5)、步骤(6)和步骤(7)。
3.根据权利要求I所述基于有限状态机和分类器的智能手机鼠标移动方法,其特征在于所述定长为分类器训练时加速度数据的长度。
4.根据权利要求I所述基于有限状态机和分类器的智能手机鼠标移动方法,其特征在于所述步骤(4)中,如果当前队列里加速度数据的长度小于所述定长,将新获取的所述加速度数据插入到队尾,如果当前队列里加速度数据的长度为所述定长,则从队头删除一个加速度数据,再将新获取的所述加速度数据插入到队尾。
5.根据权利要求I所述基于有限状态机和分类器的智能手机鼠标移动方法,其特征在于所述分类器为支持向量机。
全文摘要
本发明公开了一种基于有限状态机和支持向量机的智能手机鼠标移动方法,包括如下步骤在手机移动时,多组加速度传感器获取加速度数据,并根据所述手机的移动方向对加速度数据进行标记;利用打好标记的加速度数据对支持向量机进行训练,得到一个训练好的分类器;在手机中初始化一个有限状态机;在手机移动的时候,将手机中的加速度传感器不断获取的加速度数据,放入一个定长的队列中;从队列中取出所述定长的加速度数据,使用分类器对加速度数据进行分类,得到分类结果;有限状态机根据分类器的分类结果进行状态的跳转;当有限状态机跳转到代表手机移动的状态时,执行鼠标移动动作。本发明解决积分法对加速度传感器设备精度要求太高的问题。
文档编号H04M1/725GK102945089SQ20121052563
公开日2013年2月27日 申请日期2012年12月7日 优先权日2012年12月7日
发明者吴小兵, 陈贵海, 李梦涵, 彭洋 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1