戚 浩,高红卫,2
(1.宝鸡文理学院 机械工程学院,陕西 宝鸡 721016;2.陕西省机器人关键零部件先进制造与评估省市共建重点实验室,陕西 宝鸡 721016)
目前,我国体育产业高速发展,“智慧体育”成为了体育行业发展的趋势,已举办全国智能体育大赛等活动,基于体育辅助训练的项目研究也越来越多。近年来,计算机视觉应用于运动训练监管项目的研究取得了快速发展,一系列基于微软Kinect在体育训练方向研究成果的发表,标志着该项技术日趋成熟并具有广阔的发展前景。本文系统性地回顾了基于Kinect的骨架追踪在体育训练方向的研究,基本原理如图1所示。随着Kinect的开发应用,应用于体育训练方面的实例越来越多。本文从骨架追踪原理过程的每个具体步骤分别进行了归纳阐述,并基于此步骤,对实验室ROS机器人进行了简单的试验探究。
Kinect的外观如图2所示。本文主要基于Kinect进行探究,Kinect V2由彩色相机、深度相机和红外投影机组成。具体原理为红外投影机发射出红外信号,然后记录调制光线从相机传播到场景,从场景再返回到相机所花费的间接时间测量值,通过处理这些测量值可以生成深度图,获取深度图后,通过机器算法对人体三维坐标进行估算。
Kinect的核心技术就是骨架追踪技术[1],该技术工作过程包括如下主要内容:1)对获取的深度图像进行边缘检测,降噪处理;2)进行人体轮廓分割,通过标定算法对人体各个部位进行识别;3)采用机器学习算法对各个关节点进行定位。
从研究过程分析,骨架追踪技术的应用流程大概是:采集骨架节点,对节点进行算法处理,运算识别及动作建模,运动行为的评估[2]。
现实场景中,人体的骨架节点通常包括头部、颈部、左右肩、左右肘部、左右手腕、左右手、脊柱、髋部中心、左右髋、左右膝盖、左右脚踝等20个关节点及其相应的参数信息。通过计算机视觉的方法提取这些信息,需要对运动员的骨架节点进行分层提取(见图3),运动员每帧的关节位置其坐标变量X、Y和Z构成了一个数据流。
文献[3-5]中均采用Kinect基于中间插件OpenNI来建立人体骨架模型并标记人体主要关节的位置信息和方向信息。OpenNI的框架原理如图4所示。硬件层包括Kinect等硬件设备;中间层是OpenNI的组件和接口,该结构是硬件层和应用层进行沟通的桥梁;应用层则是基于机器人的硬件结构实现程序的模块。文献[6]中采用可穿戴传感器的人体位姿检测系统。文献[7-8]中采用光编码理论技术,利用光源对三维空间进行编码,Kinect的红外发射器发射光源散射到空间中形成具有唯一性的激光散斑,标定空间坐标,获得深度信息后进行景深图像处理通过机器学习、矩阵变换算法获取到关节点三维坐标。文献[9]中介绍了基于视差原理的双目立体视觉技术,通过捕捉同一时刻、不同角度的2张图像,基于视差原理对物体进行三维轮廓重建,计算几何信息。
基于上述理论依据,对实验室启智ROS机器人(见图5)Kinect采用OpenNI插件进行了简单的骨架追踪试验,达到了预期的效果。
对于骨架信息的处理就是将Kinect捕捉到的三维坐标信息进行算法处理,将抽象的坐标通过坐标映射,矩阵变换等各种算法转化成为直观的骨架图,使人们能够清晰直观地观察到关节角、关节矩阵的变化。
文献研究方面,主要对运动者的关节运动特征进行分析。文献[4]中将时间信息融合到提取的骨架特征中,使得机器学习方法可以直接使用,并建立了一个180维的特征表示向量,根据向量进行骨骼节点的识别预测。文献[3]中对于骨架节点采用了帧间差分法,Canny边缘检测法对图像进行了平滑处理,并通过基于水平线扫描算法完成对骨架节点的提取。对于获取的节点有被遮挡部分存在残缺问题,文献[10]采用关节点修复算法,修复被遮的关节点。文献[11]中对骨骼数据采用限幅滤波算法处理,获得更平滑精准的骨架数据。
在上述描述中,采集到骨架数据后,对骨架节点进行三维重建,获取运动员的三维骨架模型,并通过标准库对运动行为进行评分。
文献[3]中对骨架关节角的轨迹和姿态参数进行采集,通过对高尔夫运动员和教练员动作的差异度进行评判指导。文献[11]中对骨骼坐标数据采用空间向量法得到其关节点之间的角度等进行分析,设计标准运动参数,通过比对,对运动员进行系统打分。文献[12]中对基于Kinect和ROS操作系统的关键帧图像预处理和位姿信息的获取,并搭建云机器人平台实现传输。文献[13]中对篮球运动员的实时训练数据和基于Kinect建立的标准动作数据库进行比较分析得到运动过程中存在的问题。文献[14]中基于Kinect对羽毛球运动员的动作特征、轨迹等与标准库进行比较,获取运动数据分析。文献[5]中通过Kinect结合OpenNI完成骨架检测与跟踪,并收集了举重运动员的深度数据,对运动员的运动姿态进行分析。
系统的三维重建就是对骨架图中的关节角在三维坐标系中进行描述,并进行模型的建立。
文献[7]中张利英采用Unity3D软件,将Kinect采集到的太极拳运动者骨架数据中对关节角度用欧拉角、旋转矩阵、四元数进行表述,并将角度变化赋给Unity3D人物模型对应的关节点,在软件中驱动虚拟动画人物可以再现运动员的运动姿态。文献[15]中采用SIFT算法对特征数目进行提取,根据深度信息使用PnP算法求解相机姿态,优化误差后将人体图像转化为人体点云图。
基于智能化的运动训练的研究方向趋势不可逆转,基于Kinect计算机视觉方向研究也越来越广泛。本文对基于Kinect的骨架追踪技术在体育训练中的研究进行了综述。在对骨架图的分析中,按照不同的功能实现分类,将它们分为辅助教学和训练评估2种。辅助教学功能是指基于Kinect将教练员的骨架信息进行识别后建立标准动作的数据库,将采集到的运动员的姿态数据进行分析,两者对比找到差异,从而改善并提高训练水平。训练评估是指将运动者的动作采集后与固定位置进行对比,按照达标程度进行评分。对本文参考文献中的实验结论进行分析探究,汇总表见表1。
表1 研究项目汇总表
本文通过基于ROS机器人的Kinect对骨架追踪数据进行了简单的试验采集,对一系列的算法进行了分析。通过分析研究了高尔夫、太极拳、引体向上、篮球、举重等运动员的骨架节点采集方法,比较了不同的骨架追踪原理、骨架信息处理和骨架节点的三维动作分析,以及对运动动作的三维动画还原。可以看出,Kinect骨架追踪对于运动训练方面具有深远的潜力。从运动教学方面优化了运动者的动作规范度,甚至可以有效避免错误动作引发的运动损伤;从训练评估方向来看,可以给出运动员科学有效的参考标准,达到良好的对照作用;从人体动作三维建模的角度看,增加了运动员对后续回放的参考,提升了训练的愉悦性及运动训练的效率。
目前,基于Kinect和ROS的骨架追踪在运动训练中的应用具有较好的发展潜力,但是还存在着一定的局限性。首先,Kinect受环境因素的影响很大,在强光环境下,骨架节点难以识别;其次,对于识别的精度较低,关节部位有遮挡则稳定性下降,传感器捕捉距离较近,范围比较局限;最后,研究没有普适性,运动项目多种多样,只有个别项目研究数据难以构成理论体系。展望:可以将Kinect的数量提升到2个以上,分别采集人体正面与背面的角度数据,对数据进行配准与融合后,提取更加全面完整的骨架节点。但这仍然需要大量的研究,是未来的发展趋势。