识别终端握持状态的方法、模型训练方法及终端与流程

文档序号:14474706阅读:192来源:国知局
识别终端握持状态的方法、模型训练方法及终端与流程

本发明涉及通信技术领域,尤其涉及一种识别终端握持状态的方法、模型训练方法及终端。



背景技术:

随着移动通信技术的发展,移动终端在人们的日常生活中变得越来越重要,而识别移动终端,如手机和平板计算机等,是否被用户握持,对及时向移动终端用户推送消息,以提升移动终端的用户黏性有着重要影响,因此现有技术中出现了许多识别移动终端是否被用户握持的技术。

现阶段,识别终端设备是否被用户握持,往往通过采集用户实时在移动终端上的操作行为产生的操作行为数据进行分析判断,或者把采集到的操作行为数据上报到服务端,进行后台数据的分析做出判断。其中,用户在移动终端上的操作行为包括:点亮屏幕、滑动解锁虚拟按钮和点击移动终端显示界面上某款应用程序等。

但是,基于用户在移动终端显示界面的操作行为数据来判断移动终端是否被用户握持具有局限性,因为当用户拿着移动终端却并没有进行任何操作行为时,采用该种方法,并不能识别移动终端设备在用户的手上。



技术实现要素:

本发明实施例提供一种用于识别终端握持状态的方法、模型训练方法及终端,能提升识别终端是否被用户握持的准确度。

第一方面,本发明实施例提供了一种识别终端握持状态的模型训练方法,所述方法应用于服务器,所述方法包括:

获取终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据;

根据所述加速度样本数据抽取运动特征数据;

利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

第二方面,本发明实施例提供了一种识别终端握持状态的模型,所述模型由上述第一方面所述的方法训练得到。

第三方面,本发明实施例提供了一种识别终端握持状态的方法,所述方法应用于终端,包括:

获取终端上加速度传感器采集的加速度数据;

根据所述加速度数据抽取运动特征数据;

将所述运动特征数据输入识别终端握持状态的模型;

根据所述模型的输出结果识别所述终端是否被用户握持。

第四方面,本发明实施例提供了一种对终端进行消息推送的方法,所述方法包括:

终端获取加速度传感器采集的加速度数据;

所述终端根据所述加速度数据抽取运动特征数据;

所述终端将所述运动特征数据输入识别终端握持状态的模型;

所述终端根据所述模型的输出结果识别所述终端是否被用户握持;

若识别出所述终端被用户握持,则终端将识别结果上报至服务器;

所述服务器根据所述识别结果对所述终端进行消息推送。

第五方面,本发明实施例提供了一种服务器,该服务器包括用于执行上述第一方面的方法的单元。

第六方面,本发明实施例提供了一种终端,该终端包括用于执行上述第三方面的方法的单元。

第七方面,本发明实施例提供了另一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。

第八方面,本发明实施例提供了另一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第三方面的方法。

第九方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面或第三方面的方法。

本发明实施例通过获取终端上的加速度传感器采集的加速度样本数据,根据移动终端采集的加速度样本数据抽取运动特征数据,利用运动特征数据和与所述加速度样本数据对应的握持状态样本数据训练模型,以此获得用于识别终端是否被用户握持的模型,从而提升识别终端是否被用户握持的准确度。

此外,当将训练好的识别终端握持状态的模型部署到移动终端,只要实时处理移动终端上的加速度数据,抽取出运动特征数据,带入到部署在终端设备上的训练好的模型,就能实时预测该移动终端是否被用户握持,提升了识别的准确度;此外,相比将采集到的数据上报到服务端进行后台数据的分析来获得识别结果的方案,由于减少了数据传输的过程,且采用识别模型的识别速度快,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种移动终端与服务器用于识别移动终端是否被用户握持的方法的交互示意图;

图2是本发明实施例提供的一种用于识别移动终端是否被用户握持的神经网络模型的训练方法的示意流程图;

图3是本发明另一实施例提供的一种用于识别移动终端是否被用户握持的神经网络模型的训练方法的示意流程图;

图4是本发明实施例提供的一种服务器的示意性框图;

图5是本发明另一实施例提供的一种服务器示意性框图;

图6是本发明实施例提供的一种识别移动终端是否被用户握持的方法的示意流程图;

图7是本发明另一实施例提供的一种识别移动终端是否被用户握持的方法的示意流程图;

图8是本发明实施例提供的一种终端的示意性框图;

图9是本发明另一实施例提供的一种终端示意性框图;

图10是本发明又一实施例提供的一种服务器示意性框图;

图11是本发明再一实施例提供的一种终端示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”或“若”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”或“若确定”或“若检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的终端包括但不限于如移动电话或平板计算机之类的便携式移动终端。在下面的具体实施方式中,为了方便,将以移动电话作为终端的例子进行具体描述,本领域技术人员可理解,终端并非仅限于移动电话。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,移动终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

图1示出了本发明实施例提供的移动电话11与服务器12进行交互训练用于识别移动电话是否被用户握持的模型的示意图,移动电话11内置有加速度传感器111,加速度传感器111实时采集移动电话11的加速度样本数据,并通过无线通信网络将所述加速度样本数据发送给服务器12。另外,服务器12包括输入设备,通过输入设备获取与所述加速度样本数据对应的握持状态样本数据,将它们分别保存到服务器12的数据库中。服务器12根据所述加速度样本数据抽取运动特征数据,利用所述运动特征数据和所述握持状态样本数据训练神经网络模型,以此获得用于识别移动终端是否被用户握持的模型,从而提升识别终端是否被用户握持的准确度。此外,识别终端握持状态的模型部署到移动电话11上,用于实时识别终端是否被用户握持,提升了识别的准确度,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。

请参见图2,图2是本发明实施例提供的一种识别终端握持状态的模型的训练方法的示意流程图。本实施例中识别终端握持状态的模型的训练方法的执行主体为如图1所示的服务器。服务器包括但不限于数据库服务器和应用程序服务器等。如图2所示的用于识别终端握持状态的模型的训练方法,可包括:

s201:获取终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据。

其中,加速度传感器是一种能够测量加速度的传感器。加速度传感器可以包括二轴加速度传感器和三轴加速度传感器。其中,三轴加速度传感器能够实时采集x轴、y轴和z轴的加速度数据,相比于二轴加速度传感器,其训练结果准确度及稳定度更高。终端包括如手机和平板计算机等便携式移动终端,通常设置有三轴加速度传感器。终端的握持状态包括被用户握持和不被用户握持这两种握持状态。在下面的描述过程中以设置有三轴加速度传感器的移动终端为例,三轴加速度传感器采集移动终端的x轴、y轴和z轴加速度数据,并且加速度数据随着移动终端的位置变化而变化。

在采样阶段,移动终端被用户握持和不被用户握持两个情形下,移动终端上的三轴加速度传感器采集移动终端的x轴、y轴和z轴加速度样本数据,并将所述加速度样本数据发送给服务器。移动终端被用户握持的情形下,握持状态样本数据为被用户握持,可采用符号,如数字或字母表示该握持状态样本数据,此时采集的x轴、y轴和z轴加速度样本数据为正样本数据;移动终端不被用户握持的情形下,握持状态样本数据为不被用户握持,可采用符号,如数字或字母表示该握持状态样本数据,此时采集的x轴、y轴和z轴加速度样本数据为负样本数据。尽量保证获取到的采样数据覆盖移动终端被用户握持和不被用户握持的所有场景,比如,用户握持移动终端静坐、用户握持移动终端站立、移动终端不被用户握持时放置于桌面或用户衣兜等,而且正样本数据和负样本数据比例大致为1:1。

需要说明的是,三轴加速度传感器在同一时刻采集的x轴、y轴和z轴加速度样本数据称之为一组加速度样本数据,显然地,与每组所述加速度样本数据分别对应一个握持状态样本数据。示例性地,取组数为n,n为正整数。本领域技术人员知晓,加速度样本数据和握持状态样本数据的组数n越多所得到的结果越准确,但是计算量越大,本领域技术人员可以根据实际需要对组数n进行设计,本发明对此不作具体限定。

服务器与所述移动终端实时无线通信连接,获取移动终端实时发送的x轴、y轴和z轴加速度样本数据。服务器包括输入设备,如虚拟或实体键盘等。采样员将与所述x轴、y轴和z轴加速度样本数据对应的握持状态样本数据通过输入设备输入服务器。此外,也可采用其他输入方式,此处不做限制。

