本发明专利技术提供了一种基于深度图和骨骼点的人体行为识别方法,使用时间金字塔对行为序列进行不同尺度的分割,保留了行为内部的时序信息;只使用对行为贡献大的重要部位的相关数据进行特征提取,去除了不同行为中较为相似的数据,特征“纯度”高;通过划分空间子格的方式,较为精确的表达了人体重要部位的运动轨迹在空间中的分布情况。实际应用情况表明,该方法提取的特征,对于人体行为识别具有较好的区分度。
【技术实现步骤摘要】
基于深度图和骨骼点的人体行为识别方法
本专利技术涉及计算机视觉
,尤其涉及一种基于深度图和骨骼点的人体行为识别方法。
技术介绍
人体行为识别是指根据传感器采集到的信息,对人体的行为进行分类和识别;按照所使用的传感器的不同,可将人体行为识别方法分为基于视觉的和基于非视觉的方法;本专利技术关注的是基于视觉的人体行为识别。早期的行为识别使用RGB传感器采集到的彩色图像序列,基于颜色提取了如梯度直方图、光流直方图和稠密轨迹等特征;这些特征来源于颜色,因此易受到环境中复杂背景和光照变化带来的影响,导致识别效果较差。随着深度传感器的发展,获取深度数据的成本大大降低,研究人员开始使用深度数据进行人体行为识别的研究,包括深度图和从中恢复出来的三维人体骨骼坐标;深度数据较好的避免了复杂环境和光照变化带来的影响,但在行为识别中简单地应用深度数据,识别的效果较差。现有的人体行为识别存在的难点和挑战主要有:(1)容易忽略人体行为的执行顺序;(2)容易丢失人体各部位之间的空间信息;(3)行为执行过程中位移量很小的部位也参与特征构成,导致特征的“纯度”不高。为了更好地实现人体行为识别,本专利技术提供了一种基于深度图和骨骼点的人体行为识别方法,使用时间金字塔来保留行为内部时序信息,通过筛选重要部位附近的点云生成运动轨迹,表达了重要部位在空间中的分布情况,可以较好地区分不同的人体动作。
技术实现思路
基于深度图和骨骼点的人体行为识别方法,其特征在于,包含以下步骤。步骤1,获得单个行为的人体行为数据序列。所述人体行为数据序列包括深度图序列和人体骨骼点三维坐标序列;所述数据序列也称数据帧或帧,类似于数字视频中的帧的概念。步骤2,将深度图序列按帧转化为三维点云,只保留重要部位附近的点云。所述将深度图序列按帧转化为三维点云,包括:将深度图中像素的xy坐标作为三维点的xy坐标,将代表深度数据的像素值作为三维点的z坐标,从而形成三维点云,简称点云。所述重要部位,包括:重要部位是指参与绝大部分行为的身体部位,这些部位的动作幅度相比于其他部位更大;人体重要部位可以根据经验指定,可用一个或一组人体骨骼点对其进行表示和定位。所述重要部位附近点云,包括;以表示重要部位的一个或一组骨骼点为中心,取一适当大小的长方体,被该长方体包含的三维点云的集合即为该重要部位附近点云。步骤3,使用时间金字塔模型,对整个人体行为序列进行动作片段的划分。所述时间金字塔模型,包括:时间金字塔是一种通过划分尺度大小不同的时间段从而保留内部时序信息的方式,可用来对不同时间长度的行为序列进行比较,其特点是对时间序列进行不断的二分,从而构成不同的金字塔层;即每层采用平均分割,内部时间段不相交。如第一层金字塔为原动作序列,第二层按时间均匀划分为2个动作片段;第三层再在第二层的基础上均分为4个动作片段;这样划分后一共有1+2+4共7个动作片段。设某行为的总时长为T,设时间金字塔划一共划分为H层,则第h层有2(h-1)个时长均为T/(2(h-1))的动作片段;h∈[1,H],这样划分后一共有2H-1个动作片段;设H为3,一共有7个动作片段。步骤4,在每个动作片段中,将重要部位的三维点云每帧叠加,得到重要部位的运动轨迹。所述将重要部位的点云每帧叠加,得到重要部位的运动轨迹,包括:对每个动作片段中,步骤2保留下来的重要部位的点云,每帧叠加,形成重要部位的点云运动轨迹,其实质是该动作片段中点云的历史轨迹。步骤5,在单个行为的完整动作中人体所在的空间中划分子格,统计每个子格所包含三维点云的点数量并形成一个特征向量。所述在单个行为的完整动作中人体所在的空间中划分网格,包括:在单个行为的完整动作中人体所在的空间外,选取一个大小合适的外部长方体,使得该行为的全部动作的空间范围,均包含在该长方体中;对样本集中的所有行为都得到这个外部长方体,取一个平均值作为最终的外部长方体;然后对该长方体划分成w*h*d个大小相同的长方体子格。所述统计每个子格所包含三维点云的点数量并形成一个特征向量,包括:重要部位附近的点云运动轨迹绝大部分会落在不同区域的子格内,统计每个子格包含的三维点数,构成(w*h*d)的特征向量;落在外部长方体外的点云运动轨迹,按就近原则统计,或者忽略。步骤6,将所有动作片段的特征向量值归一化到[0,1]区间,并按照相同的动作片段顺序拼接成历史运动轨迹特征向量。所述归一化到[0,1]区间,包括:将每个子格中的三维点云的点数量,除以该动作片段外部长方体包含的全部三维点云的点数量,转化为每个子格出现三维点的频率。所述按照相同的动作片段顺序拼接成历史运动轨迹特征向量,包括:将每个动作片段的特征向量拼接,且每个样本的拼接顺序需要相同,得到(w*h*d*2H-1)的历史运动轨迹特征向量。步骤7,使用分类算法对历史运动轨迹特征进行训练和分类。所述使用分类算法对历史运动轨迹特征进行训练和分类,包括:针对包含多个志愿者和多种行为的人体行为数据序列数据集,对每个样本计算历史运动轨迹特征,分成训练集和测试集,使用分类算法对训练集进行分类训练,对测试集进行效果测试,从而获得最佳的特征参数和分类器参数,如外部长方体大小、划分子格数量等,以实现对人体行为的识别。与现有技术相比,本专利技术具有如下优点:(1)本专利技术使用时间金字塔对行为序列进行不同尺度大小的分割,保留了行为内部的时序信息;(2)本专利技术只使用对行为贡献大的重要部位的相关数据进行特征提取,去除了不同行为中较为相似的数据,特征“纯度”高;(3)本专利技术通过划分空间子格的方式,较为精确的表达了人体重要部位的运动轨迹在空间中的分布情况。实际应用情况表明,该方法提取的特征,对于人体行为识别具有较好的区分度。附图说明图1是本专利技术方法的流程示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面结合实施例中对本专利技术的技术方案进行更加详细和完整的描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。一种基于深度图和骨骼点的人体行为识别方法,如图1所示,包含以下步骤。步骤1,获得或选择人体行为数据集,数据集应包含深度图和骨骼数据;得到单个行为的人体行为数据序列。如可用采用公开的UTD-MHAD数据集,该数据集共861个样本,每个样本的每帧可以提供320*240的深度图和20个骨骼关节点的三维坐标。步骤2,将深度图序列按帧转化为三维点云,利用骨骼关节点数据保留重要部位附近的点云。将深度图中像素的xy坐标作为三维点的xy坐标,将代表深度数据的像素值作为三维点的z坐标,从而形成三维点云。手和脚部是参与绝大部分行为的身体部位,且动作幅度相比于身体其他部位更大,可使用人体骨骼关节点中的手腕、手肘、膝盖和脚踝左右共8个关节点本文档来自技高网...
【技术保护点】
1.基于深度图和骨骼点的人体行为识别方法,其特征在于,包括以下步骤:/n步骤1,获得单个行为的人体行为数据序列;/n步骤2,将深度图序列按帧转化为三维点云,只保留重要部位附近的点云;/n步骤3,使用时间金字塔模型,对整个人体行为序列进行动作片段的划分;/n步骤4,在每个动作片段中,将重要部位的三维点云每帧叠加,得到重要部位的运动轨迹;/n步骤5,将单个行为的完整动作中人体所在的空间中划分子格,统计每个子格所包含三维点云的点数量并形成一个特征向量;/n步骤6,将所有动作片段的特征向量值归一化到[0,1]区间,并按照相同的动作片段顺序拼接成历史运动轨迹特征向量;/n步骤7,使用分类算法对历史运动轨迹特征进行训练和分类。/n
【技术特征摘要】
1.基于深度图和骨骼点的人体行为识别方法,其特征在于,包括以下步骤:
步骤1,获得单个行为的人体行为数据序列;
步骤2,将深度图序列按帧转化为三维点云,只保留重要部位附近的点云;
步骤3,使用时间金字塔模型,对整个人体行为序列进行动作片段的划分;
步骤4,在每个动作片段中,将重要部位的三维点云每帧叠加,得到重要部位的运动轨迹;
步骤5,将单个行为的完整动作中人体所在的空间中划分子格,统计每个子格所包含三维点云的点数量并形成一个特征向量;
步骤6,将所有动作片段的特征向量值归一化到[0,1]区间,并按照相同的动作片段顺序拼接成历史运动轨迹特征向量;
步骤7,使用分类算法对历史运动轨迹特征进行训练和分类。
2.基于权利要求1所述的方法,其特征在于,步骤2包括:
将深度图中像素的xy坐标作为三维点的xy坐标,将代表深度数据的像素值作为三维点的z坐标,从而形成三维点云;三维点云也称点云;
所述重要部位附近点云,指以表示重要部位的一个或一组骨骼点为中心,取一适当大小的长方体,被该长方体包含的三维点云的集合即为该重要部位附近点云。
3.基于权利要求1所述的方法,其特征在于,步骤3包括:
时间金字塔模型是一种通过划分尺度大小不同的时间段从而保留内部时...
【专利技术属性】
技术研发人员:冯子亮,黄潇逸,王洋,杨斌,朱鑫,李东璐,单强达,郭照康,司马铭骏,窦芙蓉,
申请(专利权)人:四川大学,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。