掌桥专利:专业的专利平台
掌桥专利
首页

一种基于生成对抗网络的行人重识别方法和系统

文献发布时间:2023-06-19 09:54:18


一种基于生成对抗网络的行人重识别方法和系统

技术领域

本发明属于机器学习和模式识别技术领域,更具体地,涉及一种基于生成对抗网络的行人重识别方法和系统。

背景技术

行人重识别(Person Re-identification)也称行人再识别,可简称为ReID。它是计算机视觉领域一个热门研究方向,是通过计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。它给定一个监控摄像头下的行人图像,在拍摄区域互不交叉的其他摄像头下,对该行人进行检索。因此,在监控安防等方面,起到了重要的作用。

早期的行人重识别研究,主要是围绕特征提取,意图提取稳定的、具有判别性的低级视觉特征,如颜色特征、纹理特征。近年来,随着深度学习技术的兴起,基于深度学习的行人重识别研究逐渐变得普及了起来。

按照不同的数据集,可将行人重识别分为基于图像的行人重识别和基于视频序列的行人重识别。目前基于视频的行人重识别方法主要分为两个阶段:在第一阶段,主要是针对行人图像序列中丰富的时序信息和空间信息,建立时间和空间模型;然后将经过裁剪处理的行人图片输入到设计好的网络模型中,训练整个网络模型,以提取出具有鉴别力的特征向量;第二阶段,将从视频序列中提取到的每一帧的特征,聚合得到代表视频的特征,然后进行特征匹配,根据特征向量的距离排序,来确定位于不同摄像头下的目标行人。

然而,现有的基于视频的行人重识别方法存在一些不可忽略的缺陷:第一、其在数据不足时,容易导致模型在训练过程中出现过拟合的情况,从而影响模型对整个样本空间的泛化能力,并最终降低行人重识别的精度;第二、其在制作新的数据样本所需的开销是巨大的,在视频拍摄与标注标签方面都需要付出相当大的人力、物力和时间;第三,其在对数据进行现有的其它增强处理方式(例如平移、旋转、剪切等)时,产生的数据分布仍然接近于原始数据,对行人重识别精度所起到的作用非常有限。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于生成对抗网络的行人重识别方法和系统,其目的在于,解决现有基于视频的行人重识别方法在数据不足时,容易导致模型在训练过程中出现过拟合的情况,最终降低行人重识别的精度的技术问题,以及在制作新的数据样本所需的开销巨大、在视频拍摄与标注标签方面都需要付出相当大的人力、物力和时间的技术问题,以及在对数据进行现有的增强处理方式时,对行人重识别精度所起到的作用非常有限的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于生成对抗网络的行人重识别方法,包括以下步骤:

(1)获取第一摄像头采集的、在第二摄像头中也出现的所有行人的第一行人视频图像序列集、以及在第二摄像头中出现的所有行人的第二行人视频图像序列集;

(2)依次将步骤(1)得到的所有行人对应的第一行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的行人视频图像序列中每张行人视频图像的特征,并将步骤(1)得到的所有行人对应的第二行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的第二行人视频图像序列中每张行人视频图像的特征;

(3)对步骤(2)得到的每个行人对应的第一行人视频图像序列中所有行人视频图像的特征进行平均池化处理,以得到每个行人对应的第一行人视频图像序列所对应的聚合特征,对步骤(2)得到的每个行人对应的第二行人视频图像序列中所有行人视频图像的特征进行平均池化处理,以得到每个行人对应的第二行人视频图像序列所对应的聚合特征;

(4)对于第一行人视频图像序列集对应的每个行人而言,计算步骤(3)得到的该行人对应的第一视频图像序列所对应的聚合特征与步骤(3)得到的所有行人对应的第二行人视频图像序列所对应的聚合特征之间的欧氏距离,将得到的多个欧氏距离按照从小到大的顺序进行排序,并将与排序结果中的最小值所对应的、第二行人视频图像序列对应的行人作为重识别结果输出。

优选地,卷积神经网络是采用Resnet-50神经网络,其是通过以下步骤训练得到的:

(2-1)获取视频行人重识别数据集,并将该视频行人重识别数据集划分为训练集和测试集;

(2-2)对卷积神经网络的参数进行初始化,权重参数的初始值是使用标准差为0.1的截断式正态分布输出的随机值,偏置参数的初始值设为0,初始学习率lr=0.0003,采用阶梯性的学习策略,步长stepsize=200,权重gamma=0.1;

(2-3)将步骤(2-1)获取的训练集输入到步骤(2-2)初始化后的卷积神经网络中,通过正向传播算法输出网络预测值,并计算该网络预测值与真实标签之间的第一交叉熵损失值;

(2-4)根据步骤(2-3)得到的网络预测值与真实标签之间的交叉熵损失值,利用反向传播算法对卷积神经网络的所有权重参数进行更新和优化,以获取分类精度;

(2-5)重复迭代执行上述步骤(2-3)和步骤(2-4),直至训练集对应的交叉熵损失值不再下降且验证集对应的分类精度不再上升为止,从而得到初步训练好的卷积神经网络;

(2-6)将训练好的生成对抗网络所生成的数据输入步骤(2-5)初步训练好的卷积神经网络中,通过正向传播算法输出网络预测值,并计算该网络预测值与真实标签之间的第二交叉熵损失值;

(2-7)根据步骤(2-6)得到的网络预测值与真实标签之间的交叉熵损失值,利用反向传播算法对步骤(2-5)初步训练好的卷积神经网络的所有权重参数进行更新和优化,以获取分类精度;

(2-8)重复迭代步骤(2-6)和步骤(2-7),直至训练集对应的交叉熵损失值不再下降且验证集对应的分类精度不再上升为止,从而得到最终训练好的卷积神经网络。

优选地,步骤(2-3)中使用的损失函数L

其中N是训练集中行人的总数,L是对每个行人对应的行人视频图像序列进行分段处理的总片段数,n

优选地,步骤(2-6)中卷积神经网络使用的损失函数L

其中ε是权重因子且ε∈[0,1],其为0时表示所生成的数据是真实图像,其为1时表示所生成的数据是非真实图像,L

优选地,生成对抗网络的训练过程包括以下步骤:

(a)获取视频行人重识别数据集;

(b)从步骤(a)得到的视频行人重识别数据集中获取第一摄像头采集的、在第二摄像头中也出现的所有行人的第一视频行人重识别子数据集,以及第二摄像头采集的、在第一摄像头中也出现的所有行人的第二视频行人重识别子数据集;

(c)将步骤(b)得到的第一视频行人重识别子数据集中每个行人的行人视频图像序列中随机抽取一帧行人视频图像,从而得到M张行人视频图像,其中M表示第一摄像头采集的、在第二摄像头中也出现的所有行人的总数;

(d)将步骤(b)得到的第二视频行人重识别子数据集中每个行人的行人视频图像序列划分为T个视频段,从每个视频段中随机抽取一帧行人视频图像,从而得到M*T张行人视频图像,其中T∈[1,行人视频图像序列中行人视频图像的总数];

(e)从步骤(c)得到的M张行人视频图像和步骤(d)得到的M*T张行人视频图像中提取对应的姿态图片;

(f)针对步骤(c)得到的M张行人视频图像中每一张行人视频图像对应的行人而言,将该行人在第一视频行人重识别子数据集中对应的行人视频图像在步骤(e)中对应的姿态图片与该行人在第二视频行人重识别子数据集中对应的行人视频图像在步骤(e)中对应的T张对应姿态图片中的每一张姿态图片组成姿态图片对,所有姿态图片对构成该行人对应的姿态图片对集合;

(g)对生成对抗网络的参数进行初始化,权重参数的初始值是使用标准差为0.1的截断式正态分布输出的随机值;

(h)将第一视频行人重识别子数据集和步骤(f)得到的所有M个行人对应的姿态图片对集合输入步骤(g)初始化后的生成对抗网络中,以获取生成对抗网络的损失值;

(i)重复迭代步骤(h),直至生成对抗网络的损失值收敛为止。

优选地,生成对抗网络的损失函数表示为:

L=αL

其中L

优选地,生成对抗损失函数L

其中D

L1损失函数L

L

按照本发明的另一方面,提供了一种基于生成对抗网络的行人重识别系统,包括:

第一模块,用于获取第一摄像头采集的、在第二摄像头中也出现的所有行人的第一行人视频图像序列集、以及在第二摄像头中出现的所有行人的第二行人视频图像序列集;

第二模块,用于依次将第一模块得到的所有行人对应的第一行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的行人视频图像序列中每张行人视频图像的特征,并将步骤(1)得到的所有行人对应的第二行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的第二行人视频图像序列中每张行人视频图像的特征;

第三模块,用于对第二模块得到的每个行人对应的第一行人视频图像序列中所有行人视频图像的特征进行平均池化处理,以得到每个行人对应的第一行人视频图像序列所对应的聚合特征,对第二模块得到的每个行人对应的第二行人视频图像序列中所有行人视频图像的特征进行平均池化处理,以得到每个行人对应的第二行人视频图像序列所对应的聚合特征;

第四模块,用于对于第一行人视频图像序列集对应的每个行人而言,计算第三模块得到的该行人对应的第一视频图像序列所对应的聚合特征与第三模块得到的所有行人对应的第二行人视频图像序列所对应的聚合特征之间的欧氏距离,将得到的多个欧氏距离按照从小到大的顺序进行排序,并将与排序结果中的最小值所对应的、第二行人视频图像序列对应的行人作为重识别结果输出。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

1、由于本发明在生成对抗网络训练过程中采用了步骤(a)到(i),其通过生成对抗网络生成的数据扩充了现有的数据集,因此,能够解决现有方法其在数据不足时,容易导致模型在训练过程中出现过拟合的情况,并最终降低行人重识别精度的技术问题;

2、由于本发明在生成对抗网络训练过程中采用了步骤(a)到(i),其通过生成对抗网络生成大量的数据,因此,能够解决现有方法在制作新的数据样本所需的开销巨大,在视频拍摄与标注标签方面都需要付出相当大的人力、物力和时间的技术问题;

3、由于本发明在生成对抗网络训练过程中采用了步骤(b)到(f),其通过生成对抗网络生成的数据填补了原始样本在样本空间的间隙,并略微扩展类边界,因此,能够解决现有方法在对数据进行增强处理时,产生的数据分布仍然接近于原始数据,对行人重识别精度所起到的作用非常有限的技术问题;

4、本发明中视频行人重识别网络模型相较于其他更加轻量,通过使用Resnet-50卷积神经网络作为特征提取网络,以最简单的平均池化对每帧特征进行处理,在重识别中取得了较高的识别精度。

附图说明

图1是本方法基于生成对抗网络的行人重识别方法的流程示意图;

图2是本发明利用生成对抗网络生成扩充数据这一过程的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

针对视频行人重识别领域存在的数据量不足问题,本发明提出了一种基于生成对抗网络的,生成具有时序姿态的行人序列,对训练集进行扩充的方法。通过生成具有时序姿态的行人序列,对现有的数据进行扩充,扩充的数据能填补原始样本在样本空间的间隙,并略微扩展类边界,能一定程度上抑制过拟合,提升模型对整个样本空间的泛化能力,进而提升视频行人重识别模型识别的准确率。

如图1所示,本发明提供了一种基于生成对抗网络的行人重识别方法,包括以下步骤:

(1)获取摄像头A采集的、在摄像头B中也出现的所有行人的第一行人视频图像序列集、以及在摄像头B中出现的所有行人的第二行人视频图像序列集;

(2)依次将步骤(1)得到的所有行人对应的第一行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的行人视频图像序列中每张行人视频图像的特征(frame-level feature),并将步骤(1)得到的所有行人对应的第二行人视频图像序列集输入到训练好的卷积神经网络中,以提取每个行人对应的第二行人视频图像序列中每张行人视频图像的特征;

本步骤中的卷积神经网络采用Resnet-50神经网络,其是通过以下步骤训练得到的:

(2-1)获取视频行人重识别数据集,并将该视频行人重识别数据集划分为训练集和测试集;

具体而言,在本步骤中采用的视频行人重识别数据集是PRID2011数据集,PRID2011数据集提供了2个位于不同地点、用于静止地监控人行道的摄像头A和B(例如,摄像头A显示385人,摄像头B显示749人,只有前200个人会同时出现在两个摄像头中)。训练和测试时,采用的是来自官方数据集的划分方式,从A和B摄像头中共同出现的行人中随机抽取多个,并按照1:1的比例划分训练集和测试集,即随机划分50%作为训练集,剩余的50%作为测试集,重复划分10次,以减少随机误差。

(2-2)对卷积神经网络的参数进行初始化,权重参数的初始值是使用标准差为0.1的截断式正态分布输出的随机值,偏置参数的初始值设为0,初始学习率lr=0.0003,采用阶梯性的学习策略,步长stepsize=200,权重gamma=0.1,即每200轮(epoch)将学习率乘以0.1;

(2-3)将步骤(2-1)获取的训练集输入到步骤(2-2)初始化后的卷积神经网络中,通过正向传播算法输出网络预测值,并计算该网络预测值与真实标签之间的第一交叉熵损失值;

其中,卷积神经网络使用的损失函数L

其中N是训练集中行人的总数,L是对每个行人对应的行人视频图像序列进行分段处理的总片段数,n

训练过程中一个批次(Batch)的形成,是通过对N个行人中每个行人的行人视频图像序列随机抽样L个片段(Clips),每个片段包含T帧(T的取值等于4),一个批次中包含NL个片段,Softmax交叉熵损失函数鼓励网络将NL个片段分类到正确的行人。

(2-4)根据步骤(2-3)得到的网络预测值与真实标签之间的交叉熵损失值,利用反向传播算法对卷积神经网络的所有权重参数进行更新和优化,以获取分类精度;

(2-5)重复迭代执行上述步骤(2-3)和步骤(2-4),直至训练集对应的交叉熵损失值不再下降且验证集对应的分类精度不再上升为止,从而得到初步训练好的卷积神经网络(Baseline model);

(2-6)将训练好的生成对抗网络所生成的数据输入步骤(2-5)初步训练好的卷积神经网络中,通过正向传播算法输出网络预测值,并计算该网络预测值与真实标签之间的第二交叉熵损失值;

其中,卷积神经网络使用的损失函数L

其中ε是权重因子且ε∈[0,1],其为0时表示所生成的数据是真实图像,L

(2-7)根据步骤(2-6)得到的网络预测值与真实标签之间的交叉熵损失值,利用反向传播算法对步骤(2-5)初步训练好的卷积神经网络的所有权重参数进行更新和优化,以获取分类精度;

(2-8)重复迭代步骤(2-6)和步骤(2-7),直至训练集对应的交叉熵损失值不再下降且验证集对应的分类精度不再上升为止,从而得到最终训练好的卷积神经网络。

(3)对步骤(2)得到的每个行人对应的第一行人视频图像序列中所有行人视频图像的特征进行平均池化(Average pooling)处理,以得到每个行人对应的第一行人视频图像序列所对应的聚合特征(Aggregated feature),对步骤(2)得到的每个行人对应的第二行人视频图像序列中所有行人视频图像的特征进行平均池化(Average pooling)处理,以得到每个行人对应的第二行人视频图像序列所对应的聚合特征;

(4)对于第一行人视频图像序列集对应的每个行人而言,计算步骤(3)得到的该行人对应的第一视频图像序列所对应的聚合特征与步骤(3)得到的所有行人对应的第二行人视频图像序列所对应的聚合特征之间的欧氏距离,将得到的多个欧氏距离按照从小到大的顺序进行排序,并将与排序结果中的最小值所对应的、第二行人视频图像序列对应的行人作为重识别结果输出;

如图2所示,本发明中生成对抗网络的训练过程包括以下步骤:

(a)获取视频行人重识别数据集;

在本发明中,视频行人重识别数据集是PRID2011数据集;

(b)从步骤(a)得到的视频行人重识别数据集中获取摄像头A采集的、在摄像头B中也出现的所有行人的第一视频行人重识别子数据集,以及摄像头B采集的、在摄像头A中也出现的所有行人的第二视频行人重识别子数据集;

(c)将步骤(b)得到的第一视频行人重识别子数据集中每个行人的行人视频图像序列中随机抽取一帧行人视频图像,从而得到M张行人视频图像,其中M表示摄像头A采集的、在摄像头B中也出现的所有行人的总数;

(d)将步骤(b)得到的第二视频行人重识别子数据集中每个行人的行人视频图像序列划分为T个视频段,从每个视频段中随机抽取一帧行人视频图像,从而得到M*T张行人视频图像,其中T∈[1,行人视频图像序列中行人视频图像的总数];

(e)从步骤(c)得到的M张行人视频图像和步骤(d)得到的M*T张行人视频图像中提取对应的姿态图片;

具体而言,本步骤是使用姿态估计器(例如开源的姿态提取工具OpenPose)提取姿态图片,提取的姿态图片中包含了18个解剖学的关键点及其骨架连接,并由不同的颜色标记骨架部分。

(f)针对步骤(c)得到的M张行人视频图像中每一张行人视频图像对应的行人而言,将该行人在第一视频行人重识别子数据集中对应的行人视频图像在步骤(e)中对应的姿态图片与该行人在第二视频行人重识别子数据集中对应的行人视频图像在步骤(e)中对应的T张对应姿态图片中的每一张姿态图片组成姿态图片对,所有姿态图片对构成该行人对应的姿态图片对集合;

(g)对生成对抗网络的参数进行初始化,权重参数的初始值是使用标准差为0.1的截断式正态分布输出的随机值;

(h)将第一视频行人重识别子数据集和步骤(f)得到的所有M个行人对应的姿态图片对集合输入步骤(g)初始化后的生成对抗网络中,以获取生成对抗网络的损失值;

生成对抗网络的损失函数定义如下:

L=αL

其中L

生成对抗损失函数L

其中E(.)表示获取括号内计算结果的期望值,D

L

L

(i)重复迭代步骤(h),直至生成对抗网络的损失值收敛为止。

实验结果

本节通过在PRID2011数据集上的测试结果来说明本方法的实际效果。本方法在测试过程中涉及到的评测指标包括:(1)Rank-n值:该值评估的是在最终排序列表按照相似度从大到小的前n个检索行人图片中,至少有一张行人图片与目标行人图片为同一个人的概率;(2)平均精度均值(mean average precision,简称mAP):该值衡量的是模型在所有类别上的好坏,它评估的是与目标行人为同一个人的所有行人图片在最终排序列表中整体的排位情况,所有行人图片整体排位越靠前则该值越大,方法效果越好。

下表1示出在PRID2011数据集上本发明与其他方法的比较:

表1

通过上表1可以看出,经过生成数据扩充之后,本方法在Rank-1和Rank-5值分别达到了89.9%和97%,mAP值达到了93%。这说明相较于其他模型的方法,本方法从数据不足的角度出发,通过扩充的数据填补了样本空间中原始样本的间隙,并略微扩展类边界,一定程度上抑制了过拟合,提升了模型对整个样本空间的泛化能力,进而提升了视频行人重识别模型识别的准确率。

下表2示出本发明针对生成样本,取不同ε值下的实验结果:

表2

从上表2可以看出,不同ε取值对重识别精度存在影响,由于ε取值影响生成数据在训练过程中所占的权重,因此,合适的ε取值对于生成数据对卷积神经网络的训练是有益的,它使得卷积神经网络学习到更加丰富的特征,增强的网络的泛化能力,进而提升重识别的精度;反之,不合适的ε取值会影响卷积神经网络的训练,使得卷积神经网络偏向于学习到生成数据的特征,进而降低重识别的精度。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于生成对抗网络的行人重识别方法和系统
  • 一种基于姿态引导生成对抗网络的行人重识别方法
技术分类

06120112343131