CN109086706B - 应用于人机协作中的基于分割人体模型的动作识别方法 - Google Patents

应用于人机协作中的基于分割人体模型的动作识别方法 Download PDF

Info

Publication number
CN109086706B
CN109086706B CN201810820941.8A CN201810820941A CN109086706B CN 109086706 B CN109086706 B CN 109086706B CN 201810820941 A CN201810820941 A CN 201810820941A CN 109086706 B CN109086706 B CN 109086706B
Authority
CN
China
Prior art keywords
point
joint
action
matrix
human body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810820941.8A
Other languages
English (en)
Other versions
CN109086706A (zh
Inventor
黄攀峰
张博文
刘正雄
董刚奇
孟中杰
张夷斋
张帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201810820941.8A priority Critical patent/CN109086706B/zh
Publication of CN109086706A publication Critical patent/CN109086706A/zh
Application granted granted Critical
Publication of CN109086706B publication Critical patent/CN109086706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Human Computer Interaction (AREA)
  • Social Psychology (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本发明涉及一种应用于人机协作中的基于分割人体模型的动作识别方法,使用微软Kinect V2传感器采集人体骨骼信息,得到关节节点坐标;经预处理后将骨骼节点序列从四维映射至三维,存储为点云序列的形式;将人体模型分割为上肢、下肢和躯干三部分,分别提取特征向量和关节点相对位置的布尔值特征矩阵,利用布尔值特征矩阵分别提取关键帧,利用特征向量及动态时间规整算法(DTW算法)分别进行模板匹配;最后将三部分的识别结果组合起来,得到对人体整体动作的分类。本发明不仅能达到识别人体整体动作的目的,还能得到对人体上肢、躯干和下肢的动作描述,可以更加详细和精确的识别人体动作与行为,以帮助人机协作下的机器人进行后续的任务规划。

Description

应用于人机协作中的基于分割人体模型的动作识别方法
技术领域
本发明属于人机交互领域,涉及一种应用于人机协作中的基于分割人体模型的动作识别方法。
背景技术
随着机器人技术的发展,机器人的应用场景越来越广,与其他领域产生了越来越多的交叉和融合,同时就产生了许多需要人与机器人进行协同作业的场景。机器人与人进行协同作业既能解放人的劳动力,在某些时候也可以帮助人规避高风险的操作任务。人机协作是未来智能机器人未来的发展方向之一。
人机协作强调了人的主导作用,应当使机器人在保证安全的前提下尽可能准确的理解人的意图,并根据自身的工作状态和人的工作状态及意图进行下一步任务。因此,在人机协作场景中,需要对人体信息进行检测和识别,以帮助机器人进行下一步任务规划。这些信息包括人体动作信息、位置信息、手势信息、语音信息等等。其中,人体动作信息直接包含了人的工作状态,是人机协作中必须获取的信息之一。
但是,人体动作具有复杂度高、信息量大、不同用户的同种动作可能有差异、不同种动作之间可能具有重复姿势、可能具有无意义动作等等特点,这导致人体动作的识别难度较大,是一个涉及计算机视觉、模式识别、人工智能等多个领域的交叉课题。按照需要的信息类型进行区分,人体动作识别主要有基于RGB图像,基于深度图像和基于骨骼信息等方法。微软Kinect V2传感器可以采集RGB图像、深度图像和追踪人体骨骼关节点数据,因此被广泛用于动作识别领域。
参考文献:田国会,尹建芹,韩旭,等.一种基于关节点信息的人体行为识别新方法[J].机器人,2014,36(3):285-292.
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种应用于人机协作中的基于分割人体模型的动作识别方法。
技术方案
一种应用于人机协作中的基于分割人体模型的动作识别方法,其特征在于步骤如下:
步骤1、对待识别动作序列和动作模板进行预处理:
1、将实时分割完成的Kinect V2传感器的动作序列数据采用点云文件格式存储,存储过程为:关节数据共有N帧,用一个25*N的点云C来存储关节数据,将第k帧中的第i关节点视为三维空间中的一个点
Figure BDA0001741374760000021
该点在点云中表示为C[25*k+i],该点在第k+1帧中对应的点
Figure BDA0001741374760000022
在点云中表示为C[25*(k+1)+i],其中l=0.3m为定义的帧间距离;
2、提取点云文件格式存储的动作序列数据,进行坐标转换:缩放、旋转和平移
平移过程为:采用HipCenter作为参考点,将其他关节点的坐标减去参考点的坐标作为平移后的关节点的坐标;
缩放过程为:选取平移后的两组特定关节的坐标,ShoulderLeft、ElbowLeft和ShoulderRight、ElbowRight,并使用多帧关节数据计算其平均欧拉距离dactual,针对两个关节间距,定义标准距离dstandard,计算得缩放因子:
Figure BDA0001741374760000023
在每帧中,将其他关节点的(x,y,z)坐标均乘以缩放因子;
旋转过程为:平移前关节坐标为(x,y,z),平移后关节坐标为(x',y',z'),有:
x'=xcosθ+zsinθ
y'=y
z'=-xsinθ+zcosθ
其中:角度θ为每帧中的HipLeft和HipRight两关节连线绕原点旋转至与Kinect摄像机坐标系的X轴平行需要转过的角度;
步骤2、对人体模型进行分割和特征提取:
将人体模型分割为上肢、躯干和下肢,其中:
上肢包含:ElbowRight为B点,WristRight为C点,ElbowLeft为E点,WristLeft为F点;
躯干包含:HipCenter为O点,Spine为G点,ShoulderCenter为S点,Head为H点,ShoulderRight为A点,ShoulderLeft为D点,HipLeft为P点,HipRight为Q点;
下肢包含:KneeRight为K点,AnkleRight为N点,KneeLeft为L点,AnkleLeft为M点;
对三部分进行特征提取如下:
使用关节相对向量作为第一特征:
上肢:
Figure BDA0001741374760000031
躯干:
Figure BDA0001741374760000032
下肢:
Figure BDA0001741374760000033
使用关节相对位置的布尔值矩阵作为第二特征
上肢:
Figure BDA0001741374760000034
Figure BDA0001741374760000041
将上表中三四行合并为一行,得到一个判断上肢关节点在Z方向上的大致运动、由布尔值构成的3*2的矩阵;
在Y方向上:
Figure BDA0001741374760000042
同理,将上表中三四行合并为一行,得到一个判断上肢关节点在Z方向上的大致运动、由布尔值构成的3*2的矩阵;
在X方向上:
Figure BDA0001741374760000043
将上表中三四行合并为一行,得到一个判断上肢关节点在X方向上的大致运动、由布尔值构成的3*2的矩阵;
将三个维度的特征矩阵按ZYX横向排列,可以得到一个3*6的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到上肢的运动状态。
躯干:
在Z方向上:
Figure BDA0001741374760000051
得到一个由布尔值构成的1*3的行向量,大致描述躯干在Z方向上的运动;
在Y方向上:
Figure BDA0001741374760000052
得到一个由布尔值构成的1*3的行向量,大致描述躯干在Y方向上的运动;
在X方向上:
Figure BDA0001741374760000053
得到一个由布尔值构成的1*3的行向量,大致描述躯干在X方向上的运动;
将三个维度的特征矩阵按ZYX上下排列,得到一个3*3的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到躯干的运动状态
下肢:
在Z方向:
Figure BDA0001741374760000054
Figure BDA0001741374760000061
将上表中三四行合并为一行,得到一个由布尔值构成的3*2的矩阵,使用该矩阵判断下肢关节点在Z方向上的大致运动;
在Y方向:
Figure BDA0001741374760000062
得到一个1*2的行向量,加入一个元素1保持格式的一致性,得到一个1*3的行向量,将其转置得到一个3*1的特征列向量;
在X方向:
Figure BDA0001741374760000063
将上表中三四行合并为一行,得到一个判断下肢关节点在X方向上的大致运动、由布尔值构成的3*2的矩阵;
将三个维度的特征矩阵按ZYX横向排列,得到一个3*5的特征矩阵,其元素均由布尔值构成,使用该矩阵得到下肢的运动状态;
步骤3、提取关键帧:使用第二特征分别对上肢、躯干、下肢提取关键帧
以第N帧的特征矩阵
Figure BDA0001741374760000071
与第N-1帧的特征矩阵
Figure BDA0001741374760000072
进行比较,当特征矩阵变化值
Figure BDA0001741374760000073
大于σ时,将该帧作为关键帧,否则该帧不作为关键帧;
其中:
M∈Ci×j
Figure BDA0001741374760000074
将所提取的关键帧组成待识别动作;
步骤4、进行匹配:
采用DTW算法对待识别动作与动作模板的三个部分进行匹配,得到上肢、躯干、下肢的动作类型。
有益效果
本发明提出的一种应用于人机协作中的基于分割人体模型的动作识别方法,使用微软Kinect V2传感器采集人体骨骼信息,得到关节节点坐标;经预处理后将骨骼节点序列从四维映射至三维,存储为点云序列的形式;将人体模型分割为上肢、下肢和躯干三部分,分别提取特征向量和关节点相对位置的布尔值特征矩阵,利用布尔值特征矩阵分别提取关键帧,利用特征向量及动态时间规整算法(DTW算法)分别进行模板匹配;最后将三部分的识别结果组合起来,得到对人体整体动作的分类。本发明不仅能达到识别人体整体动作的目的,还能得到对人体上肢、躯干和下肢的动作描述,可以更加详细和精确的识别人体动作与行为,以帮助人机协作下的机器人进行后续的任务规划。
附图说明
图1:Kinect摄像机坐标系方向与骨骼节点,其中1—16关节点分别为:HipCenter、Spine、ShoulderCenter、Head、ShoulderRight、ElbowRight、WristRight、ShoulderLeft、ElbowLeft、WristLeft、HipRight、KneeRight、AnkleRight、HipLeft、KneeLeft、AnkleLeft、其中HipCenter视为参考点。
图2:将骨骼关节点绕Y轴旋转,使HipLeft和HipRight两关节连线在XZ平面的投影与X轴平行
图3:对于人体模型的分割方法
图4:基于布尔值特征矩阵的关键帧提取算法
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明使用基于骨骼信息的人体动作识别方法,使用KinectV2传感器采集用户骨骼数据,Kinect V2传感器可以追踪每个用户多达25个骨骼节点,本发明选取其中16个骨骼节点用于动作识别,分别为:
HipCenter、Spine、ShoulderCenter、Head、ShoulderRight、ElbowRight、WristRight、ShoulderLeft、ElbowLeft、WristLeft、HipRight、KneeRight、AnkleRight、HipLeft、KneeLeft、AnkleLeft、其中HipCenter视为参考点。
使用微软Kinect V2传感器采集人体骨骼信息,得到关节节点坐标;经预处理后将骨骼节点序列从四维映射至三维,存储为点云序列的形式;将人体模型分割为上肢、下肢和躯干三部分,分别提取特征向量和关节点相对位置的布尔值特征矩阵,利用布尔值特征矩阵分别提取关键帧,利用特征向量及动态时间规整算法(DTW算法)分别进行模板匹配;最后将三部分的识别结果组合起来,得到对人体整体动作的分类。本发明不仅能达到识别人体整体动作的目的,还能得到对人体上肢、躯干和下肢的动作描述,可以更加详细和精确的识别人体动作与行为,以帮助人机协作下的机器人进行后续的任务规划。
具体包括步骤如下:
1、对待识别动作序列和动作模板进行预处理,包括平移、缩放和旋转,并将关节数据映射至三维,存储为点云形式;
2、对人体模型进行分割和特征提取,将人体模型分割为上肢、躯干和下肢;分别选取关键运动关节点向量作为第一特征,关键运动关节点之间的位置关系(布尔值)作为第二特征;针对动作模板和待识别序列分别提取人体模型三个部分的第一特征和第二特征。
3、使用第二特征针分别对上肢、躯干、下肢提取关键帧。
4、根据第一特征,使用改进DTW算法对动作序列和动作模板针对三个部分进行匹配,得到上肢、躯干、下肢的动作类型。
5、对每个动作模板的三部分动作进行分类,将上步得到的三个部分的动作类型与模板进行对照,得到整个动作的类型,完成动作识别。
具体实施方式
第一步:将待识别动作序列和动作模板关节点数据映射至三维,存储为点云形式,并进行预处理,包括平移、缩放和旋转;
KinectV2传感器追踪骨骼数据约为30frame/second,因此可以将帧作为骨骼节点的时间单位。
使用Kinect V2传感器提取的关节数据每秒即包含30帧数据,而每帧又包含25个关节点的坐标信息,为了方便快捷的存储、传输和读取动作序列中的关节信息,本发明创新型的使用点云(PCD文件格式)来存储动作序列。
点云即大量点的集合,是近年来应用与三维重建等方面出现的一种数据的存储结构,具有很多种文件格式,本发明取在开源点云库PCL中定义的PCD格式三维有序点云存储数据。
从Kinect传感器中直接得到的人体骨骼数据是整段的,没有针对动作进行划分,在人机协作中,需要对人体动作进行实时识别,因此需要对当前获取的动作序列进行实时分割,由于已有相应方法发表,本发明不再讨论,默认针对已经分割好的动作序列,即每个待识别动作序列包含一个动作,每个动作模板也包含一个动作。
若关节数据共有N帧,即可用一个25*N的点云C来存储关节数据,将第k帧中的第i关节点视为三维空间中的一个点
Figure BDA0001741374760000101
该点在点云中表示为C[25*k+i],该点在第k+1帧中对应的点
Figure BDA0001741374760000102
在点云中表示为C[25*(k+1)+i],其中l=0.3m为本发明定义的帧间距离。因此对一组采集到的关节数据,我们使用点云格式存储,由于本发明使用了16个关节点用于动作识别,使用一个大小为16*N的点云来存储,可以方便的对数据进行读取、传输和存储,且点云中的点具有明确的物理意义。
在Kinect V2传感器采集到的原始骨骼数据中,关节点坐标是相对于Kinect摄像机坐标系的。HipCenter或Spine关节点处于人体重心位置,适合作为每帧中其他关节点的参考点(原点),其他关节点的坐标可以相对参考点来定义。即每帧中将所有骨骼关节点平移,使HipCenter或Spine平移到参考坐标系原点。本发明采用HipCenter作为参考点,对于一些没有HipCenter关节点的公开数据库,(例如UCFKinect Dataset),在使用时可以使用Spine点作为原点。
由于不同的人身高不同,骨骼长度也不同,会造成不同的人在做完全相同的动作时关节坐标、关节角度的差异,因此在识别人体动作时骨骼长度应当缩放至一个标准距离,且缩放前后关节角度应当不变,即姿势不变;为了达到这个目标,可选取两组特定关节,ShoulderLeft、ElbowLeft和ShoulderRight、ElbowRight,并使用多帧关节数据计算其平均欧拉距离dactual,针对两个关节间距,定义标准距离dstandard,因此可以计算得缩放因子:
Figure BDA0001741374760000111
在每帧中,将其他关节点的(x,y,z)坐标均乘以缩放因子即可。
每帧中人体对摄像机都有一个不同的朝向,有可能导致不同的识别结果,因此,在经过平移处理后,计算出每帧中的HipLeft和HipRight两关节连线绕原点旋转至与Kinect摄像机坐标系的X轴平行需要转过的角度θ,然后将所有关节绕Y轴旋转该角度,即使左右Hip关节连线在XZ平面上的投影与X轴平行,如图2。假设平移前关节坐标为(x,y,z),平移后关节坐标为(x',y',z'),有:
x'=xcosθ+zsinθ
y'=y
z'=-xsinθ+zcosθ
至此,对原始骨骼关节数据进行了平移、缩放和旋转操作。
第二步:分别对动作模板和待识别动作进行特征提取。对人体模型进行分割和特征提取,将人体模型分割为上肢、躯干和下肢;分别选取关键运动关节点向量作为第一特征,关键运动关节点之间的位置关系(布尔值)作为第二特征;针对动作模板和待识别动作进行特征提取。
如图4,将人体模型分割为躯干,上肢和下肢。人的不同动作中,有些部分其实是重复的,例如,在单纯站立,挥手,击掌等动作中,躯干和下肢的动作是基本一致的,只有上肢动作不同,因此,在分析更加复杂的动作,将人的整体运动拆分成三部分研究,对三个部分的动作进行分别识别,再对动作组合进行分析和识别,这样不仅能更加精细的判断人体运动,而且由于分割后的模型特征相对较少,而且减少了整个运动的类别,有助于提高整体动作的识别正确率。
在特征提取时,依据上述分割方式,分别对三部分进行特征提取如下:
第一特征:使用关节相对向量作为第一特征
上肢:
Figure BDA0001741374760000121
躯干:
Figure BDA0001741374760000122
下肢:
Figure BDA0001741374760000123
第二特征:使用关节相对位置的布尔值序列作为第二特征
定义一个阈值,当两关节在某个方向上的坐标差异超过该阈值时,其对应的布尔值置1,这样,就可以使用一个布尔值特征矩阵来描述关节之间的相对位置关系。
上肢:
Figure BDA0001741374760000124
将上表中三四行合并为一行,可以将得到一个由布尔值构成的3*2的矩阵,使用该矩阵可以判断上肢关节点在Z方向上的大致运动。
在Y方向上:
Figure BDA0001741374760000125
Figure BDA0001741374760000131
同理,将上表中三四行合并为一行,可以将得到一个由布尔值构成的3*2的矩阵,使用该矩阵可以判断上肢关节点在Z方向上的大致运动。
在X方向上:
Figure BDA0001741374760000132
同理,将上表中三四行合并为一行,可以将得到一个由布尔值构成的3*2的矩阵,使用该矩阵可以判断上肢关节点在X方向上的大致运动。
将三个维度的特征矩阵按ZYX横向排列,可以得到一个3*6的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到上肢的运动状态。
躯干:
在Z方向上:
Figure BDA0001741374760000133
Figure BDA0001741374760000141
如上表,可以得到一个由布尔值构成的1*3的行向量,可以大致描述躯干在Z方向上的运动。
在Y方向上:
Figure BDA0001741374760000142
如上表,可以得到一个由布尔值构成的1*3的行向量,可以大致描述躯干在Y方向上的运动。
在X方向上:
Figure BDA0001741374760000143
如上表,可以得到一个由布尔值构成的1*3的行向量,可以大致描述躯干在X方向上的运动。
将三个维度的特征矩阵按ZYX上下排列,可以得到一个3*3的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到躯干的运动状态。
下肢:
在Z方向:
Figure BDA0001741374760000144
Figure BDA0001741374760000151
将上表中三四行合并为一行,可以将得到一个由布尔值构成的3*2的矩阵,使用该矩阵可以判断下肢关节点在Z方向上的大致运动。
在Y方向:
Figure BDA0001741374760000152
可以得到一个1*2的行向量,为了保持格式的一致性,再加入一个元素1,得到一个1*3的行向量,将其转置得到一个3*1的特征列向量。
在X方向:
Figure BDA0001741374760000153
同理,将上表中三四行合并为一行,可以将得到一个由布尔值构成的3*2的矩阵,使用该矩阵可以判断下肢关节点在X方向上的大致运动。
将三个维度的特征矩阵按ZYX横向排列,可以得到一个3*5的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到下肢的运动状态。
第三步:使用第二特征分别对上肢、躯干、下肢提取关键帧。
在得到布尔值特征矩阵之后,针对第N帧的特征矩阵
Figure BDA0001741374760000161
与第N-1帧的特征矩阵
Figure BDA0001741374760000162
进行比较,当特征矩阵完全相同时,说明当前帧与上一帧的关节相对位置没有发生变化。当特征矩阵变化时,变化的布尔值越多,说明当前帧与上一帧的关节相对位置变化越大。因此,我们定义一个整数阈值σ,当特征矩阵变化值
Figure BDA0001741374760000163
大于σ时,将该帧作为关键帧,否则该帧不作为关键帧,其中:M∈Ci ×j
Figure BDA0001741374760000164
由于人体动作中上肢、躯干和下肢的动作往往变化程度不一致,因此对三个部分分别提取的关键帧也不一致,即侧重点不同,其分别用于匹配三部分的动作。
提取关键帧算法使用流程图表示如下:
第四步:根据第一特征,使用DTW算法对待识别动作和动作模板针对三个部分进行匹配,得到上肢、躯干、下肢的动作类型。
动态时间规整算法(Dynamic Time Warping,DTW)常被用于衡量两个离散时间序列的相似度,可以很容易的实现不同长度模板间的匹配。田国会等[1]提出使用DTW算来来进行待识别动作与动作模板之间的匹配。
选取动作模板R={R(1),R(2),…,R(M)},待识别动作为T={T(1),T(2),…,T(N)},其中R(M)和T(N)为内部特征矢量,两者维数相同。定义d[T(n),R(m)]为计算特征矢量T(n)和R(m)所得到的距离量;
相似度计算公式可选取如下:
Figure BDA0001741374760000171
Di[T(n),R(m)]为由T(1)和R(1)开始计算,共经过i个节点对,直至T(n)和R(m)的累计距离值,即:
Figure BDA0001741374760000172
1≤nj≤N,1≤mj≤M
其中d[T(nj),R(mj)]表示即D[T(ni),R(mi)]为计算一条连接若干特征矢量节点对的累计距离值。
DTW算法的功能即找到一条最优路径,使得通过该路径计算得到的D[T(N),R(M)]在所有路径中最小,有如下迭代过程:
Di[T(ni),R(mi)]=d[T(n),R(m)]+Di-1[T(n),R(m)]其中:
Di-1[T(n),R(m)=min(Di-1[T(n-1),R(m)],Di-1[T(n),R(m-1)],Di-1[T(n-1),R(m-1)])
第五步:对每个动作模板的三部分动作进行分类,将上步得到的三个部分的动作类型与模板进行对照,得到整个动作的类型,完成动作识别。
由于本发明将人体分割为上肢、躯干和下肢三部分进行处理,所以基本动作模板也是按照上肢、躯干和下肢三部分的动作进行分类的,每类动作模板都有其相应动作种类,而一般数据库的动作分类是按照身体的整体动作来分类的,因此首先需要对动作模板进行人工分析,将动作模板中人体上肢、躯干和下肢的动作进行分类。
然后,在上述1-4步完成后,上肢、躯干和下肢的动作分别进行关键帧选取和动作匹配后,得到相应的动作分类;最后,将得到的动作类型与动作模板的三种动作类型进行搜索匹配,即可得到相应的全身动作类型,如果没有对应的匹配类型,则说明动作模板中没有对应动作类型,至此即可完成动作识别的整个过程。

Claims (1)

1.一种应用于人机协作中的基于分割人体模型的动作识别方法,其特征在于步骤如下:
步骤1、对待识别动作序列和动作模板进行预处理:
1、将实时分割完成的Kinect V2传感器的动作序列数据采用点云文件格式存储,存储过程为:关节数据共有N帧,用一个25*N的点云C来存储关节数据,将第k帧中的第i关节点视为三维空间中的一个点
Figure FDA0003027914120000011
该点在点云中表示为C[25*k+i],该点在第k+1帧中对应的点
Figure FDA0003027914120000012
在点云中表示为C[25*(k+1)+i],其中l=0.3m为定义的帧间距离;
2、提取点云文件格式存储的动作序列数据,进行坐标转换:缩放、旋转和平移
平移过程为:采用HipCenter作为参考点,将其他关节点的坐标减去参考点的坐标作为平移后的关节点的坐标;
缩放过程为:选取平移后的两组特定关节的坐标,ShoulderLeft、ElbowLeft和ShoulderRight、ElbowRight,并使用多帧关节数据计算其平均欧拉距离dactual,针对两个关节间距,定义标准距离dstandard,计算得缩放因子:
Figure FDA0003027914120000013
在每帧中,将其他关节点的(x,y,z)坐标均乘以缩放因子;
旋转过程为:平移前关节坐标为(x,y,z),平移后关节坐标为(x',y',z'),有:
x'=xcosθ+zsinθ
y'=y
z'=-xsinθ+zcosθ
其中:角度θ为每帧中的HipLeft和HipRight两关节连线绕原点旋转至与Kinect摄像机坐标系的X轴平行需要转过的角度;
步骤2、对人体模型进行分割和特征提取:
将人体模型分割为上肢、躯干和下肢,其中:
上肢包含:ElbowRight为B点,WristRight为C点,ElbowLeft为E点,WristLeft为F点;
躯干包含:HipCenter为O点,Spine为G点,ShoulderCenter为S点,Head为H点,ShoulderRight为A点,ShoulderLeft为D点,HipLeft为P点,HipRight为Q点;
下肢包含:KneeRight为K点,AnkleRight为N点,KneeLeft为L点,AnkleLeft为M点;
对三部分进行特征提取如下:
使用关节相对向量作为第一特征:
上肢:
Figure FDA0003027914120000021
躯干:
Figure FDA0003027914120000022
下肢:
Figure FDA0003027914120000023
使用关节相对位置的布尔值矩阵作为第二特征
上肢:
Figure FDA0003027914120000024
将上表中三四行合并为一行,得到一个判断上肢关节点在Z方向上的大致运动、由布尔值构成的3*2的矩阵;
在Y方向上:
Figure FDA0003027914120000025
Figure FDA0003027914120000031
同理,将上表中三四行合并为一行,得到一个判断上肢关节点在Z方向上的大致运动、由布尔值构成的3*2的矩阵;
在X方向上:
Figure FDA0003027914120000032
将上表中三四行合并为一行,得到一个判断上肢关节点在X方向上的大致运动、由布尔值构成的3*2的矩阵;
将三个维度的特征矩阵按ZYX横向排列,可以得到一个3*6的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到上肢的运动状态;
躯干:
在Z方向上:
Figure FDA0003027914120000041
得到一个由布尔值构成的1*3的行向量,大致描述躯干在Z方向上的运动;
在Y方向上:
Figure FDA0003027914120000042
得到一个由布尔值构成的1*3的行向量,大致描述躯干在Y方向上的运动;
在X方向上:
Figure FDA0003027914120000043
得到一个由布尔值构成的1*3的行向量,大致描述躯干在X方向上的运动;
将三个维度的特征矩阵按ZYX上下排列,得到一个3*3的特征矩阵,其元素均由布尔值构成,使用该矩阵可以较为准确的得到躯干的运动状态
下肢:
在Z方向:
Figure FDA0003027914120000044
Figure FDA0003027914120000051
将上表中三四行合并为一行,得到一个由布尔值构成的3*2的矩阵,使用该矩阵判断下肢关节点在Z方向上的大致运动;
在Y方向:
Figure FDA0003027914120000052
得到一个1*2的行向量,加入一个元素1保持格式的一致性,得到一个1*3的行向量,将其转置得到一个3*1的特征列向量;
在X方向:
Figure FDA0003027914120000053
将上表中三四行合并为一行,得到一个判断下肢关节点在X方向上的大致运动、由布尔值构成的3*2的矩阵;
将三个维度的特征矩阵按ZYX横向排列,得到一个3*5的特征矩阵,其元素均由布尔值构成,使用该矩阵得到下肢的运动状态;
步骤3、提取关键帧:使用第二特征分别对上肢、躯干、下肢提取关键帧
以第N帧的特征矩阵
Figure FDA0003027914120000061
与第N-1帧的特征矩阵
Figure FDA0003027914120000062
进行比较,当特征矩阵变化值
Figure FDA0003027914120000063
大于σ时,将该帧作为关键帧,否则该帧不作为关键帧;
其中:
M∈Ci×j
Figure FDA0003027914120000064
将所提取的关键帧组成待识别动作;
步骤4、进行匹配:
采用DTW算法对待识别动作与动作模板的三个部分进行匹配,得到上肢、躯干、下肢的动作类型;
步骤5、与模板进行对照:
对每个动作模板的三部分动作进行分类,将步骤4得到的三个部分的动作类型与模板进行对照,得到整个动作的类型,完成动作识别。
CN201810820941.8A 2018-07-24 2018-07-24 应用于人机协作中的基于分割人体模型的动作识别方法 Active CN109086706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810820941.8A CN109086706B (zh) 2018-07-24 2018-07-24 应用于人机协作中的基于分割人体模型的动作识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810820941.8A CN109086706B (zh) 2018-07-24 2018-07-24 应用于人机协作中的基于分割人体模型的动作识别方法

Publications (2)

Publication Number Publication Date
CN109086706A CN109086706A (zh) 2018-12-25
CN109086706B true CN109086706B (zh) 2021-06-15

Family

ID=64838187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810820941.8A Active CN109086706B (zh) 2018-07-24 2018-07-24 应用于人机协作中的基于分割人体模型的动作识别方法

Country Status (1)

Country Link
CN (1) CN109086706B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741371B (zh) * 2019-01-07 2022-10-14 西安理工大学 一种基于惯性传感器的人体动作描述方法
CN109858406B (zh) * 2019-01-17 2023-04-07 西北大学 一种基于关节点信息的关键帧提取方法
CN110517336B (zh) * 2019-08-28 2021-02-05 北京理工大学 一种基于主发力关节点的人体运动数据压缩方法及设备
CN111210275B (zh) * 2020-01-06 2023-07-21 平安科技(深圳)有限公司 基于vr数据的用户画像构建方法、装置及计算机设备
CN111223127B (zh) * 2020-01-16 2023-04-07 华南师范大学 基于人体关节点的2d视频多人追踪方法、系统、介质、设备
CN111544003B (zh) * 2020-04-24 2023-04-25 佛山科学技术学院 一种基于传感器的武术动作识别系统、方法及存储介质
CN111931804B (zh) * 2020-06-18 2023-06-27 南京信息工程大学 一种基于rgbd摄像机的人体动作自动评分方法
CN111914796B (zh) * 2020-08-17 2022-05-13 四川大学 基于深度图和骨骼点的人体行为识别方法
CN112270254A (zh) * 2020-10-27 2021-01-26 上海幻维数码创意科技有限公司 一种基于摄像头视觉的元素匹配信息处理方法及装置
CN112535474B (zh) * 2020-11-11 2021-12-28 西安交通大学 一种基于相似规律搜索的下肢运动关节角度实时预测方法
CN113065505B (zh) * 2021-04-15 2023-05-09 中国标准化研究院 身体动作快速识别方法及系统
CN114782497B (zh) * 2022-06-20 2022-09-27 中国科学院自动化研究所 运动功能分析方法和电子设备
CN118288297B (zh) * 2024-06-06 2024-08-16 北京人形机器人创新中心有限公司 一种机器人的运动控制方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599806A (zh) * 2016-12-01 2017-04-26 西安理工大学 一种基于局部曲面几何特征的人体动作识别方法
CN107180235A (zh) * 2017-06-01 2017-09-19 陕西科技大学 基于Kinect的人体动作识别算法
CN107301370A (zh) * 2017-05-08 2017-10-27 上海大学 一种基于Kinect三维骨架模型的肢体动作识别方法
CN107392098A (zh) * 2017-06-15 2017-11-24 北京小轮科技有限公司 一种基于人体骨架信息的动作完成度识别方法
CN107908288A (zh) * 2017-11-30 2018-04-13 沈阳工业大学 一种面向人机交互的快速人体动作识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599806A (zh) * 2016-12-01 2017-04-26 西安理工大学 一种基于局部曲面几何特征的人体动作识别方法
CN107301370A (zh) * 2017-05-08 2017-10-27 上海大学 一种基于Kinect三维骨架模型的肢体动作识别方法
CN107180235A (zh) * 2017-06-01 2017-09-19 陕西科技大学 基于Kinect的人体动作识别算法
CN107392098A (zh) * 2017-06-15 2017-11-24 北京小轮科技有限公司 一种基于人体骨架信息的动作完成度识别方法
CN107908288A (zh) * 2017-11-30 2018-04-13 沈阳工业大学 一种面向人机交互的快速人体动作识别方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Human Action Recognition Based on Action Forests Model Using Kinect Camera;Chi-Hung Chuan等;《2016 30th International Conference on Advanced Information Networking and Applications Workshops (WAINA)》;20160519;第914-917页 *
Human Action Recognition Based on Depth Images from Microsoft Kinect;Tongyang Liu等;《2013 Fourth Global Congress on Intelligent Systems》;20140501;第200-204页 *
基于Kinect的人体动作识别技术研究;刁俊方;《中国优秀硕士论文全文数据集信息科技辑》;20160615;I138-1333 *
基于关键点序列的人体动作识别;尹建芹等;《机器人》;20160331;第38卷(第2期);第200-207页 *
基于骨骼定位的人体动作识别算法研究与实现;郝黎;《中国优秀硕士论文全文数据库信息科技辑》;20170315;I138-5309 *

Also Published As

Publication number Publication date
CN109086706A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109086706B (zh) 应用于人机协作中的基于分割人体模型的动作识别方法
CN106682598B (zh) 一种基于级联回归的多姿态的人脸特征点检测方法
Amor et al. Action recognition using rate-invariant analysis of skeletal shape trajectories
Devanne et al. 3-d human action recognition by shape analysis of motion trajectories on riemannian manifold
Elforaici et al. Posture recognition using an RGB-D camera: exploring 3D body modeling and deep learning approaches
Sonkusare et al. A review on hand gesture recognition system
CN110852182B (zh) 一种基于三维空间时序建模的深度视频人体行为识别方法
CN108052896A (zh) 基于卷积神经网络与支持向量机的人体行为识别方法
CN108363973B (zh) 一种无约束的3d表情迁移方法
CN111680550B (zh) 情感信息识别方法、装置、存储介质及计算机设备
JP2001056861A (ja) 手の形状と姿勢の認識装置および手の形状と姿勢の認識方法並びに当該方法を実施するプログラムを記録した記録媒体
CN110135277B (zh) 一种基于卷积神经网络的人体行为识别方法
CN111444488A (zh) 一种基于动态手势的身份认证方法
CN109766782B (zh) 基于svm的实时肢体动作识别方法
CN111028319A (zh) 一种基于面部运动单元的三维非真实感表情生成方法
CN110751097A (zh) 一种半监督的三维点云手势关键点检测方法
CN112101243A (zh) 一种基于关键姿势和dtw的人体动作识别方法
Liang et al. Egocentric hand pose estimation and distance recovery in a single RGB image
CN108392207B (zh) 一种基于姿态标签的动作识别方法
Yashas et al. Hand gesture recognition: a survey
CN111738096B (zh) 一种基于骨架姿态的人物跟踪方法
CN109508660A (zh) 一种基于视频的au检测方法
CN105550642A (zh) 基于多尺度线性差分特征低秩表示的性别识别方法及系统
CN108108648A (zh) 一种新型的手势识别系统装置及方法
Thomas et al. A comprehensive review on vision based hand gesture recognition technology

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
GR01 Patent grant
GR01 Patent grant