CN104567912B - 一种在Android手机上实现计步器的方法 - Google Patents
一种在Android手机上实现计步器的方法 Download PDFInfo
- Publication number
- CN104567912B CN104567912B CN201510053089.2A CN201510053089A CN104567912B CN 104567912 B CN104567912 B CN 104567912B CN 201510053089 A CN201510053089 A CN 201510053089A CN 104567912 B CN104567912 B CN 104567912B
- Authority
- CN
- China
- Prior art keywords
- crest
- time window
- window
- data
- time
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Telephone Function (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
本发明公开了一种在Android手机上实现计步器的方法,由人手持Android手机或者将Android手机放置在口袋中,利用Android手机上的加速度传感器来采集数据,并通过对加速度的一系列处理,最终达到统计人行走步数的目的。该方法包括确定手机加速度传感器采样频率和时间窗口;对采集得到的数据进行去噪,然后根据去噪后的数据利用k‑means提取正常人行走的特征;根据特征和去噪后的数据,统计人在一个时间窗口内行走的步数。本发明能够利用Android手机统计人行走的步数,为人们健康生活和运动提供有效的技术支持和合理的建议。
Description
技术领域
本发明涉及一种在Android手机上实现计步器的方法,特别涉及对手机加速度传感器数据的采集、处理及应用技术,属于传感器应用领域与信息技术领域。
背景技术
随着技术的发展,Android手机已经逐渐普及、融入到人们的生活中。而对于人们的身体健康问题和身体锻炼问题也越来越得到人们的关注,如何更便捷的来对人们的身体健康和锻炼情况进行监测已经成为人们关注的焦点。目前也出现很多利用智能手机来对人身体锻炼情况监测的软件,这为健康监测和运动指导提供有力的物质和技术支持,也具有很好的市场前景。
目前存在很多统计人行走步数的设备,但是他们都有一些缺陷。使用最广的是一些可穿戴设备,但这些设备都需要定制额外的硬件,不容易普及,也极大的提高了成本,并且这些可穿戴设备需要佩戴在固定的部位,具有很大的局限性,不便于携带,也容易被人们忽视,而这些可穿戴设备也主要是利用信号处理来实现对步数的统计,抗干扰能力不强,在准确度上也需要进一步的提高。
发明内容
本发明所要解决的技术问题是提供一种在Android手机上实现计步器的方法,利用k-means等算法,提高统计设备的精度以及适应性,抗干扰能力强。
本发明为解决上述技术问题采用以下技术方案:
本发明提供一种在Android手机上实现计步器的方法,包括以下具体步骤:
步骤1,计算Android手机中加速度传感器的采样频率;
步骤2,根据步骤1中计算得到的采样频率确定一定的时间窗口,并对加速度传感器采集到的一个时间窗口内的加速度数据进行如下处理:
2-1)将加速度传感器采集到的三轴加速度数据转化为合加速度数据;
2-2)对合加速度数据进行平滑去噪;
2-3)找出平滑去噪后的加速度数据中的波峰,计算所有波峰的方差,若方差大于设定阈值,则舍弃该时间窗口内的所有数据;否则,通过k-means聚类算法将该时间窗口内的平滑去噪后的加速度数据聚成两类,分别为属于波峰的一类和不属于波峰的一类;
2-4)根据聚类得到的结果,计算出波峰的取值范围为:
式中,m1、m2分别为属于波峰的一类的数据的平均值、不属于波峰的一类的数据的平均值;
步骤3,重新确定时间窗口,统计各个时间窗口内的步数,从而实现计步,具体为:
3-1)重新确定时间窗口,且确保当前时间窗口与下一个时间窗口之间有重叠;
3-2)当一个时间窗口内的波峰数据满足以下条件时,将当前波峰计为一步:该波峰与前一波峰之间的时间间隔在行走一步所需的时间范围内、当前波峰的幅值在步骤2得到的波峰取值范围内;
3-3)将统计得到的各个时间窗口内的步数相加,即实现计步。
作为本发明的进一步优化方案,步骤2中一定的时间窗口由行走一步所需的时间与采样频率确定。
作为本发明的进一步优化方案,上述时间窗口的长度为行走一步的最长时间除以采样频率。
作为本发明的进一步优化方案,步骤2中采用均值法对合加速度数据进行平滑去噪。
作为本发明的进一步优化方案,步骤3中重新确定的时间窗口具体为:将当前窗口末尾的数据保存到下一窗口的最前端,再去除当前窗口中不是波峰的数据,即得到新的时间窗口。
作为本发明的进一步优化方案,步骤3中当前时间窗口与下一个时间窗口之间重叠的时间区域小于行走一步所需的时间。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明所提供的一种在Android手机上实现计步器的方法有很强的适应性,不需要穿戴额外的设备,利用k-means等算法,可以使计步准确度达到较高的精度,抗干扰能力强。
附图说明
图1是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
图1为本发明的方法流程图,具体内容在此不再赘述。
下面通过具体实施例对本发明的技术方案做进一步阐述:
首先,当用户开始计数的时候,需要先训练一段时间来获取Android手机上的加速度传感器的采样频率,这里记录起始时间ts。开始接收加速度传感器发出的加速度数据,记录下50个数据。当50个数据记录完毕后,同时记录下结束时间te。根据起始时间ts和结束时间te即可计算得出手机加速度传感器的采样频率f,f=1000/(te-ts)*50。
其次,确定手机加速度传感器的采样频率之后,需要确定时间窗口的大小。一般来说,人正常行走一步的时间在0.5s-2s之间,所以这里时间窗口大小为2000/f。
手机加速度传感器采集到的加速度数据为三轴加速度,这里需要将三轴加速度数据转化为合加速度数据,再对合加速度数据进行处理。手机加速度传感器采集到的三轴加速度为(ax,ay,az),合加速度为as的计算公式为:
按照时间窗口大小,存储一个窗口大小的合加速度值,进行数据处理:
a.对一个时间窗口的加速度值进行平滑去噪,根据采样频率f,计算出100ms内所包含的数据样本点的个数n,对整个窗口内的数据进行n点均值平滑,保存平滑后的加速度值。
b.寻找平滑后的加速度值中的波峰,也就是各个极大值,判断方法是当前值是否比前后的数据都大,如果是,则该加速度值为波峰,反之不是。
c.计算波峰的方差,根据方差来判断当前窗口的数据是否为有效数据。
d.若波峰的方差大于设定阈值,则认为当前整个窗口内的数据无效,舍弃当前窗口数据;否则,认为当前加速度数据有效,进行下一个步骤。
e.使用k-means聚类算法,将加速度数据聚为两类,分别为属于波峰的一类和不属于波峰的一类。这两类中,属于波峰的一类即为人正常行走时的波峰与波谷的加速度值,加速度平均值较大,记为c1,不属于波峰的一类则为人静止状态时的加速度值,加速度平均值较小,记为c2。
f.计算c1和c2的平均值m1,m2(m1>m2),从而可以计算得出波峰的范围为:
最后,重新确定时间窗口,统计各个时间窗口内的步数,从而实现计步。
需要通过波峰来计步,人在正常走路的时候会有一个短暂的加速和一个短暂的减速,在加速度信号上就会产生波峰和波谷,所以可以用波峰来判断走的步数,即依次取得一个时间窗口中的波峰进行判断计数。
这里需要重叠时间窗口,因为虽然统计了上一个时间窗口内的行走步数,但上一个窗口中最后一个数据可能是波峰,在上一个窗口中无法判断最后一个值能否记为一步,所以需要将上一个时间窗口中的一部分加速度数据和下一个时间窗口中的数据进行重叠来提高计数的精度。当前时间窗口与下一个时间窗口之间重叠的时间区域小于行走一步所需的时间,以避免造成重复计数。
判断当前波峰与上一个波峰之间的时间间隔是否在正常人行走的时间范围内(0.5s-2s),如果不在正常人行走的范围内,则当前的波峰为无效数据,获取下一个波峰进行判断;判断当前波峰是否在合适波峰的范围内,人在正常行走的时候,波峰的起伏不会太大,保持在合适的范围内。如果超出范围,则当前的波峰为无效数据,获取下一个波峰进行判断。经过两次判断,可以将当前波峰记为一步。
统计完一个时间窗口内的步数之后,将记录下的步数和其他信息最终显示的手机的界面上。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (6)
1.一种在Android手机上实现计步器的方法,其特征在于,包括以下具体步骤:
步骤1,计算Android手机中加速度传感器的采样频率;
步骤2,根据步骤1中计算得到的采样频率确定一定的时间窗口,并对加速度传感器采集到的一个时间窗口内的加速度数据进行如下处理:
2-1)将加速度传感器采集到的三轴加速度数据转化为合加速度数据;
2-2)对合加速度数据进行平滑去噪;
2-3)找出平滑去噪后的加速度数据中的波峰,计算所有波峰的方差,若方差大于设定阈值,则舍弃该时间窗口内的所有数据;否则,通过k-means聚类算法将该时间窗口内的平滑去噪后的加速度数据聚成两类,分别为属于波峰的一类和不属于波峰的一类;
2-4)根据聚类得到的结果,计算出波峰的取值范围为:
式中,m1、m2分别为属于波峰的一类的数据的平均值、不属于波峰的一类的数据的平均值;
步骤3,重新确定时间窗口,统计各个时间窗口内的步数,从而实现计步,具体为:
3-1)重新确定时间窗口,且确保当前时间窗口与下一个时间窗口之间有重叠;
3-2)当一个时间窗口内的波峰数据满足以下条件时,将当前波峰计为一步:该波峰与前一波峰之间的时间间隔在行走一步所需的时间范围内、当前波峰的幅值在步骤2得到的波峰取值范围内;
3-3)将统计得到的各个时间窗口内的步数相加,即实现计步。
2.根据权利要求1所述的一种在Android手机上实现计步器的方法,其特征在于,步骤2中一定的时间窗口由行走一步所需的时间与采样频率确定。
3.根据权利要求2所述的一种在Android手机上实现计步器的方法,其特征在于,时间窗口的长度为行走一步的最长时间除以采样频率。
4.根据权利要求1所述的一种在Android手机上实现计步器的方法,其特征在于,步骤2中采用均值法对合加速度数据进行平滑去噪。
5.根据权利要求1所述的一种在Android手机上实现计步器的方法,其特征在于,步骤3中重新确定的时间窗口具体为:将当前窗口末尾的数据保存到下一窗口的最前端,再去除当前窗口中不是波峰的数据,即得到新的时间窗口。
6.根据权利要求1所述的一种在Android手机上实现计步器的方法,其特征在于,步骤3中当前时间窗口与下一个时间窗口之间重叠的时间区域小于行走一步所需的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053089.2A CN104567912B (zh) | 2015-02-02 | 2015-02-02 | 一种在Android手机上实现计步器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053089.2A CN104567912B (zh) | 2015-02-02 | 2015-02-02 | 一种在Android手机上实现计步器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104567912A CN104567912A (zh) | 2015-04-29 |
CN104567912B true CN104567912B (zh) | 2017-05-17 |
Family
ID=53084520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510053089.2A Expired - Fee Related CN104567912B (zh) | 2015-02-02 | 2015-02-02 | 一种在Android手机上实现计步器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104567912B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445698B (zh) * | 2016-09-13 | 2020-01-10 | Oppo广东移动通信有限公司 | 计步数据的获取方法及装置 |
CN107303181B (zh) * | 2017-05-17 | 2019-12-24 | 浙江利尔达物芯科技有限公司 | 一种基于六轴传感器的脚步运动识别方法 |
CN107462258B (zh) * | 2017-07-13 | 2020-06-16 | 河海大学 | 一种基于手机三轴加速度传感器的计步方法 |
CN110168315B (zh) * | 2017-08-23 | 2021-10-22 | 华为技术有限公司 | 基于加速信息的足部计步方法、装置及设备 |
CN108225331A (zh) * | 2018-01-09 | 2018-06-29 | 四川西谷物联科技有限公司 | 导航方法、装置及电子设备 |
CN108896068B (zh) * | 2018-05-31 | 2021-06-01 | 康键信息技术(深圳)有限公司 | 计步的方法、服务器、移动终端及存储介质 |
CN109115240A (zh) * | 2018-08-02 | 2019-01-01 | 上海亿保健康管理有限公司 | 一种基于Android计步传感器的计步方法 |
CN109350072B (zh) * | 2018-11-15 | 2020-08-04 | 北京航空航天大学 | 一种基于人工神经网络的步频探测方法 |
CN110108296B (zh) * | 2019-04-19 | 2021-03-26 | 北京金山安全软件有限公司 | 一种步数统计方法、电子设备及计算机可读存储介质 |
CN113340322B (zh) * | 2021-06-25 | 2023-04-07 | 歌尔科技有限公司 | 一种计步方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815145A (zh) * | 2005-01-31 | 2006-08-09 | 英华达(上海)电子有限公司 | 手机中智能计步器的实现方法及实现该方法的手机 |
CN102445214A (zh) * | 2011-09-20 | 2012-05-09 | 杭州电子科技大学 | 基于智能手机3d重力传感器的计步方法 |
CN103344249A (zh) * | 2013-06-17 | 2013-10-09 | 中国人民解放军总参谋部第六十一研究所 | 一种基于惯性传感器短时频谱分析的计步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3801163B2 (ja) * | 2003-03-07 | 2006-07-26 | セイコーエプソン株式会社 | 体動検出装置、ピッチ計、歩数計、腕時計型情報処理装置、制御方法及び制御プログラム |
-
2015
- 2015-02-02 CN CN201510053089.2A patent/CN104567912B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815145A (zh) * | 2005-01-31 | 2006-08-09 | 英华达(上海)电子有限公司 | 手机中智能计步器的实现方法及实现该方法的手机 |
CN102445214A (zh) * | 2011-09-20 | 2012-05-09 | 杭州电子科技大学 | 基于智能手机3d重力传感器的计步方法 |
CN103344249A (zh) * | 2013-06-17 | 2013-10-09 | 中国人民解放军总参谋部第六十一研究所 | 一种基于惯性传感器短时频谱分析的计步方法 |
Non-Patent Citations (3)
Title |
---|
"ERSP: An Energy-efficient Real-time Smartphone Pedometer";Thomas Olutoyin Oshin;《2013 IEEE International Conference on Systems, Man, and Cybernetics》;20131231;正文第2067-2072页 * |
"The Design of an Intelligent Pedometer using Android";Wu Shyi-Shiou;《2011 Second International Conference on Innovations in Bio-inspired Computing and Applications》;20111231;正文第313-315页 * |
"一种基于手机传感器自相关分析的计步器实现方法";陈国良;《中国惯性技术学报》;20141231;第22卷(第6期);正文第794-798页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104567912A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104567912B (zh) | 一种在Android手机上实现计步器的方法 | |
US10687707B2 (en) | Detecting activity by a wheelchair user | |
KR101690649B1 (ko) | 다축 활동 모니터 디바이스로의 활동 분류 | |
US10506990B2 (en) | Devices and methods for fall detection based on phase segmentation | |
CN108392211B (zh) | 一种基于多信息融合的疲劳检测方法 | |
CN103323615B (zh) | 一种通过加速度传感器计算步行速度的移动终端及方法 | |
CN104406603B (zh) | 一种基于加速度传感器的计步方法和装置 | |
JP6567658B2 (ja) | ユーザーの活動を分類し及び/又はユーザーの歩数をカウントするデバイス及び方法 | |
CN106289309A (zh) | 基于三轴加速度传感器的计步方法及装置 | |
CN104990562B (zh) | 基于自相关运算的计步方法 | |
CN106901444B (zh) | 一种生理监控智能鞋垫 | |
JP6083799B2 (ja) | 携帯デバイスの携帯場所判定方法、携帯デバイス、携帯デバイスの携帯場所判定システム、プログラム及び情報記憶媒体 | |
Jensen et al. | Classification of kinematic swimming data with emphasis on resource consumption | |
CN104188639A (zh) | 一种动态血压连续监测和实时分析系统 | |
CN105588577A (zh) | 一种用于运动监测装置的异常计步的检测方法和装置 | |
CN107393260A (zh) | 一种久坐提醒方法、装置和手腕式久坐提醒器 | |
CN106537415A (zh) | 基于指纹的压力检测方法及装置 | |
CN103344249A (zh) | 一种基于惯性传感器短时频谱分析的计步方法 | |
CN107421560A (zh) | 一种计步方法、装置和手腕式计步器 | |
CN112464738A (zh) | 改进朴素贝叶斯算法基于手机传感器的用户行为识别方法 | |
CN109620158A (zh) | 睡眠监控的方法、智能终端及存储装置 | |
CN104586402A (zh) | 一种人体活动的特征提取方法 | |
CN106821336A (zh) | 睡眠监测方法及系统 | |
CN106500718A (zh) | 步数测定方法 | |
CN105551191A (zh) | 一种跌倒检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170517 Termination date: 20200202 |