s202:根据所述加速度样本数据抽取运动特征数据。

其中,运动特征数据为与所述移动终端的运动状态相关的特征数据,反映了其被用户握持的状态。

根据所述加速度样本数据抽取运动特征数据,包括:根据所述加速度样本数据计算用户终端加速度和姿态角;以及根据所述加速度样本数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

具体地,根据每组所述加速度样本数据xi、yi和zi计算用户终端加速度sli和姿态角ali,其中,ali=acosd(zi/sli),i为正整数,且1≤i≤n;acosd为反余弦函数,单位为度数。

根据每连续m组所述加速度样本数据xi、yi和zi、所述用户终端加速度sli和姿态角ali分别求均值得到mean_x、mean_y、mean_z、mean_sl和mean_al,分别求标准差得到std_x、std_y、std_z、std_sl和std_al;根据所述用户终端加速度sli和姿态角ali分别求得变异系数为cv_sl和cv_al,偏度为为kt_sl和kt_al,峰度为为kf_sl和kf_al。其中,m为大于1的正整数,1<m<n。通过对连续m组的加速度样本数据进行运动特征数据的抽取的这种方式能够进一步提高结果的准确度和稳定度。

需要说明的是,本领域技术人员知晓,m的值越大,所得到的结果越准确,但是采样样本组数会相应更多,本领域技术人员可以根据实际需要对m的数值进行设计,本发明对此不作具体限定。

进一步地,示例性的,在一个具体实施方式中,s202具体包括s2021、s2022和s2023。

s2021:判断连续m组所述握持状态样本数据是否相同,若是,则执行s2022;若否,则执行s2023。

若连续m组所述握持状态样本数据相同,则说明此时连续m组数据里面仅包括移动终端被用户握持,或仅包括移动终端不被用户握持这两种情形之一下的加速度样本数据,该连续m组加速度样本数据属于同一握持状态情形下的数据,不存在错误或噪音,此时执行s2022,进行运动特征数据的抽取。若连续m组所述握持状态样本数据存在不同,则说明此时连续m组数据里面既包括移动终端被用户握持,又包括移动终端不被用户握持这两种情形下的加速度样本数据,该连续m组加速度样本数据不属于同一握持状态情形下的数据,存在错误或噪音,此时执行s2023,跳过对该连续m组的运动特征数据的抽取,进行下一个续连续m组的加速度样本数据的运动特征数据的抽取。

s2022:根据与之对应的连续m组所述加速度样本数据计算用户终端加速度和姿态角,以及根据连续m组所述加速度样本数据、所述用户终端加速度和姿态角统计运动特征数据。

s2023:跳过对与之对应的连续m组所述加速度样本数据抽取运动特征数据。

通过s2021-s2023这种抽取运动特征数据的方式,能够删选出错误或者噪音数据,进一步提高结果的准确度和稳定度。

s203:利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

在本发明实施例中,采取神经网络模型作为训练模型。

经过s202抽取运动特征数据之后,得到多行运动特征数据,每行包括16列运动特征数据,分别为:mean_x、mean_y、mean_z、mean_sl、mean_al、std_x、std_y、std_z、std_sl、std_al、cv_sl、cv_al、kt_sl、kt_al、kf_sl和kf_al。每一行的运动特征数据都会对应一个标签值,标签值有两种情况,分别对应移动终端是否被用户握持的两种状态。示例性地,0代表移动终端被用户握持,1代表移动终端不被用户握持。基于此,本发明实施例构建的模型为二分类模型,该二分类模型的输出层含有2个单元。

对含有标签值的运动特征数据的集合进行设立随机种子为42,其中70%设置为训练集,剩下30%设置为测试集的随机划分。此处基于google开源的深度学习tensorflow框架深度神经网络(deepneuralnetworks,dnn)分类算法,建立一个4层的神经网络模型为例进行具体说明,该神经网络模型包括1个输入层、1个输出层和2个隐藏层,其中,输入层含有40个单元,2层隐藏层分别含有80个单元,输出层含有2个单元。使用该种参数设置进行dnn训练构建一个基于tensorflow的dnn的分类模型。

