CN113569606A - 运动信号处理方法、装置、计算机设备和可读存储介质 - Google Patents
运动信号处理方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN113569606A CN113569606A CN202110104111.7A CN202110104111A CN113569606A CN 113569606 A CN113569606 A CN 113569606A CN 202110104111 A CN202110104111 A CN 202110104111A CN 113569606 A CN113569606 A CN 113569606A
- Authority
- CN
- China
- Prior art keywords
- sequence
- motion
- signal sequence
- motion signal
- sampling
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 740
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 108010076504 Protein Sorting Signals Proteins 0.000 claims abstract description 373
- 238000000034 method Methods 0.000 claims abstract description 83
- 239000013598 vector Substances 0.000 claims abstract description 79
- 238000005070 sampling Methods 0.000 claims description 272
- 239000011159 matrix material Substances 0.000 claims description 97
- 238000011156 evaluation Methods 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 34
- 238000001914 filtration Methods 0.000 claims description 22
- 238000012937 correction Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 230000001131 transforming effect Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 138
- 230000008569 process Effects 0.000 description 32
- 210000003811 finger Anatomy 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 210000003813 thumb Anatomy 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000007637 random forest analysis Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 206010006100 Bradykinesia Diseases 0.000 description 1
- 208000012661 Dyskinesia Diseases 0.000 description 1
- 208000006083 Hypokinesia Diseases 0.000 description 1
- 208000018737 Parkinson disease Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 210000001145 finger joint Anatomy 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/02—Preprocessing
- G06F2218/04—Denoising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/08—Feature extraction
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种运动信号处理方法、装置、计算机设备和可读存储介质,该方法包括:获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。采用本申请,可提高获取目标用户的目标运动结果的准确性以及效率。
Description
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种运动信号处理方法、装置、计算机设备和可读存储介质。
背景技术
在很多场景中,都涉及到对用户的运动信号进行分析的场景,如对用户的运动速度信号的分析或者对用户的运动幅度信号的分析等场景。
现在技术中,通常可以直接检测(如通过传感器检测)用户的运动速度信号和运动幅度信号,进而工作人员可以对所检测到的用户的运动速度信号和运动幅度信号进行人工分析。如对用户的运动速度信号进行分析的结果可以是用户的运动速度是否稳定的结果,对用户的运动幅度信号进行分析的结果可以是用户的运动幅度是否稳定的结果等。由于对于不同的工作人员而言,其针对用户的运动信号的分析标准也不一致,因此,这会导致针对用户的运动信号的分析结果普遍而言并不准确,且还需要耗费大量的人力资源。
发明内容
本申请提供了一种运动信号处理方法、装置、计算机设备和可读存储介质,可提高获取目标用户的目标运动结果的准确性以及效率。
本申请一方面提供了一种运动信号处理方法,包括:
获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;
根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;
根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。
其中,获取目标用户的运动信号序列,包括:
获取目标用户在运动过程中的传感器运动参数;
根据传感器运动参数确定目标用户的运动特征参数;
根据运动特征参数生成目标用户的运动信号序列。
本申请一方面提供了一种运动信号处理装置,包括:
平衡位置获取模块,用于获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;
周期分割模块,用于根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;
运动评估模块,用于根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。
其中,平衡位置获取模块,包括:
极值检测单元,用于获取运动信号序列的平滑信号序列,检测平滑信号序列的序列极值;
平衡线确定单元,用于根据序列极值确定运动信号序列的平衡线;
位置确定单元,用于将平衡线的位置确定为序列平衡位置。
其中,极值检测单元,包括:
频域变换子单元,用于将处于时域空间的运动信号序列变换至频域空间,得到运动信号序列的频域运动信号;
频率过滤子单元,用于获取用户运动频率阈值,基于用户运动频率阈值对频域运动信号进行过滤,得到频域运动信号的平滑运动信号;
时域变换子单元,用于将平滑运动信号变换至时域空间,得到运动信号序列的平滑信号序列。
其中,平滑信号序列包括至少两个采样点对应的采样值;其中,至少两个采样点包括采样点n-l、采样点n和采样点n+l,n为小于或等于至少两个采样点的总数量的正整数,l为采样点n-l和采样点n+l分别与采样点n之间的采样点间隔;序列极值包括序列极大值和序列极小值;
极值检测单元,包括:
矩阵获取子单元,用于获取至少两个采样点对应的差分矩阵;其中,l为小于或等于差分矩阵的总行数的正整数,差分矩阵的第l行包括由采样点n-l对应的采样差值与采样点n+l对应的采样差值共同映射的元素值,采样点n-l对应的采样差值是指采样点n-l对应的采样值与采样点n对应的采样值之间的差值,采样点n+l对应的采样差值是指采样点n+l对应的采样值与采样点n对应的采样值之间的差值;当采样点n-l对应的采样差值与采样点n+l对应的采样差值均小于差值分界值时,该元素值为第一元素值;当采样点n-l对应的采样差值与采样点n+l对应的采样差值均大于差值分界值时,该元素值为第二元素值;
目标行确定子单元,用于统计差分矩阵中每行所包含的第一元素值的第一元素数量,将具有最多第一元素数量的行确定为目标行k1,统计差分矩阵中每行所包含的第二元素值的第二元素数量,将具有最多第二元素数量的行确定为目标行k2,k1和k2均为小于或等于差分矩阵的总行数的正整数;
极值确定子单元,用于当检测到差分矩阵的第n列中的第1个元素值到第k1个元素值均为第一元素值时,将采样点n对应的采样值确定为序列极大值,当检测到差分矩阵的第n列中的第1个元素值到第k2个元素值均为第二元素值时,将采样点n对应的采样值确定为序列极小值。
其中,序列极值包括序列极大值和序列极小值;
平衡线确定单元,包括:
中位数获取子单元,用于获取序列极大值的极大值中位数和序列极小值的极小值中位数;
平衡线确定子单元,用于根据极大值中位数和极小值中位数确定运动信号序列的平衡线。
其中,周期分割模块,包括:
信号波获取单元,用于获取运动信号序列的平滑信号序列的运动信号波;
过零点获取单元,用于获取平衡线和运动信号波之间的交点,作为序列过零点。
其中,序列过零点的数量为至少两个;
周期分割模块,包括:
频率检测单元,用于获取采样频率阈值,基于采样频率阈值依次对至少两个序列过零点中的相邻序列过零点之间的间隔频率进行检测;
异常确定单元,用于将检测到的至少两个序列过零点中所属的间隔频率小于采样频率阈值的相邻序列过零点,确定为异常序列过零点;
修正确定单元,用于在至少两个序列过零点中过滤异常序列过零点,得到修正序列过零点;
修正分割单元,用于基于修正序列过零点对平滑信号序列进行分割,得到序列周期。
其中,运动评估模块,包括:
信息获取单元,用于获取运动评估标准表和针对目标用户的运动预测类型;运动评估标准表包括至少两种运动预测类型分别和对应的运动特征类型之间的关联关系;
特征类型确定单元,用于将运动评估标准表中与目标用户的运动预测类型具有关联关系的运动特征类型,确定为针对目标用户的检测特征类型;
向量生成单元,用于根据序列周期生成运动信号序列在检测特征类型下的信号特征参数,根据信号特征参数生成序列特征向量。
其中,检测特征类型的数量为至少两种;
向量生成单元,包括:
周期信息获取子单元,用于获取序列周期的周期时长和周期幅度;
特征参数确定子单元,用于根据周期时长和周期幅度,确定运动信号序列在每种检测特征类型下的信号特征参数;
特征拼接子单元,用于对运动信号序列在每种检测特征类型下的信号特征参数进行拼接,得到序列特征向量。
其中,平衡位置获取模块,包括:
关键点确定单元,用于获取针对目标用户的运动预测类型,根据运动预测类型确定针对目标用户的运动关键点;
关键信息检测单元,用于获取目标用户的运动视频数据,基于运动关键点在运动视频数据中检测目标用户的关键点运动信息;
第一序列生成单元,用于基于关键点运动信息生成目标用户的运动信号序列。
其中,平衡位置获取模块,包括:
传感器参数获取单元,用于获取目标用户在运动过程中的传感器运动参数;
运动特征确定单元,用于根据传感器运动参数确定目标用户的运动特征参数;
第二序列生成单元,用于根据运动特征参数生成目标用户的运动信号序列。
其中,运动评估模块,包括:
特征输入单元,用于将序列特征向量输入运动预测模型;运动预测模型基于样本运动信号序列的样本序列特征向量训练得到;
结果输出单元,用于在运动预测模型中输出针对目标用户的目标运动结果。
其中,上述装置还包括:
样本位置获取模块,用于获取样本用户的样本运动信号序列和针对样本用户的实际运动结果,获取样本运动信号序列的样本序列平衡位置;
样本周期分割模块,用于根据样本序列平衡位置确定样本运动信号序列的样本序列过零点,基于样本序列过零点对样本运动信号序列进行分割,得到样本运动信号序列的样本序列周期;
样本特征生成模块,用于根据样本序列周期,生成样本运动信号序列的样本序列特征向量;
样本结果输出模块,用于将样本序列特征向量和实际运动结果输入初始运动预测模型,在初始运动预测模型中输出针对样本运动信号序列的样本运动结果;
参数修正模块,用于基于样本运动结果和实际运动结果,修正初始运动预测模型的模型参数,得到运动预测模型。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
本申请首先可以获取目标用户的运动信号序列,并获取运动信号序列的序列平衡位置;接着,可以根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期。进而,可以根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。由此可见,本申请提出的方法可以通过运动信号序列的序列平衡位置来对运动信号序列进行周期分割,由于该序列平衡位置可以对运动信号序列中的采样值进行均匀地分布划分,因此,通过该序列平衡位置可以实现对运动信号序列的周期的准确划分,进而可以通过准确划分得到的序列周期来生成序列特征向量,实现对目标用户的目标运动结果的准确预测。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于进行运动评估的网络架构的结构示意图;
图2是本申请提供的一种获取目标运动结果的场景示意图;
图3是本申请提供的一种运动信号处理方法的流程示意图;
图4是本申请提供的一种获取运动关键点的场景示意图;
图5是本申请提供的一种获取序列周期的场景示意图;
图6是本申请提供的一种预测目标运动结果的场景示意图;
图7是本申请提供的一种获取目标运动结果场景示意图;
图8是本申请提供的一种获取序列平衡位置方法的流程示意图;
图9是本申请提供的一种检测序列极值的场景示意图;
图10是本申请提供的一种运动信号处理装置的结构示意图;
图11是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及到人工智能相关技术。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请中主要涉及到了人工智能中的机器学习。其中,机器学习(MachineLearning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请中所涉及到的机器学习主要指,如何训练得到运动预测模型,以通过该运动预测模型对用户的运动进行评估,该运动预测模型可以应用于常规的用户运动评估,也可以应用于医疗辅助性的运动评估,具体可以参见下述图3对应的实施例中的描述。
请参见图1,图1是本申请实施例提供的一种用于进行运动评估的网络架构的结构示意图。如图1所示,网络架构可以包括服务器200和终端设备集群,终端设备集群可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,多个终端设备具体可以包括终端设备100a、终端设备101a、终端设备102a、…、终端设备103a;如图1所示,终端设备100a、终端设备101a、终端设备102a、…、终端设备103a均可以与服务器200进行网络连接,以便于每个终端设备可以通过网络连接与服务器200之间进行数据交互。
如图1所示的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视等智能终端。下面以终端设备100a与服务器200之间的通信为例,进行本申请实施例的具体描述。
请一并参见图2,图2是本申请提供的一种获取目标运动结果的场景示意图。如图2所示,终端设备100a可以是目标用户的终端设备,目标用户可以是任意一个用户。目标用户可以通过终端设备100a向服务器200上传自己的运动视频数据,以向服务器200请求通过所上传的运动视频数据对自己的运动进行评估。进而,服务器200可以通过终端设备100a所上传的运动视频数据提取得到目标用户的运动信号序列100c。通过运动视频数据生成运动信号序列100c的具体过程也可以参见下述图3对应的实施例中的描述。
进一步地,服务器200可以对运动信号序列100c中的噪声信号和干扰信号进行过滤,即可得到运动信号序列100c的平滑信号序列101c。该平滑信号序列可以是时域空间中的序列,因此,可以对该平滑信号序列进行时间连续化,即可得到该平滑信号序列的信号波103c。
服务器200可以检测该平滑信号序列101c的平衡位置(可以称为序列平衡位置),该序列平衡位置也就是平衡线102c所在的位置。通过平衡线102c可以趋近于均匀地将信号波103c区分为上下两个部分。其中,如何得到平滑信号序列的平衡线所在的序列平衡位置的具体过程,可以参见下述图8对应的实施例中的描述。
进一步地,服务器200就可以通过该平衡线102c对信号波103c进行周期分割,对信号波103c进行周期分割也就是对运动信号序列或者平滑信号序列进行周期分割,即可得到运动信号序列的一个或者多个序列周期104c(包括如图2中的1个序列周期和第2个序列周期),一个序列周期可以包括两个峰和一个谷,相邻两个序列周期可以共享一个峰。如何通过平衡线102c对信号波103c进行周期分割的具体过程可以参见下述图3对应的实施例中的描述。
进一步地,服务器200可以计算出每个序列周期104c的周期时长106c和周期幅度105c。进而,服务器200可以通过该周期时长106c和周期幅度105c生成针对运动信号序列100c的序列特征向量107c。该序列特征向量107c就为最终所生成的用于描述运动信号序列100c所包含的的运动特征的向量。
服务器200可以将所生成的序列特征向量107c输入运动预测模型108c,即可通过该运动预测模型108c输出针对目标用户的目标运动结果109c,该目标运动结果可以是运动评估的一个分数。其中,运动预测模型108c可以是预先训练得到的用于预测用户的目标运动结果的模型,运动预测模型108c的训练过程可以参见下述图3对应的实施例中的相关描述。
服务器200可以将所预测到的针对目标用户的目标运动结果109c返回给终端设备100a,使得终端设备100a可以在终端页面上输出该目标运动结果109c,以展示给目标用户进行查看。
采用本申请所提供的方法,通过平衡线可以实现对运动信号序列100c的序列周期的准确分割,进而实现对目标用户的目标运动结果的准确预测。
请参见图3,图3是本申请提供的一种运动信号处理方法的流程示意图。如图3所示,该方法可以包括:
步骤S101,获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;
具体的,本申请实施例中的执行主体可以是一个计算机设备或者多个计算机设备所构成的计算机设备集群。该计算机设备可以是服务器,也可以终端设备。因此,本申请实施例中的执行主体可以是服务器,也可以是终端设备,还可以是由服务器和终端设备共同构成。
计算机设备可以获取目标用户的运动信号序列,目标用户可以是任意一个用户,目标用户的运动信号序列可以是根据目标用户的运动所生成的。本申请中对目标用户进行运动评估可以有多种类型,例如手部运动的预测类型、腰部运动的预测类型或者脚部运动的预测类型等。其中,手部运动的预测类型又可以分为多种,例如手掌翻转运动的预测类型、手掌张合握拳运动的预测类型或者手指间(如大拇指和食指间)的开合运动的预测类型等。同样,脚部运动的预测类型也可以分为多种,例如跺脚运动的预测类型或者行走运动的预测类型等。因此,可以根据对目标用户进行运动评估的类型(可以简称运动预测类型)来确定目标用户的运动信号序列,该运动预测类型可以是上述所描述的手部运动的预测类型、腰部运动的预测类型或者脚部运动的预测类型等任意一种类型。针对目标用户的运动预测类型根据实际应用场景决定,对此不作限制。
可选的,计算机设备可以通过目标用户的运动视频数据来获取目标用户的运动信号序列,或者计算机设备也可以通过传感器来获取目标用户的运动信号序列。
其中,计算机设备通过目标用户的运动视频数据来获取目标用户的运动信号序列的方式可以是:计算机设备可以获取到目标用户的运动预测类型,该运动预测类型可以是运动评估人员(如医生或者开发人员)在计算机设备中所指定的预测类型。进而,计算机设备可以根据该运动预测类型来确定针对目标用户的运动关键点,该运动关键点即为在对目标用户进行运动评估时,所需要评估的身体点位置。
例如,若针对目标用户的运动预测类型为对目标用户的手掌翻转运动的预测类型,则运动关键点可以包括目标用户大拇指的指尖处的关键点以及小拇指的指尖处的关键点。或者,若针对目标用户的运动预测类型为对目标用户的手掌张合握拳运动的预测类型,则运动关键点也可以包括目标用户手掌的全部手指关节处的位置点。或者,若针对目标用户的运动预测类型为手指间(如大拇指和食指间)的开合运动(也称对指运动)的预测类型,则运动关键点可以包括目标用户的大拇指指尖处的位置点以及食指指尖处的位置点。或者,若针对目标用户的运动预测类型为跺脚运动的预测类型,则运动关键点可以为目标用户的脚后跟处的位置点。
请参见图4,图4是本申请提供的一种获取运动关键点的场景示意图。如图4所示,首先计算机设备可以获取到目标用户的运动预测类型101d,若该运动预测类型101d为手指间的开合运动(可以称为对指运动)的预测类型,并且是大拇指和食指指尖的对指运动的预测类型时,则针对目标用户的运动关键点102d可以是手部100d中的关键点4和关键点8,关键点8为食指指尖,关键点4为大拇指指尖。再例如若运动预测类型101d为握拳运动的预测类型时,则针对目标用户的运动关键点102d可以是手部100d中的全部关键点,包括关键点0~关键点20。
更多的,计算机设备还可以获取到目标用户的与其运动预测类型相对应的运动视频数据,该运动视频数据可以是运动评估人员现场指导目标用户进行相应的运动所录制的,或者也可以是目标用户自行上传发送给计算机设备的,或者也可以是计算机设备从网络上查找到的目标用户的运动视频。该运动视频数据也就是对目标用户进行运动评估的视频数据,例如该运动视频数据可以是目标用户进行手掌翻转运动的视频数据,也可以是目标用户进行手指间的开合运动的视频数据,还可以是目标用户进行跺脚运动的视频数据,等等。
因此,计算机设备可以检测目标用户的运动视频数据中目标用户的运动关键点的运动信息,可以将该运动信息称之为目标用户的关键点运动信息。例如若运动关键点为目标用户的脚后跟处的位置点,运动视频数据为目标用户进行跺脚运动的视频数据,则计算机设备可以检测和识别出目标用户的脚后跟处的位置点在运动视频数据中的运动信息,该运动信息可以包括目标用户脚后跟处的位置点的运动幅度、角度和速度等信息。
进而,计算机设备可以通过在目标用户的运动视频数据中所检测到的目标用户的关键点运动信息,生成目标用户的运动信号序列。该运动信号序列可以包括对目标用户的运动过程进行运动参数采样的多个采样点对应的多个采样值,一个采样点对应一个采样值。其中,可以将一个采样值称之为一帧,每个采样点可以对应一个索引值,该索引值可以指对应采样点的帧数(即第几帧采样),换句话说,该索引值可以表示对应的采样点是第几个采样点,通过每个采样点对应的索引值可以区分各个采样点对应的采样值的先后采样顺序。运动信号序列中的采样值可以是根据目标用户的关键点运动信息所计算出来的,对于不同的运动预测类型,运动信号序列中的采样值的类型通常也不相同。
例如,若针对目标用户的运动预测类型为对目标用户的手掌张合握拳运动的预测类型,则在目标用户握拳过程中,手部的面积(可以理解为是手部的投影面积)会发生变化,当目标用户的手掌完全张开时,目标用户的手部面积最大,当目标用户的手掌完全握拢时,目标用户的手部面积最小。因此,此时计算机设备可以通过目标用户的关键点运动信息,计算出目标用户在各个采样点(如各个采样时间点)的手部面积,因此,目标用户的运动信号序列中所包括的多个采样点所对应的多个采样值,就可以是目标用户的手部在各个采样点的手部面积的值。
再例如,若针对目标用户的运动预测类型为目标用户的手指间(如大拇指和食指间)的开合运动的预测类型,则在目标用户进行大拇指指尖和食指指尖之间的开合运动时,目标用户的大拇指指尖和食指指尖之间的距离会发生变化,当目标用户将大拇指指尖和食指指尖指尖张开的程度最大时,目标用户的大拇指指尖和食指指尖之间的距离最大,当目标用户的大拇指指尖和食指指尖合上相接触时,目标用户的大拇指指尖和食指指尖之间的距离最小。因此,此时计算机设备可以通过目标用户的关键点运动信息,计算出目标用户在各个采样点(如各个采样时间点)的大拇指指尖和食指指尖之间的距离,因此,目标用户的运动信号序列中所包括的多个采样点所对应的采样值,就可以是在各个采样点处目标用户的大拇指指尖和食指指尖之间的距离的值。
同理,计算机设备通过传感器来获取目标用户的运动信号序列的过程可以是:目标用户在运动过程中可以根据运动预测类型在相应的运动关键点处穿戴传感器设备,进而计算机设备可以通过该传感器设备获取到目标用户在运动过程中的传感器运动参数,该传感器运动参数可以包括目标用户的运动关键点的运动幅值和运动速度等。
该传感器运动参数可以理解为是上述关键点运动信息,因此,计算机设备也可以通过该传感器运动参数,来计算出针对目标用户的运动特征参数,该运动特征参数可以是所计算出目标用户在各个采样点对应的采样值,例如,当针对目标用户的运动预测类型为对目标用户的手掌张合握拳运动的预测类型,则该运动特征参数就可以是目标用户的手部在各个采样点的手部面积的值。再例如,若针对目标用户的运动预测类型为目标用户的手指间(如大拇指和食指间)的开合运动的预测类型,运动特征参数也可以是目标用户的大拇指指尖和食指指尖之间的距离的值。因此,计算机设备通过所计算出的运动特征参数即可生成目标用户的运动信号序列。
计算机设备生成目标用户的运动信号序列之后,还可以获取该运动信号序列的序列平衡位置,该序列平衡位置为运动信号序列的平滑信号序列的平衡位置,该平滑信号序列为过滤掉运动信号序列中的噪声和干扰信号后所得到的信号序列。获取运动信号序列的平滑信号序列的过程具体可以参见下述图8对应的实施例中的描述,该平滑信号序列中也可包括多个采样点对应的采样值,平滑信号序列所包括的采样点与运动信号序列所包括的采样点相同,但是平滑信号序列所包括的采样点对应的采样值可以与运动信号序列所包括的采样点对应的采样值是不同的。
其中,该序列平衡位置为运动信号序列的平衡线的位置,可选的,当运动信号序列中的采样值分布地不均匀时,可以通过运动信号序列中的极大值(波峰)和极小值(波谷),来得到运动信号序列的序列平衡位置,这使得可以综合考虑运动信号序列的极大值和极小值,来得到对极大值和极小值进行更好地区分的序列平衡位置,因此,通过该序列平衡位置也可以更准确地对运动信号序列在上下区域中的采样值进行区分。可以理解为,此种方式通过平衡线可以将平滑信号序列中的极大值和极小值分割成比较平衡的分布,平滑信号序列中的一个或者多个极大值与平衡线之间的综合距离,趋近于平滑信号序列中的一个或者多个极小值与平衡线之间的综合距离。如何检测平滑信号序列中的序列极值(包括极大值和极小值),以及如何通过该序列极值得到平滑信号序列的序列平衡位置的具体过程,可以参见下述图8对应的实施例中的描述。其中,平滑信号序列的序列平衡位置也就是运动信号序列的序列平衡位置。
或者,当运动信号序列的平滑信号序列中的采样值分布得比较均匀时,平衡线也可以通过上述平滑信号序列中的采样值的均值得到,此时所得到的平衡线可以将平滑信号序列中的采样值均匀地划分为两个部分,一个部分为元素值偏大的部分,一个部分为元素值偏小的部分。具体也可以参见下述图8对应的实施例中的相关描述。
其中,上述平滑信号序列中各个采样点的索引(如表示第几个采样点的索引)可以分布在横坐标上,平滑信号序列中的各个采样点对应的采样值可以是各个采样点的索引对应的纵坐标。因此,需要理解的是,上述平衡线可以是纵坐标确定的水平线。
通过上述过程,计算机设备即可获取到目标用户的运动信号序列,以及该运动信号序列的序列平衡位置,该序列平衡位置也就是运动信号序列的平滑信号序列的平衡线的位置。
步骤S102,根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;
本申请中,上述运动信号序列为一个时间序列,即运动信号序列为时域空间中的信号,因此运动信号序列的平滑信号序列也为一个时间序列。计算机设备可以将该平滑信号序列进行时间连续化,即可得到该平滑信号序列的信号波,可以将该信号波称之为运动信号波。因此,计算机设备可以获取到该运动信号波与序列平衡位置处的平衡线之间的交点,可以将该交点称之为运动信号序列的序列过零点。平衡线和序列过零点之间是相互确定的关系,即通过序列过零点可以确定出平衡线,通过平衡线也可以确定出序列过零点。
上述序列过零点通常有多个(至少两个),计算机设备可以根据采样频率阈值对所得到的多个序列过零点进行修正过滤,该采样频率阈值即为运动信号序列中的采样点对应的最小采样频率,换句话说,运动信号序列中的采样值对应的采样率必须大于或者等于该采样频率阈值,而不能小于该采样频率阈值,这可以保证可以不失真地恢复出模拟信号。
其中,该采样频率阈值可以是通过奈奎斯特采样定理计算得到,该采样频域阈值等于f/2w,其中,f即为运动信号序列中的采样值对应的采样频率(可以理解为是帧率,一帧对应于一个采样点),如f可以等于50Hz。w即为人类运动的最高频率,例如,当运动预测类型为手部运动的预测类型,则w可以等于人类手部运动的生理极限6~7Hz,或者,可以给w保留一些余量,即使得w适当比该人类手部运动的生理极限6~7Hz略微大一点,如取8Hz。
因此,正常说来,两个序列过零点之间的频率间隔需要大于上述采样频率阈值,才能保证模拟信号的不失真恢复。因此,计算机设备可以依次检测多个序列过零点中的任意相邻两个序列过零点之间的频率间隔,并可以将检测出的所属的频率间隔小于上述采样频率阈值的相邻两个序列过零点,作为异常序列过零点。
进而,计算机设备可以从所有序列过零点中过滤掉(即去掉)该异常序列过零点,可以将所有序列过零点中去掉异常序列过零点后所剩余的序列过零点称之为修正序列过零点。因此,计算机设备可以通过该修正序列过零点对运动信号序列的平滑信号序列进行分割,即可得到运动信号序列的周期,可以将运动信号序列的周期称之为序列周期。
请参见图5,图5是本申请提供的一种获取序列周期的场景示意图。如图5所示,通过检测平衡线101g与平滑信号序列的运动信号波100g之间的交点,可以得到多个序列过零点,该多个序列过零点依次可以是序列过零点101h、序列过零点102h、序列过零点103h、序列过零点104h、序列过零点105h和序列过零点106h。
计算机设备可以依次对该多个序列过零点中任意相邻两个序列过零点间的频率间隔进行检测,如首先检测到了框102g中相邻的序列过零点101h和序列过零点102h之间的频率间隔大于采样频率阈值,则序列过零点101h和序列过零点102h之间的频率间隔符合要求;进而又检测到了框103g中相邻的序列过零点102h和序列过零点103h之间的频率间隔大于采样频率阈值,则序列过零点102h和序列过零点103h之间的频率间隔符合要求;进而又检测到了框104g中相邻的序列过零点103h和序列过零点104h之间的频率间隔小于采样频率阈值,则序列过零点103h和序列过零点104h之间的频率间隔不符合要求,序列过零点103h和序列过零点104h为异常序列过零点106g,需要去掉序列过零点103h和序列过零点104h。
进一步地,由于序列过零点102h和序列过零点103h之间的频率间隔大于采样频率阈值,因此序列过零点102h和序列过零点105h之间的频率间隔肯定也大于采样频率阈值,因此计算机设备无需再检测序列过零点102h和序列过零点105h之间的频率间隔。计算机设备可以继续检测框105g中相邻的序列过零点105h和序列过零点106h之间的频率间隔,并检测到序列过零点105h和序列过零点106h之间的频率间隔大于采样频率阈值,序列过零点105h和序列过零点106h之间的频率间隔符合要求。
因此,从所有序列过零点中过滤掉异常序列过零点106g,即可得到修正序列过零点107g,该修正序列过零点107g就包括序列过零点101h、序列过零点102h、序列过零点105h和序列过零点106h。通过该修正序列过零点107g对运动信号波100g进行周期分割,即可得到平滑信号序列的序列周期108g。
其中,通过修正序列过零点对平滑信号序列进行分割的方式可以:考虑到用户运动的实际情况,一个序列周期可以是由峰-谷-峰所构成。例如对于开合握拳运动的预测类型而言,当用户张开手掌时可以对应于一个峰(这个峰可以表示此时张开手掌的投影面积),当从用户张开手掌到握拳时,可以对应于一个谷(这个谷可以表示此时握拳的手部的投影面积),而当用户由握拳再次回到张开手掌时,可以对应于一个峰(这个峰可以表示此时张开手掌的投影面积),由上可知,从用户张开手掌到握拳再还原到张开手掌,即为一个完整的过程。峰通常指最大值的状态,谷通常指最小值的状态。
可以理解的是,每两个相邻的修正序列过零点之间可以有一个峰或者一个谷。每个序列过零点都可以有一个方向,该方向可以是向上的方向或者是向下的方向。当一个序列过零点的方向为向上的方向时,该序列过零点相邻右侧的一个或者多个采样值要大于该序列过零点相邻左侧的一个或者多个采样值。同理,当一个序列过零点的方向为向下的方向时,该序列过零点相邻左侧的一个或者多个采样值要小于该序列过零点相邻右侧的一个或者多个采样值。例如,上述图2中的“第1个序列周期”的第一个峰的左侧的序列过零点①的方向就为向上的方向,图2中的“第1个序列周期”的第一个峰的右侧的序列过零点②的方向就为向下的方向。
因此,一个方向向上的修正序列过零点(位置在前)和一个方向向下的修正序列过零点(位置在后)之间可以有一个峰,该峰对应的峰值可以称之为序列峰值,该序列峰值可以为该相邻两个修正序列过零点之间所包括的采样值中的最大值。一个方向向下的修正序列过零点(位置在前)和一个方向向上的修正序列过零点(位置在后)之间可以有一个谷,该谷对应的谷值可以称之为序列谷值,该序列谷值可以为该相邻两个修正序列过零点之间所包括的采样值中的最小值。
由上述过程可知,通过修正序列过零点即可将平滑信号序列划分为一个或者多个序列周期。一个序列周期可以有两个峰和一个谷,该两个峰分别可以对应于一个序列峰值,该一个谷可以对应于一个序列谷值。例如,假设一个序列周期的一个峰为峰z1,夹着该峰z1的两个修正序列过零点为过零点g1和过零点g2,那么,该峰z1对应的序列峰值可以是平滑信号序列中横坐标处于过零点g1和过零点g2的横坐标之间的采样值的最大值。假设序列周期的一个谷为z2,夹着该谷z2的两个修正序列过零点为过零点g3和过零点g4,那么,该谷z2对应的序列谷值可以是平滑信号序列中横坐标处于过零点g3和过零点g4的横坐标之间的采样值的最小值。
本申请中,通过序列平衡位置来得到平滑信号序列的序列过零点,并可以对该序列过零点进行自适应地修正过滤,以得到最终的修正序列过零点。而对序列过零点进行修正过滤也就是对所获取到平滑信号序列(也是表示对运动信号序列)中的元素值进行修正过滤,因此这可以实现对平滑信号序列的周期准确分割。此外,若序列平衡位置是通过序列极值所得到的,则通过对序列过零点进行修正过滤也就相当于反过去对所检测到的序列极值进行了修正,这同样说明了采用本申请所提供的方法可以实现对平滑信号序列的周期的准确分割。
步骤S103,根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果;
具体的,计算机设备可以根据序列周期来生成运动信号序列的序列特征向量,该序列特征向量即为最终所得到的用于表征目标用户的运动信号序列的运动特征的向量。请参见下述内容描述,生成运动信号序列的序列特征向量的过程可以是:
首先,计算机设备可以计算每个序列周期的周期时长和周期幅度。一个序列周期的周期时长,可以等于该序列周期中两个峰之间的时长。如第i个序列周期的周期时长ti可以通过下述公式(1)得到:
其中,yi2为第i个序列周期的后一个峰对应的索引值(该索引值可以是采样点的所以索引值,如第几次采样的索引值),yi1为第i个序列周期的前一个峰对应的索引值,f为采样频率。
而第i个序列周期的周期幅度ai可以参见下述公式(2):
计算机可以采用与获取上述第i个序列周期的周期时长和周期幅值相同的原理,获取到每个序列周期的周期时长和周期幅值。进而,计算机设备可以通过所获取到的每个序列周期的周期时长和周期幅值,来生成上述运动信号序列的序列特征向量,请参见下述内容描述:
可选的,计算机设备还可以获取到运动评估标准表,该运动评估标准表可以包括评估多种运动预测类型的运动特征类型,换句话说,对于不同运动预测类型,可以有不同的运动特征类型,可以通过某个运动预测类型对应的运动特征类型下的特征参数,来评估该运动预测类型的运动。例如,该运动评估标准表可以是MDS-UPDRS(巴金森病综合评量表)。
例如,针对手掌张合握拳运动的预测类型,其对应的运动特征类型可以包括动作停顿特征的类型、动作幅度特征的类型、动作速度特征的类型和动作幅度衰减特征的类型等。再例如,针对脚趾拍地运动的预测类型,其对应的运动特征类型可以是动作停顿特征的类型、动作幅度特征的类型和动作速度特征的类型等。
换句话说,运动评估标准表实际上是用于根据用户的运动来对用户进行评估的标准表,运动评估标准表中可以包括多种运动预测类型分别和对应的运动特征类型之间的关联关系。对某一种运动预测类型的运动进行评估时,可以采用在该运动预测类型对应的运动特征类型下的运动特征来评估。
因此,计算机设备可以将运动评估标准表中与目标用户的运动预测类型相关联的运动特征类型,作为针对目标用户的检测特征类型。进而,计算机设备可以根据上述所获取到的序列周期的序列时长和序列幅度,来生成运动信号序列在该检测特征类型下的信号特征参数,并可以根据该信号特征参数来生成目标用户的运动信号序列对应的序列特征向量。
例如,对于手部运动的预测类型,在运动评估标准表中进行评估的标准可以参见下述表1。
表1
若通过上述表1来得到检测特征类型,则检测特征类型可以多种,如可以包括速度(迟缓)特征的类型、幅度特征的类型、幅度衰减特征的类型、犹豫冻结特征的类型、打断特征的类型和动作完成度特征的类型。
更多的,对于不同的运动序列信号可能会分割得到不同数量的序列周期,假设对目标用户的运动序列信号一共分割得到m个序列周期,一个序列周期具有一个周期时长和一个周期幅度,因此,可以将该m个序列周期的周期时长表示为序列周期时长ti为第i个序列周期的周期时长。同理,也可以将该m个序列周期的周期幅度表示为序列周期时长ai为第i个序列周期的周期幅度。
进而,计算机设备可以通过和来生成运动信号序列在每种检测特征类型下的信号特征参数:计算机设备所生成的运动信号序列在速度(迟缓)特征的类型下的信号特征参数可以是序列的中值,该信号特征参数是1维的;计算机设备所生成的运动信号序列在幅度特征的类型下的信号特征参数可以是序列的中值,该信号特征参数是1维的;所考虑的序列周期的个数m可以是3(也可以是其他数值,对应的此处的信号特征参数也可以相应地变化)的倍数,因此,计算机设备所生成的运动信号序列在幅度衰减特征的类型下的信号特征参数可以是的一阶差分,该信号特征参数是(m/3)-1维的。计算机设备所生成的运动信号序列在犹豫冻结特征的类型下的信号特征参数可以是序列的最大值以及序列的上离群值的个数,该信号特征参数是2维的。计算机设备所生成的运动信号序列在打断特征的类型下的信号特征参数可以是序列的最小值以及序列的下离群值的个数,该信号特征参数是2维的。计算机设备所生成的运动信号序列在动作完成度特征的类型下的信号特征参数可以是min(1,k/m),该信号特征参数是1维的。其中,min(1,k/m)表示1和m/M之中的最小值,M为对用户进行运动评估时所期望的用户可以运动的周期的最大值,例如,若M等于12,则当用户完成12个周期的动作,则认为用户的动作完成度为满分。
此外,除了可以生成上述运动评估标准表中的检测特征类型下的信号特征参数之外,计算机设备还可以额外考虑目标用户的运动信号序列另外的统计特征,如可以考虑序列的四分位距的统计特征和序列的四分位距的统计特征共两个统计特征。因此,计算机设备可以计算得到序列的四分位距和序列的四分位距,也作为所生成的目标用户的运动信号序列的信号特征参数,该信号特征参数是2维的。通过序列的四分位距和序列的四分位距可以评估目标用户的运动稳定性和运动节律一致性。
假设上述对目标用户的运动信号序列所分割得到的序列周期的数量m为12,则计算机设备可以得到在速度(迟缓)特征的类型下的1维的信号特征参数、在幅度特征的类型下的1维的信号特征参数、在幅度衰减特征的类型下的3(即12/3)维的信号特征参数、在犹豫冻结特征的类型下的2维的信号特征参数、在打断特征的类型下的2维的信号特征参数、在动作完成度特征的类型下的1维的信号特征参数、以及通过序列的四分位距和序列的四分位距所得到的2维的信号特征参数,总共12维的信号特征参数。
因此,计算机设备可以将所获取到的所有信号特征参数拼接起来,即可得到目标用户的运动信号序列的序列特征向量。例如,可以将上述所得到的共12维的信号特征参数拼接起来,可以得到12维的序列特征向量。
进而,计算机设备可以将所生成的序列特征向量输入运动预测模型,该运动预测模型可以是预先通过样本运动信号序列的样本序列特征向量训练得到,可以用于输出针对用户的运动的评估分数,该评估分数可以与上述运动评估标准表对应,如上述表1所示,该评估分数可以是0/1/2/3/4中的任意的分数。其中,获取样本运动信号序列的样本序列特征向量的原理与上述获取目标用户的运动信号序列的序列特征向量的原理相同,具体可以参见上述描述。通过将所生成的目标用户的运动信号序列的序列特征向量输入运动预测模型,即可通过该运动预测模型输出针对目标用户的目标运动结果,该目标运动结果可以是0/1/2/3/4中的任意一个评估分数。
其中,通过与运动评估标准表直接对应的运动特征类型来生成信号特征参数,通过该信号特征参数生成序列特征向量,并通过该序列特征向量来对用户的运动进行评估,可以使得所预测得到的针对目标用户的目标运动结果具有高度的可解释性。换句话说,通过与运动评估标准表直接对应的运动特征类型所生成的序列特征向量所预测得到的目标用户的目标运动结果,可以和运动评估标准表中的打分依据直接对应,这可以提高运动评估时的医学可解释性。
更多的,训练得到运动预测模型的过程可以是:计算机设备可以获取到样本用户的样本运动信号序列以及针对样本用户的该样本运动信号序列的实际运动结果。计算机设备获取样本运动信号序列的方式可以与获取目标用户的运动信号序列的方式相同,例如,计算机设备也可以获取到样本用户的样本运动信号序列的样本序列平衡位置,并可以通过该样本序列平衡位置对样本运动信号序列进行分割,得到样本运动信号序列的样本序列周期。进而,计算机设备可以根据该样本序列周期生成样本运动信号序列的样本序列特征向量。其中,针对样本用户的样本运动信号序列的实际运动结果,可以是研究人员(如医生)根据运动评估标准表在样本用户运动的过程中,对样本用户的运动所评估得到的评估分数,该评估分数也可以是如表1的0/1/2/3/4中的任意一个评估分数。
其中,运动预测模型可以是通过初始运动预测模型训练得到,计算机设备可以将所生成的样本序列特征向量和针对样本用户的实际运动结果输入初始运动预测模型,通过该初始运动预测模型可以预测得到针对样本用户的样本运动结果。进而,计算机设备可以通过样本运动结果和针对样本用户的实际运动结果,来修正初始运动预测模型的模型参数,可以将模型参数修正完成的初始运动预测模型作为上述运动预测模型。其中,修正初始运动预测模型的模型参数的原理可以是修正初始运动预测模型的模型参数,使得初始运动预测模型所预测得到的样本运动结果趋近于针对样本用户的实际运动结果。
更多的,上述初始运动预测模型可以是基于决策树的集成学习模型GBDT(梯度提升树模型),也可以是random forest模型(随机森林模型)。实验结果证明,random forest模型比GBDT具有更好的评估准确性,因此,可以优先采用random forest模型作为初始运动预测模型。如下述表2中的实验结果所示:
正确率 | Cohen’s kappa | |
GBDT | 86.25% | 0.8025 |
random forest | 87.82% | 0.8224 |
表2
其中,Cohen’s kappa是一种表征打分间相关性的统计度量,分布于-1~1之间,如果该值位于0.81~1之间,则预测效果(如评估分数的预测效果)被认为是十分理想的。因此,GBDT模型的预测正确率(即预测准确性)为86.25%,random forest模型的预测正确率(即预测准确性)为87.82%。GBDT模型的Cohen’s kappa为0.8025,random forest模型的Cohen’s kappa为0.8224。因此,在实际运动评估的场景中,可以采用random forest模型来训练得到运动预测模型,通过该运动预测模型可以对用户的运动进行准确的评估。
请参见图6,图6是本申请提供的一种预测目标运动结果的场景示意图。如图6所示,计算机设备可以通过样本用户的样本运动信号序列100e生成样本序列特征向量101e。计算机设备可以将样本用户的样本序列特征向量101e和针对样本用户的实际运动结果102e输入初始运动预测模型103e,进而可以通过初始运动预测模型103e输出针对样本用户的样本运动结果104e。
计算机设备可以将样本运动结果104e反向传播给初始运动预测模型103e,以通过该样本运动结果104e和实际运动结果102e修正初始运动预测模型103e的模型参数,即可得到模型参数修正完成的运动预测模型107e。
进一步地,计算机设备可以将通过目标用户的运动信号序列105e所生成的序列特征向量106e输入训练得到的运动预测模型107e,即可通过该运动预测模型输出针对目标用户的目标运动结果108e。
请参见图7,图7是本申请提供的一种获取目标运动结果场景示意图。如图7所示,计算机设备可以将运动信号序列输入滤波模块100i,即可得到运动信号序列的平滑信号序列。进而计算机设备可以通过极值检测模型101i对该平滑信号序列进行极值检测,即可得到该平滑信号序列的序列极值。计算机设备还可以通过所得到的序列极值来得到平衡信号序列的序列平衡位置,进而波形分割模块102i可以通过该序列平衡位置对平滑信号序列的运动信号波进行周期分割,即可得到序列周期。
进而运动指标提取模块103i可以通过所分割得到的序列周期提取运动指标,所提取的运动指标可以是上述通过序列周期所计算得到的信号特征参数。目标运动结果预测模块104i可以通过该信号特征参数生成上述序列特征向量,并可以调用运动预测模型,将序列特征向量输入运动预测模型,即可输出针对目标用户的目标运动结果。
其中,本申请所提供的方法可以用于对正常用户的日常运动进行测评评估,或者也可以用于对有运动障碍的患者进行运动的评估,通过采用本申请所提供的方法来预测目标用户的目标运动结果,可以辅助医生对用户的运动进行评估,即本申请所生成的目标用户的目标运动结果可以作为一种辅助信息提供给研究人员对用户的运动进行评估。
本申请首先可以获取目标用户的运动信号序列,并获取运动信号序列的序列平衡位置;接着,可以根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期。进而,可以根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。由此可见,本申请提出的方法可以通过运动信号序列的序列平衡位置来对运动信号序列进行周期分割,由于该序列平衡位置可以对运动信号序列中的采样值进行均匀地分布划分,因此,通过该序列平衡位置可以实现对运动信号序列的周期的准确划分,进而可以通过准确划分得到的序列周期来生成序列特征向量,实现对目标用户的目标运动结果的准确预测。
请参见图8,图8是本申请提供的一种获取序列平衡位置方法的流程示意图。如图8所示,该方法可以包括:
步骤S201,获取运动信号序列的平滑信号序列,检测平滑信号序列的序列极值;
本申请实施例中的执行主体与上述图3对应的申请实施例中的执行主体相同,都为计算机设备。此处的运动信号序列即为上述图3对应实施例中所采集到的针对目标用户的运动信号序列。由于在采集运动信号序列时,可能会采集到一些噪声信号和干扰信号,该噪声信号和干扰信号表现在运动信号序列的波形(运动信号序列的连续信号)上则是存在尖峰和毛刺等。因此,计算机设备可以根据人类生理运动极限的频率来对运动信号序列进行过滤,即过滤掉运动信号序列中的噪声信号和干扰信号,可以将过滤掉运动信号序列中的噪声信号和干扰信号后的信号序列称之为运动信号序列的平滑信号序列。
其中,对运动信号序列进行过滤以得到平滑信号序列的具体可以是:
计算机设备可以获取到用户运动频率阈值,该用户运动频率阈值为人类生理运动极限的频域,换句话说,该用户运动频域阈值为人类运动时可以达到的最大运动频率,对于不同的运动预测类型可以有不同的用户运动频率阈值。例如,假设针对目标用户的运动预测类型为对目标用户的手部运动的预测类型,而人类手部的生理运动极限为6~7Hz,因此,上述用户运动频率阈值就可以为6~7Hz。
其中,计算机设备可以在用户运动频率阈值的基础上保留一些余量,该余量可以根据实际应用场景决定,该余量也可以是0。如余量可以是1Hz,则计算机设备可以在用户运动频率阈值的基础上再加上1Hz,进而通过加上1Hz的用户运动频率阈值再对运动信号序列进行信号过滤,以得到运动信号序列的平滑信号序列。例如,若针对目标用户的运动预测类型为对目标用户手部运动的预测类型,用户运动频域阈值为人类手部运动生理极限6~7Hz,那么就可以在该7Hz的基础上加上1Hz,用8Hz来对运动信号序列进行过滤,以得到平滑信号序列。请参见下述内容描述。
上述运动信号序列可以为时域空间中的信号。因此,计算机设备可以先将运动信号序列从时域空间变换至频域空间,得到该运动信号序列在频域空间中的信号,可以将运动信号序列在频域空间的信号称之为频域运动信号。
进而,计算机设备可以采用保留一些余量的用户运动频率阈值(如上述在7Hz的基础上加上余量1Hz后所得到的8Hz)对该频域运动信号进行过滤,就可以将频域运动信号中的高频分量过滤掉(例如将大于8Hz的频率分量过滤掉),也就是过滤掉频域运动信号中的噪声信号和干扰信号,可以将进行过滤后的频域运动信号称之为平滑运动信号。
进一步地,计算机设备可以将上述处于频域空间的平滑运动信号变换至时域空间,即可得到对上述运动信号序列进行过滤后的平滑信号序列。通过将运动信号序列变换至频域空间再进行信号过滤,而不是在时域空间直接对运动信号序列在时域空间中进行过滤,也可以实现无需调试和设置有关时域过滤窗口的超参数,这可以提高信号过滤的准确性。
在得到上述运动信号序列的平滑信号序列之后,计算机设备可以获取该平滑信号序列的序列极值,平滑信号序列极值也就是表示运动信号序列的序列极值,该序列极值包括运动信号序列中的极大值(可以称之为序列极大值,体现在波形上就为波峰)和极小值(可以称之为序列极小值,体现在波形上就为波谷),下面具体描述如何获取平滑信号序列中的序列极值。
计算机设备可以通过automatic multiscale-based peak detection(AMPD,一种信号检测算法)来对平滑信号序列中的序列极值进行检测,通过采用AMPD算法来检测平滑信号序列中的序列极值,可以实现在检测序列极值的过程中无需额外设置超参数,检测的过程全程实现自适应参数设置。由于检测过程中如果设置超参数,那该超参数和所处理的信号序列高度相关,对于不同的信号序列其超参数需要不断调试和设置,而本申请中无需额外设置超参数,因此,对于任意类型的信号序列均普遍适用,且提高了信号检测的效率和自适应性。
下面具体描述如何通过AMPD算法来检测平滑信号序列中的序列极值:
平滑信号序列中可以包括多个采样点(至少两个采样点,一个采样点对应一个时间点)对应的采样值,一个采样点可以对应一个采样值,该多个采样点的采样值在平滑信号序列中按照采样时间的先后依次进行排列。因此,通过AMPD算法可以得到平滑信号序列的local maxima scalogram(LMS,一种自适应滤波)矩阵,其中,序列极大值和序列极小值可以分别对应有一个LMS矩阵,即序列极大值对应一个LMS矩阵,序列极小值对应另一个LMS矩阵。
如下述公式(3)所示,序列极大值对应的LMS矩阵J1可以表示为:
其中,N为采样点的总数量,为正整数,换句话说,平滑信号序列中一共可以包括N个采样点,该N个采样点依次可以为采样点1、采样点2、……和采样点N,n小于或者等于N。表示平滑信号序列中第n个采样点的采样值,表示平滑信号序列中第n个采样点前面的第l个采样点的采样值,表示平滑信号序列中第n个采样点后面的第l个采样点的采样值,可以理解为采样值对应的采样点n-l和对应的采样点n+l分别与采样值对应的采样点n之间的采样点间隔均为l,l小于或者等于矩阵J1的总行数L。dl,n表示矩阵J1中第l行第n列处的元素值。其中,为了保证算法的合理性,L可以等于
因此,可以理解的是,矩阵J1中的第1行包括每个采样点对应的采样值分别与距离1个采样点间隔的采样点对应的采样值之间大小关系,矩阵J1中的第2行包括每个采样点对应的采样值分别与距离2个采样点间隔的采样点对应的采样值之间的大小关系,以次类推,矩阵J1中的第L行包括每个采样点对应的采样值分别与距离L个采样点间隔的采样点对应的采样值之间的大小关系。
上述矩阵J1中的元素值dl,n的确定方式就为,当采样值比和采样值都要大时,则就令dl,n为0,而当比和采样值中任意一个或者两个采样值要小时,就令dl,n为1+δ,δ为一个随机变量。因此上述矩阵J1的一列对应于一个采样点,例如,矩阵J1的第n列就包含采样点n对应的采样值与其距离的不同采样点间隔的采样点对应的采样值之间的大小关系。
因此,获取序列极大值的方式就可以是:
首先,需要理解的是,极大值的定义也就是比其周围一定范围内(可以称为极大值范围)的值都要大,因此,计算机设备可以先确定在获取序列极大值时的极大值范围。
计算机设备可以对矩阵J1的每行中的元素值分别进行求和,可以将对矩阵J1的每行中的元素值进行求和后所得到的值称之为每行对应的元素和,计算机设备可以将矩阵J1中所属的元素和最小的行作为矩阵J1的目标行,该目标行的行数可以记为k1,因此极大值范围就可以是距离每个采样点k1个采样点间隔的范围。例如,若k1等于2,则采样点n的极大值范围内的采样点就包括采样点n前面相邻的2个采样点以及采样点n后面相邻的2个采样点。
因此,计算机设备可以检测矩阵J1的每一列中由上往下第1个元素值到第k1个元素值均为0的列,并将检测到的第1个元素值到第k1个元素值均为0的列所对应的采样点作为极大值点,并可以将该极大值点对应的采样值,作为平滑信号序列中的序列极大值。
同理,如下述公式(4)所示,序列极小值对应的LMS矩阵J2可以表示为:
其中,N为采样点的总数量,为正整数,换句话说,平滑信号序列中一共可以包括N个采样点,该N个采样点依次可以为采样点1、采样点2、……和采样点N,n小于或者等于N。表示平滑信号序列中第n个采样点的采样值,表示平滑信号序列中第n个采样点前面的第l个采样点的采样值,表示平滑信号序列中第n个采样点后面的第l个采样点的采样值,可以理解为采样值对应的采样点n-l和对应的采样点n+l分别与采样值对应的采样点n之间的采样点间隔均为l,l小于或者等于矩阵J1的总行数L。dl,n表示矩阵J2中第l行第n列处的元素值。其中,为了保证算法的合理性,L可以等于
因此,可以理解的是,矩阵J2中的第1行包括每个采样点对应的采样值分别与距离1个采样点间隔的采样点对应的采样值之间大小关系,矩阵J2中的第2行包括每个采样点对应的采样值分别与距离2个采样点间隔的采样点对应的采样值之间的大小关系,以次类推,矩阵J2中的第L行包括每个采样点对应的采样值分别与距离L个采样点间隔的采样点对应的采样值之间的大小关系。
上述矩阵J2中的元素值xl,n的确定方式就为,当采样值比和采样值都要小时,则就令dln为0,而当比和采样值中任意一个或者两个采样值要大时,就令dl,n为1+δ,δ为一个随机变量。因此上述矩阵J2的一列对应于一个采样点,例如,矩阵J2的第n列就包含采样点n对应的采样值与其距离的不同采样点间隔的采样点对应的采样值之间的大小关系。
因此,获取序列极小值的方式就可以是:
首先,需要理解的是,极小值的定义也就是比其周围一定范围内(可以称为极小值范围)的值都要小,因此,计算机设备可以先确定在获取序列极小值时的极小值范围。
计算机设备可以对矩阵J2的每行中的元素值分别进行求和,可以将对矩阵J2的每行中的元素值进行求和后所得到的值称之为每行对应的元素和,计算机设备可以将矩阵J2中所属的元素和最小的行作为矩阵J2的目标行,该目标行的行数可以记为k2,因此极小值范围就可以是距离每个采样点k2个采样点间隔的范围。例如,若k2等于3,则采样点n的极小值范围内的采样点就包括采样点n前面相邻的3个采样点以及采样点n后面相邻的3个采样点。
因此,计算机设备可以检测矩阵J2的每一列中由上往下第1个元素值到第k2个元素值均为0的列,并将检测到的第1个元素值到第k2个元素值均为0的列所对应的采样点作为极小值点,并可以将该极小值点对应的采样值,作为平滑信号序列中的序列极小值。
请参见图9,图9是本申请提供的一种检测序列极值的场景示意图。如图9所示,矩阵100f为上述矩阵J1,用于获取序列极大值,矩阵101f为上述矩阵J2,用于获取序列极小值。矩阵100f中的一列对应于一个采样点,一行对应于相同的采样点间隔。同理,矩阵101f中的一列也对应于一个采样点,一行对应于相同的采样点间隔。矩阵100f和矩阵101f均为L行N列。
如框102f所示,计算机设备可以按照行和最小的行(即上述矩阵J1中的目标行k1)对矩阵100f进行截取,得到矩阵103f。并可以按照行和最小的行(即上述矩阵J2中的目标行k2)对矩阵101f进行截取,得到矩阵104f。因此,矩阵103f中就只包括矩阵100f中的第1行到第k1行,矩阵104f中就只包括矩阵101f中的第1行到第k2行。
因此,如框105f所示,计算机设备可以将矩阵103f中元素值全部为0的列所对应的采样点作为极大值点,并将平滑序列信号中该极大值点对应的采样值作为序列极大值107f。同理,计算机设备可以将矩阵104f中元素值全部为0的列所对应的采样点作为极小值点,并将平滑序列信号中该极小值点对应的采样值作为序列极小值108f。
可选的,也可以通过一个LMS矩阵同时获取上述序列极小值和序列极大值,该一个LMS矩阵可以称之为差分矩阵。该差分矩阵的总行数也为上述L,总列数也为上述N,该差分矩阵的一列对应于一个采样点,即该差分矩阵的一列包含采样点n对应的采样值与其距离的不同采样点间隔的采样点对应的采样值之间的大小关系。
同样,表示平滑信号序列中第n个采样点的采样值,表示平滑信号序列中第n个采样点前面的第l个采样点的采样值,表示平滑信号序列中第n个采样点后面的第l个采样点的采样值。可以将采样值减去采样值的差值称之为是采样点n-l对应的采样差值,可以将采样值减去采样值的差值称之为是采样点n+l对应的采样差值。
因此,差分矩阵中的元素值的确定方式可以是:可以将差分矩阵中第n列第l行处的元素值,称之为采样点n+l对应的采样差值和采样点n-l对应的采样差值共同映射的元素值。当采样值减去采样值的差值以及采样值减去采样值的差值均小于0(可以将该0称之为差值分界值)时,表明采样值同时大于采样值和采样值此时差分矩阵中第n列第l行处的元素值可以为第一元素值,该第一元素值可以采用任意一个字符表示。
而当采样值减去采样值的差值以及采样值减去采样值的差值均大于0(即大于差值分界值)时,表明采样值同时小于于采样值和采样值此时差分矩阵中第n列第l行处的元素值可以为第二元素值,该第二元素值也可以采用任意一个字符表示。
而当采样值减去采样值的差值小于或者等于0,并且采样值减去采样值的差值大于或者等于0时,差分矩阵中第n列第l行处的元素值可以为第三元素值,该第二元素值也可以采用任意一个字符表示。同理,当采样值减去采样值的差值大于或者等于0,并且采样值减去采样值的差值小于或者等于0时,差分矩阵中第n列第l行处的元素值也可以为该第三元素值。
通过上述过程,即可通过平滑信号序列中的各个采样点对应的采样值,计算出上述差分矩阵。计算机设备可以统计差分矩阵中每行包含的第一元素值的数量,可以将该数量称之为第一元素数量,一行对应一个第一元素数量。计算机设备可以将差分矩阵中具有最多的第一元素数量的行作为目标行k1,此种做法等同于将上述矩阵J1中所属的元素和最小的行作为矩阵J1的目标行的做法。该目标行k1就是差分矩阵中的第k1行。
同理,计算机设备可以统计差分矩阵中每行包含的第二元素值的数量,可以将该数量称之为第二元素数量,一行对应一个第二元素数量。计算机设备可以将差分矩阵中具有最多的第二元素数量的行作为目标行k2,此种做法等同于将上述矩阵J2中所属的元素和最小的行作为矩阵J2的目标行的做法。该目标行k2就是差分矩阵中的第k2行。
因此,计算机设备在检测到差分矩阵的第n列中由上往下第1个元素值到第k1个元素均为第一元素值时,就可以将采样点n作为极大值点,此时该采样点n对应的采样值也就是上述序列极大值。同理,计算机设备在检测到差分矩阵的第n列中由上往下第1个元素值到第k2个元素值均为第二元素值时,就可以将采样点n作为极小值点,此时采样点n对应的采样值也就是上述序列极小值。
通过上述过程,即可检测出平滑信号序列中的序列极大值和序列极小值。
步骤S202,根据序列极值确定运动信号序列的平衡线,将平衡线的位置确定为序列平衡位置;
本申请中,上述序列极大值和序列极小值均可以为多个,计算机设备可以获取到多个序列极大值中的中位数,可以将多个序列极大值中的中位数称之为极大值中位数。例如,该多个序列极大值包括1、2、3,则该极大值中位数就为2。再例如多个序列极大值包括1、2、3、4,则该极大值中位数就可以为(2+3)/2等于2.5。同理,计算机设备也可以获取到多个序列极小值中的中位数,可以将多个序列极小值中的中位数称之为极小值中位数。例如,该多个序列极小值包括4、5、6,则该极小值中位数就为5。
进而,平滑信号序列中各个采样点的索引(如上述1到N的索引)可以分布在横坐标上,平滑信号序列中的各个采样点对应的采样值可以是各个采样点的索引对应的纵坐标。计算机设备可以将极大值中位数和极小值中位数之间的平均值处的水平线,作为平滑信号序列的平衡线,换句话说,极大值中位数和极小值中位数的平均值就是该平衡线的纵坐标。该平衡线也表示运动信号序列的平衡线,可以将该平衡线的位置称之为序列平衡位置。通过该平衡线对平滑信号序列中的序列极大值和序列极小值进行了很好的区分,使得多个序列极大值与平衡线之间的综合距离趋近于多个序列极小值与平衡线之间的综合距离。
或者可选的,当运动信号序列的平滑信号序列中的采样值分布得比较均匀时,计算机设备还可以计算出该平滑信号序列中所包含的元素值的平均值,进而计算机设备可以将该平均值处的水平线作为平滑信号序列的平衡线,换句话说,此时平衡线的纵坐标可以为平滑信号序列中所包含的元素值的平均值。通过此种方式所得到的平衡线可以对平滑信号序列中的采样值进行一个较好的区分,即比较均匀地区分出平滑信号序列中大于平衡线的纵坐标的元素值以及小于平衡线的纵坐标的元素值。
由上述过程可知,本申请中通过采样AMPD算法来检测平滑信号序列的序列极值,进而得到平滑信号序列的平衡线(即序列平衡位置),此过程中完全不需要额外设置超参数,因此提高了平衡线检测效率并提高了对信号序列的适用范围。
请参见图10,图10是本申请提供的一种运动信号处理装置的结构示意图。如图10所示,该运动信号处理装置1可以包括:平衡位置获取模块101、周期分割模块102和运动评估模块103;
平衡位置获取模块101,用于获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;
周期分割模块102,用于根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;
运动评估模块103,用于根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。
其中,平衡位置获取模块101、周期分割模块102和运动评估模块103的具体功能实现方式请参见图3对应的实施例中的步骤S101-步骤S103,这里不再进行赘述。
其中,平衡位置获取模块101,包括:极值检测单元1011、平衡线确定单元1012和位置确定单元1013;
极值检测单元1011,用于获取运动信号序列的平滑信号序列,检测平滑信号序列的序列极值;
平衡线确定单元1012,用于根据序列极值确定运动信号序列的平衡线;
位置确定单元1013,用于将平衡线的位置确定为序列平衡位置。
其中,极值检测单元1011、平衡线确定单元1012和位置确定单元1013的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,极值检测单元1011,包括:频域变换子单元10111、频率过滤子单元10112和时域变换子单元10113;
频域变换子单元10111,用于将处于时域空间的运动信号序列变换至频域空间,得到运动信号序列的频域运动信号;
频率过滤子单元10112,用于获取用户运动频率阈值,基于用户运动频率阈值对频域运动信号进行过滤,得到频域运动信号的平滑运动信号;
时域变换子单元10113,用于将平滑运动信号变换至时域空间,得到运动信号序列的平滑信号序列。
其中,频域变换子单元10111、频率过滤子单元10112和时域变换子单元10113的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,平滑信号序列包括至少两个采样点对应的采样值;其中,至少两个采样点包括采样点n-l、采样点n和采样点n+l,n为小于或等于至少两个采样点的总数量的正整数,l为采样点n-l和采样点n+l分别与采样点n之间的采样点间隔;序列极值包括序列极大值和序列极小值;
极值检测单元1011,包括:矩阵获取子单元10114、目标行确定子单元10115和极值确定子单元10116;
矩阵获取子单元10114,用于获取至少两个采样点对应的差分矩阵;其中,l为小于或等于差分矩阵的总行数的正整数,差分矩阵的第l行包括由采样点n-l对应的采样差值与采样点n+l对应的采样差值共同映射的元素值,采样点n-l对应的采样差值是指采样点n-l对应的采样值与采样点n对应的采样值之间的差值,采样点n+l对应的采样差值是指采样点n+l对应的采样值与采样点n对应的采样值之间的差值;当采样点n-l对应的采样差值与采样点n+l对应的采样差值均小于差值分界值时,该元素值为第一元素值;当采样点n-l对应的采样差值与采样点n+l对应的采样差值均大于差值分界值时,该元素值为第二元素值;
目标行确定子单元10115,用于统计差分矩阵中每行所包含的第一元素值的第一元素数量,将具有最多第一元素数量的行确定为目标行k1,统计差分矩阵中每行所包含的第二元素值的第二元素数量,将具有最多第二元素数量的行确定为目标行k2,k1和k2均为小于或等于差分矩阵的总行数的正整数;
极值确定子单元10116,用于当检测到差分矩阵的第n列中的第1个元素值到第k1个元素值均为第一元素值时,将采样点n对应的采样值确定为序列极大值,当检测到差分矩阵的第n列中的第1个元素值到第k2个元素值均为第二元素值时,将采样点n对应的采样值确定为序列极小值。
其中,矩阵获取子单元10114、目标行确定子单元10115和极值确定子单元10116的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,序列极值包括序列极大值和序列极小值;
平衡线确定单元1012,包括:中位数获取子单元10121和平衡线确定子单元10122;
中位数获取子单元10121,用于获取序列极大值的极大值中位数和序列极小值的极小值中位数;
平衡线确定子单元10122,用于根据极大值中位数和极小值中位数确定运动信号序列的平衡线。
其中,中位数获取子单元10121和平衡线确定子单元10122的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,周期分割模块102,包括:信号波获取单元1021和过零点获取单元1022;
信号波获取单元1021,用于获取运动信号序列的平滑信号序列的运动信号波;
过零点获取单元1022,用于获取平衡线和运动信号波之间的交点,作为序列过零点。
其中,信号波获取单元1021和过零点获取单元1022的具体功能实现方式请参见图3对应的实施例中的步骤S102,这里不再进行赘述。
其中,序列过零点的数量为至少两个;
周期分割模块102,包括:频率检测单元1023、异常确定单元1024、修正确定单元1025和修正分割单元1026;
频率检测单元1023,用于获取采样频率阈值,基于采样频率阈值依次对至少两个序列过零点中的相邻序列过零点之间的间隔频率进行检测;
异常确定单元1024,用于将检测到的至少两个序列过零点中所属的间隔频率小于采样频率阈值的相邻序列过零点,确定为异常序列过零点;
修正确定单元1025,用于在至少两个序列过零点中过滤异常序列过零点,得到修正序列过零点;
修正分割单元1026,用于基于修正序列过零点对平滑信号序列进行分割,得到序列周期。
其中,频率检测单元1023、异常确定单元1024、修正确定单元1025和修正分割单元1026的具体功能实现方式请参见图3对应的实施例中的步骤S102,这里不再进行赘述。
其中,运动评估模块103,包括:信息获取单元1031、特征类型确定单元1032和向量生成单元1033;
信息获取单元1031,用于获取运动评估标准表和针对目标用户的运动预测类型;运动评估标准表包括至少两种运动预测类型分别和对应的运动特征类型之间的关联关系;
特征类型确定单元1032,用于将运动评估标准表中与目标用户的运动预测类型具有关联关系的运动特征类型,确定为针对目标用户的检测特征类型;
向量生成单元1033,用于根据序列周期生成运动信号序列在检测特征类型下的信号特征参数,根据信号特征参数生成序列特征向量。
其中,信息获取单元1031、特征类型确定单元1032和向量生成单元1033的具体功能实现方式请参见图3对应的实施例中的步骤S103,这里不再进行赘述。
其中,检测特征类型的数量为至少两种;
向量生成单元1033,包括:周期信息获取子单元10331、特征参数确定子单元10332和特征拼接子单元10333;
周期信息获取子单元10331,用于获取序列周期的周期时长和周期幅度;
特征参数确定子单元10332,用于根据周期时长和周期幅度,确定运动信号序列在每种检测特征类型下的信号特征参数;
特征拼接子单元10333,用于对运动信号序列在每种检测特征类型下的信号特征参数进行拼接,得到序列特征向量。
其中,周期信息获取子单元10331、特征参数确定子单元10332和特征拼接子单元10333的具体功能实现方式请参见图3对应的实施例中的步骤S103,这里不再进行赘述。
其中,平衡位置获取模块101,包括:关键点确定单元1014、关键信息检测单元1015和第一序列生成单元1016;
关键点确定单元1014,用于获取针对目标用户的运动预测类型,根据运动预测类型确定针对目标用户的运动关键点;
关键信息检测单元1015,用于获取目标用户的运动视频数据,基于运动关键点在运动视频数据中检测目标用户的关键点运动信息;
第一序列生成单元1016,用于基于关键点运动信息生成目标用户的运动信号序列。
其中,关键点确定单元1014、关键信息检测单元1015和第一序列生成单元1016的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,平衡位置获取模块101,包括:传感器参数获取单元1017、运动特征确定单元1018和第二序列生成单元1019;
传感器参数获取单元1017,用于获取目标用户在运动过程中的传感器运动参数;
运动特征确定单元1018,用于根据传感器运动参数确定目标用户的运动特征参数;
第二序列生成单元1019,用于根据运动特征参数生成目标用户的运动信号序列。
其中,传感器参数获取单元1017、运动特征确定单元1018和第二序列生成单元1019的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,运动评估模块103,包括:特征输入单元1034和结果输出单元1035;
特征输入单元1034,用于将序列特征向量输入运动预测模型;运动预测模型基于样本运动信号序列的样本序列特征向量训练得到;
结果输出单元1035,用于在运动预测模型中输出针对目标用户的目标运动结果。
其中,特征输入单元1034和结果输出单元1035的具体功能实现方式请参见图3对应的实施例中的步骤S103,这里不再进行赘述。
其中,上述装置1还包括:样本位置获取模块104、样本周期分割模块105、样本特征生成模块106、样本结果输出模块107和参数修正模块108;
样本位置获取模块104,用于获取样本用户的样本运动信号序列和针对样本用户的实际运动结果,获取样本运动信号序列的样本序列平衡位置;
样本周期分割模块105,用于根据样本序列平衡位置确定样本运动信号序列的样本序列过零点,基于样本序列过零点对样本运动信号序列进行分割,得到样本运动信号序列的样本序列周期;
样本特征生成模块106,用于根据样本序列周期,生成样本运动信号序列的样本序列特征向量;
样本结果输出模块107,用于将样本序列特征向量和实际运动结果输入初始运动预测模型,在初始运动预测模型中输出针对样本运动信号序列的样本运动结果;
参数修正模块108,用于基于样本运动结果和实际运动结果,修正初始运动预测模型的模型参数,得到运动预测模型。
其中,样本位置获取模块104、样本周期分割模块105、样本特征生成模块106、样本结果输出模块107和参数修正模块108的具体功能实现方式请参见图8对应的实施例中的步骤S103,这里不再进行赘述。
本申请首先可以获取目标用户的运动信号序列,并获取运动信号序列的序列平衡位置;接着,可以根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期。进而,可以根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。由此可见,本申请提出的方法可以通过运动信号序列的序列平衡位置来对运动信号序列进行周期分割,由于该序列平衡位置可以对运动信号序列中的采样值进行均匀地分布划分,因此,通过该序列平衡位置可以实现对运动信号序列的周期的准确划分,进而可以通过准确划分得到的序列周期来生成序列特征向量,实现对目标用户的目标运动结果的准确预测。
请参见图11,图11是本申请提供的一种计算机设备的结构示意图。如图11所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取目标用户的运动信号序列,获取运动信号序列的序列平衡位置;
根据序列平衡位置确定运动信号序列的序列过零点,基于序列过零点对运动信号序列进行分割,得到运动信号序列的序列周期;
根据序列周期生成运动信号序列的序列特征向量,根据序列特征向量预测目标用户的目标运动结果。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图8所对应实施例中对该运动信号处理方法的描述,也可执行前文图10所对应实施例中对该运动信号处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的运动信号处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3和图8中任一个所对应实施例中对运动信号处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中一方面提供的方法。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种运动信号处理方法,其特征在于,包括:
获取目标用户的运动信号序列,获取所述运动信号序列的序列平衡位置;
根据所述序列平衡位置确定所述运动信号序列的序列过零点,基于所述序列过零点对所述运动信号序列进行分割,得到所述运动信号序列的序列周期;
根据所述序列周期生成所述运动信号序列的序列特征向量,根据所述序列特征向量预测所述目标用户的目标运动结果。
2.根据权利要求1所述的方法,其特征在于,所述获取所述运动信号序列的序列平衡位置,包括:
获取所述运动信号序列的平滑信号序列,检测所述平滑信号序列的序列极值;
根据所述序列极值确定所述运动信号序列的平衡线;
将所述平衡线的位置确定为所述序列平衡位置。
3.根据权利要求2所述的方法,其特征在于,所述获取所述运动信号序列的平滑信号序列,包括:
将处于时域空间的所述运动信号序列变换至频域空间,得到所述运动信号序列的频域运动信号;
获取用户运动频率阈值,基于所述用户运动频率阈值对所述频域运动信号进行过滤,得到所述频域运动信号的平滑运动信号;
将所述平滑运动信号变换至所述时域空间,得到所述运动信号序列的所述平滑信号序列。
4.根据权利要求2所述的方法,其特征在于,所述平滑信号序列包括至少两个采样点对应的采样值;其中,所述至少两个采样点包括采样点n-l、采样点n和采样点n+l,n为小于或等于所述至少两个采样点的总数量的正整数,l为所述采样点n-l和采样点n+l分别与所述采样点n之间的采样点间隔;所述序列极值包括序列极大值和序列极小值;
所述检测所述平滑信号序列的序列极值,包括:
获取所述至少两个采样点对应的差分矩阵;其中,l为小于或等于所述差分矩阵的总行数的正整数,所述差分矩阵的第l行包括由所述采样点n-l对应的采样差值与所述采样点n+l对应的采样差值共同映射的元素值,所述采样点n-l对应的采样差值是指采样点n-l对应的采样值与采样点n对应的采样值之间的差值,所述采样点n+l对应的采样差值是指采样点n+l对应的采样值与采样点n对应的采样值之间的差值;当所述采样点n-l对应的采样差值与所述采样点n+l对应的采样差值均小于差值分界值时,该元素值为第一元素值;当所述采样点n-l对应的采样差值与所述采样点n+l对应的采样差值均大于所述差值分界值时,该元素值为第二元素值;
统计所述差分矩阵中每行所包含的所述第一元素值的第一元素数量,将具有最多第一元素数量的行确定为目标行k1,统计所述差分矩阵中每行所包含的所述第二元素值的第二元素数量,将具有最多第二元素数量的行确定为目标行k2,k1和k2均为小于或等于所述差分矩阵的总行数的正整数;
当检测到所述差分矩阵的第n列中的第1个元素值到第k1个元素值均为所述第一元素值时,将所述采样点n对应的采样值确定为所述序列极大值,当检测到所述差分矩阵的第n列中的第1个元素值到第k2个元素值均为所述第二元素值时,将所述采样点n对应的采样值确定为所述序列极小值。
5.根据权利要求2所述的方法,其特征在于,所述序列极值包括序列极大值和序列极小值;
所述根据所述序列极值确定所述运动信号序列的平衡线,包括:
获取所述序列极大值的极大值中位数和所述序列极小值的极小值中位数;
根据所述极大值中位数和所述极小值中位数确定所述运动信号序列的所述平衡线。
6.根据权利要求2所述的方法,其特征在于,所述根据所述序列平衡位置确定所述运动信号序列的序列过零点,包括:
获取所述运动信号序列的所述平滑信号序列的运动信号波;
获取所述平衡线和所述运动信号波之间的交点,作为所述序列过零点。
7.根据权利要求6所述的方法,其特征在于,所述序列过零点的数量为至少两个;
所述基于所述序列过零点对所述运动信号序列进行分割,得到所述运动信号序列的序列周期,包括:
获取采样频率阈值,基于所述采样频率阈值依次对至少两个序列过零点中的相邻序列过零点之间的间隔频率进行检测;
将检测到的所述至少两个序列过零点中所属的间隔频率小于所述采样频率阈值的相邻序列过零点,确定为异常序列过零点;
在所述至少两个序列过零点中过滤所述异常序列过零点,得到修正序列过零点;
基于所述修正序列过零点对所述平滑信号序列进行分割,得到所述序列周期。
8.根据权利要求1所述的方法,其特征在于,所述根据所述序列周期生成所述运动信号序列的序列特征向量,包括:
获取运动评估标准表和针对所述目标用户的运动预测类型;所述运动评估标准表包括至少两种运动预测类型分别和对应的运动特征类型之间的关联关系;
将所述运动评估标准表中与所述目标用户的运动预测类型具有所述关联关系的运动特征类型,确定为针对所述目标用户的检测特征类型;
根据所述序列周期生成所述运动信号序列在所述检测特征类型下的信号特征参数,根据所述信号特征参数生成所述序列特征向量。
9.根据权利要求8所述的方法,其特征在于,所述检测特征类型的数量为至少两种;
所述根据所述序列周期生成所述运动信号序列在所述检测特征类型下的信号特征参数,根据所述信号特征参数生成所述序列特征向量,包括:
获取所述序列周期的周期时长和周期幅度;
根据所述周期时长和所述周期幅度,确定所述运动信号序列在每种检测特征类型下的所述信号特征参数;
对所述运动信号序列在所述每种检测特征类型下的所述信号特征参数进行拼接,得到所述序列特征向量。
10.根据权利要求1所述的方法,其特征在于,所述获取目标用户的运动信号序列,包括:
获取针对所述目标用户的运动预测类型,根据所述运动预测类型确定针对所述目标用户的运动关键点;
获取所述目标用户的运动视频数据,基于所述运动关键点在所述运动视频数据中检测所述目标用户的关键点运动信息;
基于所述关键点运动信息生成所述目标用户的所述运动信号序列。
11.根据权利要求1所述的方法,其特征在于,所述根据所述序列特征向量预测所述目标用户的目标运动结果,包括:
将所述序列特征向量输入运动预测模型;所述运动预测模型基于样本运动信号序列的样本序列特征向量训练得到;
在所述运动预测模型中输出针对所述目标用户的所述目标运动结果。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
获取样本用户的所述样本运动信号序列和针对所述样本用户的实际运动结果,获取所述样本运动信号序列的样本序列平衡位置;
根据所述样本序列平衡位置确定所述样本运动信号序列的样本序列过零点,基于所述样本序列过零点对所述样本运动信号序列进行分割,得到所述样本运动信号序列的样本序列周期;
根据所述样本序列周期,生成所述样本运动信号序列的所述样本序列特征向量;
将所述样本序列特征向量和所述实际运动结果输入初始运动预测模型,在所述初始运动预测模型中输出针对所述样本运动信号序列的样本运动结果;
基于所述样本运动结果和所述实际运动结果,修正所述初始运动预测模型的模型参数,得到所述运动预测模型。
13.一种运动信号处理装置,其特征在于,包括:
平衡位置获取模块,用于获取目标用户的运动信号序列,获取所述运动信号序列的序列平衡位置;
周期分割模块,用于根据所述序列平衡位置确定所述运动信号序列的序列过零点,基于所述序列过零点对所述运动信号序列进行分割,得到所述运动信号序列的序列周期;
运动评估模块,用于根据所述序列周期生成所述运动信号序列的序列特征向量,根据所述序列特征向量预测所述目标用户的目标运动结果。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110104111.7A CN113569606A (zh) | 2021-01-26 | 2021-01-26 | 运动信号处理方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110104111.7A CN113569606A (zh) | 2021-01-26 | 2021-01-26 | 运动信号处理方法、装置、计算机设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113569606A true CN113569606A (zh) | 2021-10-29 |
Family
ID=78160978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110104111.7A Pending CN113569606A (zh) | 2021-01-26 | 2021-01-26 | 运动信号处理方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113569606A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024040547A1 (zh) * | 2022-08-26 | 2024-02-29 | 深圳市韶音科技有限公司 | 一种运动监控系统、设备和方法 |
-
2021
- 2021-01-26 CN CN202110104111.7A patent/CN113569606A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024040547A1 (zh) * | 2022-08-26 | 2024-02-29 | 深圳市韶音科技有限公司 | 一种运动监控系统、设备和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111444828B (zh) | 一种模型训练的方法、目标检测的方法、装置及存储介质 | |
CN109685037B (zh) | 一种实时动作识别方法、装置及电子设备 | |
KR20200022739A (ko) | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 | |
CN110942006A (zh) | 运动姿态识别方法、运动姿态识别装置、终端设备及介质 | |
JP7191443B2 (ja) | 機械学習に基づくターゲットオブジェクト属性予測方法、関連機器及びコンピュータプログラム | |
CN108629326A (zh) | 目标体的动作行为识别方法及装置 | |
CN110333783B (zh) | 一种用于鲁棒肌电控制的无关手势处理方法及系统 | |
CN108319928A (zh) | 一种基于多目标微粒群算法优化的深度学习模型及应用 | |
CN112149602B (zh) | 动作计数方法、装置、电子设备及存储介质 | |
CN112541870A (zh) | 一种视频处理的方法、装置、可读存储介质和电子设备 | |
CN109817338A (zh) | 一种慢性病加重风险评估与告警系统 | |
CN111785366A (zh) | 患者治疗方案的确定方法、装置及计算机设备 | |
CN110119746A (zh) | 一种特征识别方法及装置、计算机可读存储介质 | |
CN114519401B (zh) | 一种图像分类方法及装置、电子设备、存储介质 | |
CN113569606A (zh) | 运动信号处理方法、装置、计算机设备和可读存储介质 | |
CN117137435B (zh) | 一种基于多模态信息融合的康复动作识别方法和系统 | |
Martišius et al. | Real-time training of voted perceptron for classification of EEG data | |
CN116186561A (zh) | 基于高维时序图网络的跑步姿势识别纠正方法及系统 | |
CN114638258A (zh) | 一种用于表面肌电信号手势识别的快速适配方法 | |
Jin | [Retracted] Dance‐Specific Action Recognition Method Based on Double‐Stream CNN in Complex Environment | |
Tsai et al. | Temporal-variation skeleton point correction algorithm for improved accuracy of human action recognition | |
Dao et al. | Smart lifelogging: recognizing human activities using PHASOR | |
CN118135460B (zh) | 基于机器学习的智慧工地安全监控方法及装置 | |
CN117975545B (zh) | 一种通讯模组调用系统及方法 | |
CN117058405B (zh) | 一种基于图像的情绪识别方法、系统、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40054511 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |