一种基于深度卷积神经网络的人体姿势识别方法

文档序号:9350340阅读:2679来源:国知局
一种基于深度卷积神经网络的人体姿势识别方法
【技术领域】
[0001] 本发明属于模式识别与信息处理技术领域,涉及计算机视觉方面的行为识别任 务,尤其涉及基于深度卷积神经网络的人体姿势估计系统的研究与实现方案。
【背景技术】
[0002] 人体姿势估计是指在图像中定位人体关节或人体各部分位置的过程。它是计算机 视觉中的一个关键问题,是基于图像的行为识别的基础技术。人体姿势估计可被用于视觉 监控系统,人体分割,机器人控制,体感游戏等领域。人体姿势估计的难点在于:身体关节点 小,不易检测;身体自身遮挡严重,外貌变化大,面内和面外旋转(in-planeandout-plane rotations)造成视觉变化大。姿势估计的主流方法都是基于图结构模型(PS,Pictorial StructuresModel)的。图结构模型是一个通用物体结构表达模型。在图结构模型下,一个 物体(或人)的结构被表示为一个一元项和一个二元项的和,其中,一元项表示人体单独的 一个部分,二元项表示两个(或多个)部分之间的空间关系。一元项和二元项的和构成一 个能量函数,最小化这个能量函数可以得到一个最优的结构表达。基于图结构的人体姿势 估计方法的流程为:
[0003] 1.人体每个单独部分的表示。通常的方法是在人体的特定部分提取图像特征来训 练可以表示该部分的模板。在训练好模板以后,以重叠的滑动窗口(overlappingsliding windows)去扫描图片,检测出许多可能的位置;
[0004] 2.人体各个部分的空间关系的表示。人体各部分空间约束可以是多方面的,例如, 各个部分同时出现的概率,在同一直线上的概率以及角度关系,距离约束等等。空间约束构 成了图结构模型的二元项;
[0005] 3.人体姿势推理。由于人体姿势复杂多样,人体各部分之间存在多种空间约束。 如果对人体各个部分都施加约束,最终会形成一个图。这个图的点(node)表示人体的各个 部分(即一元项),边(edge)表示人体各个部分的约束(即二元项)。优化这样一个问题 会耗费大量时间,甚至使问题不可计算。为了高效的推理出人体姿势,通常会将各个部分之 间的约束简化为两个相邻部分的空间约束,即图结构简化为树形结构。
[0006]传统方法有两个局限性。首先,人工设计的图像特征具有局限性,例如,有的特征 适合表示具有清晰纹理的物体,有的特征适合表示具有清晰轮廓的物体。设计一种适合人 体姿势估计的特征需要大量的经验和研究。除此之外,空间模型也具有局限性。传统的人体 姿势估计方法为了计算效率,通常需要假设人体姿势构成树形结构。这种假设显然会限制 其模型的表达能力,例如,在有人体存在自身遮挡的情况下,人体姿势通常并不是树形的, 而是有环图。在树形结构的假设下,人体姿势估计的准确度和使用范围都被限制了。
[0007]深度学习技术的逐渐成熟,为人体姿势估计提供了新的工具。基于深度学习的方 法可以分为两类:一类是利用深度卷积神经网络来学习图像特征,以代替传统的人工设计 的特征;另一类是利用深度卷积神经网络的非线性映射做非线性推理,以突破树形结构的 限制。但现有的基于深度学习的方法主要有以下缺陷:
[0008] 1.大多数方法只是简单地将AlexNet直接应用到姿势估计中。而AlexNet最初是 为图像分类任务而设计的;
[0009] 2.大多数方法将人体关节定位问题阐述为回归问题,这样的阐述虽然简单,但却 让深度网络的训练变得困难;
[0010] 3?有的方法通过训练基于卷积神经网络的检测器(ConvolutionalPart Detector)来检测人体部分的位置。这种方法具有较好的准确度,但由于其需要使用滑窗进 行检测,它的效率并不高;
[0011] 为了解决这些问题,本方法为姿势估计阐述为分类问题,并设计了一个针对姿势 估计的深度网络:ILPN(Independent Losses Pose Net)来进行关节定位。在FLIC dataset 上的结果表明,我们的方法取得了当前最高的准确率。在Buffy dataset上的跨数据集泛 化能力(cross-dataset generalization)测试取得了具有竞争力的结果。值得一提的是, 我们的模型训练和测试都是在廉价设备(Dual-Core CPU+NV GTX750)上进行的。

【发明内容】