本发明实施例训练的dnn模型属于深度学习中的二分类模型,对于训练好的dnn模型,评价指标有很多,例如:准确度,精度,召回率和f测量值等。但实际生活中,由于训练集中正负样本比例不会严重失衡,预估过程更看重的是测试集中正样本的漏检率和正负样本各自的精度和测试集整体的准确率。本发明还使用了一种分类模型表现的常规评判方法—接收者操作特征(receiveroperatingcharacteristic,roc)分析。roc曲线和auc是评价分类模型最重要的指标之一。roc曲线显示了给定模型的真正例率(turepositiverate,tpr)和假正例率(falsepositiverate,fpr)之间的权衡。给定一个测试集和训练好的神经网络模型,tpr是该神经网络模型正确标记的正元组的比例,而fpr是该神经网络模型错误标记为正的负元组的比例。roc曲线中,每个点的横坐标是fpr,纵坐标是tpr,roc曲线都应该在(0,0)与(1,1)连线的上方,曲线越往上凸形容模型越好。

本发明实施例得到的基于tensorflow的dnn分类模型在测试集上的整体正确率达到96%以上,对正样本的误检率不超过0.01%时,auc达到了0.98以上。

需要说明的是,此处描述的模型的架构、训练及评估方式仅为示例性的,本领域技术人员还可采取其他二分类模型用于本发明,可采取其他模型的训练和评估用于本发明,模型的架构、训练和评估为本领域常规技术手段,此处不再赘述。

上述方案,服务器根据终端采集的加速度样本数据抽取运动特征数据,利用运动特征数据和与所述加速度样本数据对应的握持状态样本数据训练模型,以此获得用于识别移动终端是否被用户握持的模型,从而提升识别移动终端是否被用户握持的准确度。

此外,当服务器将训练好的识别终端握持状态的模型部署到移动终端,终端只要实时处理移动终端上的加速度数据,抽取出运动特征数据,带入到部署在终端设备上的训练好的模型,提升了识别的准确度,此外,能在不将数据上报到服务器端的情形下在终端本地实时预测该终端是否被用户握持由于减少了数据的传输过程,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。需要说明的是,将识别终端握持状态的模型部署到移动电话11上,可以不由服务器来执行,也可以由终端的技术人员来实现。

请参见图3,图3是本发明另一实施例提供的一种识别终端握持状态的模型的训练方法的示意流程图。本实施例是在如图2所示实施例之上的进一步限定,增加了均值滤波处理的步骤,本实施例中未详细描述之处请参见前一实施例。如图3所示的方法可包括:

s301:获取终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据。

其中,获取移动终端上加速度传感器采集的多组加速度样本数据xi、yi和zi和与每组所述加速度样本数据对应的握持状态样本数据。

s302:对所述加速度样本数据进行均值滤波处理。

其中,对所述加速度样本数据xi、yi和zi进行均值滤波处理,得到进行均值滤波处理后的加速度样本数据xli、yli和zli。对加速度样本数据进行均值滤波处理可降低样本数据的噪声,提高结果的准确度和稳定度。

示例性的,在一种具体实施方式中,均值滤波处理公式如下:

b1=(69·a1+4·a2-6·a3+4·a4-a5)/70;

b2=[2·(a1+a5)+27·a2+12·a3-8·a4]/35;

bj=(aj-2/9+2·aj-1/9+aj/3+2·aj+1/9+aj+2)/9;

bn-1=(2·an-5+27·an-4+12·an-3-8·an-2+2·an-1)/35;

bn=(69·an-4+4·an-3-6·an-2+4·an-1-an)/70。

其中,n为加速度样本数据的总组数,即n,j为正整数,取值范围为2<j<n-2;aj和an表示加速度样本数据xi、yi或zi;bj和bn表示进行均值滤波处理后的加速度样本数据xli、yli或zli。

s303:根据均值滤波处理前和均值滤波处理后的所述加速度样本数据抽取运动特征数据。

其中,s303包括:根据均值滤波处理后的所述加速度样本数据计算用户终端加速度和姿态角;以及根据均值滤波处理前的所述加速度样本数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

具体地,根据均值滤波处理后的每组所述加速度样本数据xli、yli和zli计算用户终端加速度sli和姿态角ali,其中,ali=acosd(zli/sli),i为正整数,且1≤i≤n;acosd为反余弦函数,单位为度数。

根据均值滤波处理前的每连续m组所述加速度样本数据xi、yi和zi、所述用户终端加速度sli和姿态角ali分别求均值得到mean_x、mean_y、mean_z、mean_sl和mean_al,分别求标准差得到std_x、std_y、std_z、std_sl和std_al;根据所述用户终端加速度sli和姿态角ali分别求得变异系数为cv_sl和cv_al,偏度为为kt_sl和kt_al,峰度为为kf_sl和kf_al。其中,m为大于1的正整数,1<m<n。通过对连续m组的加速度样本数据进行运动特征数据的抽取的这种方式能够进一步提高结果的准确度和稳定度。

s304:利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

上述方案,对移动终端采集的加速度样本数据进行均值滤波处理,根据均值滤波处理前后的加速度样本数据抽取运动特征数据,利用运动特征数据和与所述加速度样本数据对应的握持状态样本数据训练模型,以此获得用于识别移动终端是否被用户握持的模型,从而进一步提升识别移动终端是否被用户握持的准确度。

此外,当服务器将训练好的用于识别移动终端是否被用户握持的模型部署到终端,终端只要实时处理移动终端上的加速度数据,抽取出运动特征数据,带入到部署在终端设备上的训练好的模型,就能实时预测该终端是否被用户握持,进一步提升了识别的准确度;此外,相比将采集到的数据上报到服务端进行后台数据的分析来获得识别结果的方案,由于减少了数据传输的过程,且采用识别模型的识别速度快,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。

本发明实施例还提供一种识别终端握持状态的模型,该模型由前述任一实施例中所述的识别终端握持状态的模型训练方法训练得到。

本发明实施例还提供一种服务器,该服务器包括用于执行前述任一实施例中所述的模型的训练方法中的各步骤的单元。示例性的,该服务器可以为图1所示的服务器12。具体地,参见图4,图4是本发明实施例提供的一种终端的示意框图。本实施例的服务器4包括:获取单元41、抽取单元42以及训练单元43。

获取单元41,用于获取移动终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据。

抽取单元42,用于根据所述加速度样本数据抽取运动特征数据。

训练单元43,用于利用所述运动特征数据和所述握持状态样本数据训练模型。

可选地,抽取单元42具体用于:根据所述加速度样本数据计算用户终端加速度和姿态角;根据所述加速度样本数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

进一步地,在上述技术方案的基础上,如图5所示,该服务器5包括获取单元51、均值滤波处理单元52、抽取单元53以及训练单元53。

获取单元51,用于获取移动终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据。

均值滤波处理单元52,用于对所述加速度样本数据进行均值滤波处理。

抽取单元53,用于根据均值滤波处理前和均值滤波处理后的所述加速度样本数据抽取运动特征数据。

训练单元54,用于利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

可选地,抽取单元53可以包括:计算单元和统计单元。

计算单元,用于根据均值滤波处理后的所述加速度样本数据计算用户终端加速度和姿态角。

统计单元,用于根据均值滤波处理前的所述加速度样本数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

上述方案,服务器对移动终端采集的加速度样本数据进行均值滤波处理,根据均值滤波处理前后的加速度样本数据抽取运动特征数据,利用运动特征数据和与所述加速度样本数据对应的握持状态样本数据训练模型,以此获得用于识别移动终端是否被用户握持的模型,从而提升识别移动终端是否被用户握持的准确度。

请参见图6,图6是本发明实施例提供的一种识别终端握持状态的方法的示意流程图。本实施例中识别终端握持状态的方法的执行主体为如图1所示的终端。终端包括但不限于移动电话或平板计算机之类的便携式移动设备。如图6所示的用于识别移动终端是否被用户握持的方法,可包括:

s601:获取终端上加速度传感器采集的加速度数据。

其中,加速度传感器可以包括二轴加速度传感器和三轴加速度传感器。其中,三轴加速度传感器能够实时采集x轴、y轴和z轴的加速度数据。s601包括获取移动终端上加速度传感器采集的多组加速度数据。

s602:根据所述加速度数据抽取运动特征数据。

其中,根据所述加速度数据抽取运动特征数据,包括:根据所述加速度数据计算用户终端加速度和姿态角;以及根据所述加速度数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

具体地,根据每组所述加速度数据xi、yi和zi计算用户终端加速度sli和姿态角ali,其中,ali=acosd(zi/sli),i为正整数,且1≤i≤n;acosd为反余弦函数,单位为度数。

根据多组所述加速度数据xi、yi和zi、所述用户终端加速度sli和姿态角ali分别求均值得到mean_x、mean_y、mean_z、mean_sl和mean_al,分别求标准差得到std_x、std_y、std_z、std_sl和std_al;根据所述用户终端加速度sli和姿态角ali分别求得变异系数为cv_sl和cv_al,偏度为为kt_sl和kt_al,峰度为为kf_sl和kf_al。

需要说明的是,本领域技术人员知晓,采集的加速度数据的组数越多,所得到的结果越准确,但是计算量会更大,本领域技术人员可以根据实际需要对采集的组数的数值进行设计,本发明对此不作具体限定。

s603:将所述运动特征数据输入识别终端握持状态的模型。

经过s602抽取运动特征数据之后,得到至少一行运动特征数据,一行包括16列运动特征数据,分别为:mean_x、mean_y、mean_z、mean_sl、mean_al、std_x、std_y、std_z、std_sl、std_al、cv_sl、cv_al、kt_sl、kt_al、kf_sl和kf_al。一行的运动特征数据输入用于识别移动终端是否被用户握持的模型,会对应输出一个结果。本发明实施例构建的模型为二分类模型,该二分类模型的输出层含有2个单元,输出结果有两种情况,分别对应移动终端是否被用户握持的两种状态。

s604:根据所述模型的输出结果识别所述终端是否被用户握持。

其中,若训练的时候将模型的输出结果0代表移动终端被用户握持,输出结果1代表移动终端不被用户握持。基于此,根据输出结果可识别出移动终端是否被用户握持。

上述方案,终端根据采集的加速度数据抽取运动特征数据,利用运动特征数据输入识别终端握持状态的模型,根据输出结果识别所述终端是否被用户握持,只要实时处理移动终端上的加速度数据,抽取出运动特征数据,带入到部署在终端设备上的训练好的模型,就能实时预测该终端是否被用户握持,提升了识别的准确度;此外,相比将采集到的数据上报到服务端进行后台数据的分析来获得识别结果的方案,由于减少了数据传输的过程,且采用识别模型的识别速度快,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。

请参见图7,图7是本发明另一实施例提供的一种识别终端握持状态的方法的示意流程图。本实施例是在如图6所示实施例之上的进一步限定,增加了均值滤波处理的步骤,本实施例中未详细描述之处请参见图6所示实施例。如图7所示的方法可包括:

s701:获取终端上加速度传感器采集的加速度数据。

其中,获取移动终端上加速度传感器采集的多组加速度数据xi、yi和zi。

s702:对所述加速度数据进行均值滤波处理。

其中,对所述加速度数据xi、yi和zi进行均值滤波处理,得到进行均值滤波处理后的加速度数据xli、yli和zli。对加速度数据进行均值滤波处理可降低样本数据的噪声,提高结果的准确度。

示例性的,在一种具体实施方式中,均值滤波处理公式如下:

b1=(69·a1+4·a2-6·a3+4·a4-a5)/70;

b2=[2·(a1+a5)+27·a2+12·a3-8·a4]/35;

bj=(aj-2/9+2·aj-1/9+aj/3+2·aj+1/9+aj+2)/9;

bn-1=(2·an-5+27·an-4+12·an-3-8·an-2+2·an-1)/35;

bn=(69·an-4+4·an-3-6·an-2+4·an-1-an)/70。

其中,n为加速度数据的总组数,即n,j为正整数,取值范围为2<j<n-2;aj和an表示加速度数据xi、yi或zi;bj和bn表示进行均值滤波处理后的加速度数据xli、yli或zli。

s703:根据均值滤波处理前和均值滤波处理后的所述加速度数据抽取运动特征数据。

其中,s703包括:根据均值滤波处理后的所述加速度数据计算用户终端加速度和姿态角;以及根据均值滤波处理前的所述加速度数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

具体地,根据均值滤波处理后的每组所述加速度数据xli、yli和zli计算用户终端加速度sli和姿态角ali,其中,ali=acosd(zli/sli),i为正整数,且1≤i≤n;acosd为反余弦函数,单位为度数。

根据均值滤波处理前的多组所述加速度数据xi、yi和zi、所述用户终端加速度sli和姿态角ali分别求均值得到mean_x、mean_y、mean_z、mean_sl和mean_al,分别求标准差得到std_x、std_y、std_z、std_sl和std_al;根据所述用户终端加速度sli和姿态角ali分别求得变异系数为cv_sl和cv_al,偏度为为kt_sl和kt_al,峰度为为kf_sl和kf_al。通过对多组加速度数据进行运动特征数据的抽取的这种方式能够进一步提高结果的准确度。

s704:将所述运动特征数据输入识别终端握持状态的模型。

s705:根据所述模型的输出结果识别所述终端是否被用户握持。

上述方案,对终端采集的加速度数据进行均值滤波处理,根据均值滤波处理前后的加速度数据抽取运动特征数据,利用运动特征数据输入识别终端握持状态的模型,根据输出结果识别所述移动终端是否被用户握持,只要实时处理终端上的加速度数据,抽取出运动特征数据,带入到部署在终端设备上的训练好的模型,就能实时预测该终端是否被用户握持,提升了识别的准确度;此外,相比将采集到的数据上报到服务端进行后台数据的分析来获得识别结果的方案,由于减少了数据传输的过程,且采用识别模型的识别速度快,也大大缩短了响应时间;此外,使得消息的推送和应用的提醒等产品服务更精准,增强终端与用户之间的互动性,提高用户黏性。

进一步地,在上述技术方案的基础上,本发明实施例提供了一种对终端进行消息推送的方法,所述方法包括:

终端获取加速度传感器采集的加速度数据;

所述终端根据所述加速度数据抽取运动特征数据;

所述终端将所述运动特征数据输入识别终端握持状态的模型;

所述终端根据所述模型的输出结果识别所述终端是否被用户握持;

若识别出所述终端被用户握持,则终端将识别结果上报至服务器;

所述服务器根据所述识别结果对所述终端进行消息推送。

本发明实施例还提供一种终端,该终端包括用于执行前述任一实施例中所述的识别终端握持状态的方法中的各步骤的单元。示例性的,该终端可以为图1所示的移动电话11。具体地,参见图8,图8是本发明实施例提供的一种终端的示意框图。本实施例的终端8包括:获取单元81、抽取单元82、输入单元83以及识别单元84。

获取单元81:用于获取终端上加速度传感器采集的加速度数据。

其中,加速度传感器可以包括二轴加速度传感器和三轴加速度传感器。其中,三轴加速度传感器能够实时采集x轴、y轴和z轴的加速度数据。获取单元81具体用于获取移动终端上加速度传感器采集的多组加速度数据。

抽取单元82:用于根据所述加速度数据抽取运动特征数据。

其中,抽取单元82具体用于:根据所述加速度数据计算用户终端加速度和姿态角;以及根据所述加速度数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

具体地,根据每组所述加速度数据xi、yi和zi计算用户终端加速度sli和姿态角ali,其中,ali=acosd(zi/sli),i为正整数,且1≤i≤n;acosd为反余弦函数,单位为度数。

根据多组所述加速度样本数据xi、yi和zi、所述用户终端加速度sli和姿态角ali分别求均值得到mean_x、mean_y、mean_z、mean_sl和mean_al,分别求标准差得到std_x、std_y、std_z、std_sl和std_al;根据所述用户终端加速度sli和姿态角ali分别求得变异系数为cv_sl和cv_al,偏度为为kt_sl和kt_al,峰度为为kf_sl和kf_al。

输入单元83:用于将所述运动特征数据输入识别终端握持状态的模型。

识别单元84:用于根据所述模型的输出结果识别所述终端是否被用户握持。

进一步地,在上述技术方案的基础上,如图9所示,该终端9包括获取单元91、均值滤波处理单元92、抽取单元93、输入单元94以及识别单元95。

获取单元91,用于获取终端上加速度传感器采集的加速度数据。

