基于人体姿态识别的自重健身辅助教练系统、方法、终端
1.本发明属于健身训练信息处理技术领域,尤其涉及一种基于人体姿态识别的自重健身辅助教练系统、方法、终端。
背景技术:
2.目前,在线训练在2021全球健身趋势报告中显示排名第一位,自重训练排名第三位。中国健身起步较晚,但发展迅速,与全球领先水平仅半步之遥,今天全球火热的健身趋势基本上明天就能够在中国国民中普及盛行。通过全球健身趋势可以对未来五年中国的健身行业初窥门径:便捷的可穿戴健身设备和智能健身等运动科技将在大众日常健身中发挥越来越重要的作用,如何将人工智能运用于日常健身、如何快速高效的达到每日健身目标、如何实现懒人健身、如何智能识别健身者的身体状况和生活习性、健身需求并有效结合制定适宜的健身方案、如何提高智能科技在健身领域的应用水平等等都将是运动科技公司和传统健身企业需要思考的课题。健身不仅仅是年轻人的事情,关注全生命周期的健身,包括青少年、老人和儿童,这将是健身企业的潜在目标客户人群,老人和孩子的健身市场仍是一片蓝海。压力大、时间少,身体健康很重要,健身运动不得不做,短平快的健身技术研发,全球人民都需要。
3.自重训练就是通过对抗自己的体重,从而达到刺激肌肉进而塑形增肌的目的。当然如果人们愿意,甚至可以说是达到减肥、增强体能的目的。自重训练,可以在室内也可以在户外,一个俯卧撑和仰卧起坐是一个自重训练,一个高难度的俄挺或前水平,也属于自重训练。与重量训练的各种“标准动作”相比,自重训练的变化多种多样,而且并不会定死一条规则。自重训练同样可以突破时间和地理的限制,灵活安排训练。进行重量训练,往往都要去健身房。而对于自重训练者来说,家就是最佳的训练场所,同时自重训练侧重平衡和身体的灵活性。从健身房里面练出来的肌肉,往往被人打上“死肌肉”的标签,意思是中看不中用。但这些“死肌肉”,这是为有志于参加各种比赛而准备的。自重训练者肌肉被认为是更具灵活性,肌肉的韧性和平衡得到极大的加强。
4.视觉是人类感知世界的主要途径之一,动作识别已成为计算机视觉领域不可或缺的重要组成部分,它将使计算机能够观察世界,自动识别和分析人类活动并做出决策。然而,对于人的姿态估计与动作识别面临着诸多挑战,比如场景复杂多变,光照条件不恒定,人体自遮挡以及动作语义的不确定性等,这导致姿态识别和动作分析的方法多而分散。
5.最早对于人的动作分析普遍认为是心理学家在上世纪七十年代开展的移动光照显示器(mld)实验,通过固定在人的关节处的亮点的运动信息判断动作,打开了基于视觉的人体动作分析的大门,此后,运动识别与分析进入逐步发展阶段。纵观五十年的发展历程,动作分析的发明经历了从无到有,从简单到复杂,取得了显著的进步,对推动计算机视觉、机器学习等学科的发展做出了卓越贡献。
6.自重训练往往缺乏专业的指导,很多初入门者甚至只是盲目的模仿高级训练者的图片或视频,自身的动作往往不标准,导致影响训练效果,达不到训练目标,比较典型的就
是各种协同肌代偿。更有甚者会造成运动损伤,多次错误动作逐渐积累也可能导致伤病。在健身动作中都有一个标准的动作体系,这些动作标准,都是针对与动作本身所锻炼的身体部位,具有规避不必要的锻炼损伤和提高健身效率的作用。
7.在传统的健身训练中,通常采用基于肉眼观察的训练方法。而早期的人体动作识别都需要借助外接设备的辅助,非常不方便,在便携性方面对使用者有很多约束,也存在忘记穿戴或运动损坏的情况。而且不同的健身者在做同一个健身动作时,受到生活习惯,身体的姿态等各种因素的影响,导致健身动作的类内差异较大,动作类别难以定义。随着深度学习的发展,计算机可以仅通过摄像头等设备就能够感知人体动作,也出现了很多手势识别,姿势识别方面的发明,在智能视频监控、高级人机交互等领域得以应用。
8.通过上述分析,现有技术存在的问题及缺陷为:
9.(1)现有技术中,自重训练往往缺乏专业的指导,很多初入门者甚至只是盲目地模仿高级训练者的图片或视频,自身的动作往往不标准,导致影响训练效果,达不到训练目标,比较典型的问题就是各种协同肌代偿。更有甚者会造成运动损伤,多次错误动作逐渐积累也可能导致伤病。
10.(2)现有技术健身效率低。
11.解决以上问题及缺陷的意义为:
12.本发明以健身者居家自重健身为背景,构建了基于openpose的自重健身辅助教练系统。该系统涉及到彩色图像和深度图像生成3d点云,通过彩色信息进行人体关键点的识别,在3d点云中获取相应的深度信息,生成3d点云的骨架图并得到健身者的实时运动姿态。通过intelrealsensed435摄像头实时地获取自重健身者的健身动态视频,通过openpose对其进行初步的推理和计算相应的人体二维关键点坐标,再利用人体关节角度和关节点之间的距离等因素计算运动的特征,输入分类器得到分类结果。比对预先采集好的健身动作特征,从物理学,运动学等角度衡量健身动作是否标准,提出哪些地方需要改进,给予简单易懂的健身指导。相对于穿戴式传感器检测姿态而言,本系统不用与健身者直接接触,更加方便运动。
技术实现要素:
13.为克服相关技术中存在的问题,本发明公开实施例提供了一种基于人体姿态识别的自重健身辅助教练系统、方法、终端。
14.本发明目的在于提供一种基于人体姿态识别的自重健身辅助教练系统及方法,进行以下步骤:
15.健身者的姿态检测需要在一定的空间范围内准确地识别并还原人的3d骨架图到3d点云中,对检测的算法有一定的精度要求。在尝试了多种模型后,选用openpose姿态识别网络来获取视频帧中人体的二维骨架关节点坐标,单独处理相机深度流中的深度信息,对齐彩色帧后由关节点坐标求得各关键点的深度值,进行3d骨架化的构建。
16.运动特征的提取:针对健身动作中各个动作要求的重点选取动作规范的特征,如关节角度,肢体朝向,运动幅度等,在多次选取和测试后,最终选取了15个空间距离比例和15个空间向量的余弦相似度作为特征。
17.在建立骨架图和运动特征值的基础上,训练自定义动作的姿态识别模型。利用骨
架图可以训练卷积神经网络动作识别模型,将分类好的特征写好标签则可以通过全连接神经网络训练得到动作识别模型。
18.数据集的采集,标注和处理:本发明在训练动作识别模型时的数据集是在实验室模拟居家环境使用学生的运动姿态采集的,通过多名同学的多组健身动作的特征采集,自动写入动作类型的标签,再经过人工的筛选去除不可用数据制作了本次动作识别的数据集,将健身者的姿态分为了多组日常动作和健身动作,分别为走,站,停止动作,俯卧撑,侧向开合,四点支撑,深蹲,箭步蹲。
19.所述技术方案如下:一种基于人体姿态识别的自重健身辅助教练方法,包括:
20.步骤一,利用摄像头对健身者的动作进行捕捉和记录;选用openpose姿态识别网络获取视频帧中人体的二维骨架关节点坐标,单独处理相机深度流中的深度信息,对齐彩色帧后由关节点坐标求得各关键点的深度值,进行3d骨架化的构建;
21.步骤二,在健身训练时,从运动帧序列中检测健身者的动作;
22.步骤三,通过提取健身动作的运动幅度,关节角度特征识别健身者的动作类别;
23.步骤四,对健身者动作类别的运动标准进行标注和数据处理。
24.在发明一实施例中,所述步骤一利用摄像头对健身者的动作进行捕捉和记录具体包括:
25.(1)获取相机参数矩阵:
[0026][0027]
(2)人体三维骨骼关节点的获取与连接:
[0028]
将构建好的openpose姿态识别网络的动态库和姿态检测模型导入,调用api接口获取d435镜头中彩色图像帧获得人体二维关键点坐标;这是一幅站立openpose姿态识别网络识别出25个二维关键点的坐标,依照人体关节连接顺序连接各个关键点得到二维的骨架图;
[0029]
获取二维关键点坐标后,根据二维关键点像素坐标在对应的已对齐的深度帧中依次获取各关键点的深度信息,再加上相机的参数矩阵,将人体二维关键点的数据转换相机坐标系下的三维坐标;对关键点三维坐标进行绘图和肢体连接,得到的人体三维骨架图。
[0030]
在发明一实施例中,所述将人体二维关键点的数据转换相机坐标系下的三维坐标包括:
[0031]
像素坐标系转世界坐标系,通过使用形成相应像素p的透视变换将场景的3d点p
w
投影到图像平面中来获得场景的视图;p
w
和p都用齐次坐标表示,分别表示3d和2d齐次向量;针孔相机模型给出的无畸变投影变换公式如下所示:
[0032]
sp=a[r∣t]p
w
;
[0033]
其中p
w
是相对于世界坐标系表示的3d点,p是图像平面中的2d像素,a是相机固有参数矩阵,r和t是描述坐标从世界到相机坐标系(或相机帧)变化的旋转和平移,s是投影变换的任意缩放;从像素坐标系转换到相机坐标系需要使用相机的内参变换;见下式:
[0034][0035]
在发明一实施例中,所述步骤二从运动帧序列中检测健身者的动作包括:
[0036]
通过滑动均值滤波或卡尔曼滤波对关键点三维坐标进行处理获得更精确的关键点数据,对人体三维关键点建立3d骨架可视化,并提取人体运动特征后构建数据集;最终选取15个空间距离比例和15个空间向量的余弦相似度作为特征值。
[0037]
在发明一实施例中,所述步骤三识别健身者的动作类别包括:
[0038]
在步骤一构建的3d骨架化的骨架图和步骤二选出的运动特征值的基础上,训练自定义动作的姿态识别模型;利用骨架图训练卷积神经网络动作识别模型,将分类好的运动特征值写好标签则通过全连接神经网络训练得到动作识别模型。
[0039]
在发明一实施例中,所述步骤四对健身者动作类别的运动标准进行标注和数据处理包括:
[0040]
采集运动姿态数据集,通过多组健身动作的特征采集,自动写入动作类型的标签,再经过人工的筛选去除不可用数据制作动作识别的数据集;并对动作识别的数据集进行预测和评估。
[0041]
在发明一实施例中,所述步骤四对健身者动作类别的运动标准进行标注和数据处理进一步包括:
[0042]
在获得健身者的实时健身数据的同时获得该健身运动的分类标签,将健身者的实时运动帧序列与该标准动作的关键帧序列输入到程序中,进行基于dtw算法计算序列之间的相似度距离,将实时获取的动作帧与标准动作关键帧对齐后,比较特征向量的余弦相似度实现动作的评价;
[0043]
整个序列动作如下公式矩阵的数据集:
[0044][0045]
所述dtw算法进行帧对齐的流程包括:
[0046]
(1)输入实时帧序列f和标准动作帧序列h;
[0047]
(2)计算f中每一个元素和h中每一个元素的距离,距离计算方法为所有特征向量的比例总和,构造一个n*m的距离矩阵,f
i
,h
j
分别为f和h中的任意元素,公式如下:
[0048]
matrix=(d(f
i
,h
j
),i∈[1,m],j∈[1,n];
[0049]
(3)基于距离矩阵matrix,采用局部最优解的方法找到一条代价最小的规划路径w,k为路径的长度,路径代价公式见如下公式:
[0050][0051]
此时公式中w
k
=(f
i
,h
j
)为路径上的第k个元素,且(f
i
,h
j
)为matrix矩阵中第i行和第j列的元素(i,j)值;
[0052]
(4)计算以匹配好的实时帧和标准动作帧的特征向量的差异,选取动作关键关节角度为评价标准,比较实时帧和标准动作帧的关节角度余弦相似度的差异给出动作评价。
[0053]
根据本发明公开实施例的第二方面,提供一种基于人体姿态识别的自重健身辅助教练包括:
[0054]
人体骨架化模块,用于通过摄像头实时采集彩色帧序列和深度帧序列,在openpose网络中得到关键点2d坐标,结合深度帧建立人体关键点的3d坐标,将像素坐标系
转化为相机坐标系后实现动态展示;
[0055]
动作识别模块,用于使用相机采集多组健身数据,进行数据的初步处理,加工和整合,进行数据存储;读取采集的数据并搭建数据集,通过两种网络分别训练数据,分别为全连接神经网络和卷积神经网络,得到动作分类模型;实时检测健身姿态计算空间人体特征距离比例和空间特征向量的余弦相似度,输入分类器得到动作的分类结果。
[0056]
动作评估模块,用于将计算得到的健身者的健身姿态特征值输入dtw算法进行帧匹配,计算动作的偏差情况并给予动作矫正建议;
[0057]
ui界面,用于实时训练展示、教学视频展示。
[0058]
根据本发明公开实施例的第三方面,提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行所述基于人体姿态识别的自重健身辅助教练方法。
[0059]
根据本发明公开实施例的第四方面,提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于人体姿态识别的自重健身辅助教练方法。
[0060]
本发明公开的实施例提供的技术方案可以包括以下有益效果:
[0061]
本发明旨在利用摄像头对健身者的动作进行捕捉和记录,在健身训练时,从运动帧序列中检测健身者的动作,通过提取健身动作的运动幅度,关节角度等特征识别健身者的动作类别,进行健身者运动标准地评估和矫正,辅助健身者训练,以此摆脱居家自重健身只依靠经验的状态,带给健身者方便专业的健身指导,规避不必要的锻炼损伤和提高健身效率。
[0062]
本发明致力于姿态识别技术在自重健身领域的应用,对镜头中的运动人体进行检测和跟踪,从图像帧序列中推测健身者的动作,从而在一定意义上实现达到分析运动姿态、提供训练建议的目的,克服传统健身中通过基于肉眼观察的训练方法,实现基于人体运动特征的分析方法。该自重健身辅助教练系统的发明具有重要的科研价值和潜在的巨大商业价值。
[0063]
本发明提供的系统目前在windows平台和树莓派rasbian双端实现,windows平台帧率可达10,树莓派依赖nsc2加速可达2.7fps。
[0064]
当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明公开。
附图说明
[0065]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0066]
图1是本发明实施例提供的基于人体姿态识别的自重健身辅助教练方法流程图。
[0067]
图2是本发明实施例提供的基于人体姿态识别的自重健身辅助教练系统示意图。
[0068]
图中:1、人体骨架化模块;2、动作识别模块;3、动作评估模块;4、ui界面。
[0069]
图3是本发明实施例提供的基于人体姿态识别的自重健身辅助教练系统原理图。
[0070]
图4是本发明实施例提供的基于人体姿态识别的自重健身辅助教练方法原理图。
[0071]
图5是本发明实施例提供的相机标定简单步骤图。
[0072]
图6是本发明实施例提供的人体二维关键点坐标图。
[0073]
图7是本发明实施例提供的人体三维骨架图图。
[0074]
图8是本发明实施例提供的坐标系转换过程示意图。
[0075]
图9是本发明实施例提供的滑动滤波原理图。
[0076]
图10是本发明实施例提供的卡尔曼滤波进行修正原理图.
[0077]
图11是本发明实施例提供的数据采集流程图。
[0078]
图12是本发明实施例提供的全连接神经网络结构图。
[0079]
图13是本发明实施例提供的卷积神经网络结构图。
[0080]
图14是本发明实施例提供的cnn训练结果图.
[0081]
图15是本发明实施例提供的健身动作识别网络训练阶段流程图。
具体实施方式
[0082]
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0083]
1.如图1所示,本发明公开实施例所提供的基于人体姿态识别的自重健身辅助教练方法包括:
[0084]
s101,利用摄像头对健身者的动作进行捕捉和记录;
[0085]
s102,在健身训练时,从运动帧序列中检测健身者的动作;
[0086]
s103,通过提取健身动作的运动幅度,关节角度等特征识别健身者的动作类别,进行健身者运动标准地评估和矫正,辅助健身者训练。
[0087]
2.下面结合需求分析及系统总体发明对本发明的技术方案作进一步描述。
[0088]
2.1系统需求分析
[0089]
2.1.1系统功能需求
[0090]
本发明需要搭建一个可以识别自重健身者在家中健身的姿态并给予指导的系统,整个系统涉及到的功能包括构建点云渲染器,建立3d骨架图,数据采集与标注,全连接神经网络和卷积神经网络的训练以及可视化呈现,每个功能详细的需求说明如下:
[0091]
(1)点云渲染器:对intelrealsensed435相机进行标定和内参读取,将相机实时捕获的彩色帧和深度帧对齐,使用opencv和numpy制作点云渲染器,过滤无效深度后绘制三维坐标轴和平面栅格,建立相机坐标系,用painter算法绘制点云,从后到前排序点,在视图空间中获取按深度值反向排序的索引,忽略越界索引后将点映射到点云中。
[0092]
(2)建立3d骨架图:搭建openpose环境,通过预训练的body_25模型对彩色流进行关键点检测,获取各个关键点的坐标值和置信度以及heatmap。提取2d关键点坐标,捕获关键点的深度信息,生成人体3d关键点坐标,分帧保存后制作关键点的序列帧csv文件并进行滑动均值滤波处理,将像素坐标系转化为相机坐标系,实现火柴人模型的动态展示。
[0093]
(3)数据采集与标注:制作数据采集界面,实时处理捕获人体骨架图,检测人体3d坐标,提取人体健身运动特征距离和特征角度,保存运动特征并写入标签,制作训练集。
[0094]
(4)神经网络模型的训练:根据提取的30个健身运动特征构建全连接神经网络模型,根据生成的骨架图构建卷积神经网络模型,对实时健身动作姿态实现动作分类识别。
[0095]
(5)可视化呈现:构建pyqt界面,实时显示姿态估计图,根据健身者的运动姿态播放实时的动作视频指导,比对健身者健身姿势与标准姿势的差异,给出相应的指导意见。
[0096]
2.1.2系统非功能需求
[0097]
本系统的非功能需求有:系统的性能需求、易用性需求、可扩展性需求、正确性需求,健壮性需求等。针对各个非功能需求,具体描述如下。
[0098]
(1)测试环境:
[0099]
如表1所示,测试环境详细介绍如下。
[0100]
表1系统测试环境
[0101][0102]
(2)性能需求:可以快速地识别健身者的姿态,对于健身动作的视频指导能做到快速反馈,对于终止训练的指令能快速响应,对于健身动作的评价和纠正能快速分析,整个系统无卡顿现象。
[0103]
(3)易用性需求:界面友好,用户能轻易上手,标题和图标含义明确,健身者能够便捷操作系统,健身的动作评估信息简洁易懂,系统使用者可快速上手。
[0104]
(4)可扩展性需求:可识别的健身动作方便扩展,模型训练开销小,系统的接口和功能容易扩展。
[0105]
(5)正确性需求:全连接神经网络训练的动作识别模型正确率在90%以上,基于dtw的动作匹配评估正确率在80%左右,整个系统具备现实使用价值。
[0106]
(6)可移植性需求:该系统在windows平台进行开发和测试,最终成功移植到树莓派rasbian上,并能正确运行和返回结果。
[0107]
2.2系统总体发明
[0108]
2.2.1系统功能模块
[0109]
如图2所示,基于人体姿态识别的自重健身辅助教练系统包括四个模块,分别为人体骨架化模块1,动作识别模块2,动作评估模块3以及ui界面4。
[0110]
如图3所示,基于人体姿态识别的自重健身辅助教练系统原理图。
[0111]
人体骨架化模块1:通过摄像头实时采集彩色帧序列和深度帧序列,在openpose网络中得到关键点2d坐标,结合深度帧建立人体关键点的3d坐标,将像素坐标系转化为相机坐标系后实现动态展示。
[0112]
动作识别模块2:主要使用intelrealsensed435相机采集多组健身数据,进行数据的初步处理,加工和整合,进行数据存储。读取采集的数据并搭建数据集,通过两种网络分别训练数据,分别为全连接神经网络和卷积神经网络,得到动作分类模型。实时检测健身姿态计算空间人体特征距离比例和空间特征向量的余弦相似度,输入分类器得到动作的分类结果。
[0113]
动作评估模块3:将计算得到的健身者的健身姿态特征值输入dtw算法进行帧匹配,计算动作的偏差情况并给予动作矫正建议。
[0114]
ui界面4,用于实时训练展示、教学视频展示。
[0115]
2.2.2系统流程
[0116]
整个系统的流程如图4所示,首先要读取并载入相机参数,获取并初步处理d435相机采集到的彩色图像和深度图像,通过openpose模型获取人体二维关键点坐标并结合深度信息,实现人体三维骨架图的建立,从三维关键点坐标中发明提取运动特征。将运动特征输入分类器,判断当前健身动作的类型,如果该动作为停止动作,则判断健身状态中断正在进行的健身并执行动作评估,若该动作为健身动作则在判断状态后进行相应动作的健身指导。
[0117]
3.下面结合动作三维姿态获取对本发明的技术方案作进一步描述。
[0118]
3.1相机的标定
[0119]
首先对相机是否校准进行评估,手持或平放d435摄像头将其对准平面,例如1米外的白色墙壁,注意不能选择黑色表面。观察intelrealsenseviewer的深度图像显示,肉眼可见有很多黑点,这说明相机未校准。
[0120]
动态校准是优化外部参数,也就是说,它们是指在用户环境中进行的现场校准,用户干预最少或不干预。它们只是相机图像相对于主轴系统(左右之间的轴)的外部参数(平移和旋转)。畸变、视场、主点等固有参数没有进行动态标定。动态校准是在假定深度摄像机在工厂校准后重新校准,或至少已知标称参数的情况下进行的。rgb参数仅适用于带有rgb颜色传感器的深度相机,例如本次实验所使用的d435深度相机。
[0121]
intel提供了两种标定的方法:
[0122]
(1)整流校准:对准对极线以使深度管线正确工作并减少深度图像中的孔。
[0123]
(2)深度刻度校准:由于光学元件位置的变化而对准深度框。
[0124]
本发明选择第二种,动态校准器仅支持目标校准,本发明在这里使用目标校准,因为它支持校正和深度刻度校准,并且比无目标校准中仅进行校正的校准将提供更准确的结果。在目标模式下,动态校准api支持深度刻度校准,需要一个目标。目标是预定义的,可以通过手机应用程序在智能手机上显示。相机标定简单步骤如图5所示。
[0125]
在打印好原尺寸的标定目标后,从镜头实时地获取图像并检测目标,重复移动目标使其覆盖大部分的图像以校准刻度,再拍摄15张照片校准rgb摄像机即可完成矫正。
[0126]
3.2图像的获取
[0127]
实验用的深度图像和彩色图像是通过intelrealsensed435摄像头获得,该摄像头在各种光线条件下表现出色,并且可以拍摄距离10米内的物体,可以满足实验硬件要求。由于本次实验主要针对健身者的日常自重健身姿态的捕获,所以在实验室模拟居家环境采集了三名同学的健身姿态。
[0128]
在配置好的流式传输管道中分别以z16和bgr8格式来获取彩色流和深度流,开始流式传输后需创建对齐对象,执行深度帧和彩色帧的对齐,在流式循环中按帧读取数据,因为深度图是由float16格式读取,所以要对深度帧着色处理可以直观了解深度信息采集结果。
[0129]
经过单一变量法对不同通道,不同分辨率和不同设定帧率等条件的测试,相机内参与设定帧率、通道类型无关,只与分辨率和相机本身有关,获取的相机参数如下矩阵所示。
[0130][0131]
在得到彩色图和深度图后,配准过程中选用的是彩色图的坐标系,所以在合成点云时也要选用彩色图的相机参数。在点云中要显示三维加色彩的点云坐标,每个点包含了x,y,z,rgb四个参数,这样可以直接在点云中由关键点的二维坐标获取关键点的3d坐标和颜色信息。
[0132]
3.3人体三维骨骼关节点的获取与连接
[0133]
3.3.1三维关键点的获取
[0134]
在众多人体姿态识别方法中基于深度学习的人体姿态识别算法深受欢迎,但普遍的基于卷积神经网络的实时性较差,为了保证系统低延迟,本此发明选用openpose来获取人体运动关节二维关键点信息,因为在保证高实时性的同时也能保持高精度。在构建好环境之后,分别调用检测身体的三个关键点模型,对比发现,body_25模型检测速度快,识别准确率高,是选择获取二维关键点坐标模型的不二之选。
[0135]
将构建好的openpose项目的动态库和姿态检测模型导入工程,调用api接口获取d435镜头中彩色图像帧即可获得人体二维关键点坐标如图6所示,这是一幅站立姿态下采集的二维骨架图。openpose识别出来25个二维关键点的坐标,关键点对应如图3
‑
6所示,其中头部的关键点包括鼻子,眼睛和耳朵(0,15,16,17,18),手臂关键点包括(2,3,4,5,6,7),腿部关键点包括(8,9,10,11,12,13,14),足部关键点包括(11,14,19,20,21,22,23,24),依照人体关节连接顺序连接好各个关键点便可以得到二维的骨架图。
[0136]
获取人体二维关键点坐标后,根据二维关键点像素坐标在对应的已对齐的深度帧中依次获取各关键点的深度信息,再加上相机的内参矩阵,可以将人体二维关键点的数据转为相机坐标系下的三维坐标,更能显示一个人的真实姿态。对关键点三维坐标进行绘图和肢体连接,得到的人体三维骨架图如图7所示。
[0137]
3.3.2坐标系的转换
[0138]
像素坐标系转世界坐标系,通过使用形成相应像素p的透视变换将场景的3d点p
w
投影到图像平面中来获得场景的视图。p
w
和p都用齐次坐标表示,即分别表示3d和2d齐次向量。针孔相机模型给出的无畸变投影变换公式如(3
‑
1)所示:
[0139]
sp=a[r∣t]p
w
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3
‑
1)
[0140]
其中p
w
是相对于世界坐标系表示的3d点,p是图像平面中的2d像素,a是相机固有参数矩阵,r和t是描述坐标从世界到相机坐标系(或相机帧)变化的旋转和平移,s是投影变换的任意缩放,而不是相机模型的一部分。从像素坐标系转换到相机坐标系需要使用相机的内参变换。见式(3
‑
2):
[0141][0142]
转换过程示意图如图8所示.
[0143]
3.3.3滑动均值滤波和卡尔曼滤波
[0144]
由于健身动作的识别是从获取的视频中提取运动的特征,在动作帧序列间存在时空的约束,连续帧之间彼此影响,在进行动作识别时,openpose提取算法会有误差,例如没有检测到耳朵或将手部识别为手肘等问题,利用帧序列间的时空约束,可以对人体关节的位置进行修正,这里采用滑动均值滤波和卡尔曼滤波状态估计法。滑动均值滤波是采用时间窗的方式对采取的临近帧进行滑动均值处理,而卡尔曼滤波通过观测值和预测值不断地对卡尔曼方程进行调整,消除噪声。以站立不动状态下人体中臀关键点在像素坐标系下x值随时间的变化为例,在openpose的观测值、卡尔曼滤波的预测值、滑动均值滤波的预测值中,滑动均值滤波修正了数据的异常波动,可对异常值进行临近帧的均值处理,处理的精度受fps和滑动的窗口数影响。卡尔曼滤波的预测值在前200帧并不可信,随着帧数的增加,预测值逐渐平稳并在准确值方面优于均值滤波的处理结果。
[0145]
滑动均值滤波在缓冲区按顺序存放4条人体三维关键点数据,每次有新的关键点数据进来则弹出最早进入的关键点数据,之后计算队列中的数据的平均值,这样每当采集到一帧新的关键点数据就可以计算出一个新的修正值,相较于卡尔曼滤波处理速度更快。滑动均值滤波的关键是每当有新的一组三维关键点数据进入,就移动一次数据块计算新一组数据的平均值,其原理如图9所示。
[0146]
卡尔曼滤波应用很广,在处理很多的问题时表现较优,是效率很高的滤波器,其主要包括预测和更新两步。关键在根据当前的三维关键点坐标的测量值和上一帧的预测值和误差,求得当前时刻的最优值,再预测下一刻的关键点坐标。在不确定实时运动信息的动态系统中使用卡尔曼滤波是非常理想的,即便伴随着各种干扰,卡尔曼滤波也可以对系统的下一刻走向做出良好的预测。卡尔曼滤波对本系统进行修正原理如图10。
[0147]
其中系统状态为三维关键点的坐标以及各关键点的运动速度,h为观测矩阵,q为状态变化的不确定性,x表示系统的最优估计值,p为系统的协方差,r为测试过程中的不确定性,k表示卡尔曼滤波增益,i为单位矩阵。
[0148]
(1)卡尔曼滤波由k
‑
1时刻对k时刻状态进行估计,见式(3
‑
3)。其中为k时刻的预测值,x
k
‑1为k
‑
1时刻的最优估计值。
[0149][0150]
其中f为状态转移矩阵,设为:
[0151][0152]
(2)得到后,需要更新协方差,公式如下:
[0153][0154]
(3)综合系统的观测值z
k
和求得的预测值求解当前帧三维关键点位置的最优估计值x
k
公式如下:
[0155][0156]
(4)求解卡尔曼滤波增益公式如下:
[0157][0158]
(5)求解误差协方差公式如下:
[0159][0160]
3.3.4健身动作3d骨架可视化
[0161]
搭建openpose环境,通过预训练的body_25模型对彩色流进行关键点检测,每读取一帧便向姿态检测模型输入一帧,接收其返回值,可以得到人体各个关键点的坐标值等信息,将像素坐标系下的2d关键点坐标提取出来,找到对齐的深度图像中并获取各个关键点的深度信息,恢复人体3d关键点坐标并保存骨架序列帧,分帧保存后制作关键点的序列帧csv文件并进行均值滤波处理,将像素坐标系下的关键点信息转化为相机坐标系,并将关键点相连恢复肢体,实现火柴人模型的动态展示。
[0162]
3.4特征向量的发明和计算
[0163]
在健身动作识别之前,为了简化网络结构,方便快速精准地识别健身动作,先进行特征提取就变得至关重要。目前已完成8个动作数据的采集,包括站立、走路2个日常动作和深蹲、俯卧撑、箭步蹲、四点支撑、侧向开合5个自重健身动作以及1个停止的标志动作。特征提取的关键就在于从含有大量无关信息的图像或帧序列中挑选特征性强,易于区分的信息来描述健身动作。在选取健身特征时要做到来自同一个健身动作的不同样本的特征要相像,而不同类别健身动作的样本特征就要差别尽量大。健身动作特征选取如表2所示。
[0164]
表2健身动作特征选取
[0165]
[0166][0167]
特征选择的标准好,后续分类和评估的工作就可以简化优化。在多次测试和修正后,最终选定了30个特征向量作为健身动作分类器的输入特征,选取空间关键点的距离和脊柱的长度比例作为距离特征,其在不同健身动作中差异很大,易于区分鉴别,比如双手之间的距离比例,在站立、侧向开合运动和深蹲中的有明显区别。
[0168]
在用d435镜头采集健身数据时,保存骨架图和运动特征的同时也写入了健身动作的类别标签,方便在模型的训练阶段快速完成数据集的准备。
[0169]
每一个特征距离由两个空间关键点的欧式距离除以脖子到中臀的欧式距离来作为特征,尽可能地消除行为人距离镜头的距离和体态差异的影响。关键点角度的特征选取是观察健身动作中较为频繁且有明显变化的角度,先计算三个关键点产生的两个空间向量,再用两个向量的余弦相似度作为运动特征。空间距离和角度共30个特征作为自重健身动作识别和评估的关键,选取很重要,本发明选取的30个特征经过多次测试和反复验证最
终确定。
[0170]
3.5数据采集
[0171]
优质的数据集对于模型的训练至关重要,健身者自重健身姿态三维关键点数据集的构建,是进行后续发明的基础,对于实现系统动作识别和动作评估有重要意义。在经过多次采集,共构建了800多帧健身者的姿态数据,其中骨架图和提取的运动特征是一一对应的关系。
[0172]
数据集的构建由骨架图数据集和运动特征数据集两部分组成,搭建数据采集界面方便逐帧的采集数据,自动保存标签和数据之后由骨架图人工进行筛选过滤掉未能准确识别出人体运动姿态的数据。制作好的骨架图数据集。
[0173]
数据采集过程包括彩色和深度图像的获取,图像的初步处理和三维关键点的获取,健身动作特征的提取和数据集的建立等,其步骤可见图11。
[0174]
大批次采集数据,写入数据的标签和人工筛选是非常耗费人力和时间的,为了简化大规模数据采集的流程,方便随时补充数据,制作一个健身动作数据采集系统就显得尤为重要。
[0175]
该系统共有三个画面窗口,分别显示d435相机捕获的彩色帧序列,人体二维关键点骨架图和保存的rgb背景图片,采集图片的同时也计算人体三维关键点坐标,进行特征提取后将特征和标签一同写入训练集文件中。
[0176]
本发明描述了系统是如何获得和处理数据的。首先通过深度刻度校准实现深度相机的标定,以提高镜头采集数据的精度。其次分析了系统如何获取彩色图像和深度图像,图片经过处理后传入openpose网络得到人体二维关键点坐标,结合深度信息形成人体三维关键点数据,通过滑动均值滤波或卡尔曼滤波对数据进行处理以获得更精确的关键点数据,对人体三维关键点建立3d骨架可视化,发明并提取人体运动特征后构建数据集。
[0177]
4.下面结合动作识别分类器的发明与实现对本发明的技术方案作进一步描述。
[0178]
4.1基于全连接神经网络的动作识别
[0179]
本发明共有四层神经网络,输入层为30个运动特征向量,第一层隐藏层一共发明了200个神经元,第二层隐藏层是300个神经元,第三层隐藏层是100个神经元,输出维度是24。其结构如图12。
[0180]
全连接神经网络中选取的激活函数为relu函数,见下式(4
‑
1):
[0181]
f(x)=max(0,x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4
‑
1)
[0182]
激活函数是一种信息处理手段,又称非线性函数,常见的激活函数有s型生长曲线,双曲正切函数和修正线性单元等等。激活函数可以增加神经网络的非线性,选择修正线性单元的原因是其可以在随机梯度下降中快速收敛,当输入大于0时其导数始终等于1,在保持低计算复杂度的同时有效减少了梯度消失的问题。损失函数则选择基于归一化指数函数的交叉熵函数,本质上是对有限个离散概率分布的梯度对数归一化,其在多分类问题中被广泛应用,表达式如下式(4
‑
2):
[0183][0184]
本发明使用的优化器是adam,adam于2014年末被提出,它结合了adagrad和
rmsprop两种优化算法的优点,也做了一些自己的创新,对梯度的均值和方差进行综合考虑,计算出更新步长。adam易于实现,节约计算资源,并且超参数几乎无需调整,在很多情况下工作表现优秀。
[0185]
4.2基于卷积神经网络的动作识别
[0186]
本发明的目的是识别健身者当前进行的健身动作的类别,为后续动作评估做准备。卷积神经网络主要应用于图像处理,本发明中数据采集时保存的二维动作骨架图可以看成含有三个颜色通道的二维矩阵,在此卷积的主要功能是给骨架图上滑动一个卷积核,通过计算后得到一组新的特征。因为训练集的骨架图在采集时都处理成尺寸相同的图片,在此不需要再次处理就可以输入网络,健身动作的骨架图会被切割成众多局部特征,其结构如图13所示.
[0187]
本发明通过从深度相机的彩色帧序列中识别出健身者的二维关键点坐标,将坐标相连接为骨骼形成健身动作骨架图,若是选用全连接神经网络训练骨架图的话,输入层神经元总数会非常多,权重函数也过于多,会导致训练效率较低。
[0188]
准备好骨架图数据集后,需要对训练方式进行设置,本发明选择以批次为2,每次迭代的批次样本顺序随机变动,迭代次数为4进行训练。
[0189]
在训练cnn网络动作识别模型之前,有必要介绍一下卷积核函数。卷积核就是一个权值矩阵,它有很多种,比较常见的有identity,edgedetection,sharpen,boxblur,gaussianblur等,在第一层卷积层上,我们选用一个3*3的卷积核在像素大小为480*640图像上移动窗口,每次都将窗口与卷积核进行卷积运算,并将所得值依次填入新矩阵中,这个新矩阵就是特征图,用来判断原始图中对应位置与卷积核的匹配度。从左到右,从上到下移动窗口进行卷积运算,得到的特征图作为后续卷积层的输入。特征图和输入的健身动作骨架图看起来相像,是因为关节点附近的特征值更高。
[0190]
与全连接神经网络一样,卷积神经网络也需要使用激活函数来增加非线性特征,本发明选取常用的relu激活函数舍弃负相关的数据,使特征矩阵更加稀疏,提高效率。但这还远远不够,我们还需要通过池化层进一步削减数据量。
[0191]
在卷积网络中选择最大池化层来做图像的处理,将特征图片输入池化层,可以得到池化过的尺寸更小的特征图片。池化层能在保留骨架图的特征的前提下通过将图片变小来实现降维,提高健身动作分类器的运行效率。当动作骨架图通过三层卷积层和一层全连接层后对所有的特征值进行投票,识别完成后输出健身动作类别结果。
[0192]
通过训练样本,反向传播会对各个层的权重进行调整,经过8个迭代周期识别准确率逐步提高,图14展示了迭代过程中损失值(图14(a)和准确率的变化(图14(b))。
[0193]
图15为健身动作识别网络训练阶段流程图,每次迭代都会随机变动批次样本顺序,在前向传播的过程中计算损失函数差值,若不满足所设阈值则通过反向传播更新参数,进入下一次迭代,直至训练完成(损失函数差值小于阈值或迭代次数超过上限)。
[0194]
4.3动作识别测试
[0195]
训练好全连接神经网络和卷积神经网络的动作识别模型后,模拟居家环境对模型进行测试,共两名同学参与测试,每组环境每人测试10次,测试结果记录如表3。
[0196]
表3动作识别模型测试结果
[0197][0198]
由测试结果可见,针对此健身动作识别发明的cnn模型在识别准确率上远不及全连接神经网络模型,一方面原因是cnn的数据集为2d骨架图数据,而全连接的数据集为3d姿态提取的运动特征,比起骨架图更能描述健身者的运动姿态,另一方面原因是训练集的规模太小,没有大批次的采集健身者的运动数据导致cnn网络模型训练不完善。
[0199]
针对不同环境条件对比可知,在光线良好,健身者全身无遮挡,侧面面对摄像头时识别的准确率相对较高,存在外界光线干扰,杂物遮挡或自身遮挡则会在不同程度上影响动作识别的准确率。在识别健身者做的动作的同时会自动播放健身指导视频和语音指导健身者健身,如果健身者在当前进行中的健身动作训练完成前退出或休息,只需摆出提前预设好的停止动作,系统即可暂停当前训练。
[0200]
本发明通过两种方法实现分类预测,分别是全连接神经网络模型和卷积神经网络模型。通过采集的健身动作数据集自定义网络参数,选择合适的激活函数和损失函数等来训练网络模型,经过测试在现阶段全连接神经网络训练的健身动作分类器表现更为出色,卷积神经网络仍需进一步完善,数据集仍需大规模采集。
[0201]
5.下面结合基于dtw的动作评价对本发明技术方案作进一步描述。
[0202]
5.1本发明将利用获取的运动标签和保存的实时健身特征向量来实现对于健身者实时的健身动作和标准健身动作的差异比价和评价。
[0203]
5.2序列帧的对齐与动作评价
[0204]
在3d关键点坐标形式下,运动可以由健身者的运动特征值的时间序列表示,本发明对于动作评价功能的实现就是通过在各时间节点关键点坐标形成的特征向量,并基于动态时间规划对特征向量进行动作帧的对齐,在保存动作时序特征的基础上能有效地做出评价。
[0205]
每个健身动作有数量不等的关键帧,如俯卧撑动作的关键帧为直臂支撑帧和曲臂最大角度支撑帧,标准动作关键帧的采集和选取现阶段需人工判断是否为标准动作以及是否为该动作的关键帧。标准动作的选取有两种思路,一是选取所有同种采集健身动作关键帧的平均值,二是以某一个自选取的关键帧为关键动作。考虑到参与数据采集的同学大多姿势不标准,所以在该系统实现中选取主观判断最为标准的一帧作为该动作的标准动作关
键帧。选取好一个标准动作的关键帧后,将该动作所有选取的关键帧计算得出的特征向量存储到矩阵中,作为该标准动作的关键帧序列。
[0206]
在获得健身者的实时健身数据的同时获得该健身运动的分类标签,将健身者的实时运动帧序列与该标准动作的关键帧序列输入到程序中,进行基于dtw算法计算序列之间的相似度距离,将实时获取的动作帧与标准动作关键帧对齐后,比较特征向量的余弦相似度来实现动作的评价。
[0207]
整个序列动作可以看成是如下公式矩阵的数据集。
[0208][0209]
dtw算法进行帧对齐的流程包括:
[0210]
(1)输入实时帧序列f和标准动作帧序列h
[0211]
(2)计算f中每一个元素和h中每一个元素的距离,距离计算方法为所有特征向量的比例总和,构造一个n*m的距离矩阵,f
i
,h
j
分别为f和h中的任意元素,公式如下:
[0212]
matrix=(d(f
i
,h
j
),i∈[1,m],j∈[1,n]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5
‑
2)
[0213]
(3)基于距离矩阵matrix,采用局部最优解的方法找到一条代价最小的规划路径w,k为路径的长度,路径代价公式见如下公式:
[0214][0215]
此时公式中w
k
=(f
i
,h
j
)为路径上的第k个元素,且(f
i
,h
j
)为matrix矩阵中第i行和第j列的元素(i,j)值。
[0216]
(4)计算以匹配好的实时帧和标准动作帧的特征向量的差异,选取动作关键关节角度为评价标准,比较实时帧和标准动作帧的关节角度余弦相似度的差异给出动作评价。
[0217]
以侧向开合动作为例,标准动作关键帧选用a同学的健身动作数据,实时测试动作选用b同学的健身动作数据,两者以各自的经验理解做出健身动作进行数据采集。
[0218]
本发明首先是标准动作关键帧的选取,采用人工采集的方法建立每个健身动作的标准动作帧特征矩阵,在实时获取当前帧序列的运动特征,通过dtw算法求得两者的帧匹配结果,计算关节角度余弦相似度的比较给出运动评价和纠正建议。
[0219]
综上所述,本发明基于人体的姿态识别,以自重健身辅助系统为目的。通过intel realsense d435摄像头实时地获取自重健身者的健身动态视频,对健身者的动作进行捕获和分析,进行人体姿态估计,建立人体骨架关节点帧序列,提取计算动作的特征向量,来描述健身者的动作姿态。从实时帧序列中判断健身者的健身动作,对运动特征进行匹配和比较,实现了对自重健身者健身动作是否标准的评判,提出改正方法辅助健身者训练,从此自重健身训练也可以不再仅依靠经验,实时接受自重健身辅助教练系统的健身分析指导。
[0220]
本发明主要积极效果:
[0221]
对intel realsense相机完成标定,获取彩色图像和深度图像并构建点云渲染器,将平面点转化为空间点表示,通过openpose获取健身动作序列帧中人体的二维骨架关节点信息,结合深度信息将关键点转化为3d坐标,实现健身动作的3d可视化,更好地表示健身者的姿态。
[0222]
运动特征的提取,针对每一个健身动作选取动作规范的特征,如关节角度,肢体朝
向,运动幅度,动作速度等,建立评价的标准。
[0223]
构建健身者自重健身数据集,发明全连接神经网络和卷积神经网络训练动作识别的模型,可以快速准确的识别健身动作姿态,同时基于dtw算法实现对健身动作的评估和纠正。
[0224]
系统目前在windows平台和树莓派rasbian双端实现,windows平台帧率可达10,树莓派依赖nsc2加速可达2.7fps。
[0225]
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
[0226]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围应由所附的权利要求来限制。
相关知识
汤雨阳/基于HarmonyOS的健康体重管理系统
形体训练的正确方法
基于脑电数据与面部表情影像的抑郁症病症辅助识别方法技术
智能健康管理系统的制作方法
形体训练基础知识
老年人健康管理系统的制作方法
五大教练助你打造完美身体 减肥方法
神经系统疾病康复病人健康教育
感统训练方法.pdf
竞技体育有了“AI教练”——“聚焦智能体育消费新业态”系列报道之四
网址: 基于人体姿态识别的自重健身辅助教练系统、方法、终端 https://www.trfsz.com/newsview248355.html
推荐资讯
- 1从出汗看健康 出汗透露你的健 3873
- 2早上怎么喝水最健康? 3659
- 3习惯造就健康 影响健康的习惯 3303
- 4五大原因危害女性健康 如何保 3208
- 5连花清瘟、布洛芬等多款感冒药 2965
- 6男子喝水喉咙里像放了刀子一样 2465
- 710人混检核酸几天出结果?1 2229
- 8第二轮新冠疫情要来了?疾控中 2227
- 9转阴多久没有传染性?满足四个 2163
- 10补肾吃什么 补肾最佳食物推荐 2113