[0012] 本发明的目的在于提出一种快速准确地估计出RGB图像中人体姿势的方法,由 此,为基于图像的行为识别提供良好的基础。
[0013] 为了克服传统姿势估计方法由于人工设计图像特征和空间模型导致姿势估计准 确度上的不足,本发明研究了如何在保证姿势估计速度的前提下,获得更高的姿势准确率。 本发明设计了一个名为ILPN(IndependentLossesPoseNet)的模型。该模型具有的独立 输出层和独立损失函数是为人体关节定位而设计的。ILPN由一个输入层,7个隐含层,2个 独立的输出层组成。其中第1~6个隐含层(convl~conv6)是卷积层(convolutional layer),用于特征提取,第7个隐含层(fc7)是全连接层(fully-connectedlayer)。输出 层由两个独立的部分组成:fc8_x和fc8_y。其中fc8_x用于预测关节的X坐标,fc8_y用 于预测关节的y坐标。在模型训练时,这两个输出都会有一个独立的softmax损失函数来 指导模型的学习。
[0014] 一种基于深度卷积神经网络的人体姿势识别方法,该方法包括:
[0015] 步骤1:获得训练图像并对图像进行预处理:首先对训练图像进行数据扩展,再对 扩展后的图像进行灰度处理;
[0016] 步骤2:使用步骤1获得的训练样本训练人体姿势的神经网络;
[0017] 步骤2. 1:对图像依次进行卷积处理,Max Pooling处理,局部响应归一化处理,为 神经网络的第一层;
[0018] 步骤2. 2:对步骤2. 1的结果依次进行卷积处理,局部响应归一化处理,为神经网 络的第二层;
[0019] 步骤2. 3:对步骤2. 2的结果依次进行4次卷积处理,为神经网络的第四~六层; 步骤2. 4:将第六层以全连接的方式获得第七层;
[0020] 步骤2. 5 :将第七层以全连接的方式获得输出层:输出层被分为两个独立的部分, 每个部分都额外与一个独立的损失函数相连接,分别计算模型预测的X和y坐标的误差,即 在后向传播时,两个损失函数独立计算后向传播的梯度,输出层两个独立的部分也独立计 算后向传播的梯度;当这两部分的梯度都计算完成后,第七层对这两部分的梯度求和并计 算自己的梯度;通过计算输出层两个独立部分的最强响应神经元,获得一个人体关节的坐 标。
[0021] 步骤2. 6 :依次使用训练图像多次重复步骤2. 1~步骤2. 6的方法训练神经网络, 直到模型的损失收敛,即损失降到一定程度后不再降低,获得可准确定位人体关节的神经 网络;
[0022] 步骤2. 7 :通过步骤2. 1~步骤2. 6,对每个关节训练一个深度神经网络来获得多 个不同关节的坐标,这些坐标最终构成一个完整的人体姿势;
[0023] 步骤3:利用获得测试图像,利用步骤2训练得到的人体姿势估计神经网络来估计 测试图像中的人体姿势;最后,通过查找步骤1中获得的坐标映射表,将统一尺度下的人体 姿势映射回原图像尺度下。
[0024] 进一步的,所述步骤1中对训练图像的数据扩展包括:对图像RGB通道及其标注同 时进行多次中心旋转,水平平移,水平翻转以及将图像尺寸伸缩到统一大小。
[0025] 本发明具有以下优点:
[0026] 将关节定位问题建模为坐标分类问题,而不是回归问题。这极大地降低了模型的 训练难度。因为坐标分类问题将模型的输出约束到图片坐标空间之内,而回归问题的输出 是整个实数空间。同时,两个独立的输出层以及独立的损失函数在模型训练是可以避免相 互干扰。模型不会因为fc8_x的错误输出而惩罚fc8_y,反之亦然。最后,因为fc8-x和 fc8_y预测的是同一个关节坐标的不同维度,所以他们可以共享该关节的视觉特征,即共享 convl~conv6所提取的特征。
[0027] 1.从姿势估计的准确度考虑,本发明利用深度卷积神经网络强大的学习能力学习 对人体姿势估计有效的图像特征,避免了人工设计的图像特征的局限性;
[0028] 2.从方法的适用范围考虑,本发明利用深度神经网络对图像特征进行非线性映射 来获得人体姿势,本发明避免了人工设计空间模型的局限性;
[0029] 3.从模型训练效率和系统运行效率考虑,本发明的深度卷积神经网络的输出层经 过特殊设计,具有易训练,准确度高的特点。通过合理控制深度卷积神经网络的规模。使系 统在运行时节省了空间和时间开销。
【附图说明】
[0030]图1是本发明所述的系统框架。
[0031] 图2是本发明所述的深度卷积神经网络结构。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1