CN111318009A - 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法 - Google Patents

基于可穿戴惯性感知的体感健康娱乐系统及其工作方法 Download PDF

Info

Publication number
CN111318009A
CN111318009A CN202010061467.2A CN202010061467A CN111318009A CN 111318009 A CN111318009 A CN 111318009A CN 202010061467 A CN202010061467 A CN 202010061467A CN 111318009 A CN111318009 A CN 111318009A
Authority
CN
China
Prior art keywords
data
model
pose data
action
training
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.)
Pending
Application number
CN202010061467.2A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202010061467.2A priority Critical patent/CN111318009A/zh
Publication of CN111318009A publication Critical patent/CN111318009A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C17/00Arrangements for transmitting signals characterised by the use of a wireless electrical link
    • G08C17/02Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Cardiology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种基于可穿戴惯性感知的体感健康娱乐系统,包括部署于多个人体部位的惯性传感节点、数据采集服务器、数据分析服务器、虚拟现实设备。该系统实现了基于虚拟现实技术的体感游戏,能够利用可穿戴的惯性传感节点感知用户的肢体动作变化,并通过数据处理和数据分析确定相应的动作类型,最终利用虚拟现实设备根据该动作类型控制虚拟场景中目标虚拟对象的运动轨迹,显著提升了用户的游戏体验。此外,本申请还提供了一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法,其技术效果与上述系统的技术效果相对应。

Description

基于可穿戴惯性感知的体感健康娱乐系统及其工作方法
技术领域
本申请涉及计算机技术领域,特别涉及一种基于可穿戴惯性感知的体感健康娱乐系统及其工作方法。
背景技术
虚拟现实(Virtual Reality)也称为虚拟技术、虚拟环境,是20世纪发展起来的一项全新的实用技术,是利用计算机模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以即时、没有限制地观察三维空间内的事物。
随着人们生活水平的提高,以及生活节奏的加快,虚拟现实技术在运动健康、娱乐业的应用越来越广泛。然而,目前的虚拟现实游戏局限于手柄操作或键盘操作,缺少基于虚拟现实游戏的能够不受光线遮挡限制的响应用户肢体精确动作变化的体感游戏。
发明内容
本申请的目的是提供一种基于可穿戴惯性感知的体感健康娱乐系统及其工作方法,用以解决目前的虚拟现实游戏局限于手柄操作或键盘操作,导致用户体验较差的问题。
为解决上述技术问题,本申请提供了一种基于可穿戴惯性感知的体感健康娱乐系统,包括:部署于多个人体部位的惯性传感节点、数据采集服务器、数据分析服务器、虚拟现实设备;
其中,所述惯性传感节点用于采集人体的位姿数据,并将所述位姿数据传输至所述数据采集服务器;
所述数据采集服务器用于对所述位姿数据进行预处理操作;
所述数据分析服务器用于利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及所述预处理后的位姿数据在所述动作类型下的识别分数;
所述虚拟现实设备用于显示体感游戏的虚拟场景,并根据所述动作类型控制所述虚拟场景中目标虚拟对象的运动轨迹。
优选的,所述惯性传感节点包括WIFI模块,所述WIFI模块用于对本地的位姿数据进行打包,并通过TCP协议或IP协议将所述位姿数据传输至所述数据采集服务器。
优选的,所述数据采集服务器为基于SocketAsyncEventArgs类实现的高性能网络服务器,所述数据采集服务器用于对各个所述惯性传感节点进行并发数据收集,以获取所述位姿数据。
优选的,所述惯性传感节点还包括:加速度计、磁力计、陀螺仪。
优选的,所述数据采集服务器对所述位姿数据的预处理操作包括:
根据预先确定的所述加速度计的加速度零偏值,对所述位姿数据中的加速度数据进行校准;根据预先确定的所述磁力计的补偿值,对所述位姿数据中的磁力数据进行校准;
对所述位姿数据中的加速度数据、磁力数据、陀螺仪数据进行数据融合;
利用unity游戏引擎将所述位姿数据从惯性传感节点坐标系映射到虚拟空间坐标系。
优选的,在体感游戏开始之前的标定阶段,所述虚拟现实设备还用于显示预设动作以提示用户做出所述预设动作,所述数据采集服务器用于根据所述惯性传感节点采集的位姿数据和所述预设动作的标准位姿数据,确定位置偏差值,以便后续过程中根据所述位置偏差值修正位姿数据。
优选的,在所述机器学习模型为隐马尔科夫模型时,所述机器学习模型的训练过程包括:
根据已有的动作类型和所述位姿数据,创建隐马尔科夫模型;
对所述预处理后的位姿数据进行动作窗口的划分,得到动作数据;提取所述动作数据的特征,并设置动作类型标签,得到第一训练样本;
利用所述第一训练样本对相应的隐马尔科夫模型进行训练,直至达到第一训练终止条件。
优选的,在所述机器学习模型为深度神经网络模型时,所述机器学习模型的训练过程包括:
构建深度神经网络模型,并初始化模型参数;
利用所述深度神经网络模型的前向传播算法,确定第二训练样本的预测值;
利用第一目标损失函数根据所述预测值和真实值确定偏差值;
根据所述偏差值,利用反向传播算法更新所述深度神经网络模型的模型参数,直至达到第二训练终止条件。
优选的,在所述机器学习模型为卷积神经网络模型时,所述机器学习模型的训练过程包括:
构建卷积神经网络模型;
将所述预处理后的位姿数据转换为三通道的图像数据,得到第三训练样本;
根据第二目标损失函数,利用所述第三训练样本对所述卷积神经网络模型进行训练,直至达到第三训练终止条件。
优选的,在所述机器学习模型为长短时记忆模型时,所述机器学习模型的训练过程包括:
构建LSTM模型;
利用循环神经网络算法将所述预处理后的位姿数据转换为第四训练样本;
根据第三目标损失函数,利用所述第四训练样本对所述LSTM模型进行训练,直至达到第四训练终止条件。
优选的,所述数据分析服务器还用于:
在所述识别分数低于第一预设阈值时,根据所述预处理后的位姿数据和所述动作类型的标准位姿数据,确定各个所述惯性传感节点对应的人体部位的动作得分,以便所述虚拟现实设备显示低于第二预设阈值的动作得分以及与该动作得分对应的人体部位。
优选的,所述体感游戏为以下任意一项:乒乓球游戏、羽毛球游戏、网球游戏、足球游戏、战士动作训练、肢体康复。
优选的,在所述体感游戏为乒乓球游戏时,所述动作类型包括以下任意一项或多项:正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球、正手搓球。
优选的,所述体感游戏包括人机交互模式和/或人人交互模式。
此外,本申请还提供了一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法,包括:
采集人体的位姿数据,并将所述位姿数据传输至数据采集服务器;
利用所述数据采集服务器对所述位姿数据进行预处理操作;
利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及所述预处理后的位姿数据在所述动作类型下的识别分数;
显示体感游戏的虚拟场景,并根据所述动作类型控制所述虚拟场景中目标虚拟对象的运动轨迹。
本申请所提供的一种基于可穿戴惯性感知的体感健康娱乐系统,包括:部署于多个人体部位的惯性传感节点、数据采集服务器、数据分析服务器、虚拟现实设备。其中,惯性传感节点用于采集人体的位姿数据,并将位姿数据传输至数据采集服务器;数据采集服务器用于对位姿数据进行预处理操作;数据分析服务器用于利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及预处理后的位姿数据在该动作类型下的识别分数;虚拟现实设备用于显示体感游戏的虚拟场景,并根据动作类型控制虚拟场景中目标虚拟对象的运动轨迹。
可见,该系统实现了基于虚拟现实技术的体感游戏,能够利用可穿戴的惯性传感节点感知用户的肢体动作变化,并通过数据处理和数据分析确定相应的动作类型,最终利用虚拟现实设备根据该做动作类型控制虚拟场景中目标虚拟对象的运动轨迹,显著提升了用户的游戏体验。该系统能够为专业交流和运动员提供一种参考和辅助训练工具,为难度高、新的技巧性较强的运动或康复训练提供新的参考手段。
此外,本申请还提供了一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法,其技术效果与上述系统的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种基于可穿戴惯性感知的体感健康娱乐系统实施例一的系统架构示意图;
图2为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二的整体实现方案示意图;
图3为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中数据传输过程示意图图一;
图4为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中数据传输过程示意图图二;
图5为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中高性能数据采集服务器端的流程图;
图6为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中标定阶段的流程图;
图7为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中下肢位移估计流程图;
图8为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中接触态和非接触态的检测算法流程图;
图9为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中三层全连接网络结构图;
图10为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中神经网络训练及参数更新流程图;
图11为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中CNN架构示意图;
图12为一种基于可穿戴惯性感知的体感健康娱乐系统实施例二中身体动作细粒度评价流程图;
图13为一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法实施例的实现流程图。
具体实施方式
本申请的核心是提供一种基于可穿戴惯性感知的体感健康娱乐系统及其工作方法,实现了基于虚拟现实技术的体感游戏,能够感知用户的肢体动作变化并确定相应的动作类型,最终根据该做动作类型控制虚拟场景中目标虚拟对象的运动轨迹,显著提升了用户的游戏体验。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种基于可穿戴惯性感知的体感健康娱乐系统实施例一进行介绍,参见图1,实施例一包括:部署于多个人体部位的惯性传感节点、数据采集服务器、数据分析服务器、虚拟现实设备;
其中,惯性传感节点用于采集人体的位姿数据,并将位姿数据传输至数据采集服务器;数据采集服务器用于对位姿数据进行预处理操作;数据分析服务器用于利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及预处理后的位姿数据在该动作类型下的识别分数;虚拟现实设备用于显示体感游戏的虚拟场景,并根据动作类型控制虚拟场景中目标虚拟对象的运动轨迹。
如上所述,本实施例中惯性传感节点为可穿戴节点,预先部署于人体的多个人体部位(具体部署位置可根据体感游戏需要来设定),主要用于采集人体的位姿数据。作为一种具体的实施方式,上述惯性传感节点包括加速度计、磁力计、陀螺仪,分别用于采集加速度数据、磁力数据和陀螺仪数据。此外,惯性传感节点还包括数据收发模块,用于将采集到的位姿数据发送至数据采集服务器,具体的,上述数据收发模块可以为WIFI模块。
针对数据采集服务器端需要与多个惯性传感节点进行高并发、高速率数据传输的应用场景,采用异步socket通信的方式会导致系统对象分配和垃圾收集的操作过于频繁,难以满足高性能的运行要求。针对这一问题,作为一种优选的实施方式,本实施例采用基于SocketAsyncEventArgs类实现的高性能通信服务器作为上述数据采集服务器,该数据采集服务器支持大规模客户端的并发访问,实现无阻塞的数据传输。在实际应用中,该数据采集服务器用于对各个所述惯性传感节点进行并发数据收集,以获取惯性传感节点采集到的位姿数据。
为保证位姿数据的有效性,本实施例的数据采集服务器还用于对位姿数据的预处理操作,具体的预处理操作包括:校准、融合、映射,下面分别对这三种操作进行说明。
由于传感器在出厂时都会有不同程度的零偏误差,而且传感器使用一段时间后也会产生误差,因此需要进行校准,只有当所有传感器校准后才可以认为能够收集有效的正确数据。其中加速度计校准用于去除加速度计的零偏;磁场传感器在制造后出厂会有零点误差,也会由于地磁作用产生零偏,磁场校准用于去除磁场的综合误差;陀螺仪传感器一般会自行校准。因此,本实施例预先确定加速度计的加速度零偏值以及磁力计的补偿值,在后续过程中,根据二者分别对位姿数据中的加速度数据和磁力数据进行校准。
加速度计的测量原理决定了其对高频信号敏感,在振动环境中高频干扰较大。磁力计具有指向北方的特性,可以计算出偏航角,但磁力计受周围磁场的环境影响较大。陀螺仪具有高动态特性,需要将角速度对时间积分才能得到角度,但由于噪声等影响,在积分作用下误差会不断积累,导致陀螺仪使用中存在低频干扰和漂移。可见,通过单一传感器进行测量的效果不佳,需要将上述三种传感器采集的数据进行融合,以获得较好的位姿数据。在实际应用中,可以选择采用卡尔曼滤波、madgwick、mahony算法进行数据融合,达到提升姿态数据精确性和稳定性的目的。
传感器数据是在传感器坐标系下的测量结果,unity的人体模型是基于unity开发平台本身坐标系下,二者坐标系不同,其中unity坐标系是左手坐标系,传感器坐标系是右手坐标系,同样的四元数在传感器和unity中有不同的意义,需要建立一种映射匹配关系,才能完成对应的姿态呈现。因此,本实施例的数据采集服务器利用unity游戏引擎将位姿数据从惯性传感节点坐标系映射到虚拟空间坐标系。
在将四元数转化为左手坐标系后,传感器数据已经能和unity中的模型数据一一对应起来,但实际使用中,由于人佩戴节点位置与对应关节的状态不一致,人体面朝方向不固定,需要进行标定找到偏差,使人与模型对应起来。因此,除了上述三种预处理操作之外,本实施例的数据采集服务器还用于在标定阶段执行相应的标定操作。具体的,在体感游戏开始之前的标定阶段,虚拟现实设备用于显示预设动作以提示用户做出该预设动作,数据采集服务器用于根据惯性传感节点采集的位姿数据和预设动作的标准位姿数据,确定位置偏差值,并在后续游戏过程中根据该位置偏差值修正位姿数据。
上述机器学习模型可以为隐马尔科夫模型(HMM)、深度神经网络模型(DNN)、卷积神经网络模型(CNN)、长短时记忆模型(LSTM)中的任意一种。可以理解的是,以上仅为举例说明,本实施例同样适用于其他机器学习模型。
本实施例的机器学习模型用于根据预处理后的位姿数据确定相应的动作类型,以及预处理后的位姿数据在该动作类型下的识别分数。具体的,利用体感游戏的多种动作类型的样本对机器学习模型进行训练,使得机器学习模型具备区别该体感游戏中每种动作类型的能力。在该过程中,利用运动规律知识构建约束关系,可以提高识别速度和精确性。该约束关系主要解决了在运动发力时,各个肢体部位是否同时发力或发力是否充分的问题,这对提高运动技能有至关重要作用。
考虑到当运动者获得的是一个比较低的识别分数时,会想了解是身体具体哪个部位动作做的不到位。因此,作为一种优选的实施方式,本实施例的数据分析服务器还用于对人体部位动作做出细粒度评价。具体的,在识别分数低于第一预设阈值时,根据预处理后的位姿数据和该动作类型的标准位姿数据,确定各个惯性传感节点对应的人体部位的动作得分,以便虚拟现实设备显示低于第二预设阈值的动作得分以及与该动作得分对应的人体部位。
需要说明的是,本实施例中的识别分数与整体的位姿数据对应,是描述整体的位姿数据与某个击球动作类型的相符程度的分数;而本实施例中的动作得分与各个惯性传感器采集的位姿数据对应,是描述惯性传感器所在的人体部位在上述击球动作类型下的得分。
在实际应用中,根据不同的应用场景,本实施例的体感游戏可用为以下任意一项:乒乓球游戏、羽毛球游戏、网球游戏、足球游戏、战士动作训练、肢体康复。不同体感游戏的区别主要在于:惯性传感节点的部署位置上的区别、游戏呈现和玩法的区别以及目标虚拟对象的运动轨迹不同。
具体的,在体感游戏为乒乓球游戏时,上述动作类型包括以下任意一项或多项:正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球、正手搓球。
本实施例所提供一种基于可穿戴惯性感知的体感健康娱乐系统,实现了基于虚拟现实技术的体感游戏,能够利用可穿戴的惯性传感节点感知用户的肢体动作变化,并通过数据处理和数据分析确定相应的动作类型,最终利用虚拟现实设备根据该做动作类型控制虚拟场景中目标虚拟对象的运动轨迹,显著提升了用户的游戏体验。该系统能够为专业交流和运动员提供一种参考和辅助训练工具,为难度高、新的技巧性较强的运动训练提供新的参考手段。
下面开始详细介绍本申请提供的一种基于可穿戴惯性感知的体感健康娱乐系统实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例二以乒乓球游戏为例,对基于可穿戴惯性感知的体感健康娱乐系统进行介绍。本实施例的整体方案如图2所示,分为数据采集、数据预处理、数据建模与评价、游戏呈现四个部分,各个部分包括的内容如下所示:
数据采集:节点部署、节点硬件、异步无线传输策略;
数据预处理:校准、融合、映射、标定;
数据建模与评价:统计机器学习识别模型(HMM、DNN、CNN、LSTM)、经验知识对模型的约束、身体动作细粒度评价;
游戏呈现:虚拟乒乓球的轨迹模型、体感游戏的整体架构与设计。
下面依据图2对本实施例的基于可穿戴惯性感知的体感健康娱乐系统进行介绍。
一、数据采集部分
数据采集是指通过部署在人体各个部位的惯性传感节点捕获动作信息并且无线传输到上位机的过程。涉及到节点部署方式、可穿戴节点硬件以及无线传输策略。
1、节点部署
在实际应用中,可以采用4-9个惯性传感节点。当惯性传感节点数量为4时,各个惯性传感节点的部署位置可以为大臂、小臂、腰、主发力小腿或主发力大腿;当惯性传感节点数量为5时,各个惯性传感节点的部署位置可以为大臂、小臂、腰、主发力小腿、主发力大腿;当惯性传感节点数量为6时,各个惯性传感节点的部署位置可以为大臂、小臂、腰、主发力小腿、主发力大腿、另外一个小腿或大腿;当惯性传感节点数量为7时,各个惯性传感节点的部署位置可以为大臂、小臂、腰、两边的大腿和小腿。特别的,如果是在游戏的对战模式下还可以将1个惯性传感节点部署在手掌处;当需要进行游戏视野可自适应变化时可以在头部增加一个节点。
2、惯性传感节点硬件
惯性传感节点为自制的、小巧且价格低廉的节点。基于PCB板实现,以重量轻、体积小、准确性高为原则,能够安全舒适的穿戴在人身上,不会对人的运动造成很大影响。每个可穿戴节点由mpu9250、STM32L071KB、WIFI模块、3.7V锂电池以及各种IC元件组成。
3、异步无线传输策略
为实现多节点成本低廉且方便、传输高速可靠的目的,本实施例采用WIFI传输,用普通路由器作为传输网关。在穿戴节点内部的WIFI模块和外部路由器负责无线节点的数据传输,穿戴节点内部的MCU将穿戴节点内部的传感器传输来的数据处理后传递给节点内部的WIFI模块,WIFI模块将数据打包并通过TCP/IP协议传输到上位机,如图3和图4所示。
SocketAsyncEventArgs类提供了一种可供专用高性能套接字应用程序使用的替代异步模式,它专用于高性能网络服务器,其主要功能是避免在大容量异步套接字I/O期间重复分配和同步对象。使用
SocketAsyncEventArgs类执行异步套接字的策略包括以下步骤:
S11、分配一个新的SocketAsyncEventArgs上下文对象,或从应用程序池中获取一个空闲对象;
S12、将上下文对象的属性设置为要执行的操作,例如完成回调方法、数据缓冲区、缓冲区中的偏移量和要传输的最大数据量;
S13、调用适当的套接字方法以启动异步操作;
S14、如果异步套接字方法在回调中返回true,则查询上下文属性的完成状态;
S15、如果异步套接字方法返回false,则操作同步完成,可查询上下文属性获取操作结果;
S16、重新使用上下文进行另一项操作,将其放回池中,或放弃它。
本实施例的异步套接字操作上下文对象的生存期由应用程序代码和异步I/O引用确定。作为参数提交给异步套接字后,应用程序不必保留对异步套接字操作上下文对象的引用。完成回调返回之前,应用程序会继续引用它。应用程序保留对上下文的引用是有利的,以便以后可以重复使用它进行异步套接字操作。
本实施例采用基于SocketAsyncEventArgs类实现的高性能通信服务器作为数据采集服务器,并使用缓冲池和连接池来提高系统的效率,该数据采集服务器支持大规模客户端的并发访问,能够减少线程阻塞,提高通信服务的I/O性能。系统实现的主要流程如图5所示。
SocketAsyncEventArgsPool类是连接池类,主要为服务器提供可用的用户连接,并且维持这个连接直到用户断开,把空闲的连接对象放回连接池供下一个用户连接重用。该类的主要方法如下:
S21、SocketAsyncEventArgsPool(int capacity):类的构造函数,参数为连接池中连接对象的数量;
S22、void Push(SocketAsyncEventArgs item):将空闲的连接对象放回连接池,实现连接对象的复用;
S23、SocketAsyncEventArgs Pop():该方法从连接池中获取可用连接,开始进行数据接收。
BufferManager类用来管理连接缓冲区,为每一个连接维持一个接收数据的区域,以减少内存碎片,提高内存利用率。该类的主要方法如下:
S31、void InitBuffer():该方法用于设置缓冲池的容量;
S32、bool SetBuffer(SocketAsyncEventArgs args):该方法为连接对象args分配接收缓冲区,用来缓存客户端发送来的消息。
S33、void FreeBuffer(SocketAsyncEventArgs args):该方法释放连接对象args占用的内存空间,供其他连接对象复用。
SocketListener类是通信服务器中的核心类,用来初始化连接池中的SocketAsyncEventArg对象,开始监听用户连接请求,从连接池中取出一个可用连接给用户,对接收的数据进行处理,向客户端返回消息是否发送成功信息。该类主要方法如下:
S41、void Init():该方法初始化缓冲区,创建一定数量的连接对象SocketAsyncEventArgs,设置对象属性,将连接对象放入连接池;
S42、void StartListen(IPEndPoint ip):该方法在指定的端口开始接收连接请求,参数为端口的地址;
S43、void ProcessReceive(SocketAsyncEventArgs e):该方法用来处理接收的数据,参数为接收数据的连接对象。
二、数据预处理部分
1、校准
为了避免由于地磁环境不同造成的磁力计误差,在系统运行前利用背景磁场拟合后的椭圆特性,通过将椭球恢复成球形的过程,将磁力计获取的复杂背景场信息恢复为纯净的磁场信息。
加速度校准过程如下:加速度计水平放置在桌面,由于X和Y轴所受重力的分量为0,Z轴受到重力的作用,根据此特性可计算出加速度零偏值,即可达到加速度计校准。
磁力计校准过程如下:
首先从磁力计的三个轴中,选择第一待测轴和第二待测轴;其中,所述第一待测轴和所述第二待测轴是磁力计的三个轴中任意两个轴;
其次在所述第一待测轴和所述第二待测轴所在平面内绕第三待测轴旋转过程中,分别读取所述第一待测轴和所述第二待测轴在磁力计旋转时的多个测量值;其中,所述第三待测轴是磁力计的三个轴中除所述第一待测轴和所述第二待测轴之外的轴,根据所述第一待测轴的多个测量值、所述第二待测轴的多个测量值拟合椭圆方程;
最后,同理,分别用上述第一待测轴和第二待测轴作为旋转轴做相同的测量,根据拟合的椭圆方程对实际测量值进行校准,即可获取磁力计的补偿值。
2、融合
通过加速度和磁力计的融合补偿,解决陀螺仪数据精度不高等问题。过程如下:获得陀螺仪旋转矩阵;据磁场和加速度特性及旋转矩阵求得理想值;利用理想值与实际加速度和磁力计差值进行优化分析求得补偿值。
3、映射
映射的目的在于确定传感器数据坐标系与虚拟空间坐标系之间的对应关系,重点是要将右手坐标系转化为左手坐标系。由于传感器中的数据不能直接用,需要将四元数进行对应的转化。使用以下公式,将四元数转化为欧拉角,再通过unity自带的欧拉角转四元数函数Quaternion.Euler()将欧拉角转化为四元数,即可将左手坐标系下的四元数转化为右手坐标系下的四元数:
Figure BDA0002374638110000141
其中,x,y,z,w分别表示四元数中对应的四个值,
Figure BDA0002374638110000142
θ,ψ分别表示欧拉角的滚转角、欧拉角的俯仰角、欧拉角的航偏角。
4、标定
由于惯性传感节点每次在人体的部署位置不同、方向不同,因此会带来数据不统一的差异,需要对对应的位置进行标定。标定过程如图6所示,包括以下步骤:
S51、初始化模型,记录当前所有模型的四元数状态standQ;
S52、开始标定启动,程序开始计时并收集当前所有节点数据;
S53、一段时间后程序收集数据完毕,取最后一次数据LastQuaternion,求得LastQuaternion的逆LastQuaternion-1
S54、通过standQ*LastQuaternion-1求得偏差值Qerror;
S55、对后续每个新进入的四元数Q进行处理Q*Qerror得出新的四元数即为所求四元数。
此外,本实施例的数据采集服务器还用于实现下肢位移估计。在上肢节点的标定中,同时也进行下肢节点的标定,并且在标定的阶段,计算脚部节点的加速度角速度的偏置以及相关参数的初始化。下肢位移估计基于零速更新算法、扩展卡尔曼滤波、惯性导航系统实现,如图7所示,包括以下步骤:
S61、根据标定阶段的偏置,将原始数据减去偏置,获得较为精准的加速度和角速度数据;
S62、利用人体行走过程中的运动特性,分为接触态(脚接触地面)和非接触态(脚离开地面),利用如图8所示的检测算法可以区分接触态和非接触态,接触态的数据信息将作为零速更新的前提条件;
S63、根据人体行走过程中,处在接触期人的脚部速度为零的特性,可以进行速度的更新和修正,将速度误差作为参数传入扩展卡尔曼滤波器中;
S64、通过扩展卡尔曼中的速度更新后,经过惯性导航系统的计算,即可得出实际的位移信息。
三、数据建模与评价部分
本部分内容主要解决智能学习建模与评价问题,主要分为以下三部分内容:统计数据规律的辅助模型构建、经验知识对模型的约束、身体动作的细粒度评价。下面分别以隐马尔科夫模型、深度神经网络模型、卷积神经网络模型、长短时记忆模型为例,对本部分内容进行说明。
1、隐马尔科夫模型
这里的模型主要是分类模型,本实施例采用具有无线功能的九轴MEMS传感器穿戴在人体右手手腕、右手手臂、腰部、右大腿、右小腿、左大腿、左小腿这七个部位(也可以根据前述的不同佩戴方式进行增加和减少节点调整),用于采集乒乓球击球动作时每个节点的三轴加速度、三轴角速度和三轴磁场信号共9维数据。每个动作长度是40帧,因此单个动作数据长度是40*7*9帧。我们提炼最常用和重要的几组乒乓球击球动作(但不限于这几种动作)进行建模,对于横拍模式分别是:正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球。
(1)有效数据提取与数据预处理
首先,提取动作窗口,过程如下:
S71、设定探测数组,数组长度为5;
S72、对探测数组求线性回归方程,并计算其斜率K;
S73、当斜率K大于动作开始的阈值时,判断为动作开始;当斜率K小于动作结束的阈值时,判断为动作结束;
S74、将动作开始和动作结束之间的数据保存到动作窗口数组w1中;
S75、w1是粗略获得包含完整动作数据长度的数组,求w1数组中最大值所在的位置idx_max,并提取idx_max左右两侧各20条数组,组成精确的击球动作窗口w;
S76、数据集处理完毕,则结束动作窗口提取过程,否则继续第一步的执行过程。
然后,对提取得到的动作窗口进行特征处理,特征处理包括数据归一化处理、特征提取和特征降维三个部分。
数据归一化:将数据按比例缩放,将数据统一映射到[0,1]的区间上,通过数据归一化,可以提高模型的收敛速度和提升模型的精度。
特征提取:基于动作窗口提取每个窗口的时域特征和频域特征。
时域特征,针对每个MEMS九轴传感器分别提取加速度、角速度和磁场下的3轴均值、3轴协方差、3轴峰度、3轴偏度共12维;每个传感器可以提取36维特征,共有7个传感器,则共有252维特征。
频域特征,分别对每个节点的加速度、角速度和磁场求3轴最大FFT系数的绝对值,共3维。每个传感器可以提取9维特征,共有7个传感器,则共有63维特征。对7个传感器的特征级联,得到315维的特征向量,对所有特征值进行归一化处理。
数据降维:采用主成分分析PCA方法进行特征降维,得到长度为10维的特征向量,并标注动作名称作为该动作label。
(2)构建识别模型
按照观测状态是连续状态还是离散状态,可以分为两类,GaussianHMM和GMMHMM是连续观测状态的HMM模型,而MultinomialHMM是离散观测状态的模型。对于连续观测状态的HMM模型,GaussianHMM类假设观测状态符合高斯分布,而GMMHMM类则假设观测状态符合混合高斯分布。通过观察乒乓球击球动作的加速度曲线图,每个动作窗口的曲线符合高斯分布,因此采用基于GaussianHMM来构建乒乓球运动识别模型,通过实验发现它也的确比常规的HMM识别效果更好。
GaussianHMM模型参数的训练,一般采用前向后向算法,过程如下:
S81、初始化模型λ0=(π0,A0,B0),确定在模型中各个参数的初始值;
S82、将提取的特征值序列T依次代入模型计算前向变量α和后向变量β;
S83、根据辅助变量计算期望值ξ和γ,即是辅助变量;
S84、将辅助变量ξ和γ重新估计模型的参数,并替换原来的参数得到新模型λ;
S85、利用前向算法计算模型的输出概率,判断是否达到收敛条件;若满足收敛条件,表示模型训练成功,可以结束训练;若不满足收敛条件,则令λ0=λ,更新模型参数后返回第2步,继续进行迭代训练;当满足收敛条件时,结束算法训练。如果一直不满足收敛条件,但是已经达到最大迭代次数N,证明此时的模型已经是当前条件下的理想的模型,也结束模型训练。
2、深度神经网络模型
为了弥补GaussianHMM模型在正手快攻、加转弧圈和前冲弧圈这三种动作分类准确度不高的问题,本实施例使用深度神经网络建模,利用深度学习来对五种乒乓球击球动作进行自动分类,数据集依然采用构建GaussianHMM模型的数据集。
传统机器学习算法需要在样本数据输入模型前经历特征提取步骤,之后通过算法更新模型的权重参数。经过这样的步骤后,当再有一批符合样本特征的数据输入到模型中时,模型就能输出一个预测结果。而深度学习算法不需要在样本数据输入模型前特征提取,将样本数据直接输入到算法模型中,模型会从样本中自动提取基本的特征。随着模型的逐渐加深,从这些基本特征中又组合出了更高层次的特征。然后将这些提取到的特征再通过机器学习算法模型中的更新模型权重参数等步骤,即可得到一个令人满意的预测结果。
(1)构建网络架构
本实施例构建三层全连接网络结构,如下图所示。输入层有2520个神经元接受大小为2520的张量作为输入,layer1有500个神经元,layer2有100个神经元,输出层有5个神经元,对应5种乒乓球动作类别。每一层都有自己的学习参数,每层都能学习出与它本层相关的模式,其后的层将基于前一层学习出的模式构建。
任意多层的全连接神经网络模型和单层的全连接神经网络模型的表达能力没有本质的区别,而且它们都是线性模型,当特征数据分布情况比较复杂时,线性模型就失去了分类的能力。因为线性模型只能解决线性可分的问题,但是应用于解决乒乓球动作分类中,线性模型失去了分类能力。因此为每一层网络引入Relu激活函数,将每一层的输出通过Relu非线性函数,那么整个网络的模型就不再只线性可分。
(2)前向传播算法
前向传播算法描述了神经网络的计算过程,从输入层开始经过一层层的Layer,不断计算每一层的参数,最后得到输出Y=ωx+b的过程ω代表网络权重,b表示偏置。计算前向传播算法需要3部分信息:首先是神经网络的输入,这个输入是单个乒乓球动作向量数据。其次是神经网络的连接结构,神经网络是由神经元构成的,神经网络的结构给出不同神经元之间输入输出的连接关系;最后是神经元中的参数ω,b。
(3)反向传播算法
神经网络经过前向传播算法的运算过程,最后输出一个预测到的Y值,将这个预测到的Y值与动作label进行比较,如果相差较大,则使用反向传播算法调整权重参数的取值,以达到优化网络的目的。神经网络就是通过不断的前向传播和反向传播不断调整神经网络的权重,最终到达预设的迭代次数或者对样本的学习已经到了比较好的程度后,就停止迭代,该神经网络就训练完成。神经网络训练及参数更新流程如图10所示。
(4)损失函数
乒乓球动作分类属于多分类的问题,设置网络5个输出神经元,对于输入网络中的每一个样本,神经网络的输出都是一个5维向量,向量中的每一个结果都对应5个类别中某一类的概率值。
为了训练解决乒乓球击球动作神经网络模型,定义一个损失函数用来刻画模型预测答案和真实答案之间的距离。损失函数越小,代表模型得到的结果与真实值(label)的偏差越小,也就是说模型越精确。作为一种具体的实施方式,本实施例使用交叉熵损失函数,交叉熵用于刻画两个概率分布向量之间的距离,这里设两个概率分布值P和Q是等长的向量,则两者的交叉熵的值为:
Figure BDA0002374638110000193
(5)网络优化-随机梯度下降算法
神经网络的训练过程大致分为两个阶段:第一阶段先通过前向传播算法计算得到预测值,并将预测值与真实值做比对,得到二者的交叉熵。第二阶段,通过反向传播算法计算损失函数对每一个参数的梯度,再根据梯度和学习率使用梯度下降算法更新每一个参数,优化的目的就是使参数更加准确的更新。
梯度下降算法的核心是通过使用小规模的样本近似估计梯度。在算法的每一步,使用验证集样本x′={x1,x2,x3,...,xi′},当训练集大小增长时,验证集i通常是固定的,在神经网络虽然可能拟合几十亿个样本时,每次更新计算只用到几百个样本。梯度的估计可以表示成
Figure BDA0002374638110000191
Figure BDA0002374638110000192
其中,ω表示神经网络的输入参数,pi,qi分别表示样本正确的答案和样本预测的结果值,i′表示小批量的样本数目,
Figure BDA0002374638110000201
函数在参数ω处的偏导数。
梯度下降算法存在两个问题:梯度下降算法并不能保证被优化的非凸函数达到全局最优解;其次梯度下降算法的计算时间太长。为了加快每一轮参数更新的速度,本实施例采用随机梯度下降算法,这个算法并不会对全部训练数据上的损失函数就行优化,而是在每一轮迭代中随机选择某一个或多个训练数据上的损失函数进行梯度下降优化。随机梯度下降算法将使用如下梯度下降估计:
ω-σ·g→ωi′
其中,σ是学习率。
(6)自适应学习率算法
在使用梯度下降优化算法时,对于某些参数,通过优化算法已经优化到极小值附近,但是有的参数仍然有着很大的梯度,这就是使用全局统一的学习率σ可能出现的问题。如果学习率太小,则梯度很大的参数会有一个很慢的收敛速度;如果学习率太大,则已经优化得差不多的参数可能会出现不稳定的情况。为了更加有效地训练模型,比较合理的方法是,对每个参与训练的参数设置不同的学习率,在整个学习的过程中通过一些算法自动适应这些参数的学习率。
本实施例采用Adam自适应算法,Adam自适应算法是一种在RMSProp算法的基础上进一步改良的学习率自适应优化算法。如果损失值与某一制定参数的偏导的符号相同,那么学习率应该增加;反之,如果损失与该参数的偏导的符合不同,那么学习率应该减小。
(7)过拟合问题
假设乒乓球训练数据集总数是5276条,小样本数据集带来了网络模型过拟合问题,导致模型在训练集和验证集表现很好,但在未知的测试集上表现不佳。
本实施例采用权重正则化和在网络中应用Dropout函数,降低网络的过拟合问题。正则化的思想是在损失函数中加入被称为正则化项的惩罚。假设模型在训练集的损失函数为J(ω),那么网络优化时就不是直接优化J(ω),而是优化J(ω)+λR(ω)项。R(ω)就是在损失函数中加入的正则化项,它通过对权重参数求解范式的方式对模型的复杂程度进行了刻画,当模型的权重较大时,正则化通过惩罚模型来提供对网络的约束,从而达到惩罚模型,降低模型参数的效果。
Dropout是深度学习中正则化技术之一,应用于模型训练阶段。将每个隐藏层的输出通过dropout函数随机丢弃一些数据(不包括输出层的参与),再将数据流入Relu激活函数中进行非线性处理,最后输入到下一层网络中。
(8)训练神经网络模型
将训练数据集按批加载到网络中,开始训练模型。流程如下:将数据张量经过前向算法流经网络模型并计算损失值;在训练阶段进行反向传播算法,更新网络参数。在验证或测试阶段不调整网络权重;训练模型500次,每10次计算一次网络在验证集上的损失值;存储最优模型并打印验证集合准确率。经实验验证,模型在验证集合的准确率达到97.6%。
(9)测试神经网络
将训练好的模型在测试集上进行预测,深度神经网络模型在测试集上的分类准确率达到0.966,分类准确率要优于HMM识别算法。得到乒乓球击球动作预测值的混淆矩阵图,根据混淆矩阵图,可以看出深度神经网络模型在五种乒乓球击球动作正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球的准确率分别为:1,1,0.90,0.94,1。
(10)深度神经网络与GaussianHMM算法在准确度的比较
比较深度神经网络与GaussianHMM算法在五种乒乓球击球动作上的准确度,从比较结果可以比看出,深度神经算法在五种乒乓球击球动作上的识别率整体优于GaussianHMM算法,其中在正手攻球识别有了较大的提升。加转弧圈和前冲弧圈由于动作较为相似,所以这两种动作在识别准确率上略微存在误差。因此,深度神经网络在这五种乒乓球击球动作识别中整体优于GaussianHMM算法。
3、卷积神经网络模型
为了进一步探究加转弧圈和前冲弧圈的特征的差别与提高识别率,本实施例引入卷积神经网络对乒乓球击球动作进行建模。卷积层、池化层、激活函数是卷积神经网路的主要组成部分。卷积神经网络通过局部感受野、权重共享和降采样3种策略,降低了网络模型的复杂度,同时具有平移、旋转、尺度缩放等形式的不变性。
卷积神经网络最擅长处理的领域是图像处理,CNN架构的前几层专注于较小的特征,例如线条或曲线的外观。作为一种具体的实施方式,本实施例使用流行的ResNet的深度学习算法,本实施例中CNN架构如图11所示。
(1)数据准备
将每个惯性动作序列数据转为三通道的图片数据,批次加载进ResNet神经网络中进行建模或识别。动作图片不具有实际意义,仅仅将序列数据转为图片像素点,数值越大,像素点亮度越高。生成分别表示正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球五种动作的图片,五种动作在图片中图像的变化是存在明显差距的,也表示了五种不同动作类别。
(2)加载网络
ResNet架构是一个层的集合,包含的层为Conv2d,BatchNorm2d和MaxPool2d,这些层以一种特有的方式组合在一起,本实施例使用ResNet算法快速解决乒乓球击球动作识别的问题,ResNet部分算法如图所示。
(3)网络优化
损失函数使用交叉熵损失函数处理多分类的问题,使用随机梯度下降算法优化网络参数,网络采用Adam自适应算法。网络优化的过程可以参见前述深度神经网络的优化过程,这里不再赘述。
(4)训练模型
将训练数据集按批加载到网络中,开始训练模型。流程如下:将数据张量经过前向算法流经网络模型并计算损失值;在训练阶段进行反向传播算法,更新网络参数;在验证或测试阶段不调整网络权重;训练模型20轮,每轮次计算一次网络在验证集上的损失值;存储最优模型并打印验证集合准确率。
模型训练曲线图表示,模型在验证集合的准确率达到98.7%。通过模型训练图可以看出ResNet神经网络结构非常强大,用于训练乒乓球动作模型在第一轮后网络即达到最优模型参数,因此可以扩大训练集,以提高模型表现。
(5)测试神经网络
将训练好的模型在测试集上进行预测,ResNet卷积神经网络模型在测试集上的分类准确率达到0.983,分类准确率高于GaussianHMM识别算法的0.93和DNN识别算法的0.966。得到乒乓球击球动作预测值的混淆矩阵图,从混淆矩阵图可以看出ResNet卷积神经网络模型在五种乒乓球击球动作正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球的准确率分别为:0.99,1,0.97,0.96,1。
(6)与深度神经网络、GaussianHMM算法在准确度的比较
ResNet卷积神经网络模型与深度神经网络、GaussianHMM算法在五种乒乓球击球动作上的准确度,生成对比图。从对比图中可以比较出,ResNet卷积神经网络在五种乒乓球击球动作上的识别率整体优于GaussianHMM算法和深度神经网络算法,其中特别在容易混淆的加转弧圈和前冲弧圈的识别率都有提升。因此,ResNet卷积神经网络算法在这五种乒乓球击球动作识别中整体识别率优于GaussianHMM算法和深度神经网络算法。
4、长短期记忆模型
与之前介绍的深度神经网络和能有效处理空间信息的卷积神经网络不同,循环神经网络能更好的处理时序信息。模型引入状态变量来存储过去的信息,并用其与当前的输入共同决定当前的输出。循环神经网络擅长处理序列数据,但是当时间步数较大或者时间步数较小时,循环神经网络的梯度容易出现衰减或爆炸,从而较难捕捉时间序列中时间步距离较大的依赖关系。为了更好的捕捉时间序列而提出门控循环神经网络,它通过可以学习的门来控制信息的流动。长短期记忆神经网络(LSTM)是一种特殊的循环神经网络,拥有三个“门”结构的神经网络,即输入门、遗忘门和输出门,以及与隐藏状态形状相同的记忆细胞,从而记录额外的信息。人体乒乓球运动动作由复杂运动序列构成,用可穿戴式智能设备含有加速度计、陀螺仪、重力感应仪器等传感器,可以采集人体身体不同部位在不同时间序列的动作数据。本专利也采用LSTM神经网络对人体乒乓球运动动作进行建模,并实现动作分类。
经过实验对比,基于神经网络的LSTM、ResNet和DNN识别算法均明显优于GaussianHMM识别算法。
5、经验知识对模型的约束方法
分别设小臂、大臂、腰、右大腿、右小腿、左大腿、左小腿对应的传感器为:sensor1、sensor2、sensor3、sensor4、sensor5、sensor6、sensor7,设Ai为某个传感器做某个动作时峰值数据对应的时间;thi为根据实际情况设定的某个阈值。
(1)直拍反手推球:|A1-A2|≤th1
(2)攻球:|Ai-Aj|≤th2,其中i≠j,i∈[1,2,3,4,5,6,7],j∈[1,2,3,4,5,6,7];
(3)拨球:|A1-A2|≤th3
(4)搓球:|A1-A2|and|A4-A5|≤th4
(5)前冲(加转)弧圈球:|Ai-Aj|≤th5,其中i≠j,而且i∈[1,2,3,4,5,6,7],j∈[1,2,3,4,5,6,7]。
6、身体动作的细粒度评价
如图12所示,将采集的标准动作数据按每一行求其平均值,得到一个平均值数组。依次用不同平均值去替换对应的某个节点数据,然后逐次将这些新生成的动作数据代入模型进行识别,得到识别分数较高的即为误差最大的哪些身体部分对应的节点,也即是找到了具体哪些细粒度运动为主要的不足。
四、游戏呈现部分
该部分主要解决如何通过虚拟呈现技术和合理的整体设计去满足在枯燥的运动中,获得真实感体验、适应的人机交互界面,使得用户体验上具有粘性。另外,本实施例最后呈现的体感游戏,不仅仅包含训练模式,也有对战模式。它们都是体感游戏的一部分,只是一个偏重于运动技能的提高,另外一个偏重于真实感强的体感运动游戏体验。
通过结合unity建立的脚本模型,符合游戏主题的UI以及相应的穿戴设备,在人与显示设备的交互之下给人以沉浸式的体验感,让用户可以在计算机所模拟的虚拟环境中练习乒乓球或者与其他用户进行联机对战,切实的感受到乒乓球所带来的快乐。
1、基础界面
在训练模式中,用户可以根据自己的喜好选择训练主界面的场景风格、人物的模型、训练的动作。在训练结束后,会得到一个反馈的数据界面,反馈内容包括:训练动作名称、训练总数、平均得分。在对战模式中,玩家与玩家可以相互沟通,互相查看各自的战力信息,并选择想要一起进行球技切磋的玩家。在玩家互相同意进行游戏对局后,会进入游戏准备界面。在对局结束后,进入战绩界面。
2、虚拟乒乓球的轨迹模型
不同击球对应的有效的乒乓球运动轨迹,对于整个游戏的真实感体验有非常重要的作用。主要根据虚拟球拍或者最后一个发力惯性节点的不同的速度和旋转角度(方向)等给与球在三维空间中的飞行轨迹。
3、体感游戏的整体架构与设计
每个界面都有返回上级界面的按钮。体感游戏可以容纳500人同时在线,分5个区,每个区在线人数可以达到100人(可扩展)。游戏的整体架构与设计主要为十一个模块,如下所示:
(1)启动部分;
(2)登录注册;
(3)游戏主界面;
(4)训练模块;
(5)人机模块;
(6)人人对战模块;
(7)等级成就模块;
(8)个人信息呈现;
(9)体感数据接口与人物驱动模块;
(10)运动数据存储、上传模块;
(11)源代码、文档和服务器。
每个模块具体要求如下:每个界面都有对应的切合场景的背景音乐;所有界面可调出通用设置界面,可以调音量,音效;训练模式和娱乐模式有独自的参数设置界面。
下面对本申请提供的一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法实施例进行介绍,本实施例的工作方法基于前文所述的基于可穿戴惯性感知的体感健康娱乐系统实现。
如图13所示,本实施例的工作方法包括以下步骤:
S91、采集人体的位姿数据,并将所述位姿数据传输至数据采集服务器;
S92、利用所述数据采集服务器对所述位姿数据进行预处理操作;
S93、利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及所述预处理后的位姿数据在所述动作类型下的识别分数;
S94、显示体感游戏的虚拟场景,并根据所述动作类型控制所述虚拟场景中目标虚拟对象的运动轨迹。
本实施例的工作方法基于前文所述的基于可穿戴惯性感知的体感健康娱乐系统实现,因此该工作方法的具体实施方式可见前文中的基于可穿戴惯性感知的体感健康娱乐系统的实施例部分,在此不再展开介绍。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种基于可穿戴惯性感知的体感健康娱乐系统,其特征在于,包括:部署于多个人体部位的惯性传感节点、数据采集服务器、数据分析服务器、虚拟现实设备;
其中,所述惯性传感节点用于采集人体的位姿数据,并将所述位姿数据传输至所述数据采集服务器;
所述数据采集服务器用于对所述位姿数据进行预处理操作;
所述数据分析服务器用于利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及所述预处理后的位姿数据在所述动作类型下的识别分数;
所述虚拟现实设备用于显示体感游戏的虚拟场景,并根据所述动作类型控制所述虚拟场景中目标虚拟对象的运动轨迹。
2.如权利要求1所述的系统,其特征在于,所述惯性传感节点包括WIFI模块,所述WIFI模块用于对本地的位姿数据进行打包,并通过TCP协议或IP协议将所述位姿数据传输至所述数据采集服务器。
3.如权利要求2所述的系统,其特征在于,所述数据采集服务器为基于SocketAsyncEventArgs类实现的高性能网络服务器,所述数据采集服务器用于对各个所述惯性传感节点进行并发数据收集,以获取所述位姿数据。
4.如权利要求2所述的系统,其特征在于,所述惯性传感节点还包括:加速度计、磁力计、陀螺仪。
5.如权利要求4所述的系统,其特征在于,所述数据采集服务器对所述位姿数据的预处理操作包括:
根据预先确定的所述加速度计的加速度零偏值,对所述位姿数据中的加速度数据进行校准;根据预先确定的所述磁力计的补偿值,对所述位姿数据中的磁力数据进行校准;
对所述位姿数据中的加速度数据、磁力数据、陀螺仪数据进行数据融合;
利用unity游戏引擎将所述位姿数据从惯性传感节点坐标系映射到虚拟空间坐标系。
6.如权利要求5所述的系统,其特征在于,在体感游戏开始之前的标定阶段,所述虚拟现实设备还用于显示预设动作以提示用户做出所述预设动作,所述数据采集服务器用于根据所述惯性传感节点采集的位姿数据和所述预设动作的标准位姿数据,确定位置偏差值,以便后续过程中根据所述位置偏差值修正位姿数据。
7.如权利要求1所述的系统,其特征在于,在所述机器学习模型为隐马尔科夫模型时,所述机器学习模型的训练过程包括:
根据已有的动作类型和所述位姿数据,创建隐马尔科夫模型;
对所述预处理后的位姿数据进行动作窗口的划分,得到动作数据;提取所述动作数据的特征,并设置动作类型标签,得到第一训练样本;
利用所述第一训练样本对相应的隐马尔科夫模型进行训练,直至达到第一训练终止条件。
8.如权利要求1所述的系统,其特征在于,在所述机器学习模型为深度神经网络模型时,所述机器学习模型的训练过程包括:
构建深度神经网络模型,并初始化模型参数;
利用所述深度神经网络模型的前向传播算法,确定第二训练样本的预测值;
利用第一目标损失函数根据所述预测值和真实值确定偏差值;
根据所述偏差值,利用反向传播算法更新所述深度神经网络模型的模型参数,直至达到第二训练终止条件。
9.如权利要求1所述的系统,其特征在于,在所述机器学习模型为卷积神经网络模型时,所述机器学习模型的训练过程包括:
构建卷积神经网络模型;
将所述预处理后的位姿数据转换为三通道的图像数据,得到第三训练样本;
根据第二目标损失函数,利用所述第三训练样本对所述卷积神经网络模型进行训练,直至达到第三训练终止条件。
10.如权利要求1所述的系统,其特征在于,在所述机器学习模型为长短时记忆模型时,所述机器学习模型的训练过程包括:
构建LSTM模型;
利用循环神经网络算法将所述预处理后的位姿数据转换为第四训练样本;
根据第三目标损失函数,利用所述第四训练样本对所述LSTM模型进行训练,直至达到第四训练终止条件。
11.如权利要求1-10任意一项所述的系统,其特征在于,所述数据分析服务器还用于:
在所述识别分数低于第一预设阈值时,根据所述预处理后的位姿数据和所述动作类型的标准位姿数据,确定各个所述惯性传感节点对应的人体部位的动作得分,以便所述虚拟现实设备显示低于第二预设阈值的动作得分以及与该动作得分对应的人体部位。
12.如权利要求1所述的系统,其特征在于,所述体感游戏为以下任意一项:乒乓球游戏、羽毛球游戏、网球游戏、足球游戏、战士动作训练、肢体康复。
13.如权利要求12所述的系统,其特征在于,在所述体感游戏为乒乓球游戏时,所述动作类型包括以下任意一项或多项:正手快攻、快拨、加转弧圈、前冲弧圈、反手搓球、正手搓球。
14.如权利要求1所述的系统,其特征在于,所述体感游戏包括人机交互模式和/或人人交互模式。
15.一种基于可穿戴惯性感知的体感健康娱乐系统的工作方法,其特征在于,包括:
采集人体的位姿数据,并将所述位姿数据传输至数据采集服务器;
利用所述数据采集服务器对所述位姿数据进行预处理操作;
利用预先经过训练的机器学习模型确定预处理后的位姿数据对应的动作类型,以及所述预处理后的位姿数据在所述动作类型下的识别分数;
显示体感游戏的虚拟场景,并根据所述动作类型控制所述虚拟场景中目标虚拟对象的运动轨迹。
CN202010061467.2A 2020-01-19 2020-01-19 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法 Pending CN111318009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010061467.2A CN111318009A (zh) 2020-01-19 2020-01-19 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010061467.2A CN111318009A (zh) 2020-01-19 2020-01-19 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法

Publications (1)

Publication Number Publication Date
CN111318009A true CN111318009A (zh) 2020-06-23

Family

ID=71168657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010061467.2A Pending CN111318009A (zh) 2020-01-19 2020-01-19 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法

Country Status (1)

Country Link
CN (1) CN111318009A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111833439A (zh) * 2020-07-13 2020-10-27 郑州胜龙信息技术股份有限公司 基于人工智能的弹药投掷分析及移动仿真训练方法
CN112337087A (zh) * 2020-09-28 2021-02-09 湖南泽途体育文化有限公司 应用于体育竞技的体感交互方法及系统
CN112613389A (zh) * 2020-12-18 2021-04-06 上海影创信息科技有限公司 眼部手势控制方法和系统及其vr眼镜
CN112702522A (zh) * 2020-12-25 2021-04-23 李灯 一种基于vr直播系统的自适应控制播放方法
CN113268141A (zh) * 2021-05-17 2021-08-17 西南大学 一种基于惯性传感器和织物电子的动作捕获方法及装置
CN113476833A (zh) * 2021-06-10 2021-10-08 深圳市腾讯网域计算机网络有限公司 游戏动作识别方法、装置、电子设备和存储介质
CN114224326A (zh) * 2021-11-18 2022-03-25 北京精密机电控制设备研究所 一种穿戴式步态相位和动作识别装置及方法
CN114259720A (zh) * 2020-09-15 2022-04-01 荣耀终端有限公司 动作识别方法及装置、终端设备、运动监测系统
CN114490485A (zh) * 2022-01-24 2022-05-13 天度(厦门)科技股份有限公司 虚拟物体控制方法、系统、介质及终端
CN114562993A (zh) * 2022-02-28 2022-05-31 联想(北京)有限公司 一种轨迹处理方法、装置及电子设备
CN115006840A (zh) * 2022-06-20 2022-09-06 深圳十米网络科技有限公司 体感联网游戏方法、设备及计算机可读存储介质
CN116585710A (zh) * 2023-07-19 2023-08-15 深圳市微克科技有限公司 基于智能穿戴设备的弹球控制方法、系统和可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102000430A (zh) * 2009-09-01 2011-04-06 深圳泰山在线科技有限公司 一种基于计算机的舞蹈动作判定方法
CN106975218A (zh) * 2017-03-10 2017-07-25 安徽华米信息科技有限公司 基于多个可穿戴设备控制体感游戏的方法及装置
CN107291232A (zh) * 2017-06-20 2017-10-24 深圳市泽科科技有限公司 一种基于深度学习与大数据的体感游戏交互方法及系统
CN109985380A (zh) * 2019-04-09 2019-07-09 北京马尔马拉科技有限公司 互联网游戏人机交互方法及系统
CN110327595A (zh) * 2019-05-09 2019-10-15 深圳市蝙蝠云科技有限公司 基于可穿戴传感器的动作捕捉识别与评估装置及方法
US20190318542A1 (en) * 2018-04-13 2019-10-17 SCAPiC INNOVATiONS PRIVATE LIMITED System and method for creating virtual and augmented reality environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102000430A (zh) * 2009-09-01 2011-04-06 深圳泰山在线科技有限公司 一种基于计算机的舞蹈动作判定方法
CN106975218A (zh) * 2017-03-10 2017-07-25 安徽华米信息科技有限公司 基于多个可穿戴设备控制体感游戏的方法及装置
CN107291232A (zh) * 2017-06-20 2017-10-24 深圳市泽科科技有限公司 一种基于深度学习与大数据的体感游戏交互方法及系统
US20190318542A1 (en) * 2018-04-13 2019-10-17 SCAPiC INNOVATiONS PRIVATE LIMITED System and method for creating virtual and augmented reality environment
CN109985380A (zh) * 2019-04-09 2019-07-09 北京马尔马拉科技有限公司 互联网游戏人机交互方法及系统
CN110327595A (zh) * 2019-05-09 2019-10-15 深圳市蝙蝠云科技有限公司 基于可穿戴传感器的动作捕捉识别与评估装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张衡 等: "基于MEMS传感器和Unity3D的人体运动捕获系统", 《图学学报》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111833439A (zh) * 2020-07-13 2020-10-27 郑州胜龙信息技术股份有限公司 基于人工智能的弹药投掷分析及移动仿真训练方法
CN114259720A (zh) * 2020-09-15 2022-04-01 荣耀终端有限公司 动作识别方法及装置、终端设备、运动监测系统
CN112337087A (zh) * 2020-09-28 2021-02-09 湖南泽途体育文化有限公司 应用于体育竞技的体感交互方法及系统
CN112613389A (zh) * 2020-12-18 2021-04-06 上海影创信息科技有限公司 眼部手势控制方法和系统及其vr眼镜
CN112702522A (zh) * 2020-12-25 2021-04-23 李灯 一种基于vr直播系统的自适应控制播放方法
CN113268141B (zh) * 2021-05-17 2022-09-13 西南大学 一种基于惯性传感器和织物电子的动作捕获方法及装置
CN113268141A (zh) * 2021-05-17 2021-08-17 西南大学 一种基于惯性传感器和织物电子的动作捕获方法及装置
CN113476833A (zh) * 2021-06-10 2021-10-08 深圳市腾讯网域计算机网络有限公司 游戏动作识别方法、装置、电子设备和存储介质
CN114224326A (zh) * 2021-11-18 2022-03-25 北京精密机电控制设备研究所 一种穿戴式步态相位和动作识别装置及方法
CN114224326B (zh) * 2021-11-18 2024-05-03 北京精密机电控制设备研究所 一种穿戴式步态相位和动作识别装置及方法
CN114490485A (zh) * 2022-01-24 2022-05-13 天度(厦门)科技股份有限公司 虚拟物体控制方法、系统、介质及终端
CN114490485B (zh) * 2022-01-24 2024-02-20 天度(厦门)科技股份有限公司 虚拟物体控制方法、系统、介质及终端
CN114562993A (zh) * 2022-02-28 2022-05-31 联想(北京)有限公司 一种轨迹处理方法、装置及电子设备
CN115006840A (zh) * 2022-06-20 2022-09-06 深圳十米网络科技有限公司 体感联网游戏方法、设备及计算机可读存储介质
CN116585710A (zh) * 2023-07-19 2023-08-15 深圳市微克科技有限公司 基于智能穿戴设备的弹球控制方法、系统和可读存储介质
CN116585710B (zh) * 2023-07-19 2023-09-26 深圳市微克科技有限公司 基于智能穿戴设备的弹球控制方法、系统和可读存储介质

