本发明涉及定位技术领域,尤其涉及一种基于深度学习的手机姿态判断方法及装置。
背景技术:
在智能手机普及的今天,各种手机服务如火如荼,能够识别手机所处的位置和姿态对于提供精准和高体验的手机应用服务有重大意义,而现有技术对于手机姿态的判断并不足以满足人们对其精准度日益提高的需求,因此,如何提高手机姿态判断的准确度,这个问题引起了很多人的关注和重视。
技术实现要素:
本发明的目的是提供一种基于深度学习的手机姿态判断方法及装置,旨在解决现有技术存在的手机姿态识别其准确性较差、不足以满足人们对其高精准度的需求的问题。
本发明解决其技术问题所采用的技术方案是:
一种基于深度学习的手机姿态判断方法,包括:
在行走状态下,通过手机内置的重力加速度传感器采集加速度信号,通过手机内置的陀螺仪采集姿态角信号,得到不同手机姿态下的样本数据,并为样本数据添加相应手机姿态的标签;所述加速度信号为重力加速度分别在手机X轴、Y轴、Z轴方向的分量,用于判断机头方向;所述姿态角信号为手机分别在X轴、Y轴、Z轴方向上的旋转角,用于反应手机姿态变化;
对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器;所述深度自动编码器用于输入加速度信号和姿态角信号,输出手机姿态预测结果;所述手机姿态预测结果包括手机姿态分类及其概率分布数据;
通过深度自动编码器,对行走状态下的实时手机姿态进行预测。
在上述实施例的基础上,进一步地,所述对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器的步骤,具体为:
对上述不同手机姿态下的样本数据中的加速度信号、姿态角信号进行训练,建立层数为N的深度自动编码器,N为正整数;所述深度自动编码器还对学习速率、迭代次数、随机置0率进行设置;
所述深度自动编码器包括N层单层自动编码器,所述单层自动编码器包括输入层、隐藏层、输出层;第1层单层自动编码器用于输入加速度信号和姿态角信号,输出第1层预测结果,第i层单层自动编码器用于输入第i-1层预测结果,输出第i层预测结果,i为大于1的正整数。
在上述实施例的基础上,进一步地,所述输入层、隐藏层、输出层中每个单元的激活函数为sigmoid函数;
所述通过深度自动编码器,对行走状态下的实时手机姿态进行预测的步骤中,采用softmax函数获取手机姿态预测结果。
在上述包含输入层、输出层的实施例的基础上,进一步地,所述加速度信号与姿态角信号的采样频率相同;所述输入层中输入单元的数目与加速度信号的采样点数相同,输出层中输出单元的数目与加速度信号的采样点数相同。
在上述任意实施例的基础上,进一步地,所述对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器的步骤前,还包括:
对上述不同手机姿态下的样本数据进行标准化。
一种基于深度学习的手机姿态判断装置,包括:
采集模块,用于:
在行走状态下,通过手机内置的重力加速度传感器采集加速度信号,通过手机内置的陀螺仪采集姿态角信号,得到不同手机姿态下的样本数据,并为样本数据添加相应手机姿态的标签;所述加速度信号为重力加速度分别在手机X轴、Y轴、Z轴方向的分量,用于判断机头方向;所述姿态角信号为手机分别在X轴、Y轴、Z轴方向上的旋转角,用于反应手机姿态变化;
训练模块,用于:
对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器;所述深度自动编码器用于输入加速度信号和姿态角信号,输出手机姿态预测结果;所述手机姿态预测结果包括手机姿态分类及其概率分布数据;
预测模块,用于:
通过深度自动编码器,对行走状态下的实时手机姿态进行预测。
在上述实施例的基础上,进一步地,所述训练模块用于:
对上述不同手机姿态下的样本数据中的加速度信号、姿态角信号进行训练,建立层数为N的深度自动编码器,N为正整数;所述深度自动编码器还对学习速率、迭代次数、随机置0率进行设置;
所述深度自动编码器包括N层单层自动编码器,所述单层自动编码器包括输入层、隐藏层、输出层;第1层单层自动编码器用于输入加速度信号和姿态角信号,输出第1层预测结果,第i层单层自动编码器用于输入第i-1层预测结果,输出第i层预测结果,i为大于1的正整数。
在上述实施例的基础上,进一步地,所述输入层、隐藏层、输出层中每个单元的激活函数为sigmoid函数;
所述预测模块采用softmax函数获取手机姿态预测结果。
在上述包含输入层、输出层的实施例的基础上,进一步地,所述加速度信号与姿态角信号的采样频率相同;所述输入层中输入单元的数目与加速度信号的采样点数相同,输出层中输出单元的数目与加速度信号的采样点数相同。
在上述任意实施例的基础上,进一步地,还包括标准化模块,用于:
在得到不同手机姿态下的样本数据后,对上述不同手机姿态下的样本数据进行标准化。
本发明的有益效果是:
本发明提供了一种基于深度学习的手机姿态判断方法及装置,采集人在行走状态下对应不同手机姿态时的加速度信号和姿态角信号,并将加速度信号和姿态角信号作为输入信号,将手机姿态判断结果作为输出信号,对加速度信号和姿态角信号进行深度学习训练,建立深度自动编码器,使其可用于实时预测手机姿态。本发明预先训练好深度自动编码器,并应用深度自动编码器来实时预测手机姿态,操作简单,在短时间就可高准确率判断手机状态;在建立单层自动编码器、深度自动编码器的过程中,对于输入信号的特征抓取过程完全凭靠数据驱动,不受人为设定阈值的困扰,输入信号特征之间内在关系非线性约束,大大提高对手机姿态判断时的可靠性,且性能稳定,重复性高。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1示出了本发明实施例提供的一种基于深度学习的手机姿态判断方法的流程示意图;
图2示出了本发明实施例提供的一种基于深度学习的手机姿态判断装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
具体实施例一
如图1所示,本发明实施例提供了一种基于深度学习的手机姿态判断方法,包括:
步骤S101,在行走状态下,通过手机内置的重力加速度传感器采集加速度信号,通过手机内置的陀螺仪采集姿态角信号,得到不同手机姿态下的样本数据,并为样本数据添加相应手机姿态的标签;所述加速度信号为重力加速度分别在手机X轴、Y轴、Z轴方向的分量,用于判断机头方向;所述姿态角信号为手机分别在X轴、Y轴、Z轴方向上的旋转角,用于反应手机姿态变化;
步骤S102,对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器;所述深度自动编码器用于输入加速度信号和姿态角信号,输出手机姿态预测结果;所述手机姿态预测结果包括手机姿态分类及其概率分布数据;
步骤S103,通过深度自动编码器,对行走状态下的实时手机姿态进行预测。
本发明实施例对深度自动编码器的建立方式不做限定,在上述实施例的基础上,优选的,所述步骤102中建立深度自动编码器的方式可以具体为:对上述不同手机姿态下的样本数据中的加速度信号、姿态角信号进行训练,建立层数为N的深度自动编码器,N为正整数;所述深度自动编码器还对学习速率、迭代次数、随机置0率进行设置;所述深度自动编码器包括N层单层自动编码器,所述单层自动编码器包括输入层、隐藏层、输出层;第1层单层自动编码器用于输入加速度信号和姿态角信号,输出第1层预测结果,第i层单层自动编码器用于输入第i-1层预测结果,输出第i层预测结果,i为大于1的正整数。采用多个单层自动编码器来获取最终的深度自动编码器,相对于单个单层自动编码器来说,其准确度更高。在此基础上,本发明实施例对深度自动编码器的迭代次数不做限定,优选的,每个单层自动编码器可以迭代10000次。
本发明实施例对输入层、隐藏层、输出层中每个单元所采用的激活函数不做限定,对实时手机姿态的预测函数不做限定,在上述实施例的基础上,优选的,所述输入层、隐藏层、输出层中每个单元的激活函数可以为sigmoid函数;所述通过深度自动编码器,对行走状态下的实时手机姿态进行预测的步骤中,可以采用softmax函数获取手机姿态预测结果。这样做的好处是,引入sigmoid函数可以引入特征的非线性组合结构,其单调递增,连续可导,导数形式非常简单,可以把实数域光滑的映射到[0,1]空间;softmax函数是logistic模型在多分类问题上的推广,用于最后一层,指数级扩大最后一层的输出,每个值都会增大,然而最大的那个值相比其他值扩大的更多,偏导数形式决定其不会出现学习慢的问题。
本发明实施例对加速度信号、姿态角信号的采样频率不做限定,对输入层、输出层中的单元数目不做限定,在上述包含输入层、输出层的实施例的基础上,优选的,所述加速度信号与姿态角信号的采样频率可以相同;所述输入层中输入单元的数目可以与加速度信号的采样点数相同,输出层中输出单元的数目可以与加速度信号的采样点数相同。加速度信号和姿态角信号这两路输入信号频率相同,同步率高,后续计算中误差就较小;输入层、输出层中单元数目与加速度信号的采样点数相同,使输入信号不需要预处理即可与输入单元一一对应。
在上述任意实施例的基础上,优选的,本发明实施例中,所述步骤S102前,还包括:对上述不同手机姿态下的样本数据进行标准化。具体的,样本数据中的加速度信号包括重力加速度在手机X轴、Y轴、Z轴三个方向上的加速度分量信号,姿态角信号包括手机在X轴、Y轴、Z轴三个方向上的旋转角信号,对上述不同手机姿态下的样本数据进行标准化包括:将三路加速度分量信号分别除以重力加速度常数g,,将三路旋转角信号分别除以圆周率π,得到标准化的样本集。这样做的好处是,预先对样本数据进行标准化处理,简化后续计算工作量。
本发明实施例对手机姿态分类不做限定,在上述任意实施例的基础上,优选的,手机姿态可以包括打手话、发短信、手持平端、手持摇摆、侧裤兜、背裤兜、背包内、挎包内。对手机姿态分类太细则容易产生判断失误,太粗则容易造成判断不够灵敏。
本发明实施例对加速度信号和姿态角信号的采集频率不做限定,在上述任意实施例的基础上,优选的,其采样间隔可以为20ms,频率为50hz,则每路信号有50个点。当样本数据中的加速度信号包括重力加速度在手机X轴、Y轴、Z轴三个方向上的加速度分量信号,姿态角信号包括手机在X轴、Y轴、Z轴三个方向上的旋转角信号时,上述6路信号共计300个采样点。
本发明实施例对训练阶段所选行走者的人数不做限定,优选的,在上述实施例的基础上,可以分别选取K个人行走(K为正整数),每次行走100米,分别完成打手话、发短信、手持平端、手持摇摆、侧裤兜、背裤兜、背包内、挎包内等动作。动作完成后,提取传感器信号,以6路信号各50个点,共300个点为一个样本,可以得到多组样本数据。
具体实施例二
如图2所示,本发明实施例提供了一种基于深度学习的手机姿态判断装置,包括:
采集模块201,用于:
在行走状态下,通过手机内置的重力加速度传感器采集加速度信号,通过手机内置的陀螺仪采集姿态角信号,得到不同手机姿态下的样本数据,并为样本数据添加相应手机姿态的标签;所述加速度信号为重力加速度分别在手机X轴、Y轴、Z轴方向的分量,用于判断机头方向;所述姿态角信号为手机分别在X轴、Y轴、Z轴方向上的旋转角,用于反应手机姿态变化;
训练模块202,用于:
对上述不同手机姿态下的样本数据进行深度学习训练,建立深度自动编码器;所述深度自动编码器用于输入加速度信号和姿态角信号,输出手机姿态预测结果;所述手机姿态预测结果包括手机姿态分类及其概率分布数据;
预测模块203,用于:
通过深度自动编码器,对行走状态下的实时手机姿态进行预测。
本发明实施例对深度自动编码器的建立方式不做限定,在上述实施例的基础上,优选的,所述步骤102中建立深度自动编码器的方式可以具体为:对上述不同手机姿态下的样本数据中的加速度信号、姿态角信号进行训练,建立层数为N的深度自动编码器,N为正整数;所述深度自动编码器还对学习速率、迭代次数、随机置0率进行设置;所述深度自动编码器包括N层单层自动编码器,所述单层自动编码器包括输入层、隐藏层、输出层;第1层单层自动编码器用于输入加速度信号和姿态角信号,输出第1层预测结果,第i层单层自动编码器用于输入第i-1层预测结果,输出第i层预测结果,i为大于1的正整数。采用多个单层自动编码器来获取最终的深度自动编码器,相对于单个单层自动编码器来说,其准确度更高。
在上述实施例的基础上,优选的,所述训练模块202可以用于:对上述不同手机姿态下的样本数据中的加速度信号、姿态角信号进行训练,建立层数为N的深度自动编码器,N为正整数;所述深度自动编码器还对学习速率、迭代次数、随机置0率进行设置;所述深度自动编码器包括N层单层自动编码器,所述单层自动编码器包括输入层、隐藏层、输出层;第1层单层自动编码器用于输入加速度信号和姿态角信号,输出第1层预测结果,第i层单层自动编码器用于输入第i-1层预测结果,输出第i层预测结果,i为大于1的正整数。
在上述实施例的基础上,优选的,所述输入层、隐藏层、输出层中每个单元的激活函数可以为sigmoid函数;所述预测模块203可以采用softmax函数获取手机姿态预测结果。
在上述包含输入层、输出层的实施例的基础上,优选的,所述加速度信号与姿态角信号的采样频率可以相同;所述输入层中输入单元的数目可以与加速度信号的采样点数相同,输出层中输出单元的数目可以与加速度信号的采样点数相同。加速度信号和姿态角信号这两路输入信号频率相同,同步率高,后续计算中误差就较小;输入层、输出层中单元数目与加速度信号的采样点数相同,使输入信号不需要预处理即可与输入单元一一对应。
在上述任意实施例的基础上,优选的,本发明实施例还可以包括标准化模块,用于:在得到不同手机姿态下的样本数据后,对上述不同手机姿态下的样本数据进行标准化。具体的,样本数据中的加速度信号包括重力加速度在手机X轴、Y轴、Z轴三个方向上的加速度分量信号,姿态角信号包括手机在X轴、Y轴、Z轴三个方向上的旋转角信号,对上述不同手机姿态下的样本数据进行标准化包括:将三路加速度分量信号分别除以重力加速度常数g,,将三路旋转角信号分别除以圆周率π,得到标准化的样本集。这样做的好处是,预先对样本数据进行标准化处理,简化后续计算工作量。
本发明实施例对手机姿态分类不做限定,在上述任意实施例的基础上,优选的,手机姿态可以包括打手话、发短信、手持平端、手持摇摆、侧裤兜、背裤兜、背包内、挎包内。对手机姿态分类太细则容易产生判断失误,太粗则容易造成判断不够灵敏。
本发明实施例对加速度信号和姿态角信号的采集频率不做限定,在上述任意实施例的基础上,优选的,其采样间隔可以为20ms,频率为50hz,则每路信号有50个点。当样本数据中的加速度信号包括重力加速度在手机X轴、Y轴、Z轴三个方向上的加速度分量信号,姿态角信号包括手机在X轴、Y轴、Z轴三个方向上的旋转角信号时,上述6路信号共计300个采样点。
本发明实施例对训练阶段所选行走者的人数不做限定,优选的,在上述实施例的基础上,可以分别选取K个人行走(K为正整数),每次行走100米,分别完成打手话、发短信、手持平端、手持摇摆、侧裤兜、背裤兜、背包内、挎包内等动作。动作完成后,提取传感器信号,以6路信号各50个点,共300个点为一个样本,可以得到多组样本数据。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。尽管本发明已进行了一定程度的描述,明显地,在不脱离本发明的精神和范围的条件下,可进行各个条件的适当变化。可以理解,本发明不限于所述实施方案,而归于权利要求的范围,其包括所述每个因素的等同替换。