CN107169525B - 一种确定移动终端应用场景的方法、装置和移动终端 - Google Patents
一种确定移动终端应用场景的方法、装置和移动终端 Download PDFInfo
- Publication number
- CN107169525B CN107169525B CN201710404928.XA CN201710404928A CN107169525B CN 107169525 B CN107169525 B CN 107169525B CN 201710404928 A CN201710404928 A CN 201710404928A CN 107169525 B CN107169525 B CN 107169525B
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- data
- determining
- state
- acceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000001133 acceleration Effects 0.000 claims description 56
- 239000011159 matrix material Substances 0.000 claims description 38
- 230000005484 gravity Effects 0.000 claims description 26
- 238000012549 training Methods 0.000 claims description 24
- 230000033001 locomotion Effects 0.000 claims description 20
- 238000013145 classification model Methods 0.000 claims description 12
- 238000007637 random forest analysis Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 239000013598 vector Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000036544 posture Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种确定移动终端应用场景的方法,在移动终端中执行,移动终端中驻留有一个或多个传感器,传感器适于采集移动终端的状态数据,该方法包括:按照预定频率获取预定时长内的多条状态数据;根据获取到的多条状态数据确定移动终端的状态特征信息;根据状态特征信息,采用分类器确定所述移动终端的应用场景。此外,本发明还公开了能够实施上述方法的装置,和包括上述装置的移动终端。根据本发明的技术方案,可以识别移动终端的应用场景,从而进一步有助于向用户提供个性化服务。
Description
技术领域
本发明涉及移动终端数据处理技术领域,尤其涉及一种确定移动终端应用场景的方法、装置和移动终端。
背景技术
随着移动互联网行业的发展和智能移动终端的不断进化,现在主流的移动终端,特别是智能手机上都搭载了很多类型的传感器,比如加速度、陀螺仪(角速度)、重力、磁场传感器,以及温度、气压传感器等。
移动终端的应用场景指的是,移动终端在什么样的场景及姿态下被用户使用。应用场景可以是静止、步行、跑步、乘车、开车等运动状态,也可以是单手持握、双手持握等手持状态。
移动终端的传感器所提供的数据和该移动终端的应用场景具有很强的相关性。分析传感器数据,识别移动终端应用场景是为用户提供个性化服务的基础。例如,移动终端的运动状态还可以用于预测用户在特定场景下的行为,并进一步实现消息的定制化精准推送;移动终端的手持状态可以用于分析用户的使用习惯,从而帮助开发者优化界面和功能设计,使其更符合用户需求;等等。
发明内容
为此,本发明提供一种确定移动终端应用场景的方法、装置和移动终端,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种确定移动终端应用场景的方法,在移动终端中执行,移动终端中驻留有一个或多个传感器,传感器适于采集移动终端的状态数据,该方法包括:按照预定频率获取预定时长内的多条状态数据;根据获取到的多条状态数据确定移动终端的状态特征信息;根据状态特征信息,采用分类器确定移动终端的应用场景。
可选地,在根据本发明的确定移动终端应用场景的方法中,状态数据包括重力数据、磁场数据和加速度数据。
可选地,在根据本发明的确定移动终端应用场景的方法中,应用场景包括运动场景,所述运动场景包括静止、步行、跑步。
可选地,在根据本发明的确定移动终端应用场景的方法中,根据多条状态数据确定移动终端的状态特征信息的步骤包括:根据重力数据和磁场数据确定旋转矩阵,旋转矩阵适于将机身坐标转化为世界坐标;根据旋转矩阵,将每一条加速度数据由机身坐标转化为世界坐标;根据多条世界坐标系下的加速度数据确定移动终端的状态特征信息。
可选地,在根据本发明的确定移动终端应用场景的方法中,状态特征信息包括以下信息项目的一种或多种:加速度在世界坐标系的x、y、z轴上的:最大值、最小值、均值、方差、最大值与最小值之差;单次增加最大值、单次减小最大值,其中,所述单次增加最大值为时间上相邻的两个加速度值中后项与前项之差的最大值,所述单次减小最大值为时间上相邻的两个加速度值中前项与后项之差的最大值;频域上的预定数量个振幅最大的频率分量的振幅、频率。
可选地,在根据本发明的确定移动终端应用场景的方法中,应用场景还包括手持场景,所述手持场景包括左手单手竖屏、右手单手竖屏、双手竖屏、左手单手横屏、右手单手横屏、双手横屏。
可选地,在根据本发明的确定移动终端应用场景的方法中,根据多条状态数据确定移动终端的状态特征信息的步骤包括:根据重力数据和磁场数据确定旋转矩阵,旋转矩阵适于将机身坐标转化为世界坐标;根据旋转矩阵确定移动终端的状态特征信息。
可选地,在根据本发明的确定移动终端应用场景的方法中,状态特征信息包括以下信息项目的一种或多种:移动设备相对于世界坐标系的x、y、z轴的旋转角度。
可选地,在根据本发明的确定移动终端应用场景的方法中,在根据获取到的多条状态数据确定移动终端的状态特征信息的步骤之后,还包括:将状态特征信息所包括的每个信息项目的取值标准化为0到1之间。
可选地,在根据本发明的确定移动终端应用场景的方法中,分类器按照以下方法训练:获取多个应用场景下的多条状态特征信息;将状态特征信息和其对应的应用场景作为训练样本训练分类模型,将分类模型的训练结果作为分类器,其中,分类器的输入为状态特征信息,输出为应用场景。
可选地,在根据本发明的确定移动终端应用场景的方法中,分类模型为随机森林模型。
根据本发明的一个方面,提供一种确定移动终端应用场景的装置,驻留于移动终端中,其被配置为适于使移动终端执行如上所述的确定移动终端应用场景的方法。
根据本发明的一个方面,提供一种移动终端,包括:一个或多个传感器,适于采集移动终端的状态数据;至少一个处理器,适于执行程序指令;和存储有程序指令的存储器,程序指令被配置为由所述至少一个处理器执行,程序指令包括用于执行如上所述的方法的指令。
可选地,在根据本发明的移动终端中,状态数据包括重力数据、磁场数据、加速度数据,传感器包括:重力传感器,适于采集移动终端的重力数据;磁场传感器,适于采集移动终端的磁场数据;加速度传感器,适于采集移动终端的加速度数据。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该可读存储介质中存储的程序指令被移动终端读取时,使得该移动终端执行如上所述的确定移动终端应用场景的方法。
根据本发明的技术方案,首先,按照预定频率获取预定时长内的多条状态数据,将预定频率设置为较小的数值,从而降低对传感器数据订阅的需求,降低耗电量;另外,将预定时长设置为一个较小的数值,从而在保证确定移动终端应用场景的准确率的同时降低延时,增加响应的灵敏度。
随后,根据获取到的多条状态数据来确定移动终端的状态特征信息。针对不同的应用场景,状态特征信息所包括的信息项目、以及状态特征信息的确定方法不同。针对运动场景,先确定旋转矩阵,再根据旋转矩阵将加速度数据由机身坐标转化为世界坐标,并根据多条世界坐标系下的加速度数据确定状态特征信息,这样,可以消除在机身坐标系下由于机身姿态不同对运动状态分析结果所带来的影响。针对手持场景,先确定旋转矩阵,再根据旋转矩阵确定状态特征信息,这样,可以确定移动终端相对于世界坐标系的三个坐标轴的旋转角度,并根据旋转角度来识别出不同的手持场景。
最后,根据状态特征信息,采用分类器确定移动终端的应用场景。分类器是根据训练样本训练得出,每一个训练样本包括状态特征信息和其对应的应用场景。分类器的训练例如可以采用随机森林算法,在保证较快的训练速度的同时,也可以达到较好的分类效果,对训练样本集的适应性强,具有良好的抗噪能力,不易陷入过拟合。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端100的结构图;
图2示出了根据本发明一个实施例的确定移动终端应用场景的方法200的流程图;
图3示出了根据本发明一个实施例的机身坐标系的示意图;
图4示出了根据本发明一个实施例的世界坐标系的示意图;
图5示出了根据本发明一个实施例的预定时长内的多条世界坐标系下的加速度数据的示意图;
图6示出了根据本发明一个实施例的频域曲线的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的移动终端100的结构图。如图1所示,移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
例如,加速度传感器110、磁场传感器112和重力传感器114可以耦合到外围接口106,加速度传感器110可以采集在机身坐标系的三个坐标轴方向上的加速度数据,磁场传感器112可以采集在机身坐标系的三个坐标轴方向上的磁场数据(磁感应强度),重力传感器114可以采集在机身坐标系的三个坐标轴上的重力数据,以上传感器可以方便实现计步、定向、横竖屏智能切换等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括内部存储器和外部存储器,内部存储器例如可以是静态随机存取存储器(SRAM)、非易失性存储器(NVRAM)等,但不限于此;外部存储器例如可以是硬盘、可移动硬盘、U盘等,但不限于此。存储器150可以存储程序指令,程序指令例如可以包括操作系统152和应用154。操作系统152例如可以是Android、iOS、Windows Phone等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。存储器150还可以存储应用154,应用154可以包括用于实现各种用户期望的功能的程序指令。应用154可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用154被安装到移动终端100中时,也可以向操作系统添加驱动模块。在移动设备运行时,会从存储器150中加载操作系统152,并且由处理器104执行。应用154在运行时,也会从存储器150中加载,并由处理器104执行。应用154运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理、运动休闲等。在上述各种应用154中,其中的一种应用为根据本发明的确定移动终端应用场景的装置160,其可以指示处理器104执行确定移动终端应用场景的方法200,获取移动终端传感器所采集到的状态数据,并据此确定移动终端当前所处的应用场景,从而为向用户提供个性化服务打下基础。根据一种实施例,应用场景包括运动场景和手持场景,其中,运动场景包括静止、步行、跑步;手持场景包括左手单手竖屏、右手单手竖屏、双手竖屏、左手单手横屏、右手单手横屏、双手横屏。
图2示出了根据本发明一个实施例的确定移动终端应用场景的方法200的流程图。方法200适于在驻留有确定移动终端应用场景的装置160的移动终端中执行。
如图2所示,方法200始于步骤S210。
在步骤S210中,按照预定频率获取预定时长内的多条状态数据。根据一种实施例,状态数据包括重力数据(由重力传感器114采集)、磁场数据(由磁场传感器112采集)和加速度数据(由加速度传感器110采集)。当然,状态数据还可以包括其他数据项目,例如角速度数据(由陀螺仪采集)、气压数据(由气压传感器采集)、位置数据(由GPS定位芯片采集)、时间数据(通过手机系统时间获取)等,本发明对状态数据所包括的具体数据项目不做限制。
应当指出,重力数据、磁场数据、加速度数据均基于机身坐标系,机身坐标系的示意图如图3所示,机身坐标系的原点为移动终端的中心,x轴水平指向右;y轴垂直指向上;z轴分别垂直与x轴、y轴,并指向屏幕之外。
应当指出,预定频率以及预定时长的值可以由本领域技术人员根据实际情况自行设置。优选地,将预定频率设置为较小的数值,从而降低对传感器数据订阅的需求,降低耗电量;同时,将预定时长也设置为一个较小的数值,从而在保证确定移动终端应用场景的准确率的同时降低延时,增加响应的灵敏度。例如,可以将预定频率设置为20Hz(即获取传感器采集到的状态数据的间隔时间为50ms),预定时长设置为6400ms,那么步骤S210相当于以50ms的时间间隔获取128(即6400除以50)条状态数据,随后,根据获取到的这128条状态数据来确定移动终端的应用场景。
步骤S210的执行结果是获取到多条状态数据。例如,在预定频率为20Hz、预定时长为6400ms时,获取到的128条状态数据d0~d127如下表1所示:
表1.状态数据示例
表1中,每一列对应于一条状态数据,每一条状态数据包括重力数据、磁场数据、加速度数据以及本领域技术人员设置获取的其他数据。
随后,在步骤S220中,根据获取到的多条状态数据确定移动终端的状态特征信息。
应当指出,状态特征信息的确定方法、以及状态特征信息中所包括的信息项目根据所要确定的移动终端应用场景的类别不同。以下针对应用场景为运动场景和手持场景,分别详述步骤S220的实施过程:
1、应用场景为运动场景
根据一种实施例,移动终端应用场景包括诸如静止、步行、跑步、乘车等运动场景。为了确定移动终端所处的运动场景,步骤S220可以进一步按照以下步骤S221~S223执行:
步骤S221:根据重力数据和磁场数据确定旋转矩阵,旋转矩阵适于将机身坐标转化为世界坐标。世界坐标系的示意图如图4所示,世界坐标系的原点为本初子午线和赤道的交点,x轴指向正东方向,y轴指向正北方向,z轴指向地面正上方。
根据一种实施例,旋转矩阵可以采用Andorid SensorManager类中的getRotationMatrix方法求得,示例代码如下:
float[]Rotate=new float[16];//定义大小为4*4的旋转矩阵Rotate
SensorManager.getRotationMatrix(Rotate,I,sd.gravity,sd.magnetic);//根据重力数据和磁场数据确定旋转矩阵
步骤S222:根据旋转矩阵,将每一条加速度数据由机身坐标转化为世界坐标。根据一种实施例,将旋转矩阵的逆矩阵与加速度数据相乘,即可将加速度数据由机身坐标转化为世界坐标。应当指出,重力数据、磁场数据、加速度数据一般为三维向量,向量的每一维对应于机身坐标系的一个坐标轴。但是,为了方便后续采用OpenGL进行矩阵计算,优选地,将重力数据、磁场数据、加速度数据扩展为四维向量,第四维用例如可以用数值0填充。步骤S222的示例代码如下:
float[]relativeAcc=new float[4];//定义四维向量relativeAcc,用于存储机身坐标系下的加速度数据
float[]earthAcc=new float[4];//定义四维向量earthAcc,用于存储世界坐标系下的加速度数据
float[]inv=new float[16];//定义4*4的矩阵inv,用于存储旋转矩阵Rotate的逆矩阵
System.arraycopy(sd.accelerate,0,relativeAcc,0,3);//将加速度传感器采集到的三维数据复制到relativeAcc向量的前三个元素relativeAcc[0]~relativeAcc[2]
relativeAcc[3]=0;//将relativeAcc向量的第四个元素的值设置为0
android.opengl.Matrix.invertM(inv,0,Rotate,0);//计算旋转矩阵Rotate的逆矩阵inv
android.opengl.Matrix.multiplyMV(earthAcc,0,inv,0,relativeAcc,0);//将矩阵inv与向量relativeAcc相乘,得到earthAcc
经过步骤S222,可以得到多条世界坐标系下的加速度数据,每一条加速度数据包括x、y、z轴上的加速度信息。图5是预定时长内的多条世界坐标系下的加速度数据的一个示例。如图5中的三条曲线分别为世界坐标系的x、y、z轴上的加速度数据,即曲线1为世界坐标系的x轴上的加速度数据汇聚而成,曲线2为世界坐标系的y轴上的加速度数据汇聚而成,曲线3为世界坐标系的z轴上的加速度数据汇聚而成。
通过将加速度数据由机身坐标转化世界坐标,可以消除在机身坐标系下由于机身姿态(机身姿态例如可以是拿在手中正常使用、拿在手中随手臂自然摆动、放在上衣口袋、装在裤兜、放在随身包中等)不同对运动状态分析结果所带来的影响,使得运动场景的识别更加准确。
步骤S223:根据多条世界坐标系下的加速度数据确定移动终端的状态特征信息。根据一种实施例,状态特征信息包括以下信息项目中的一种或多种:
加速度在世界坐标系的x、y、z轴上的:
1)最大值
某个坐标轴上有n个加速度数据分别为p(0)~p(n-1),n为预定时长中获取到的状态数据的数目,则最大值为max(p(i)),其中,0≤i≤n-1。
2)最小值
某个坐标轴上有n个加速度数据分别为p(0)~p(n-1),n为预定时长中获取到的状态数据的数目,则最大值为min(p(i)),其中,0≤i≤n-1。
3)均值
4)方差
5)最大值与最小值之差
某个坐标轴上有n个加速度数据分别为p(0)~p(n-1),n为预定时长中获取到的状态数据的数目,则最大值与最小值之差为max(p(i))-min(p(i)),其中,0≤i≤n-1。
6)单次增加最大值
某个坐标轴上有n个加速度数据分别为p(0)~p(n-1),n为预定时长中获取到的状态数据的数目,则单次增加最大值为max(p(i)-p(i-1)),其中,1≤i≤n-1。
7)单次减小最大值
某个坐标轴上有n个加速度数据分别为p(0)~p(n-1),n为预定时长中获取到的状态数据的数目,则单次减小最大值为max(p(i)-p(i+1)),其中,0≤i≤n-2。
8)频域上预定数量个振幅最大的频率分量的振幅、频率
将由某个坐标轴上的n个加速度数据所构成的时域曲线(例如图5中的曲线1或曲线2或曲线3)进行傅立叶变换,将其转化为频域曲线,取频域中预定数量个振幅最大的频率分量的振幅、频率作为状态特征信息。预定数量可以由本领域技术人员自行设置,例如,可以将预定数量设置为3,那么,取频域中的3个振幅最大的频率分量的振幅和频率作为状态特征信息。
图6是一个频域曲线的示意图。图6中,横坐标为频率分量编号,纵坐标为振幅,图中的每一条竖线代表一个频率分量,竖线的长度越长,表示该频率分量的振幅越大。当预定数量为3时,需要取3个振幅最大的频率分量的振幅、频率作为状态特征信息。显然,图6中,编号为4、7、5的频率分量是三个振幅最大的频率分量,将三个频率分量的振幅和频率作为状态特征信息,其中,频率分量的振幅即为该频率分量所对应的竖线的顶端的纵坐标,频率分量的频率可以按照公式f=index*(Δf/N)计算,其中,f为频率分量的频率,index为频率分量编号,Δf为预定频率,N为预定时长内获取到的状态数据的数目,即N=预定时长/预定频率。
如果状态特征信息包括以上列出的所有信息项目,且预定数量设置为3,则状态特征信息将是一个39维向量(每一个坐标轴包括13维信息)。
2、应用场景为手持场景
根据一种实施例,移动终端应用场景包括诸如左手单手竖屏、右手单手竖屏、双手竖屏、左手单手横屏、右手单手横屏、双手横屏等手持场景。为了确定移动终端所处的手持场景,步骤S220可以进一步按照以下步骤S224~S225执行:
步骤S224:根据重力数据和磁场数据确定旋转矩阵,旋转矩阵适于将机身坐标转化为世界坐标。步骤S224的实施过程与前述步骤S221相同,此处不再赘述。
步骤S225:根据旋转矩阵确定移动终端的状态特征信息。根据一种实施例,状态特征信息包括以下信息项目的一种或多种:移动设备相对于世界坐标系的x、y、z轴的旋转角度。旋转角度可以采用Andorid SensorManager类中的getOrientation方法求得,示例代码如下:
SensorManager.getOrientation(Rotate,currOrientation);//currOrientation用于存储移动设备相对于世界坐标系的x、y、z轴的旋转角度
如果状态特征信息包括所有三个坐标轴的旋转角度,则状态特征信息是一个3维向量。
根据一种实施例,在确定了状态特征信息之后,将状态特征信息所包括的每个信息项目的取值标准化为0到1之间。
随后,在步骤S230中,根据状态特征信息,采用分类器确定移动终端的应用场景。即,将状态特征信息输入分类器,分类器可以返回该状态特征信息所对应的应用场景。根据一种实施例,分类器按照以下方法训练:获取多个应用场景下的多条状态特征信息;将状态特征信息和其对应的应用场景作为训练样本训练分类模型,将分类模型的训练结果作为分类器,其中,分类器的输入为状态特征信息,输出为应用场景。
根据一种实施例,获取某个应用场景下的状态特征信息可以采用以下方法:首先,测试者选择一种应用场景,随后,测试者随身携带移动终端进行该应用场景所指示的动作,在测试者实施该应用场景所指示的动作时,移动终端上的传感器可以采集状态数据,对状态数据进行如前述步骤S220所述的处理,则可将传感器采集到的状态数据转化为状态特征信息。这样,便得到了该应用场景下的状态特征信息。将该方法重复多次,即可得到多个应用场景下的多条状态特征信息。
应当指出,确定不同类别的移动终端应用场景所采用的分类器不一定相同,具体是否相同取决于这两个类别所采用的状态特征信息是否相同。例如,如前述步骤S220所述,运动场景类别和手持场景类别的状态特征信息所包括的信息项目不同,因此,确定移动终端的运动场景和手持场景需要采用不同的分类器。用于确定移动终端运动场景的分类器需要以状态特征信息及其对应的运动场景作为训练样本训练得出;用于确定移动终端手持场景的分类器需要以状态特征信息及其对应的手持场景作为训练样本训练得出。
根据一种实施例,分类器的训练例如可以采用随机森林算法(即分类模型为随机森林模型),在保证较快的训练速度的同时,也可以达到较好的分类效果,对训练样本集的适应性强,具有良好的抗噪能力,不易陷入过拟合。此外,在Android系统中采用随机森林算法训练分类器时,可以采用一些特别的设置来进一步提高训练速度。例如,采用单精度浮点数,降低存储空间的需求和计算复杂度;使用SparseArray来提高性能,等等。
以上所详述的步骤S210~S230即构成了确定移动终端应用场景的方法200。另外,应当指出,根据一种实施例,方法200可以在后台不断地执行,当用户请求获取移动终端应用场景的时候可以实时反馈给用户。例如,在内存中设置一个变量s用户存储移动终端当前的应用场景。在t0时刻开始以预定频率获取状态数据,经过预定时长后,到达t1时刻,在t1时刻可以根据t0~t1时间段获取到的状态数据确定出移动终端应用场景s;从t1时刻起,经过预定时长后到达t2时刻,在t2时刻可以根据t1~t2时间段获取到的状态数据确定出移动终端应用场景,并用本次确定出的应用场景去更新变量s;以此类推,每隔预定时长,移动终端应用场景s就会被更新一次。当用户请求获取移动终端应用场景的时候,可以实时读取变量s的值,并将该值返回给用户。根据另一种实施例,方法200也可以是基于用户请求而执行的,即当用户请求获取移动终端应用场景时,触发确定移动终端应用场景的装置160开始以预定频率获取状态数据,经过预定时长之后,才可以向用户返回移动终端应用场景。此外,根据又一种实施例,方法200也可以在用户使用装置160所对应的应用的时候执行,还可以在用户设置的时间段内执行,本发明对方法200的执行时间以及执行方式不做限制。
A7:A6所述的方法,其中,所述根据所述多条状态数据确定移动终端的状态特征信息的步骤包括:根据所述重力数据和磁场数据确定旋转矩阵,所述旋转矩阵适于将机身坐标转化为世界坐标;根据所述旋转矩阵确定移动终端的状态特征信息。
A8:A7所述的方法,其中,所述状态特征信息包括以下信息项目的一种或多种:移动设备相对于世界坐标系的x、y、z轴的旋转角度。
A9:A1-8中任一项所述的方法,其中,在所述根据获取到的所述多条状态数据确定移动终端的状态特征信息的步骤之后,还包括:将状态特征信息所包括的每个信息项目的取值标准化为0到1之间。
A10:A1-9中任一项所述的方法,其中,所述分类器按照以下方法训练:获取多个应用场景下的多条状态特征信息;将状态特征信息和其对应的应用场景作为训练样本训练分类模型,将分类模型的训练结果作为分类器,其中,所述分类器的输入为状态特征信息,输出为应用场景。
A11:A10所述的方法,其中,所述分类模型为随机森林模型。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的游戏对象管理方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
Claims (13)
1.一种确定移动终端应用场景的方法,在移动终端中执行,所述移动终端中驻留有一个或多个传感器,所述传感器适于采集移动终端的状态数据,所述方法包括:
按照预定频率获取预定时长内的多条状态数据;
根据获取到的所述多条状态数据确定移动终端的状态特征信息;
根据所述状态特征信息,采用分类器确定所述移动终端的应用场景,所述状态特征信息包括以下信息项目的一种或多种:
加速度在世界坐标系的x、y、z轴上的:
最大值、最小值、均值、方差、最大值与最小值之差;
单次增加最大值、单次减小最大值,其中,所述单次增加最大值为时间上相邻的两个加速度值中后项与前项之差的最大值,所述单次减小最大值为时间上相邻的两个加速度值中前项与后项之差的最大值;
频域上的预定数量个振幅最大的频率分量的振幅、频率;
所述应用场景包括携带移动终端的用户的运动场景,所述运动场景包括静止、步行、跑步和乘车。
2.如权利要求1所述的方法,其中,所述状态数据包括重力数据、磁场数据和加速度数据。
3.如权利要求2所述的方法,其中,所述根据获取到的所述多条状态数据确定移动终端的状态特征信息的步骤包括:
根据所述重力数据和磁场数据确定旋转矩阵,所述旋转矩阵适于将机身坐标转化为世界坐标;
根据所述旋转矩阵,将每一条加速度数据由机身坐标转化为世界坐标;
根据多条世界坐标系下的加速度数据确定移动终端的状态特征信息。
4.如权利要求2所述的方法,其中,所述应用场景还包括手持场景,所述手持场景包括左手单手竖屏、右手单手竖屏、双手竖屏、左手单手横屏、右手单手横屏、双手横屏。
5.如权利要求4所述的方法,其中,所述根据获取到的所述多条状态数据确定移动终端的状态特征信息的步骤包括:
根据所述重力数据和磁场数据确定旋转矩阵,所述旋转矩阵适于将机身坐标转化为世界坐标;
根据所述旋转矩阵确定移动终端的状态特征信息。
6.如权利要求5所述的方法,其中,所述状态特征信息还包括以下信息项目的一种或多种:移动设备相对于世界坐标系的x、y、z轴的旋转角度。
7.如权利要求1-6中任一项所述的方法,其中,在所述根据获取到的所述多条状态数据确定移动终端的状态特征信息的步骤之后,还包括:
将状态特征信息所包括的每个信息项目的取值标准化为0到1之间。
8.如权利要求1-6中任一项所述的方法,其中,所述分类器按照以下方法训练:
获取多个应用场景下的多条状态特征信息;
将状态特征信息和其对应的应用场景作为训练样本训练分类模型,将分类模型的训练结果作为分类器,其中,所述分类器的输入为状态特征信息,输出为应用场景。
9.如权利要求8所述的方法,其中,所述分类模型为随机森林模型。
10.一种确定移动终端应用场景的装置,驻留于移动终端中,所述装置被配置为适于使所述移动终端执行如权利要求1-9中任一项所述的方法。
11.一种移动终端,包括:
一个或多个传感器,适于采集移动终端的状态数据;
至少一个处理器,适于执行程序指令;和
存储有程序指令的存储器,所述程序指令被配置为由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-9中任一项所述的方法的指令。
12.如权利要求11所述的移动终端,其中,所述状态数据包括重力数据、磁场数据、加速度数据,所述传感器包括:
重力传感器,适于采集移动终端的重力数据;
磁场传感器,适于采集移动终端的磁场数据;
加速度传感器,适于采集移动终端的加速度数据。
13.一种存储有程序指令的可读存储介质,当所述可读存储介质中存储的程序指令被移动终端读取时,使得所述移动终端执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404928.XA CN107169525B (zh) | 2017-06-01 | 2017-06-01 | 一种确定移动终端应用场景的方法、装置和移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404928.XA CN107169525B (zh) | 2017-06-01 | 2017-06-01 | 一种确定移动终端应用场景的方法、装置和移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107169525A CN107169525A (zh) | 2017-09-15 |
CN107169525B true CN107169525B (zh) | 2020-05-19 |
Family
ID=59822175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710404928.XA Active CN107169525B (zh) | 2017-06-01 | 2017-06-01 | 一种确定移动终端应用场景的方法、装置和移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107169525B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659717B (zh) * | 2017-09-19 | 2020-11-10 | 北京小米移动软件有限公司 | 状态检测方法、装置和存储介质 |
CN108196998A (zh) * | 2018-01-02 | 2018-06-22 | 联想(北京)有限公司 | 一种状态识别方法、移动设备及服务器 |
CN110020576A (zh) * | 2018-01-10 | 2019-07-16 | 中兴通讯股份有限公司 | 一种居家场景的识别方法、装置及计算机可读存储介质 |
CN108182004B (zh) * | 2018-01-19 | 2019-07-23 | 百度在线网络技术(北京)有限公司 | 用于识别承载移动终端的载体的行为模式的方法和装置 |
CN108664198A (zh) * | 2018-04-25 | 2018-10-16 | 北京小米移动软件有限公司 | 虚拟卡片激活方法、装置及终端设备 |
CN111797071A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 数据处理方法、装置、存储介质及电子设备 |
CN111176465A (zh) * | 2019-12-25 | 2020-05-19 | Oppo广东移动通信有限公司 | 使用状态识别方法、装置、存储介质与电子设备 |
CN114946202B (zh) * | 2020-02-14 | 2024-02-27 | 深圳市与飞科技有限公司 | Nfc卡模拟模式启动方法、装置、终端及存储介质 |
CN111835916B (zh) * | 2020-07-10 | 2022-02-11 | 北京字节跳动网络技术有限公司 | 姿态检测模型的训练方法及装置、终端姿态的检测方法及装置 |
CN115527373B (zh) * | 2022-01-05 | 2023-07-14 | 荣耀终端有限公司 | 乘车工具识别方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246125A (zh) * | 2008-10-15 | 2011-11-16 | 因文森斯公司 | 具有运动姿态识别的移动设备 |
CN102662082A (zh) * | 2010-11-05 | 2012-09-12 | 拉碧斯半导体株式会社 | 运动检测装置、电子设备、运动检测方法以及程序 |
CN103365548A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 触屏移动终端菜单按钮的显示方法和装置 |
CN104964685A (zh) * | 2015-06-30 | 2015-10-07 | 广州市香港科大霍英东研究院 | 一种手机运动姿态的判定方法 |
CN105719661A (zh) * | 2016-01-29 | 2016-06-29 | 西安交通大学 | 一种弦乐器演奏音质自动判别方法 |
CN106056134A (zh) * | 2016-05-20 | 2016-10-26 | 重庆大学 | 一种基于Spark的半监督随机森林分类方法 |
CN106512333A (zh) * | 2016-06-13 | 2017-03-22 | 北京动量科技有限责任公司 | 一种运动冲刺、转身、跳跃的判别与评估方法及其系统 |
-
2017
- 2017-06-01 CN CN201710404928.XA patent/CN107169525B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246125A (zh) * | 2008-10-15 | 2011-11-16 | 因文森斯公司 | 具有运动姿态识别的移动设备 |
CN102662082A (zh) * | 2010-11-05 | 2012-09-12 | 拉碧斯半导体株式会社 | 运动检测装置、电子设备、运动检测方法以及程序 |
CN103365548A (zh) * | 2012-04-06 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 触屏移动终端菜单按钮的显示方法和装置 |
CN104964685A (zh) * | 2015-06-30 | 2015-10-07 | 广州市香港科大霍英东研究院 | 一种手机运动姿态的判定方法 |
CN105719661A (zh) * | 2016-01-29 | 2016-06-29 | 西安交通大学 | 一种弦乐器演奏音质自动判别方法 |
CN106056134A (zh) * | 2016-05-20 | 2016-10-26 | 重庆大学 | 一种基于Spark的半监督随机森林分类方法 |
CN106512333A (zh) * | 2016-06-13 | 2017-03-22 | 北京动量科技有限责任公司 | 一种运动冲刺、转身、跳跃的判别与评估方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107169525A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107169525B (zh) | 一种确定移动终端应用场景的方法、装置和移动终端 | |
CN111476306B (zh) | 基于人工智能的物体检测方法、装置、设备及存储介质 | |
WO2020216116A1 (zh) | 动作识别方法和装置、人机交互方法和装置 | |
US20210349940A1 (en) | Video clip positioning method and apparatus, computer device, and storage medium | |
CN111602140B (zh) | 分析由头戴式设备的相机记录的图像中的对象的方法 | |
JP7058760B2 (ja) | 画像処理方法およびその、装置、端末並びにコンピュータプログラム | |
WO2020048308A1 (zh) | 多媒体资源分类方法、装置、计算机设备及存储介质 | |
US11715224B2 (en) | Three-dimensional object reconstruction method and apparatus | |
WO2020221012A1 (zh) | 图像特征点的运动信息确定方法、任务执行方法和设备 | |
US9170607B2 (en) | Method and apparatus for determining the presence of a device for executing operations | |
TW202011268A (zh) | 目標跟蹤方法、裝置、介質以及設備 | |
CN110378994B (zh) | 人脸建模方法及相关产品 | |
CN107844781A (zh) | 人脸属性识别方法及装置、电子设备及存储介质 | |
CN109218614B (zh) | 一种移动终端的自动拍照方法及移动终端 | |
KR20160103398A (ko) | 이미지의 품질 측정 방법 및 장치 | |
CN106295533A (zh) | 一种自拍图像的优化方法、装置和拍摄终端 | |
CN108289057B (zh) | 视频编辑方法、装置及智能移动终端 | |
CN111919222A (zh) | 识别图像中的对象的装置和方法 | |
CN108171743A (zh) | 拍摄图像的方法、设备及计算机可存储介质 | |
CN111427754A (zh) | 一种用户行为识别方法及移动终端 | |
CN111523402B (zh) | 一种视频处理方法、移动终端及可读存储介质 | |
CN111192319A (zh) | 用于监控人类面部到智能设备的距离的系统和方法 | |
CN110853124B (zh) | 生成gif动态图的方法、装置、电子设备及介质 | |
WO2021218634A1 (zh) | 内容推送 | |
CN110069126B (zh) | 虚拟对象的控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |