当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于人体姿态估计的行人重识别方法技术

技术编号:24854904 阅读:31 留言:0更新日期:2020-07-10 19:08
本发明专利技术公开了一种基于人体姿态估计的行人重识别算法,属于计算机视觉领域。本发明专利技术解决的问题是:行人重识别任务中由于人体姿势和摄像机角度的不固定使得识别效果不鲁棒的问题。本发明专利技术的主要算法的核心部分在于利用人体姿态估计算法得到行人图片中的人体关节点,通过关节点将行人图片分割为人体各个部分的图片。通过对人体各个部分的图片训练神经网络,提取出对于部分的特征向量。进一步,将特征向量融合,最后对特征向量进行距离度量。本专利能够提高行人重识别任务中对行人姿态不固定样本的鲁棒性,具有一定的创新性。

【技术实现步骤摘要】
一种基于人体姿态估计的行人重识别方法
本专利技术属于计算机视觉与深度学习领域,主要涉及一种基于姿态估计的行人重识别方法。
技术介绍
行人重识别,是多摄像机监控系统中的一个关键任务。这项任务要求在不同时间不同地点,识别由不同两台摄像机拍摄到的行人,是否为同一个人。所以行人重识别是实现跨摄像头的行人追踪和关键人物检索的关键技术。相关研究日益增多,但仍有不少困难需要解决。比如不同摄像机所得图片中的分辨率不同、光照变化、无关背景噪声。同时人体是非刚性的,行人的动作不同,摄像机拍摄的角度不同,还引入了姿态变化的问题。上述问题都在不同程度上影响识别的准确率。现有的行人重识别框架主要由特征提取和特征度量构成。但是大多数方法在提取图像特征的过程中都忽略了行人姿态变化的影响,或者通过训练神经网络来进行隐式人体部分对齐操作。这样的操作损失了一部分人物各部分图像的空间联系,使得在匹配一些人体姿势差异大的图片上准确率降低。
技术实现思路
本专利技术提供一种基于人体姿态估计的行人重识别方法。包括如下步骤:步骤1:将多个摄像头采集的行人录像进行取帧,检测每帧图像中的行人;步骤2:通过姿态估计获取图片中行人的关节点位置,据此将行人图片分割成上半身图片和下半身图片;步骤3:训练3个神经网络,分别提取原图片、上半身图片和下半身图片的特征向量;步骤4:特征融合与匹配排序。对于步骤1,多个摄像头分布在不同街道,拍摄不同的场景。将录取到的视频进行取帧,每帧图片中包括数量不等的行人。采用基于卷积神经网络的行人检测方法,得到每个行人的包围盒。对每个行人的包围盒进行截图,得到行人前景图片。对于步骤2,采用基于卷积神经网络的方法对前景图片中的行人进行关节点预测。所有关节点均是二维关节点,其形式以(x,y)标注,x代表关节点横坐标,y代表纵坐标。通过左右髋关节的纵坐标y1、y2计算出其平均值以作为界限,将行人图片分为上半部分和下半部分。人体是一个非刚性物体,街道监控摄像头拍摄到的行人图片可能会出现各种姿态。基于关节点的人体各部分划分相比于其他图像特征方法的划分,对人体形变带来的不良影响具有更好的抗性。上半身和下半身两个部分的总体形变相对较小;同时这个部分都包含有大块的图片面积,不可能被完全遮挡。对于步骤3,由姿态估计得到的行人全身图片、上半身图片和下半身图片分别构成三个独立的训练集。采用同一个策略训练三个结构相同、权值独立的卷积神经网络。对上半身图片、下半身图片连同原始图片进行预处理。预处理的步骤为将图片进行缩放,使得整张图片为正方形;然后对图片随机进行左右翻转。将预处理完毕后的上下半身图片,连同原图片一起输入神经网络中进行两阶段的训练。第一阶段是采用Softmax损失函数进行训练,公式如下:其中aj是网络输出的第j个类型的线性预测分数,yi是输入样本对应类别i的标签,Si代表当前样本对应于类别i的概率,T代表总的类型数量。L1是损失函数的数值结果。当使用Softmax损失函数训练神经网络,达到一定精度之后,训练进入第二阶段,改用Triplet损失函数继续进行。Triplet损失函数公式如下:其中f(x)代表从输入图片到神经网络特征向量的映射关系。是从数据集中随机选取的一个行人图片,代表另外一张标签相同的图片,代表一张不同标签的图片。三张图片组成了一个三元组。训练集中所有的三元组总数为N。α为margin值,即边界填充值。一项求得了特征向量f(xa)、f(xp)之间的二范数的平方,即欧几里得距离平方,表征了同类样本特征向量的类内距离。同理一项表征了异类样本特征向量之间的类间距离。只有当f(xa)与f(xp)之间的欧几里得距离平方,与f(xa)与f(xn)之间的欧几里得距离平方相差大于α时,损失函数的值大于零,继而指导网络优化。因此Triplet损失函数显式地缩小同类样本特征向量的类内距离,加大异类样本特征向量的类间距离。最后训练出来的网络可以更好地聚合同一个行人图片的特征,离散不同行人图片的特征。在使用Triplet损失函数训练神经网络时,需要将训练样本图片分为一个个三元组,作为输入数据。大量的三元组组合,在Triplet损失函数的计算中会得出零值,对网络训练没有贡献,应当排除。因此在网络训练时采用基于小批量梯度下降法的难例挖掘方法。以此筛选出合适的三元组,保证网络可以正常训练优化。小批量梯度下降法,Mini-batchGradientDescent,是指将训练集分割为一个个小批量的样本,称为一个minibatch。每次更新网络参数时,只使用当前minibatch中的样本。与一般的小批量梯度下降法不同,对于使用Triplet损失函数时,需要保证minibatch中至少包含两个同标签的样本以及另一个不同标签的样本。为此我们采用如下方法来生成minibatch:首先要将输入样本按标签排序,得到一个序列Lista=[x1,x2...xn],其中xi代表排序后第i个输入样本。设定一个单位系数c,对Lista从前往后,每c个样本形成一个样本小组。对这些小组进行随机打乱,小组与小组间的顺序打乱,小组内的顺序不变,得到Listb。最终设定minibatch的大小,将Listb进行切片操作,由此获得训练所需的所有minibatch。每次训练迭代只使用一个minibatch中的样本,采用以下方法在每次训练中构造出三元组:先将一个minibatch内的所有同类样本进行组合。对每一个同类样本,找出minibatch中所有与其异类的样本,并与之组合在一起,得到三元组。将一个minibatch中所有得到的三元组输入网络,计算最后的Triplet损失函数值L2。将所有三元组按照L2从大到小进行排序。排序靠前的样本称为难例。但如果训练网络时全使用难例,网络训练很可能会崩溃。需要设置一个值介于0与1之间的难例系数λ,代表一次训练迭代中所使用的难例三元组占总数的比例。设置一个系数n,表示一次迭代中进入训练的三元组数量为n。那么最后参与训练的三元组集合,由排序的前个三元组难例,与个随机选取的三元组组成。将训练好的网络作为特征提取器,分别在对应网络输入带查询行人图片的全身图片、上半身图片和下半身图片。提取对于网络最后全连接层的输出,作为特征向量。对于步骤4,将步骤3中得到的三部分特征向量首尾连接,成为联合特征向量,公式如下:F′=[F1F2F3]其中F1、F2、F3分别代表全身、上半身和下半身图片提取出的特征向量。联合特征向量保留了图片的整体信息和行人上下半身的局部信息,具有更好的鲁棒性。同时联合特征向量的将行人的整体特征和局部特征固定在特定的向量维度上,相当于对整体和部分进行了显式的对齐操作,可以降低行人姿态变化对重识别准确率的影响。最后进行特征距离度量。现有一个待查询候选行人图片集G,需要从中找出查找出图片p中的目标行人。先提取出图片p的联合特征向量F′p和图片集中的所有图片的联合特征向量集G。计算p与G内所有联合特征向量的欧氏距离。G={x1,本文档来自技高网...

【技术保护点】
1.一种基于人体姿态估计的行人重识别方法,其特征是包含以下主要步骤:/n步骤一、将多个摄像头采集的行人录像进行取帧,检测每帧图像中的行人,得到行人前景图片;/n步骤二、通过姿态估计方法获取行人图片中行人的关节点位置,据此将行人图片分割成上半身图片和下半身图片;/n步骤三、训练神经网络,将原图片、上半身图片和下半身图片都经过神经网络提取特征,并输出行人各部分特征向量;/n步骤四、将得到各部分特征向量进行融合,得到联合特征向量。通过联合特征向量进行距离度量,输出最后的结果。/n

【技术特征摘要】
1.一种基于人体姿态估计的行人重识别方法,其特征是包含以下主要步骤:
步骤一、将多个摄像头采集的行人录像进行取帧,检测每帧图像中的行人,得到行人前景图片;
步骤二、通过姿态估计方法获取行人图片中行人的关节点位置,据此将行人图片分割成上半身图片和下半身图片;
步骤三、训练神经网络,将原图片、上半身图片和下半身图片都经过神经网络提取特征,并输出行人各部分特征向量;
步骤四、将得到各部分特征向量进行融合,得到联合特征向量。通过联合特征向量进行距离度量,输出最后的结果。


2.权利要求1所述方法的步骤二的特征在于,采用基于卷积神经网络的人体姿态估计方法,对行人前景图片进行关节点预测。根据预测得到的二维关节点关节点,其像素位置以(x,y)标注,x代表关节点像素横坐标,y代表关节点像素纵坐标。通过左右髋关节的纵坐标y1,y2计算出其平均值以作为界限,将行人图片分割为上半身图片和下半身图片。


3.权利要求1所述方法的步骤三特征在于,采用不同的损失函数对神经网...

【专利技术属性】
技术研发人员:于耀邱睿周余
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1