均值滤波处理单元92,用于对所述加速度数据进行均值滤波处理。

抽取单元93,用于根据均值滤波处理前和均值滤波处理后的所述加速度数据抽取运动特征数据。

输入单元94,用于将所述运动特征数据输入识别终端握持状态的模型。

识别单元95,用于用于根据所述模型的输出结果识别所述终端是否被用户握持。

可选地,抽取单元93可以包括:计算单元和统计单元。

计算单元,用于根据均值滤波处理后的所述加速度数据计算用户终端加速度和姿态角。

统计单元,用于根据均值滤波处理前的所述加速度数据、所述用户终端加速度和姿态角分别统计运动特征数据。其中,所述运动特征数据包括均值、标准差、变异系数和峰度数据。

参见图10,图10是本发明另一实施例提供的一种服务器示意框图。如图所示的本实施例中的服务器10可以包括:一个或多个处理器1001;一个或多个输入设备1002,一个或多个输出设备1003和存储器1004。上述处理器1001、输入设备1002、输出设备1003和存储器1004通过总线1005连接。存储器1004用于存储计算机程序,所述计算机程序包括程序指令,处理器1001用于执行存储器1004存储的程序指令。示例性的,所述服务器10可以为图1中所示的服务器12。其中,处理器1001被配置用于调用所述程序指令执行如图2-图3所示的识别终端握持状态的神经网络模型的训练方法。示例性的,处理器1001被配置用于调用所述程序指令执行如图2所示的方法:

获取终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据;

根据所述加速度样本数据抽取运动特征数据;

利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

应当理解,在本发明实施例中,所称处理器1001可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备1002可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1003可以包括显示器(lcd等)、扬声器等。

该存储器1004可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1004的一部分还可以包括非易失性随机存取存储器。例如,存储器1004还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器1001、输入设备1002、输出设备1003可执行本发明实施例提供的识别终端握持状态的神经网络模型的训练方法的图2和图3所示实施例中所描述的实现方式,也可执行本发明实施例所描述的服务器的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如图2-图3所示的用于识别移动终端是否被用户握持的神经网络模型的训练方法。示例性的,所述程序指令被处理器执行时实现如图2所示的方法:

获取终端上加速度传感器采集的加速度样本数据和与所述加速度样本数据对应的握持状态样本数据;

根据所述加速度样本数据抽取运动特征数据;

利用所述运动特征数据和所述握持状态样本数据训练模型,所述模型用于识别终端是否被用户握持。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

参见图11,图11是本发明另一实施例提供的一种终端示意框图。如图所示的本实施例中的终端11可以包括:一个或多个处理器1101;一个或多个输入设备1102,一个或多个输出设备1103和存储器1104。上述处理器1101、输入设备1102、输出设备1103和存储器1104通过总线1105连接。存储器1104用于存储计算机程序,所述计算机程序包括程序指令,处理器1101用于执行存储器1104存储的程序指令。示例性的,所述终端11可以为图1中所示的移动电话11。其中,处理器1101被配置用于调用所述程序指令执行如图6-图7所示的识别终端握持状态的方法。示例性的,处理器1101被配置用于调用所述程序指令执行如图6所示的方法:

获取移动终端上加速度传感器采集的加速度数据;

根据所述加速度数据抽取运动特征数据;

将所述运动特征数据输入用于识别移动终端是否被用户握持的模型;

根据所述模型的输出结果识别所述移动终端是否被用户握持。

应当理解,在本发明实施例中,所称处理器1101可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备1102可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1103可以包括显示器(lcd等)、扬声器等。

该存储器1104可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器。例如,存储器1104还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器1101、输入设备1102、输出设备1103可执行本发明实施例提供的识别终端握持状态的方法的如图7-6所示实施例中所描述的实现方式,也可执行本发明实施例所描述的又一种终端的实现方式,在此不再赘述。

在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如图6-图7所示的识别终端握持状态的方法。示例性的,所述程序指令被处理器执行时实现如图6所示的方法:

获取移动终端上加速度传感器采集的加速度数据;

根据所述加速度数据抽取运动特征数据;

将所述运动特征数据输入用于识别移动终端是否被用户握持的模型:

根据所述模型的输出结果识别所述移动终端是否被用户握持。

所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1