基于深度信息的人体行为识别方法
【专利摘要】一种基于深度信息的人体行为识别方法。其包括利用深度摄像头采集深度图像;将二维深度图像坐标系转换到三维相机坐标系下;将三维相机坐标系下三维点的X、Y、Z值赋给点云三维点的X、Y、Z值;将每个动作的多帧已转换为三维坐标后的图像以点云的存储格式填充三维体,得到三维人体运动历史体;将三维人体运动历史体分为识别和训练样本;获得训练样本的词频分布直方图和类别统计直方图,输入SVM训练确定动作分类器模型;将识别样本中的词频分布直方图输入分类器模型中进行识别操作,由此得到识别结果。本发明提供的基于深度信息的人体行为识别方法能够通过生成三维的运动历史体来解决深度值利用不够,缺少具体的空间结构信息的问题。
【专利说明】
基于深度信息的人体行为识别方法
技术领域
[0001] 本发明属于计算机视觉和图像处理技术领域,特别是涉及一种基于深度信息的行 为识别方法。
【背景技术】
[0002] 随着计算机视觉技术的快速发展,对于基于视频的人体行为识别的需要越来越迫 切,因此在诸如智能视频监控、病人监护系统、人机交互、虚拟现实、智能家居、智能安防、运 动员辅助训练等系统中,行为识别起到了越来越重要的作用。
[0003] 早期的人体行为识别大多是利用普通的彩色(RGB)图像序列进行,并且彩色图像 识别多采用外观特征。随着技术的进步,近年来出现了配有深度传感器的深度摄像头。这种 摄像深度头能在获取正常RGB图像的同时,获得质量可以接受的深度图像。与彩色图像相 比,深度图像在行为识别中具有以下特点:首先,深度数据仅与物体的空间位置有关,且能 直接反映物体表面的三维特征;其次,深度传感器不易受光照、阴影等因素变化的影响,这 对处于黑暗环境中的监控系统带来极大好处;最后,深度图像中不受颜色和纹理的影响,这 使得人体检测和分割变得更容易。将深度图像作为彩色图像序列的补充,可以有效地突破 可见光图像识别与行为分析中遇到的问题和瓶颈。
[0004] 陈等[Cheng,Qin,Ye,Huang,Tian.Human dailyaction analysis with multiview and color-depth data.Computer Vision-ECCV2012.Workshops and Demonstrations,52-61: Springer,2012 ?]采用基于色彩的识别方法,将深度序列以和彩色 视频相同的方法来处理,然而,虽然这些方法适用于彩色视频序列,但将它们简单地推广到 深度视频序列可能不会产生最优的结果。中国专利第201410405886.8号中公开了一种三维 人体行为识别方法和装置,该方法是分别提取二值深度视频序列和二值RGB视频序列对应 的行为轮廓历史图像,对提取出的行为轮廓历史图像进行图像融合。虽然这种方法在一定 程度上弥补了深度信息完全丢失的缺点,对动作的表达更加完善,但是动作表达方案中所 说的3D表示仅仅包含了深度的变化方向,而缺少更加具体的空间结构信息。
【发明内容】
[0005] 为了解决上述问题,本发明的目的在于提供一种基于深度信息的人体行为识别方 法。
[0006] 为了达到上述目的,本发明提供的基于深度信息的人体行为识别方法包括按顺序 进行的下列步骤:
[0007] (1)利用深度摄像头采集若干人在同一背景下执行多种不同动作的一系列深度图 像,其中一个人的某一个动作对应于多帧深度图像,然后将这些深度图像传送给与深度摄 像头相连的计算机,在计算机上从采集的每一帧深度图像中提取出作为前景的人体区域深 度图像;通过设定深度值阈值的方法将上述人体区域深度图像中深度值不在深度值阈值范 围内的噪声点去除;
[0008] (2)将上述二维深度图像坐标系转换到三维相机坐标系下,得到人体的实际三维 坐标数据;
[0009] (3)将三维相机坐标系下三维点的X、Y、Z值赋给点云三维点的X、Y、Z值,以点云的 存储格式表示三维坐标数据,然后将每个动作的多帧已转换为三维坐标后的图像以点云的 存储格式填充三维体,得到三维人体运动历史体,由此将运动历史图像在深度方向进行拓 展;
[0010] (4)采用留一交叉验证方式,将上述多个三维人体运动历史体中某一人的所有三 维人体运动历史体作为识别样本,其余每个人的所有三维人体运动历史体作为一个训练样 本而形成多个训练样本;
[0011] (5)将多个训练样本中每个三维人体运动历史体分别进行特征点提取,然后进行 特征点描述而得到特征描述子,之后对特征描述子进行聚类而得到特征点词袋;然后统计 训练样本中各个特征描述子在词袋中出现的次数,得到相对应的词频分布直方图,并分配 所对应的动作类别标号,获得训练样本的类别统计直方图,最后输入SVM训练确定动作分类 器模型;
[0012] (6)对识别样本中每个三维人体运动历史体按照上一步骤方法分别进行特征点提 取,然后进行特征点描述而得到特征描述子,之后采用K近邻算法将上述特征描述子归类到 上述步骤(5)中已分好类且离其最近的词袋,然后统计特征描述子在每个动作中出现的次 数,得到识别样本的词频分布直方图,将上述词频分布直方图输入到步骤(5)中已经训练好 的SVM确定动作分类器模型中进行识别操作,得到最终识别结果。
[0013] 在步骤(1)中,所述的深度值阈值为0-2500mm;从采集的每一帧深度图像中提取出 作为前景的人体区域深度图像的方法是:在计算机上应用Kinect自带的人体索引功能,从 人体区域深度图像中提取出人体区域深度图像。
[0014]在步骤(2)中,所述的将上述二维深度图像坐标系转换到三维相机坐标系的方法 是通过旋转矩阵和平移矩阵实现的,公式为:,其中,A为内参矩阵,R为旋 转矩阵,t为平移矩阵,m为二维图像坐标,M为三维相机坐标。
[0015] 在步骤(5)中,所述的将三维人体运动历史体进行特征点提取的方法是:采用 Harris3D检测器,通过采用三维高斯窗口和一个二阶矩矩阵相乘的方法来检测特征点,如 "4 kk LA-、 下式所示= I}y LrL,,其中,of代表空间尺度因子,疔代表时 从 LyL-_ L\ , 间尺度因子;Lx、Ly、Lz分别为训练样本f在x、y和z这三个方向上的一阶导数,Harris3D检测 器是通过计算角点响应函数的极大值点,角点响应函数定义如下式所示:
[0016] H=det(li)-kX trace3(li)=人山入3;(入1+入2+入3)3,其中det(li)是u的行列式,trace (y)是y的迹,k是相关系数;特征点就是上式所描述的角点响应函数在取得极大值时的点所 在的地方。
[0017] 在步骤(5)中,所述的对提取出的特征点进行描述的方法是:采用三维梯度方向直 方图来描述特征点而得到特征描述子。
[0018] 本发明提供的基于深度信息的人体行为识别方法能够通过生成三维的运动历史 体来解决深度值利用不够,缺少具体的空间结构信息的问题。
【附图说明】
[0019] 图1是本发明中运动历史体生成过程流程图;
[0020] 图2是本发明中训练过程流程图;
[0021 ]图3是本发明中识别过程流程图;
[0022]图4是本发明中提取人体区域结果示意图;
[0023]图5是本发明中生成的三维人体运动历史体;
[0024] 图6是本发明中特征点检测结果示意图。
【具体实施方式】
[0025] 下面结合附图和具体实施例对本发明提供的基于深度信息的人体行为识别方法 进行详细说明。
[0026] 本发明提供的基于深度信息的人体行为识别方法包括按顺序进行的下列步骤:
[0027] (1)如图1所示,利用深度摄像头采集若干人在同一背景下执行多种不同动作的一 系列深度图像,其中一个人的某一个动作对应于多帧深度图像,然后将这些深度图像传送 给与深度摄像头相连的计算机,由于采集到的深度图像中存在除人体以外的其他背景,因 此在计算机上从采集的每一帧深度图像中提取出作为前景的人体区域深度图像;通过设定 深度值阈值(〇-2500mm)的方法将上述人体区域深度图像中深度值不在深度值阈值范围内 的噪声点去除,以提高后续操作效率。
[0028] 从采集的每一帧深度图像中提取出作为前景的人体区域深度图像的方法是:在计 算机上应用Kinect自带的人体索引功能,从人体区域深度图像中提取出人体区域深度图 像,结果如图4所示。
[0029] 运动历史图像(MHI)是将一个动作序列用一幅二维图像来表示,用像素点的明暗 来表示动作出现的先后顺序体现出动作的时序特征,从图像的明暗变化程度了解整个动作 序列的过程, 、f "7 M0£){xyy,ty=l
[0030] HJx,y,t)=< .
[irax(0, //.(x,>;/-])-!) llr则
[0031] 其中(x,y)和t表示位置和时间。D(x,y,t)为更新函数,当其值为l时,表示这一帧 图像相较于前一帧图像发生运动;不为1时,则表示该帧图像没有发生运动,t为MHI的持续 时间。
[0032] (2)将上述二维深度图像坐标系转换到三维相机坐标系下,得到人体的实际三维 坐标数据;
[0033]将上述二维深度图像坐标系转换到三维相机坐标系的方法是通过旋转矩阵和平 移矩阵实现的,公式为= ,其中,A为内参矩阵,R为旋转矩阵,t为平移矩 阵,m为二维图像坐标,M为三维相机坐标。
[0034] (3)将三维相机坐标系下三维点的X、Y、Z值赋给点云三维点的X、Y、Z值,以点云的 存储格式表示三维坐标数据,然后将每个动作的多帧已转换为三维坐标后的图像以点云的 存储格式填充三维体,得到三维人体运动历史体(MHV),由此将运动历史图像在深度方向进 行拓展;生成的三维人体运动历史体如图5所示。
[0035] (4)采用留一交叉验证方式,将上述多个三维人体运动历史体中某一人的所有三 维人体运动历史体图像作为识别样本,其余每个人的所有三维人体运动历史体作为一个训 练样本而形成多个训练样本;
[0036] (5)如图2所示,将多个训练样本中每个三维人体运动历史体分别进行特征点提 取,然后进行特征点描述而得到特征描述子,之后对特征描述子进行聚类而得到特征点词 袋;然后统计训练样本中各个特征描述子在词袋中出现的次数,得到相对应的词频分布直 方图,并分配所对应的动作类别标号,获得训练样本的类别统计直方图,最后输入SVM训练 确定动作分类器模型;
[0037] 将三维人体运动历史体进行特征点提取的方法是:采用Harris3D检测器,通过采 用三维高斯窗口和一个二阶矩矩阵相乘的方法来检测特征点,如下式所示: "4 L.A 44" L Ly l:;v LvL_ ,其中,代表空间尺度因子,<代表时间尺度因 子。Lx、Ly、Lz分别为训练样本f在x、y和z这三个方向上的一阶导数,Harris3D检测器是通过 计算角点响应函数的极大值点,角点响应函数定义如下式所示:H = det(li)-kXtrace3(li) =入山^3-1^1+\2+^3) 3,其中(161:(11)是11的行列式,1^〇6(11)是11的迹,1^是相关系数;特征点 就是上式所描述的角点响应函数在取得极大值时的点所在的地方。特征点提取结果如图6 所示。
[0038]对提取出的特征点进行描述的方法是:采用三维梯度方向直方图来描述特征点而 得到特征描述子(H0G3D)。
[0039] (6)如图3所示,对识别样本中每个三维人体运动历史体按照上一步骤方法分别进 行特征点提取,然后进行特征点描述而得到特征描述子,之后采用K近邻算法将上述特征描 述子归类到上述步骤(5)中已分好类且离其最近的词袋,然后统计特征描述子在每个动作 中出现的次数,得到识别样本的词频分布直方图,将上述词频分布直方图输入到步骤(5)中 已经训练好的SVM确定动作分类器模型中进行识别操作,得到最终识别结果。
【主权项】
1. 一种基于深度信息的人体行为识别方法,其特征在于:所述的基于深度信息的人体 行为识别方法包括按顺序进行的下列步骤: (1) 利用深度摄像头采集若干人在同一背景下执行多种不同动作的一系列深度图像, 其中一个人的某一个动作对应于多帖深度图像,然后将运些深度图像传送给与深度摄像头 相连的计算机,在计算机上从采集的每一帖深度图像中提取出作为前景的人体区域深度图 像;通过设定深度值阔值的方法将上述人体区域深度图像中深度值不在深度值阔值范围内 的噪声点去除; (2) 将上述二维深度图像坐标系转换到=维相机坐标系下,得到人体的实际=维坐标 数据; (3) 将S维相机坐标系下S维点的X、Y、Z值赋给点云S维点的X、Y、Z值,W点云的存储 格式表示=维坐标数据,然后将每个动作的多帖已转换为=维坐标后的图像W点云的存储 格式填充=维体,得到=维人体运动历史体,由此将运动历史图像在深度方向进行拓展; (4) 采用留一交叉验证方式,将上述多个=维人体运动历史体中某一人的所有=维人 体运动历史体作为识别样本,其余每个人的所有=维人体运动历史体作为一个训练样本而 形成多个训练样本; (5) 将多个训练样本中每个=维人体运动历史体分别进行特征点提取,然后进行特征 点描述而得到特征描述子,之后对特征描述子进行聚类而得到特征点词袋;然后统计训练 样本中各个特征描述子在词袋中出现的次数,得到相对应的词频分布直方图,并分配所对 应的动作类别标号,获得训练样本的类别统计直方图,最后输入SVM训练确定动作分类器模 型; (6) 对识别样本中每个=维人体运动历史体按照上一步骤方法分别进行特征点提取, 然后进行特征点描述而得到特征描述子,之后采用K近邻算法将上述特征描述子归类到上 述步骤(5)中已分好类且离其最近的词袋,然后统计特征描述子在每个动作中出现的次数, 得到识别样本的词频分布直方图,将上述词频分布直方图输入到步骤(5)中已经训练好的 SVM确定动作分类器模型中进行识别操作,得到最终识别结果。2. 根据权利要求1所述的基于深度信息的人体行为识别方法,其特征在于:在步骤(1) 中,所述的深度值阔值为〇-2500mm;从采集的每一帖深度图像中提取出作为前景的人体区 域深度图像的方法是:在计算机上应用Kinect自带的人体索引功能,从深度图像中提取出 人体区域深度图像。3. 根据权利要求1所述的基于深度信息的人体行为识别方法,其特征在于:在步骤(2) 中,所述的将二维深度图像坐标系转换到=维相机坐标系的方法是通过旋转矩阵和平移矩 阵实现的,公式为,其中,A为内参矩阵,R为旋转矩阵,t为平移矩阵,m为 二维图像坐标,M为=维相机坐标。4. 根据权利要求1所述的基于深度信息的人体行为识别方法,其特征在于:在步骤(5) 中,所述的将=维人体运动历史体进行特征点提取的方法是:采用化rris3D检测器,通过采 用=维高斯窗口和一个二阶矩矩阵相乘的方法来检测特征点,如下式所示:,其中,请代表空间尺度因子,诗代表时间尺度因子; Lx、^、Lz分别为训练样本f在x、y和Z运S个方向上的一阶导数,化rris3D检测器是通过计算 角点响应函数的极大值点,角点响应函数定义如下式所示:H=det(]i)-kXtrace3(li)=、A2 入3-k(Ai+A2+A3)3,其中det(ji)是Ji的行列式,trace(ji)是Ji的迹,k是相关系数;特征点就是上 式所描述的角点响应函数在取得极大值时的点所在的地方。5.根据权利要求1所述的基于深度信息的人体行为识别方法,其特征在于:在步骤(5) 中,所述的对提取出的特征点进行描述的方法是:采用=维梯度方向直方图来描述特征点 而得到特征描述子。
【文档编号】G06K9/62GK105912999SQ201610208016
【公开日】2016年8月31日
【申请日】2016年4月5日
【发明人】张良, 刘文评
【申请人】中国民航大学