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

文档序号:9350340阅读:来源:国知局

[0032]图3是本发明所提取的人体姿势特征。
【具体实施方式】
[0033] 为解决上述问题,本发明提出的基于深度卷积神经网络的人体姿势估计系统具体 实施步骤如下:
[0034]步骤一:预处理。数据增强对于深度卷积神经网络的训练有至关重要的作用。在 模型训练阶段,本发明针对姿势估计问题,采用的数据增强方法是:通过旋转、平移、尺度变 换等方式,对训练样本进行增强,迫使模型学习到的具有旋转、平移、尺度变换具有鲁棒性 的特征。同时,这些操作也为模型训练提供了大量伪造样本。在模型运行阶段,只需要对输 入图片进行缩放,使之适应深度卷积神经网络的输入层大小,并且记录缩放前后像素坐标 的对应关系,保存为映射表,以备后处理使用。
[0035] 步骤二:人体姿势图像特征的提取。人体姿势的特征学习是通过多层卷积神经网 络从大量训练样本中学习得到的。在模型运行阶段,模型从图像中提取特征。本发明使用 6个卷积层来提取图像特征。并且为了减小模型的复杂度,在第一层卷积层后使用了一个 Max Pooling操作。为了提高模型的推广性,在Max Pooling和第二层卷积层后都进行了局 部响应归一化操作。具体的网络结构为:
[0036] (1)输入层大小为220*220*3,即输入图片为长宽均为220个像素的RGB图像,我 们将图像存储在数据库中;
[0037] (2)第一层隐含层是卷积层+MaxPooling+局部响应归一化(LocalResponse Normalization)的模式,.已有大量实验证明这是一种较好的图像特征提取模式:
[0041] 其中,X是第一个隐含层的输入,即RGB图像;的,分别是第一个隐含层中卷 积层的输出,MaxPooling的输出,以及局部响应归一化的输出;K是卷积核(Kernel),它 由多个神经元(neuron)组成;s是卷积核在X和y方向上移动的步长;n是卷积核的个数; a,P,K,m是LRN的参数,利用相邻m个卷积核进行归一化:
[0043] (3)第二层隐含层是卷积层+局部响应归一化的模式:
[0044]Of=ConvCO*,Kfix6x2, 5- = 2, /? = 256) (公式 4)
[0045] =LRN(O12, a=IO^4,0=0. 75,K=2,M:= 5) (公式 5)
[0046] 虽然MaxPooling可以降低模型的复杂度,但是会损失像素精度。而对于姿势估 计而言,关节定位的精度是主要需求之一,所以我们只在第一层隐含层使用MaxPooling。
[0047] (4)第三层隐含层:
[0048]O3= Conv(Og,Kgxfegs, ^ =I,JJ=256) (公式 6)
[0049] (5)第四层隐含层:
[0050]O4=Conv(0 3,K5x5x256,s=I,n= 384) (公式 7)
[0051] (6)第五层隐含层;
[0052]O5=Conv(04,K7x7x384,s=I,n= 256) (公式 8) (7)第六层是卷积层,卷积 核大小为7*7,Feature Map个数为256,步长为1〇
[0053]O6=Conv(0 5,K7x7x256,s=I,n= 256) (公式 9)
[0054] 步骤三:人体姿势图像特征到人体姿势的映射。本发明通过两个全连接层实现非 线性变换。映射的输入是步骤二生成的256个FeatureMap,它们以全连接的方式连接到第 七层(全连接层),第七层再以全连接的方式连接到第八层(输出层)。输出层被分隔为两 个独立的部分,分别表示图像的两个坐标。在训练的时候,这两个独立的部分分别设置一个 softmax损失函数来指导模型的学习。具体的网络结构为:
[0055] (8)第七层是全连接层,神经元个数为1024个:
[0057]其中,g是全连接层的第j个神经元,M:;和#是全连接层的第j个神经元与第六 层隐含层的连接参数;ReLU是受限的线性单元(RectifiedLinearUnits),其计算公式如 下:
[0059]ReLU的使用使神经网络的训练时间极大的缩短,并且对过拟合起到一定的抑制作 用。
[0060] (9)输出层是全连接层,神经元个数为440个,输出层后连接损失层,损失层只用 于训练神经网络;
[0061] 损失层是两个softmaxloss,第一个softmaxloss连接到输出层的前220个神经 元(fc8_x),第二个softmaxloss链接到输出层的后220个神经元(fc8_y)。fc8_x的每个 神经元表示图像坐标系下一个像素的X坐标,fc8_y的每个神经元表示图像坐标系下一个 像素的y坐标。通过fc8_x和fc8_y神经元的响应可以唯一确定一个图像坐标系下的一个 像素点:
[0062] (xy,Yj) = (argmax(ox),argmax(oy))
[0063] 其中,是模型预测的第i个关节的坐标,ox和oy分别是fc8_x和fc8_y的 输出向量,argmaxO用于计算最大值所在的位置。
[0064] 由于使用了两个独立的输出层和独立的损失函数,在使用后向传播算法(Back Propagation)时,第七层必须等待fc8_x和fc8_y的梯度都计算完成以后才开始计算自己 后向传播的梯度。fc8-x和fc8-y第n个神经元的计算公式为:
[0068]其中,〇为fc8_x或fc8_y的输出,n为神经元编号,k为真值(groundtruth)神经 元的编号,IossO是softmax函数
[0069] 步骤四:在模型运行阶段,将步骤三输出的关节坐标通过步骤一记录的映射表,还 原到预处理之前的图像坐标下。最终,多个关节坐标的组合构成一个完整的人体姿势。
【主权项】
1. 一种基于深度卷积神经网络的人体姿势识别方法,该方法包括: 步骤1:获得训练图像并对图像进行预处理:首先对训练图像进行数据扩展,再对扩展 后的图像进行灰度处理; 步骤2 :使用步骤1获得的训练样本训练人体姿势的神经网络; 步骤2. 1 :对图像依次进行卷积处理,MaxPooling处理,局部响应归一化处理,为神经 网络的第一层; 步骤2. 2 :对步骤2. 1的结果依次进行卷积处理,局部响应归一化处理,为神经网络的 第二层; 步骤2. 3 :对步骤2. 2的结果依次进行4次卷积处理,为神经网络的第四~六层;步骤 2. 4 :将第六层以全连接的方式获得第七层; 步骤2. 5 :将第七层以全连接的方式获得输出层:输出层被分为两个独立的部分,每个 部分都额外与一个独立的损失函数相连接,分别计算模型预测的X和y坐标的误差,即在后 向传播时,两个损失函数独立计算后向传播的梯度,输出层两个独立的部分也独立计算后 向传播的梯度;当这两部分的梯度都计算完成后,第七层对这两部分的梯度求和并计算自 己的梯度;通过计算输出层两个独立部分的最强响应神经元,获得一个人体关节的坐标。 步骤2. 6 :依次使用训练图像多次重复步骤2. 1~步骤2. 6的方法训练神经网络,直 到模型的损失收敛,即损失降到一定程度后不再降低,获得可准确定位人体关节的神经网 络; 步骤2. 7 :通过步骤2. 1~步骤2. 6,对每个关节训练一个深度神经网络来获得多个不 同关节的坐标,这些坐标最终构成一个完整的人体姿势; 步骤3 :利用获得测试图像,利用步骤2训练得到的人体姿势估计神经网络来估计测试 图像中的人体姿势;最后,通过查找步骤1中获得的坐标映射表,将统一尺度下的人体姿势 映射回原图像尺度下。2. 如权利要求1所述的一种基于深度卷积神经网络的人体姿势识别方法,其特征在于 所述步骤1中对训练图像的数据扩展包括:对图像RGB通道及其标注同时进行多次中心旋 转,水平平移,水平翻转以及将图像尺寸伸缩到统一大小。
【专利摘要】该发明公开了一种基于深度卷积神经网络的人体姿势识别方法,属于模式识别与信息处理技术领域,涉及计算机视觉方面的行为识别任务,尤其涉及基于深度卷积神经网络的人体姿势估计系统的研究与实现方案。该神经网络具有的独立输出层和独立损失函数是为人体关节定位而设计的。ILPN由一个输入层,7个隐含层,2个独立的输出层组成。其中第1~6个隐含层是卷积层,用于特征提取,第7个隐含层(fc7)是全连接层。输出层由两个独立的部分组成:fc8-x和fc8-y。其中fc8-x用于预测关节的x坐标,fc8-y用于预测关节的y坐标。在模型训练时,这两个输出都会有一个独立的softmax损失函数来指导模型的学习。从而具有训练简单迅速,计算量小,准确度高的优点。
【IPC分类】G06K9/00
【公开号】CN105069413
【申请号】CN201510444505
【发明人】董乐, 张宁
【申请人】电子科技大学
【公开日】2015年11月18日
【申请日】2015年7月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1