Similar Documents

Publication Publication Date Title
CN111318009A (zh) 基于可穿戴惯性感知的体感健康娱乐系统及其工作方法
CN111260762B (zh) 一种动画实现方法、装置、电子设备和存储介质
Ghasemzadeh et al. Sport training using body sensor networks: A statistical approach to measure wrist rotation for golf swing
CN105209136B (zh) 用于分析3d图像中的用户动作的质心状态矢量
CN105228709B (zh) 用于重复检测和分析的信号分析
CN105229666A (zh) 3d图像中的运动分析
CN101579238A (zh) 人体运动捕获三维再现系统及其方法
US11551396B2 (en) Techniques for establishing biomechanical model through motion capture
KR102242994B1 (ko) 인공 신경망을 이용하여 사용자 맞춤형 골프 클럽을 추천하는 방법 및 장치
CN113663312B (zh) 一种基于微惯性的无器械健身动作质量评估方法
Cui et al. Deep learning based advanced spatio-temporal extraction model in medical sports rehabilitation for motion analysis and data processing
CN107077208A (zh) 基于图像的地面重量分布确定
KR20130067856A (ko) 손가락 동작을 기반으로 하는 가상 악기 연주 장치 및 방법
Liu et al. An action recognition technology for badminton players using deep learning
Fu et al. Capture of 3D human motion pose in virtual reality based on video recognition
Ding et al. On the Use of Kinect Sensors to Design a Sport Instructor Robot for Rehabilitation and Exercise Training of the Elderly.
Arsenault A quaternion-based motion tracking and gesture recognition system using wireless inertial sensors
Jiang et al. Deep learning algorithm based wearable device for basketball stance recognition in basketball
CN108392805A (zh) 一种高尔夫球挥杆动作分析方法及智能终端
Peng et al. Research on Action Recognition Method of Dance Video Image Based on Human‐Computer Interaction
Huang et al. Designing an exergaming system for exercise bikes using kinect sensors and Google Earth
CN113476833A (zh) 游戏动作识别方法、装置、电子设备和存储介质
Zhao et al. Recognition of Volleyball Player's Arm Motion Trajectory and Muscle Injury Mechanism Analysis Based upon Neural Network Model
JP2021099666A (ja) 学習モデルの生成方法
RU2106695C1 (ru) Способ представления виртуального пространства пользователю и система для осуществления способа

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200623