CN106267774B - 运动状态识别方法和装置 - Google Patents

运动状态识别方法和装置 Download PDF

Info

Publication number
CN106267774B
CN106267774B CN201510271917.XA CN201510271917A CN106267774B CN 106267774 B CN106267774 B CN 106267774B CN 201510271917 A CN201510271917 A CN 201510271917A CN 106267774 B CN106267774 B CN 106267774B
Authority
CN
China
Prior art keywords
data
movement
sequence
recognition result
exercise data
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
Application number
CN201510271917.XA
Other languages
English (en)
Other versions
CN106267774A (zh
Inventor
谭晓光
罗聪
姚晓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510271917.XA priority Critical patent/CN106267774B/zh
Publication of CN106267774A publication Critical patent/CN106267774A/zh
Application granted granted Critical
Publication of CN106267774B publication Critical patent/CN106267774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本发明提供一种运动状态识别方法,包括以下步骤:收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将所述运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列;将运动数据序列上报到云端;接收云端发送的运动识别结果数据,所述运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到。上述方法不需要运动识别终端具有高配置的计算资源以及内存容量也能获得较精确的运动识别结果。此外,还提供一种运动状态识别装置。

Description

运动状态识别方法和装置
技术领域
本发明涉及云计算技术领域,特别是涉及一种运动状态识别方法和装置,以及涉及一种运动状态识别方法和装置。
背景技术
由于都市人们无法集中一长段时间进行运动,只能抽出空隙时间进行少量的运动,或者,进行日常的一些零散的不定时的运动,例如,日常的一些短距离的步行等,因此,人们不容易估算出一天之内自己所进行的运动总量。
一些运动识别便携装置或者具备运动识别功能的智能移动终端应运而生,例如,计步器、智能手环、智能手表和智能手机等。
这些运动识别便携装置或智能移动终端可通过传感器检测到人体的运动,并通过一些相对简单的算法计算出运动的步数、里程和所消耗的热量等。由于便携装置和移动终端一般不具备高配置的计算资源和内存容量,其中的计算过程通常通过特定的电路来完成,不能进行一些复杂的计算过程,只能获取到较为粗略的计算结果而无法得到较为精确的计算结果。
发明内容
基于此,有必要针对上述运动识别便携装置由于不具备高配置的计算资源和内存容量而导致计算结果不精确的问题,提供一种运动状态识别方法和装置。
一种运动状态识别方法,包括以下步骤:
收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将所述运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列;
检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端;
接收云端发送的运动识别结果数据,所述运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
一种运动状态识别方法,包括以下步骤:
接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,所述数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成;
将所述多个运动数据序列进行汇集,形成所述运动识别终端对应的运动数据序列,汇集而成的所述运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列;
结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,所述运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量;
向所述运动识别终端返回所述运动识别结果数据。
一种运动状态识别装置,包括:
运动数据序列生成模块,用于收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将所述运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列;
运动数据序列上报模块,用于检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端;
识别结果接收模块,用于接收云端发送的运动识别结果数据,所述运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
一种运动状态识别装置,包括:
运动数据序列接收模块,用于接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,所述数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成;
运动数据序列汇集模块,用于将所述多个运动数据序列进行汇集,形成所述运动识别终端对应的运动数据序列,汇集而成的所述运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列;
识别结果生成模块,用于结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,所述运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量;
识别结果返回模块,用于向所述运动识别终端返回所述运动识别结果数据。
上述运动状态识别方法和装置,根据运动识别终端本机的检测到的运动物理量数据形成运动数据序列,上报运动数据序列到云端,并进一步接收云端返回的结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到的运动识别结果数据;根据运动模型对运动数据序列进行识别可以得到较精确的运动识别结果,但是需要较高配置的计算资源和内存容量,而这一过程在云端完成,从而不需要运动识别终端具有高配置的计算资源以及内存容量也能获得较精确的运动识别结果;
而且,一般的,运动识别终端的特定版本的运动识别软件对应于固定的运动模型,一旦运动识别终端上的运动识别软件的版本没有及时更新,则不能及时获取到更为精确的运动识别结果;上述运动状态识别方法和装置,利用云端的运动模型计算运动识别结果,而云端的运动模型可方便地进行更新,从而可避免因为运动识别终端的运动识别软件的过时而导致不能及时获取到更为精确的运动识别结果的问题。
上述运动状态识别方法和装置,从运动识别终端接收运动数据序列,结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据;根据运动模型对运动数据序列进行识别可以得到较精确的运动识别结果,但是需要较高配置的计算资源和内存容量,而这一过程在云端完成,从而不需要运动识别终端具有高配置的计算资源以及内存容量也能获得较精确的运动识别结果;
而且,一般的,运动识别终端的特定版本的运动识别软件对应于固定的运动模型,一旦运动识别终端上的运动识别软件的版本没有及时更新,则不能及时获取到更为精确的运动识别结果;上述运动状态识别方法和装置,利用云端的运动模型计算运动识别结果,而云端的运动模型可方便地进行更新,从而可避免因为运动识别终端的运动识别软件的过时而导致不能及时获取到更为精确的运动识别结果的问题。
附图说明
图1A为一个实施例中可运行本申请从终端侧描述的运动状态识别方法的运动识别终端的部分结构框图;
图1B为一个实施例中可运行本申请从云端侧描述的运动状态识别方法的服务器的部分结构框图;
图2A为一个实施例中的从终端侧描述的运动状态识别方法的流程示意图;
图2B为另一实施例中的从终端侧描述的运动状态识别方法的流程示意图;
图3为又一实施例中的从终端侧描述的运动状态识别方法的流程示意图;
图4为一个实施例中的从终端侧描述的运动状态识别方法所包括的本地运动识别结果数据计算展示的过程的流程示意图;
图5为一个实施例中的从云端侧描述的运动状态识别方法的流程示意图;
图6为一个实施例中的从云端侧描述的运动状态识别方法所包括的根据修正数据训练新的运动模型的过程的流程示意图;
图7为一个实施例中的从云端侧描述的运动状态识别方法所包括的个性化运动模型训练及个性化运动识别结果数据获取过程的流程示意图;
图8为一个实施例中的从云端侧描述的运动状态识别方法所包括的训练新的个性化运动模型的过程的流程示意图;
图9为一个实施例中运动识别终端与云端的识别服务器和模型训练服务器协作实现本申请所述的运动状态识别方法的流程示意图;
图10A为一个实施例中的运动状态装置的结构示意图;
图10B为一个实施例中的运动状态装置的结构示意图;
图11为另一实施例中的运动状态装置的结构示意图;
图12为又一实施例中的运动状态装置的结构示意图;
图13为再一实施例中的运动状态装置的结构示意图;
图14为一个实施例中的运动状态装置的结构示意图;
图15为另一实施例中的运动状态装置的结构示意图;
图16为又一实施例中的运动状态装置的结构示意图;
图17为再一实施例中的运动状态装置的结构示意图;
图18为其它一个实施例中的运动状态装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1A为一个实施例中可运行本申请从终端侧描述的运动状态识别方法的运动识别终端的部分结构框图。该运动识别终端可为智能手机、智能手环、智能手表等任何具备运动识别功能的终端。如图1A所示,在一个实施例中,该终端包括通过系统总线连接的处理器、存储介质、网络接口、显示屏幕和输入机构;其中,输入机构根据用户操作触发相关指令,显示屏幕则将相关的信息展示给用户,网络接口用于与网络进行通信,传感器用于检测用于进行运动识别的运动物理量数据,存储介质中存储用于实现本申请从终端侧描述的运动状态识别方法的软件指令,处理器协调各部件的工作并执行这些指令以实现本申请从终端侧描述的运动状态识别方法。本领域技术人员可以理解,图1A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的运动识别终端的限定,具体的运动识别终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图1B为一个实施例中可运行本申请从云端侧描述的运动状态识别方法的服务器的部分结构框图。如图1B所示,在一个实施例中,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口;其中,网络接口用于与网络进行通信,内存用于缓存数据,存储介质中存储有操作系统、数据库以及用于实现本申请从云端侧描述的运动状态识别方法的软件指令,处理器协调各部件的工作并执行这些指令以实现本申请从云端侧描述的运动状态识别方法。本领域技术人员可以理解,图1B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
以下各实施例从终端侧描述一种运动状态识别方法,该方法可由运动识别终端运行。
如图2A所示,在一个实施例中,一种运动状态识别方法,包括以下步骤:
步骤S202,收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列。
在一个实施例中,运动识别终端的传感器包括重力加速度传感器和陀螺仪传感器中的一种或两种。重力加速度传感器检测到的运动物理量数据包括作用于运动识别终端上的重力引起的重力加速度;陀螺仪传感器检测到的运动物理量数据包括运动识别终端沿一个轴或几个轴运动的角速度。
在一个实施例中,传感器可不间断的检测得到运动物理量数据。
在另一个实施例中,传感器可接收到运动识别启动指令时才开始检测得到运动物理量数据,并且在接收到运动识别结束指令时结束检测获取运动物理量数据。
在一个实施例中,可将接收到传感器发送的某一运动物理量数据对应的信号的时间作为该运动物理量对应的时间戳。
步骤S204,检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端。
在一个实施例中,上述运动状态识别方法还包括以下步骤:检查当前是否处于可连接的通信网络,若是,则与云端建立连接。
若与云端建立连接,则每间隔预设时长上报已形成的且还未上报的运动数据序列,可有效防止运动数据序列在本地丢失。
步骤S206,接收云端发送的运动识别结果数据,运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
运动识别结果数据中包含的每个时间段内的运动状态数据为同一运动类型的连续的运动对应的运动状态数据;而连续进行的同一类型的运动对应的运动状态数据在运动识别结果数据中对应于同一个时间段。
在一个实施例中,可按照预设时间间隔向云端拉取运动识别结果数据,例如一天一次;每次拉取的运动识别结果数据包含一个间隔内的运动识别结果数据。
在另一个实施例中,可在接收到运动识别结果数据浏览启动指令后,向云端发送运动识别结果数据拉取请求,并接收云端响应运动识别结果拉取请求而发送的运动识别结果数据。
在一个实施例中,运动类型可包括:上楼梯、下楼梯、跑步、步行和骑自行车等。
如图2B所示,在一个实施例中,上述运动状态识别方法还包括:步骤S208,展示运动识别结果数据。
在一个实施例中,可通过用户界面以图表等各种形式展示运动识别结果数据。
在一个实施例中,可在识别结果展示界面中展示运动识别结果数据;
识别结果展示界面包含用于运动状态数据的修正数据的输入控件,其中,用于输入运动状态数据的修正数据的输入控件与该运动状态数据在所述识别结果展示界面中对应显示;
上述运动状态识别方法还包括以下步骤:
通过输入控件获取输入的某一时间段的运动状态数据的修正数据;
将该时间段的运动状态数据的修正数据上传到云端,使得云端将修正数据作为该时间段的运动数据序列对应的标记结果、以及根据该时间段的运动数据序列和所述标记结果组成的训练样本训练得到新的运动模型以及将用于识别运动数据序列的训练模型更新为新的运动模型。
图3示出了上述实施例的运动状态识别方法的一种执行流程。如图3所示,在一个实施例中,一种运动状态识别方法,包括以下步骤:
步骤S302,收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列。
步骤S304,检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端。
步骤S306,接收云端发送的运动识别结果数据,运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
步骤S308,在识别结果展示界面中展示运动识别结果数据,识别结果展示界面包含用于运动状态数据的修正数据的输入控件,其中,用于输入运动状态数据的修正数据的输入控件与该运动状态数据在识别结果展示界面中对应显示。
用于输入运动状态数据的修正数据的输入控件与该运动状态数据在识别结果展示界面中对应显示,从而可以指示哪一个输入控件用于修改哪一个运动状态数据。
在一个实施例中,用于输入某一运动状态数据的修正数据的输入控件即为显示该运动状态数据的控件。
在另一个实施例中,用于输入某一运动状态数据的修正数据的输入控件在该运动状态数据的显示位置旁与该运动状态数据并列对齐显示。
步骤S310,通过输入控件获取输入的某一时间段的运动状态数据的修正数据。
当输入控件被点击时,即可将光标定位到该输入控件的输入框内,输入控件进入字符编辑状态。
步骤S312,将该时间段的运动状态数据的修正数据上传到云端,使得云端将修正数据作为该时间段的运动数据序列对应的标记结果、以及根据该时间段的运动数据序列和该标记结果组成的训练样本训练得到新的运动模型以及将用于识别运动数据序列的训练模型更新为新的运动模型。
在一个实施例中,上述识别结果展示界面中还包括修正数据提交控件,当修正数据提交控件被点击时,进入步骤S312。
上述实施例中,用户可手动输入云端返回的运动状态数据对应的修正数据,例如,若云端返回的某一时间段的运动类型不准确,则可输入准确的运动类型,而若运动距离不准确,则可输入准确的运动距离。
上述实施例将某一时间段的运动状态数据的修正数据上传到云端,使得云端可以根据修正数据训练更为准确的运动模型,从而得到更为精确的运动识别结果数据。
在一个实施例中,上述运动状态识别方法,还包括以下步骤:
检验形成的运动数据序列中是否存在散点序列,散点序列所包含的数据对小于预设数量,且散点序列中的数据对的时间戳与散点序列前后的数据对的时间戳间隔都超过第一阈值,过滤形成的运动数据序列中存在的散点序列。
在一个实施例中,可将运动数据序列中的第一个数据对作为基准点,检验基准点与其后续的预设数量的数据对的时间戳的间隔时间是否都小于第一阈值,若是,则以该后续的预设数量的数据对的最后一个数据对为基准点,重复上述检验,即检验基准点与其后续的预设数量的数据对的时间戳的间隔时间是否都小于第一阈值;若否,则获取基准点以及基准点后续的与基准点的时间戳的间隔时间小于第一阈值的数据对构成散点序列,并以散点序列后的第一个数据对作为基准点,重复上述检验。
偶然的少量的几个动作会形成散点序列,而这些散点序列对应的运动量可以忽略不计,因此过滤散点序列,可减少数据上传所占用的网络资源以及数据存储资源。
在一个实施例中,上述运动状态识别方法还包括本地运动识别结果数据计算展示的过程,如图4所示,在一个实施例中,该过程包括以下步骤:
步骤S402,获取运动识别启动指令以及获取运动识别结束指令,获取运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列。
在一个实施例中,运动识别启动指令可以由运动识别终端上的第一物理按钮触发,运动识别结束指令可由运动识别终端上的第二物理按钮触发。
在另一个实施例中,运动识别启动指令可以由运动识别终端所展示的用户界面中的第一控件触发,运动识别启动指令可以由运动识别终端所展示的用户界面中的第二控件触发。
步骤S404,根据本地预先设置的识别逻辑对运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列进行识别,得到对应的本地运动识别结果数据。
在一个实施例中,识别逻辑以软件指令的形式存储在运动识别终端的存储介质中;在另一个实施例中,识别逻辑以电路形式设置在运动识别终端中。
在一个实施例中,本地运动识别结果数据包含运动识别启动指令与运动识别结束指令发生时间之间的时间段内的运动对应的以下运动状态数据的一种或两种:步数和消耗热量。
步骤S406,展示本地运动识别结果数据。
本实施例中,在运动识别终端未与云端建立连接时,可利用本地的识别逻辑对某一时间段的运动进行粗略的计算,得到相对简易的本地运动识别结果数据。
以下各实施例从云端侧描述一种运动状态识别方法,该方法可由云端的服务器运行。
如图5所示,在一个实施例中,一种运动状态识别方法,包括以下步骤:
步骤S502,接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成。
步骤S504,将上述多个运动数据序列进行汇集,形成运动识别终端对应的运动数据序列,汇集而成的运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列。
在一个实施例中,运动识别终端将终端标识与运动数据序列对应上报到云端。
云端可将同一终端标识对应的多个运动数据序列进行汇集。
步骤S506,结合预先训练的最新的运动模型对运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,运动识别结果数据包括运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
云端训练的运动模型可属于决策树模型(Decision Tree Model)或朴素贝叶斯模型(Naive Bayesian Model)等。
在一个实施例中,云端训练的运动模型可包括一个或多个运动模型,该一个或多个运动模型可识别或计算的运动状态数据覆盖运动识别结果数据中所包含的所有运动状态数据,其中,一个运动模型可识别或训练运动识别结果数据中所包含的所有运动状态数据中的一种或两种。
例如,运动识别结果数据中所包含的所有运动状态数据为:运动类型、步数、运动距离和消耗热量;云端训练的运动模型可包括用于识别运动类型的运动模型、用于计算步数的运动模型、用于计算运动距离的运动模型以及用于计算消耗热量的运动模型。
云端用于识别得到运动识别结果数据的运动模型根据特定的触发条件进行更新优化,以使得云端根据更加优化的运动模型识别得到更为精确的运动识别结果数据。
运动识别结果数据中包含的每个时间段内的运动状态数据为同一运动类型的连续的运动对应的运动状态数据;而连续进行的同一类型的运动对应的运动状态数据在运动识别结果数据中对应于同一个时间段。
步骤S508,向运动识别终端返回运动识别结果。
在一个实施例中,上述运动状态识别方法,还包括以下步骤:
对运动识别终端对应的运动数据序列进行分割得到多个子运动数据序列,使得一个子运动数据序列对应一个时间段内进行的同一种运动类型的连续运动,且一个时间段内进行的同一种运动类型的连接运动对应一个子运动数据序列;
步骤S506中结合预先训练的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据的步骤包括:结合预先训练的运动模型对分割得到的多个子运动数据序列进行识别,得到多个子运动数据序列所包含的时间段对应的运动识别结果数据。
在一个实施例中,可将运动识别终端对应的运动数据序列按照时间戳的连续性进行分割得到子运动数据序列,使得一个子运动数据序列对应于一个时间段内进行的连续运动。
可检验运动数据序列每两个相邻数据对的时间戳的间隔时间是否超过第四阈值,获取时间戳的间隔时间超过第四阈值的相邻两个数据对,以该两个数据对为参照点分割运动数据序列,使得该相邻两个数据对分属于不同的子运动数据序列。
进一步的,可提取各子运动数据序列中具有相同波峰波谷特征的连续数据对序列作为一个子运动数据序列;连续数据对序列的波峰波谷特征为连续数据对序列中的所有数据对对应的点构成的曲线的波峰波谷特征;其中,波峰波谷特征包括波峰出现频率、波谷出现频率、波峰平均值、波谷平均值、波峰波谷平均距离中的一种或两种以上;连续数据对序列指的是子运动数据序列中连续排列的数据对构成的序列,子运动数据序列中任意两个数据对之间包含的所有数据对以及该两个数据对,构成一个连续数据对序列。
在另一个实施例中,在将运动识别终端对应的运动数据序列按照时间戳的连续性进行分割得到子运动数据序列的步骤之后,可按照以下步骤对子运动数据序列进行分割:
(1):应用递归最小二乘法预测滤波器对子运动数据序列进行处理,设置递归最小二乘法自适应滤波器作为预测滤波器,调整延迟、滤波器阶数、遗忘因子、动态的更新滤波器系数因子。滤波器公式如下:
表示期望预测得到的第n帧数据,X(n)=[x(n)x(n-1)...x(n-p)]T表示之前最近的p帧数据,wn=[ωn(0)ωn(1)...ωn(p)]T表示权重系数,p表示滤波器的阶数,上述(1)式表明第n帧数据是由前面p帧数据预测得到的。通过上式可以训练求得滤波器的系数因子wn
(2):当预测数据和原始数据明显不同时,说明存在不稳定点,分析得到的不稳定点,筛选得到分割点。
可计算两个相邻滤波器系数向量的欧氏距离,并保存为误差向量e(n)
e(n)=||w(n)-w(n-1)||2 (2)
w(n)表示通过RLS算法计算得到的第n时刻的滤波器系数向量。将得到的误差向量与预先定义的阈值相比较,超过阈值的点保存为分割点。
(3):按照分割点对子运动数据序列进行分割。
在一个实施例中,在步骤S506之前,上述运动状态识别方法,还包括以下步骤:
通过巴特沃斯低通滤波算法对运动数据序列进行降噪滤波。例如,通过十二阶巴特沃斯低通滤波算法对运动数据序列进行降噪滤波。
在一个实施例中,上述运动状态识别方法,还包括根据修正数据训练新的运动模型的过程,如图6所示,在一个实施例中,该过程包括以下步骤:
步骤S602,接收运动识别终端发送的某一时间段的运动状态数据的修正数据。
该修正数据在运动识别终端侧由用户输入,可以理解的,当某一时间段的运动状态数据不够精确时,用户可能对其进行修正。上述的修正数据可以认为是某一时间段对应的相对正确的运动状态数据。
步骤S604,将修正数据作为运动识别终端上述时间段的运动数据序列对应的标记结果,将上述时间段的运动数据序列与上述时间段的运动数据序列对应的标记结果组成训练样本。
在一个实施例中,运动识别终端将终端标识、时间段数据与修正数据对应上报的云端;云端可查找上报的终端标识和时间段数据对应的运动数据序列,将查找到的运动数据序列与对应的标记结果组成训练样本。
步骤S606,根据上述组成的训练样本训练得到新的运动模型。
在一个实施例中,可将上述组成的训练样本添加到已有运动模型训练所基于的训练样本集中,并根据新的训练样本集训练新的运动模型。
步骤S608,将用于识别运动识别终端发送的运动数据序列得到对应的运动识别结果数据的训练模型更新为新的运动模型。
虽然运动模型一般都是根据大量的具有正确标记结果的训练样本训练得到的,但是,训练样本中还是可能缺乏具有某种特征的训练样本,从而运动模型无法对具有该种特征的运动数据序列进行识别,或者识别得到的运动识别结果数据不够精确。
上述实施例中,将已有运动模型不能识别或者识别的结果不够精确的运动数据序列及对应的相对正确的标记结果组成训练样本,该类训练样本有可能是已有运动模型训练所基于的训练样本中所缺乏的训练样本,根据该类训练样本进行训练得到新的运动模型,该新的运动模型有可能可以识别对应类型的运动数据序列或者可能可以获得更为精确的运动识别结果数据;该对应类型的运动数据序列与上述的不能识别或者识别的结果不够精确的运动数据序列具有某种共同的特征,新的运动模型一定程度上可以克服已有运动模型的缺陷。
在一个实施例中,上述运动状态识别方法,还包括个性化运动模型训练及个性化运动识别结果数据获取过程,如图7所示,在一个实施例中,该过程包括以下步骤:
步骤S702,将运动识别终端对应的运动识别结果数据中各个时间段的运动状态数据作为运动识别终端的相应时间段的运动数据序列对应的标记结果,将运动识别终端各个时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的训练样本。
其中,一个时间段对应一个训练样本,即将一个时间段的运动状态数据作为运动识别终端该时间段的运动数据序列对应的标记结果,将运动识别终端该时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的一个训练样本。
步骤S704,若接收到运动识别终端发送的某一时间段的运动状态数据的修正数据,则将对应时间段对应的训练样本的标记结果修正为该修正数据。
步骤S706,统计运动识别终端对应的训练样本的数量。
步骤S708,若运动识别终端对应的训练样本的数量超过第二阈值,则根据超过第二阈值数量的上述训练样本训练运动识别终端对应的个性化运动模型。
由于训练样本的数量不能过少,因此,当某一运动识别终端对应训练样本的数量超过第二阈值时,可训练该运动识别终端对应的个性化运动模型。
步骤S710,结合运动识别终端对应的个性化运动模型对运动识别终端对应的运动数据序列进行识别,得到对应的个性化运动识别结果数据,个性化运动识别结果数据包括运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
不同用户进行同一运动形成的运动数据序列虽然具有一些共同的特征,但也具有一定程度上的因人而异的特征;上述实施例中,根据运动识别终端对应的训练样本训练得到运动识别终端对应的个性化运动模型,并根据个性化运动模型对运动识别终端对应的运动数据序列进行识别得到个性化运动识别结果数据,可获得针对使用运动识别终端的特定用户的更为精准的识别结果。
在一个实施例中,上述运动状态识别方法,还包括训练新的个性化运动模型的过程,如图8所示,在一个实施例中,该过程以下步骤:
步骤S802,统计运动识别终端对应的训练样本中除被训练过的训练样本之外的新增的数量。
步骤S804,若新增的数量超过第三阈值,则根据运动识别终端对应的所有训练样本训练运动识别终端对应的新的个性化运动模型。
步骤S806,将用于识别所述运动识别终端对应的运动数据序列得到对应的个性化运动识别结果数据的个性化训练模型更新为所述新的个性化运动模型。
一般而言,基于数量越多的训练样本训练得到的运动模型可获取相对更为精准的识别结果;上述实施例,根据运动识别终端对应的训练样本数量的增加而更新优化运动识别终端对应的个性化运动模型,从而可根据新的个性化运动模型识别得到更为精准的个性化运动识别结果数据。
以下结合一个具体的应用场景说明上述的从终端侧描述的运动状态识别方法以及从云端侧描述的运动状态识别方法。
图9为一个实施例中,运动识别终端与云端的识别服务器和模型训练服务器协作实现本申请所述的运动状态识别方法的示意图。
如图9所示:
(1.1)运动识别终端通过传感器检测运动物理量数据并形成运动数据序列。
(1.2)运动识别终端向识别服务器上报运动数据序列。
(1.3)识别服务器接收运动识别终端上报的运动数据序列,汇集运动识别终端上报的运动数据序列得到运动识别终端对应运动数据序列。
(1.4)识别服务器结合运动模型识别运动数据序列得到运动识别结果数据。
(1.5)识别服务器向运动识别终端返回运动识别结果数据。
(1.6)运动识别终端接收并展示识别服务器发送的运动识别结果数据。
(2.1)运动识别终端结合本地的识别逻辑对运动数据序列进行识别,得到对应的本地运动识别结果数据。
(2.2)运动识别终端展示本地运动识别结果数据。
(3.1)运动识别终端获取用户输入的某一时段的运动状态数据的修正数据。
(3.2)运动识别终端将该时间段的运动状态数据的修正数据上传到识别服务器。
(3.3)识别服务器接收修正数据,并根据修正数据组成训练样本。
识别服务器接收运动识别终端发送的某一时间段的运动状态数据的修正数据;将该修正数据作为该运动识别终端上报的该时间段的运动数据序列对应的标记结果,将该时间段的运动数据序列与该标记结果组成训练样本。
(3.4)识别服务器向模型训练服务器同步训练样本。
(3.5)模型训练服务器收集训练样本。
(3.6)模型训练服务器根据训练样本训练得到新的运动模型。
(3.7)模型训练服务器将识别服务器的用于识别运动识别终端对应的运动数据序列得到对应的运动识别结果数据的训练模型更新为新的运动模型。
如图10A所示,在一个实施例中,一种运动状态识别装置,包括运动数据序列生成模块1002、运动数据序列上报模块1004和识别结果接收模块1006,其中:
运动数据序列生成模块1002用于收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列。
在一个实施例中,运动识别终端的传感器包括重力加速度传感器和陀螺仪传感器中的一种或两种。重力加速度传感器检测到的运动物理量数据包括作用于运动识别终端上的重力引起的重力加速度;陀螺仪传感器检测到的运动物理量数据包括运动识别终端沿一个轴或几个轴运动的角速度。
在一个实施例中,传感器可不间断的检测得到运动物理量数据。
在另一个实施例中,传感器可接收到运动识别启动指令时才开始检测得到运动物理量数据,并且在接收到运动识别结束指令时结束检测获取运动物理量数据。
在一个实施例中,运动数据序列生成模块1002可将接收到传感器发送的某一运动物理量数据对应的信号的时间作为该运动物理量对应的时间戳。
运动数据序列上报模块1004用于检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端。
在一个实施例中,上述运动状态识别装置还包括连接建立模块(图中未示出),用于检查当前是否处于可连接的通信网络,若是,则与云端建立连接。
若与云端建立连接,则每间隔预设时长上报已形成的且还未上报的运动数据序列,可有效防止运动数据序列在本地丢失。
识别结果接收模块1006用于接收云端发送的运动识别结果数据,运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
运动识别结果数据中包含的每个时间段内的运动状态数据为同一运动类型的连续的运动对应的运动状态数据;而连续进行的同一类型的运动对应的运动状态数据在运动识别结果数据中对应于同一个时间段。
在一个实施例中,识别结果接收模块1006可按照预设时间间隔向云端拉取运动识别结果数据,例如一天一次;每次拉取的运动识别结果数据包含一个间隔内的运动识别结果数据。
在另一个实施例中,识别结果接收模块1006可在接收到运动识别结果数据浏览启动指令后,向云端发送运动识别结果数据拉取请求,并接收云端响应运动识别结果拉取请求而发送的运动识别结果数据。
在一个实施例中,运动类型可包括:上楼梯、下楼梯、跑步、步行和骑自行车等。
如图10B所示,在一个实施例中,上述运动状态识别装置还包括识别结果展示模块1008,用于展示运动识别结果数据。
在一个实施例中,可通过用户界面以图表等各种形式展示运动识别结果数据。
在一个实施例中,运动识别结果数据展示于识别结果展示界面;本实施例中,识别结果展示模块1008用于在识别结果展示界面中展示运动识别结果数据;
识别结果展示界面包含用于运动状态数据的修正数据的输入控件,其中,用于输入运动状态数据的修正数据的输入控件与该运动状态数据在所述识别结果展示界面中对应显示;
本实施例中,如图11所示,上述运动状态识别装置还包括修正数据获取模块1102和修正数据上传模块1104,其中:
修正数据获取模块1102用于通过输入控件获取输入的某一时间段的运动状态数据的修正数据;
修正数据上传模块1104用于将该时间段的运动状态数据的修正数据上传到云端,使得云端将修正数据作为该时间段的运动数据序列对应的标记结果、以及根据该时间段的运动数据序列和所述标记结果组成的训练样本训练得到新的运动模型以及将用于识别运动数据序列的训练模型更新为新的运动模型。
用于输入运动状态数据的修正数据的输入控件与该运动状态数据在识别结果展示界面中对应显示,从而可以指示哪一个输入控件用于修改哪一个运动状态数据。
在一个实施例中,用于输入某一运动状态数据的修正数据的输入控件即为显示该运动状态数据的控件。
在另一个实施例中,用于输入某一运动状态数据的修正数据的输入控件在该运动状态数据的显示位置旁与该运动状态数据并列对齐显示。
当输入控件被点击时,即可将光标定位到该输入控件的输入框内,输入控件进入字符编辑状态。
在一个实施例中,上述识别结果展示界面中还包括修正数据提交控件,当修正数据提交控件被点击时,修正数据上传模块1104将该时间段的运动状态数据的修正数据上传到云端。
上述实施例中,用户可手动输入云端返回的运动状态数据对应的修正数据,例如,若云端返回的某一时间段的运动类型不准确,则可输入准确的运动类型,而若运动距离不准确,则可输入准确的运动距离。
上述实施例将某一时间段的运动状态数据的修正数据上传到云端,使得云端可以根据修正数据训练更为准确的运动模型,从而得到更为精确的运动识别结果数据。
如图12所示,在一个实施例中,上述运动状态识别装置,还包括散点序列过滤模块1202,用于检验形成的运动数据序列中是否存在散点序列,散点序列所包含的数据对小于预设数量,且散点序列中的数据对的时间戳与散点序列前后的数据对的时间戳间隔都超过第一阈值,过滤形成的运动数据序列中存在的散点序列。
在一个实施例中,散点序列过滤模块1202可将运动数据序列中的第一个数据对作为基准点,检验基准点与其后续的预设数量的数据对的时间戳的间隔时间是否都小于第一阈值,若是,则以该后续的预设数量的数据对的最后一个数据对为基准点,重复上述检验,即检验基准点与其后续的预设数量的数据对的时间戳的间隔时间是否都小于第一阈值;若否,则获取基准点以及基准点后续的与基准点的时间戳的间隔时间小于第一阈值的数据对构成散点序列,并以散点序列后的第一个数据对作为基准点,重复上述检验。
偶然的少量的几个动作会形成散点序列,而这些散点序列对应的运动量可以忽略不计,因此过滤散点序列,可减少数据上传所占用的网络资源以及数据存储资源。
如图13所示,在一个实施例中,上述运动状态识别装置还包括阶段性运动数据序列获取模块1302、本地识别结果生成模块1304和本地识别结果展示模块1306,其中:
阶段性运动数据序列获取模块1302用于获取运动识别启动指令以及获取运动识别结束指令,获取运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列。
在一个实施例中,运动识别启动指令可以由运动识别终端上的第一物理按钮触发,运动识别结束指令可由运动识别终端上的第二物理按钮触发。
在另一个实施例中,运动识别启动指令可以由运动识别终端所展示的用户界面中的第一控件触发,运动识别启动指令可以由运动识别终端所展示的用户界面中的第二控件触发。
本地识别结果生成模块1304用于根据本地预先设置的识别逻辑对运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列进行识别,得到对应的本地运动识别结果数据。
在一个实施例中,识别逻辑以软件指令的形式存储在运动识别终端的存储介质中;在另一个实施例中,识别逻辑以电路形式设置在运动识别终端中。
在一个实施例中,本地运动识别结果数据包含运动识别启动指令与运动识别结束指令发生时间之间的时间段内的运动对应的以下运动状态数据的一种或两种:步数和消耗热量。
本地识别结果展示模块1306用于展示本地运动识别结果数据。
本实施例中,在运动识别终端未与云端建立连接时,可利用本地的识别逻辑对某一时间段的运动进行粗略的计算,得到相对简易的本地运动识别结果数据。
如图14所示,在一个实施例中,一种运动状态识别装置,包括运动数据序列接收模块1402、运动数据序列汇集模块1404、识别结果生成模块1406和识别结果返回模块1408,其中:
运动数据序列接收模块1402用于接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成。
运动数据序列汇集模块1404用于将上述多个运动数据序列进行汇集,形成运动识别终端对应的运动数据序列,汇集而成的运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列。
在一个实施例中,运动数据序列接收模块1402将终端标识与运动数据序列对应上报到云端。
运动数据序列汇集模块1404可将同一终端标识对应的多个运动数据序列进行汇集。
识别结果生成模块1406用于结合预先训练的最新的运动模型对运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,运动识别结果数据包括运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
云端训练的运动模型可属于决策树模型(Decision Tree Model)或朴素贝叶斯模型(Naive Bayesian Model)等。
在一个实施例中,运动模型可包括一个或多个运动模型,该一个或多个运动模型可识别或计算的运动状态数据覆盖运动识别结果数据中所包含的所有运动状态数据,其中,一个运动模型可识别或训练运动识别结果数据中所包含的所有运动状态数据中的一种或两种。
例如,运动识别结果数据中所包含的所有运动状态数据为:运动类型、步数、运动距离和消耗热量;云端训练的运动模型可包括用于识别运动类型的运动模型、用于计算步数的运动模型、用于计算运动距离的运动模型以及用于计算消耗热量的运动模型。
用于识别得到运动识别结果数据的运动模型根据特定的触发条件进行更新优化,以使得识别结果生成模块1406根据更加优化的运动模型识别得到更为精确的运动识别结果数据。
运动识别结果数据中包含的每个时间段内的运动状态数据为同一运动类型的连续的运动对应的运动状态数据;而连续进行的同一类型的运动对应的运动状态数据在运动识别结果数据中对应于同一个时间段。
识别结果返回模块1408用于向运动识别终端返回运动识别结果。
如图15所示,在一个实施例中,上述运动状态识别装置还包括运动数据序列分割模块1502,用于对运动识别终端对应的运动数据序列进行分割得到多个子运动数据序列,使得一个子运动数据序列对应一个时间段内进行的同一种运动类型的连续运动,且一个时间段内进行的同一种运动类型的连接运动对应一个子运动数据序列;
本实施例中,识别结果生成模块1406用于结合预先训练的运动模型对分割得到的多个子运动数据序列进行识别,得到多个子运动数据序列所包含的时间段对应的运动识别结果数据。
在一个实施例中,运动数据序列分割模块1502可将运动识别终端对应的运动数据序列按照时间戳的连续性进行分割得到子运动数据序列,使得一个子运动数据序列对应于一个时间段内进行的连续运动。
运动数据序列分割模块1502可检验运动数据序列每两个相邻数据对的时间戳的间隔时间是否超过第四阈值,获取时间戳的间隔时间超过第四阈值的相邻两个数据对,以该两个数据对为参照点分割运动数据序列,使得该相邻两个数据对分属于不同的子运动数据序列。
进一步的,运动数据序列分割模块1502可提取各子运动数据序列中具有相同波峰波谷特征的连续数据对序列作为一个子运动数据序列;连续数据对序列的波峰波谷特征为连续数据对序列中的所有数据对对应的点构成的曲线的波峰波谷特征;其中,波峰波谷特征包括波峰出现频率、波谷出现频率、波峰平均值、波谷平均值、波峰波谷平均距离中的一种或两种以上;连续数据对序列指的是子运动数据序列中连续排列的数据对构成的序列,子运动数据序列中任意两个数据对之间包含的所有数据对以及该两个数据对,构成一个连续数据对序列。
在另一个实施例中,运动数据序列分割模块1502在将运动识别终端对应的运动数据序列按照时间戳的连续性进行分割得到子运动数据序列之后,可按照以下方式对子运动数据序列进行分割:
(1):应用递归最小二乘法预测滤波器对子运动数据序列进行处理,设置递归最小二乘法自适应滤波器作为预测滤波器,调整延迟、滤波器阶数、遗忘因子、动态的更新滤波器系数因子。滤波器公式如下:
表示期望预测得到的第n帧数据,X(n)=[x(n)x(n-1)...x(n-p)]T表示之前最近的p帧数据,wn=[ωn(0)ωn(1)...ωn(p)]T表示权重系数,p表示滤波器的阶数,上述(1)式表明第n帧数据是由前面p帧数据预测得到的。通过上式可以训练求得滤波器的系数因子wn
(2):当预测数据和原始数据明显不同时,说明存在不稳定点,分析得到的不稳定点,筛选得到分割点。
可计算两个相邻滤波器系数向量的欧氏距离,并保存为误差向量e(n)
e(n)=||w(n)-w(n-1)||2 (2)
w(n)表示通过RLS算法计算得到的第n时刻的滤波器系数向量。将得到的误差向量与预先定义的阈值相比较,超过阈值的点保存为分割点。
(3):按照分割点对子运动数据序列进行分割。
在一个实施例中,上述运动状态识别装置还包括预处理模块(图中未示出),用于通过巴特沃斯低通滤波算法对运动数据序列进行降噪滤波。例如,通过十二阶巴特沃斯低通滤波算法对运动数据序列进行降噪滤波。
如图16所示,在一个实施例中,上述运动状态识别装置还包括修正数据接收模块1602、训练样本组成模块1604、运动模型训练模块1606和运动模型更新模块1608,其中:
修正数据接收模块1602用于接收运动识别终端发送的某一时间段的运动状态数据的修正数据。
该修正数据在运动识别终端侧由用户输入,可以理解的,当某一时间段的运动状态数据不够精确时,用户可能对其进行修正。上述的修正数据可以认为是某一时间段对应的相对正确的运动状态数据。
训练样本组成模块1604用于将修正数据作为运动识别终端上述时间段的运动数据序列对应的标记结果,将上述时间段的运动数据序列与上述时间段的运动数据序列对应的标记结果组成训练样本。
在一个实施例中,运动识别终端将终端标识、时间段数据与修正数据对应上报的云端;训练样本组成模块1604可查找上报的终端标识和时间段数据对应的运动数据序列,将查找到的运动数据序列与对应的标记结果组成训练样本。
运动模型训练模块1606用于根据上述组成的训练样本训练得到新的运动模型。
在一个实施例中,运动模型训练模块1606可将上述组成的训练样本添加到已有运动模型训练所基于的训练样本集中,并根据新的训练样本集训练新的运动模型。
运动模型更新模块1608用于将用于识别运动识别终端发送的运动数据序列得到对应的运动识别结果数据的训练模型更新为新的运动模型。
虽然运动模型一般都是根据大量的具有正确标记结果的训练样本训练得到的,但是,训练样本中还是可能缺乏具有某种特征的训练样本,从而运动模型无法对具有该种特征的运动数据序列进行识别,或者识别得到的运动识别结果数据不够精确。
上述实施例中,将已有运动模型不能识别或者识别的结果不够精确的运动数据序列及对应的相对正确的标记结果组成训练样本,该类训练样本有可能是已有运动模型训练所基于的训练样本中所缺乏的训练样本,根据该类训练样本进行训练得到新的运动模型,该新的运动模型有可能可以识别对应类型的运动数据序列或者可能可以获得更为精确的运动识别结果数据;该对应类型的运动数据序列与上述的不能识别或者识别的结果不够精确的运动数据序列具有某种共同的特征,新的运动模型一定程度上可以克服已有运动模型的缺陷。
如图17所示,在一个实施例中,上述运动状态识别装置还包括个性化训练样本组成模块1702、个性化训练样本修正模块1704、样本数量统计模块1706、个性化运动模型训练模块1708和个性化识别结果生成模块1710,其中:
个性化训练样本组成模块1702用于将运动识别终端对应的运动识别结果数据中各个时间段的运动状态数据作为运动识别终端的相应时间段的运动数据序列对应的标记结果,将运动识别终端各个时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的训练样本。
其中,一个时间段对应一个训练样本,即将一个时间段的运动状态数据作为运动识别终端该时间段的运动数据序列对应的标记结果,将运动识别终端该时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的一个训练样本。
个性化训练样本修正模块1704用于若接收到运动识别终端发送的某一时间段的运动状态数据的修正数据,则将对应时间段对应的训练样本的标记结果修正为该修正数据。
样本数量统计模块1706用于统计运动识别终端对应的训练样本的数量。
个性化运动模型训练模块1708用于若运动识别终端对应的训练样本的数量超过第二阈值,则根据超过第二阈值数量的上述训练样本训练运动识别终端对应的个性化运动模型。
由于训练样本的数量不能过少,因此,当某一运动识别终端对应训练样本的数量超过第二阈值时,可训练该运动识别终端对应的个性化运动模型。
个性化识别结果生成模块1710用于结合运动识别终端对应的个性化运动模型对运动识别终端对应的运动数据序列进行识别,得到对应的个性化运动识别结果数据,个性化运动识别结果数据包括运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
不同用户进行同一运动形成的运动数据序列虽然具有一些共同的特征,但也具有一定程度上的因人而异的特征;上述实施例中,根据运动识别终端对应的训练样本训练得到运动识别终端对应的个性化运动模型,并根据个性化运动模型对运动识别终端对应的运动数据序列进行识别得到个性化运动识别结果数据,可获得针对使用运动识别终端的特定用户的更为精准的识别结果。
如图18所示,在一个实施例中,上述运动状态识别装置还包括新增数据统计模块1802、新个性化运动模型训练模块1804和个性化运动模型更新模块1806,其中:
新增数据统计模块1802用于统计运动识别终端对应的训练样本中除被训练过的训练样本之外的新增的数量。
新个性化运动模型训练模块1804用于若新增的数量超过第三阈值,则根据运动识别终端对应的所有训练样本训练运动识别终端对应的新的个性化运动模型。
个性化运动模型更新模块1806用于将用于识别所述运动识别终端对应的运动数据序列得到对应的个性化运动识别结果数据的个性化训练模型更新为所述新的个性化运动模型。
一般而言,基于数量越多的训练样本训练得到的运动模型可获取相对更为精准的识别结果;上述实施例,根据运动识别终端对应的训练样本数量的增加而更新优化运动识别终端对应的个性化运动模型,从而可根据新的个性化运动模型识别得到更为精准的个性化运动识别结果数据。
上述运动状态识别方法和装置,根据运动识别终端本机的检测到的运动物理量数据形成运动数据序列,上报运动数据序列到云端,并进一步接收云端返回的结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到的运动识别结果数据;根据运动模型对运动数据序列进行识别可以得到较精确的运动识别结果,但是需要较高配置的计算资源和内存容量,而这一过程在云端完成,从而不需要运动识别终端具有高配置的计算资源以及内存容量也能获得较精确的运动识别结果;
而且,一般的,运动识别终端的特定版本的运动识别软件对应于固定的运动模型,一旦运动识别终端上的运动识别软件的版本没有及时更新,则不能及时获取到更为精确的运动识别结果;上述运动状态识别方法和装置,利用云端的运动模型计算运动识别结果,而云端的运动模型可方便地进行更新,从而可避免因为运动识别终端的运动识别软件的过时而导致不能及时获取到更为精确的运动识别结果的问题。
上述运动状态识别方法和装置,从运动识别终端接收运动数据序列,结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据;根据运动模型对运动数据序列进行识别可以得到较精确的运动识别结果,但是需要较高配置的计算资源和内存容量,而这一过程在云端完成,从而不需要运动识别终端具有高配置的计算资源以及内存容量也能获得较精确的运动识别结果;
而且,一般的,运动识别终端的特定版本的运动识别软件对应于固定的运动模型,一旦运动识别终端上的运动识别软件的版本没有及时更新,则不能及时获取到更为精确的运动识别结果;上述运动状态识别方法和装置,利用云端的运动模型计算运动识别结果,而云端的运动模型可方便地进行更新,从而可避免因为运动识别终端的运动识别软件的过时而导致不能及时获取到更为精确的运动识别结果的问题。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种运动状态识别方法,包括以下步骤:
收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将所述运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列;
检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端;
接收云端发送的运动识别结果数据,所述运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
2.根据权利要求1所述的运动状态识别方法,其特征在于,还包括以下步骤:
在识别结果展示界面中展示所述运动识别结果数据;
所述识别结果展示界面包含用于运动状态数据的修正数据的输入控件,其中,用于输入运动状态数据的修正数据的输入控件与该运动状态数据在所述识别结果展示界面中对应显示;
通过所述输入控件获取输入的某一时间段的运动状态数据的修正数据;
将该时间段的运动状态数据的修正数据上传到云端,使得云端将所述修正数据作为该时间段的运动数据序列对应的标记结果、以及根据该时间段的运动数据序列和所述标记结果组成的训练样本训练得到新的运动模型以及将用于识别运动数据序列的训练模型更新为所述新的运动模型。
3.根据权利要求1所述的运动状态识别方法,其特征在于,还包括以下步骤:
检验形成的运动数据序列中是否存在散点序列,所述散点序列所包含的数据对小于预设数量,且散点序列中的数据对的时间戳与散点序列前后的数据对的时间戳间隔都超过第一阈值,过滤形成的运动数据序列中存在的所述散点序列。
4.根据权利要求1所述的运动状态识别方法,其特征在于,还包括以下步骤:
获取运动识别启动指令以及获取运动识别结束指令,获取运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列;
结合本地预先设置的识别逻辑对运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列进行识别,得到对应的本地运动识别结果数据;
展示所述本地运动识别结果数据。
5.一种运动状态识别方法,包括以下步骤:
接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,所述数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成;
将所述多个运动数据序列进行汇集,形成所述运动识别终端对应的运动数据序列,汇集而成的所述运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列;
结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,所述运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量;
向所述运动识别终端返回所述运动识别结果数据。
6.根据权利要求5所述的运动状态识别方法,其特征在于,还包括以下步骤:
接收所述运动识别终端发送的某一时间段的运动状态数据的修正数据;
将所述修正数据作为所述运动识别终端上报的所述时间段的运动数据序列对应的标记结果,将所述时间段的运动数据序列与所述标记结果组成训练样本;
根据所述训练样本训练得到新的运动模型;
将用于识别所述运动识别终端对应的运动数据序列得到对应的运动识别结果数据的训练模型更新为所述新的运动模型。
7.根据权利要求6所述的运动状态识别方法,其特征在于,还包括以下步骤:
将所述运动识别终端对应的运动识别结果数据中各个时间段的运动状态数据作为运动识别终端的相应时间段的运动数据序列对应的标记结果,将所述运动识别终端各个时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的训练样本;
若接收到所述运动识别终端发送的某一时间段的运动状态数据的修正数据,则将对应时间段对应的训练样本的标记结果修正为该修正数据;
统计所述运动识别终端对应的训练样本的数量;
若所述训练样本的数量超过第二阈值,则根据超过第二阈值数量的所述训练样本训练所述运动识别终端对应的个性化运动模型;
结合所述运动识别终端对应的个性化运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的个性化运动识别结果数据,所述个性化运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
8.根据权利要求7所述的运动状态识别方法,其特征在于,还包括以下步骤:
统计所述运动识别终端对应的训练样本中除被训练过的所述训练样本之外的新增的数量;
若所述新增的数量超过第三阈值,则根据所述运动识别终端对应的所有训练样本训练所述运动识别终端对应的新的个性化运动模型;
将用于识别所述运动识别终端对应的运动数据序列得到对应的个性化运动识别结果数据的个性化训练模型更新为所述新的个性化运动模型。
9.根据权利要求5所述的运动状态识别方法,其特征在于,还包括以下步骤:
对所述运动识别终端对应的运动数据序列进行分割得到多个子运动数据序列,使得一个子运动数据序列对应一个时间段内进行的同一种运动类型的连续运动,且一个时间段内进行的同一种运动类型的连接运动对应一个子运动数据序列;
结合预先训练的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据的步骤包括:结合预先训练的运动模型对分割得到的多个子运动数据序列进行识别,得到多个子运动数据序列所包含的时间段对应的运动识别结果数据。
10.一种运动状态识别装置,其特征在于,包括:
运动数据序列生成模块,用于收集运动识别终端本机的传感器按照预设频率检测到的运动物理量数据,获取检测到的运动物理量数据对应的时间戳,将所述运动物理量数据与对应的时间戳组合成数据对,将数据对按照时间戳的时间先后顺序进行排列形成运动数据序列;
运动数据序列上报模块,用于检测当前是否与云端建立连接,若是,则每间隔预设时长上报已形成的且还未上报的运动数据序列,否则,将运动数据序列存储为待上报的运动数据序列,当与云端建立连接时将待上报的运动数据序列上报到云端;
识别结果接收模块,用于接收云端发送的运动识别结果数据,所述运动识别结果数据由云端结合预先训练的最新的运动模型对上报的运动数据序列进行识别得到,运动识别结果数据包括一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
11.根据权利要求10所述的运动状态识别装置,其特征在于,还包括:
识别结果展示模块,用于在识别结果展示界面中展示所述运动识别结果数据;
所述识别结果展示界面包含用于运动状态数据的修正数据的输入控件,其中,用于输入运动状态数据的修正数据的输入控件与该运动状态数据在所述识别结果展示界面中对应显示;
修正数据获取模块,用于通过所述输入控件获取输入的某一时间段的运动状态数据的修正数据;
修正数据上传模块,用于将该时间段的运动状态数据的修正数据上传到云端,使得云端将所述修正数据作为该时间段的运动数据序列对应的标记结果、以及根据该时间段的运动数据序列和所述标记结果组成的训练样本训练得到新的运动模型以及将用于识别运动数据序列的训练模型更新为所述新的运动模型。
12.根据权利要求10所述的运动状态识别装置,其特征在于,还包括:
散点序列过滤模块,用于检验形成的运动数据序列中是否存在散点序列,所述散点序列所包含的数据对小于预设数量,且散点序列中的数据对的时间戳与散点序列前后的数据对的时间戳间隔都超过第一阈值,过滤形成的运动数据序列中存在的所述散点序列。
13.根据权利要求10所述的运动状态识别装置,其特征在于,还包括:
阶段性运动数据序列获取模块,用于获取运动识别启动指令以及获取运动识别结束指令,获取运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列;
本地识别结果生成模块,用于结合本地预先设置的识别逻辑对运动识别启动指令与运动识别结束指令发生时间之间的时间段内形成的运动数据序列进行识别,得到对应的本地运动识别结果数据;
本地识别结果展示模块,用于展示所述本地运动识别结果数据。
14.一种运动状态识别装置,其特征在于,包括:
运动数据序列接收模块,用于接收运动识别终端上报的多个运动数据序列,运动数据序列由多个数据对构成,所述数据对由运动识别终端的传感器按照预设频率检测到的运动物理量数据以及运动物理量数据对应的时间戳组合而成;
运动数据序列汇集模块,用于将所述多个运动数据序列进行汇集,形成所述运动识别终端对应的运动数据序列,汇集而成的所述运动识别终端对应的运动数据序列中的数据对按照时间戳的时间先后顺序进行排列;
识别结果生成模块,用于结合预先训练的最新的运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的运动识别结果数据,所述运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量;
识别结果返回模块,用于向所述运动识别终端返回所述运动识别结果数据。
15.根据权利要求14所述的运动状态识别装置,其特征在于,还包括:
修正数据接收模块,用于接收所述运动识别终端发送的某一时间段的运动状态数据的修正数据;
训练样本组成模块,用于将所述修正数据作为所述运动识别终端上报的所述时间段的运动数据序列对应的标记结果,将所述时间段的运动数据序列与所述标记结果组成训练样本;
运动模型训练模块,用于根据所述训练样本训练得到新的运动模型;
运动模型更新模块,用于将用于识别所述运动识别终端对应的运动数据序列得到对应的运动识别结果数据的训练模型更新为所述新的运动模型。
16.根据权利要求15所述的运动状态识别装置,其特征在于,还包括:
个性化训练样本组成模块,用于将所述运动识别终端对应的运动识别结果数据中各个时间段的运动状态数据作为运动识别终端的相应时间段的运动数据序列对应的标记结果,将所述运动识别终端各个时间段的运动数据序列及其对应的标记结果组成运动识别终端对应的训练样本;
个性化训练样本修正模块,用于若接收到所述运动识别终端发送的某一时间段的运动状态数据的修正数据,则将对应时间段对应的训练样本的标记结果修正为该修正数据;
样本数量统计模块,用于统计所述运动识别终端对应的训练样本的数量;
个性化运动模型训练模块,用于若所述训练样本的数量超过第二阈值,则根据超过第二阈值数量的所述训练样本训练所述运动识别终端对应的个性化运动模型;
个性化识别结果生成模块,用于结合所述运动识别终端对应的个性化运动模型对所述运动识别终端对应的运动数据序列进行识别,得到对应的个性化运动识别结果数据,所述个性化运动识别结果数据包括所述运动识别终端对应的运动数据序列包含的一个或多个时间段内的运动对应的以下运动状态数据的一种或两种以上:运动类型、步数、运动距离和消耗热量。
17.根据权利要求16所述的运动状态识别装置,其特征在于,还包括:
新增数据统计模块,用于统计所述运动识别终端对应的训练样本中除被训练过的所述训练样本之外的新增的数量;
新个性化运动模型训练模块,用于若所述新增的数量超过第三阈值,则根据所述运动识别终端对应的所有训练样本训练所述运动识别终端对应的新的个性化运动模型;
个性化运动模型更新模块,用于将用于识别所述运动识别终端对应的运动数据序列得到对应的个性化运动识别结果数据的个性化训练模型更新为所述新的个性化运动模型。
18.根据权利要求14所述的运动状态识别装置,其特征在于,还包括:
运动数据序列分割模块,用于对所述运动识别终端对应的运动数据序列进行分割得到多个子运动数据序列,使得一个子运动数据序列对应于一个时间段内进行的同一种运动类型的连续运动,且一个时间段内进行的同一种运动类型的连接运动对应一个子运动数据序列;
所述识别结果生成模块用于结合预先训练的运动模型对分割得到的多个子运动数据序列进行识别,得到多个子运动数据序列所包含的时间段对应的运动识别结果数据。
CN201510271917.XA 2015-05-25 2015-05-25 运动状态识别方法和装置 Active CN106267774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510271917.XA CN106267774B (zh) 2015-05-25 2015-05-25 运动状态识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510271917.XA CN106267774B (zh) 2015-05-25 2015-05-25 运动状态识别方法和装置

Publications (2)

Publication Number Publication Date
CN106267774A CN106267774A (zh) 2017-01-04
CN106267774B true CN106267774B (zh) 2019-05-24

Family

ID=57634542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510271917.XA Active CN106267774B (zh) 2015-05-25 2015-05-25 运动状态识别方法和装置

Country Status (1)

Country Link
CN (1) CN106267774B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933352A (zh) * 2017-02-14 2017-07-07 深圳奥比中光科技有限公司 三维人体测量方法和其设备及其计算机可读存储介质
CN106975218B (zh) * 2017-03-10 2021-03-23 北京顺源开华科技有限公司 基于多个可穿戴设备控制体感游戏的方法及装置
CN107422944A (zh) * 2017-06-09 2017-12-01 广东乐心医疗电子股份有限公司 一种自动调整菜单显示模式的方法与装置以及可穿戴设备
WO2019028651A1 (zh) * 2017-08-08 2019-02-14 深圳市屹石科技股份有限公司 跑步机上的社交方法以及跑步机
CN107733865B (zh) * 2017-09-11 2020-11-13 咪咕互动娱乐有限公司 一种运动状态的隐藏方法及装置、服务器以及存储介质
CN107909023B (zh) * 2017-11-13 2020-07-14 Oppo广东移动通信有限公司 运动参数的识别方法、装置、终端及存储介质
CN110414709A (zh) * 2019-06-18 2019-11-05 重庆金融资产交易所有限责任公司 债务风险智能预测方法、装置及计算机可读存储介质
CN110968857B (zh) * 2019-12-03 2022-04-08 南京航空航天大学 基于抬臂动作的智能手表身份认证方法
CN111208508A (zh) * 2019-12-25 2020-05-29 珠海格力电器股份有限公司 运动量测量方法、装置及电子设备
CN111694829B (zh) * 2020-06-10 2023-08-15 北京卡路里信息技术有限公司 运动轨迹的处理方法及装置、运动轨迹处理系统
CN112274872B (zh) * 2020-10-20 2022-01-28 金书易 一种基于云端的智能核桃运动模式识别方法及系统
TWI824348B (zh) * 2020-12-14 2023-12-01 仁寶電腦工業股份有限公司 訓練系統、訓練管理方法以及訓練設備

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069260A1 (en) * 2005-12-16 2007-06-21 Technion Research & Development Foundation Ltd. Method and apparatus for determining similarity between surfaces
CN102799263A (zh) * 2012-06-19 2012-11-28 深圳大学 一种姿态识别方法及姿态识别控制系统
EP2602640A1 (en) * 2011-12-08 2013-06-12 Palo Alto Research Center Incorporated Vehicle occupancy detection using time-of-flight sensor
CN104225891A (zh) * 2013-06-21 2014-12-24 精工爱普生株式会社 运动分析方法以及运动分析装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007069260A1 (en) * 2005-12-16 2007-06-21 Technion Research & Development Foundation Ltd. Method and apparatus for determining similarity between surfaces
EP2602640A1 (en) * 2011-12-08 2013-06-12 Palo Alto Research Center Incorporated Vehicle occupancy detection using time-of-flight sensor
CN102799263A (zh) * 2012-06-19 2012-11-28 深圳大学 一种姿态识别方法及姿态识别控制系统
CN104225891A (zh) * 2013-06-21 2014-12-24 精工爱普生株式会社 运动分析方法以及运动分析装置

Also Published As

Publication number Publication date
CN106267774A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106267774B (zh) 运动状态识别方法和装置
US9763055B2 (en) Travel and activity capturing
CN111915020B (zh) 检测模型的更新方法、装置及存储介质
CN113284142B (zh) 图像检测方法、装置、计算机可读存储介质及计算机设备
CN108573268A (zh) 图像识别方法和装置、图像处理方法和装置及存储介质
CN104717426B (zh) 一种基于外部传感器的多摄像机视频同步装置及方法
CN105229677A (zh) 用于机器学习的资源分配
CN107918767B (zh) 目标检测方法、装置、电子设备及计算机可读介质
CN108235116A (zh) 特征传播方法和装置、电子设备、程序和介质
SE1350894A1 (sv) Metod och system för bestämning av utförandeindikatorer förperiodiska rörelser
CN110149553A (zh) 图像的处理方法和装置、存储介质及电子装置
CN105354551A (zh) 基于单目摄像头的手势识别方法
CN107368820A (zh) 一种精细化手势识别方法、装置及设备
CN112994980B (zh) 时延测试方法、装置、电子设备和存储介质
CN110399822A (zh) 基于深度学习的举手动作识别方法、装置及存储介质
CN110070106A (zh) 烟雾检测方法、装置及电子设备
CN109740567A (zh) 关键点定位模型训练方法、定位方法、装置及设备
CN108875519A (zh) 对象检测方法、装置和系统及存储介质
CN113191235A (zh) 杂物检测方法、装置、设备及存储介质
CN111078751A (zh) 一种基于unreal4进行目标统计的方法及其系统
CN113268143B (zh) 一种基于强化学习的多模态人机交互方法
CN112784102B (zh) 视频检索方法、装置和电子设备
CN112802347B (zh) 通过交通路口车辆的行驶速度确定方法、装置和设备
CN112948763B (zh) 件量预测方法、装置、电子设备及存储介质
CN113469113A (zh) 动作计数方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190731

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.