本发明涉及计算机模式识别图像处理技术领域,尤其是涉及一种融合随机批掩膜和多尺度表征学习的行人重识别方法。
背景技术:
行人重识别(personre-identification,preid)是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术,广泛被认为是一个图像检索的子问题,在给定一个监控行人图像后,能够自动检索跨设备下的该行人图像。目前,城市里用于公共治安领域的摄像头已经大量部署,几乎到了几十米到几百米一个覆盖的程度,尽管如此,不同的摄像头之间仍然存在无法覆盖的区域。行人重识别的目标就是要确定一个摄像头下发现的目标,在离开摄像头的视野后去哪了,这有点像视频搜索,就是在其他的摄像头采集到的视频中找到目标,行人重识别的任务就是在无重复视域的不同摄像机采集的行人图像或是视频样本之间建立连接关系的处理过程,即识别出不同位置的摄像机在不同时刻拍摄的行人是否为同一人。
现有的行人重识别研究是基于数据集的,就是通过架设几个摄像头,采集行人图像,然后人工标注或自动标注。这些图像一部分用于训练和学习,一部分用于识别。为了提高识别精度,识别算法主要分为两部分,一部分是提取更好的图像特征,另一部分是为了更有效的计算比对不同特征之间的距离。
在提取图像特征时,传统方式多利用深度学习模型,基于卷积神经网络自动学习特征,并利用注意力机制来提取特征,但这种方式通常只着重提取图像中的面部特征或其他突出特征,对于手部或脚步等局部被抑制的特征,则不进行提取,导致这些局部被抑制的重要细节性特征无法被有效提取到,也就不能保证后续识别的准确率。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种融合随机批掩膜和多尺度表征学习的行人重识别方法。
本发明的目的可以通过以下技术方案来实现:一种融合随机批掩膜和多尺度表征学习的行人重识别方法,包括以下步骤:
s1、获取基准数据集,并对基准数据集进行数据扩充;
s2、将数据扩充之后的基准数据集分为训练集和测试集;
s3、基于resnet50卷积神经网络,构建包含依次连接的注意力学习模块、特征提取模块和识别输出模块的行人重识别训练网络,其中,特征提取模块包括特征处理分支、多尺度表征学习分支和随机批掩膜分支,所述特征处理分支包括全局平均池化和批归一化处理;
s4、将训练集输入行人重识别训练网络,按照预设训练参数进行网络超参数调节,得到行人重识别学习网络;
s5、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别测试网络,将测试集输入行人重识别测试网络,输出对应的测试识别结果;
s6、计算测试识别结果的准确率,判断识别结果准确率是否大于或等于预设值,若判断为是,则执行步骤s7,否则返回步骤s4;
s7、获取实际数据集,并将实际数据集输入行人重识别学习网络,以学习实际数据集对应的图像特征;
s8、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别应用网络,将查询图像输入行人重识别应用网络,输出该查询对象对应的识别结果。
进一步地,所述步骤s1中数据扩充具体包括以下步骤:
s11、在基准数据集中随机抽取若干图片进行水平翻转处理;
s12、在基准数据集中随机抽取若干图片进行高斯、椒盐噪声处理。
进一步地,所述步骤s3中注意力学习模块分为三阶段,以加强目标的特征表达;
所述特征处理分支采用标签损失和排序损失联合训练,以获取图像全局信息;
所述多尺度表征学习分支采用两组标签损失训练,以获取图像中局部细节性特征和空间信息相关性;
所述随机批掩膜分支采用标签损失训练,以捕获图像中被抑制的局部特征。
进一步地,所述随机批掩膜分支具体是通过设置大小随机且位置区域随机的遮挡块,利用该遮挡块遮挡图像的某一部分,以捕获未被遮挡的局部信息。
进一步地,所述注意力学习模块包含通道注意力模块和空间注意力模块,所述通道注意力模块由一层平均池化运算、一层多层感知机、一层线性层和一层批归一化层组成,用于增大有效通道权重、减少无效通道权重;
所述空间注意力模块包含两个1*1卷积层和两个3*3卷积层,所述1*1卷积层用于减少卷积特征图维度,所述3*3卷积层用于有效提取特征。
进一步地,所述注意力学习模块具体为:
patt=bn(reduce(conv23*3(conv13*3(reduce(f)))))
catt=bn(linear(mlp(mca)))
其中,atl为注意力学习模块,s为sigmoid函数,catt为通道注意力,patt为空间注意力,
进一步地,所述多尺度表征学习分支中两组标签损失训练分别为小尺度特征训练和大尺度特征训练。
进一步地,所述标签损失训练采用交叉熵损失函数:
其中,l(id)为交叉熵损失函数,id为数据标签,qn为指示变量,pn为模型预测的概率分布,n为数据集中行人的全部类别数,r为设置的常量,n为模型预测的行人标签,m为真实的行人标签。
进一步地,所述排序损失训练采用排序损失三元组函数:
lm(xi,xj;f)=(1-yij)[α-dij] yij[dij-(α-d)]
其中,xi为第i个训练集的样本,xj为第j个训练集样本的标签,f为模型学习函数,yij为xi与xj的概率分布值,dij为xi与xj之间的欧式距离,α为负样本之间设置的阈值,α-d为正样本之间设置的阈值,正负样本之间至少有d的间隔。
进一步地,所述特征提取模块的融合损失函数具体为:
lall=λ1lid λ2lrll λ3lrbfm λ4lssl λ5llsl
其中,lid为特征处理分支中训练的分类损失,lrll为特征处理分支中训练的排序损失,lrbfm为随机批掩膜分支中训练的分类损失,lssl为多尺度表征学习分支中小尺度特征训练的分类损失,llsl为多尺度表征学习分支中大尺度特征训练的分类,λ1为特征处理分支中训练的分类损失所占比例的权重值,λ2为特征处理分支中训练的排序损失所占比例的权重值,λ3为随机批掩膜分支中训练的分类损失所占比例的权重值,λ4为多尺度表征学习分支中小尺度特征训练的分类损失所占比例的权重值,λ5为多尺度表征学习分支中大尺度特征训练的分类损失所占比例的权重值。
与现有技术相比,本发明具有以下优点:
一、本发明采用随机批掩膜方式,能够学习到图像中被抑制的局部细节性特征,采用多尺度表征学习方式,将多尺度特征向量中的小尺度特征和大尺度特征进行分离训练,能够有效增强空间信息的相关性,进一步保证特征提取的全面性和可靠性,有利于提高后续识别的准确度。
二、本发明在特征提取模块结合分类损失和排序三元组损失两种损失函数,以度量特征之间的距离,在对图像进行训练或学习的过程中,能够在拉开类间距离的同时拉近类内距离,从而提高图像特征的有效性。
三、本发明在训练或学习过程中,采用特征处理、随机批掩膜和多尺度表征学习三分支的方式,以有效全面地提取到图像特征,在测试或实际应用过程中,则采用屏蔽随机批掩膜和多尺度表征学习分支的方式,以此实现在保证识别准确率的基础上节约网络开支,加快识别速度。
附图说明
图1为本发明的方法流程示意图;
图2为本发明的网络整体框图;
图3为行人重识别网络训练或学习的流程示意图;
图4为随机批掩膜的设计算法示意图;
图5为行人重识别网络测试或应用的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种融合随机批掩膜和多尺度表征学习的行人重识别方法,包括以下步骤:
s1、获取基准数据集,并对基准数据集进行数据扩充;
s2、将数据扩充之后的基准数据集分为训练集和测试集;
s3、基于resnet50卷积神经网络,构建包含依次连接的注意力学习模块、特征提取模块和识别输出模块的行人重识别训练网络,其中,特征提取模块包括特征处理分支、多尺度表征学习分支和随机批掩膜分支,所述特征处理分支包括全局平均池化和批归一化处理;
s4、将训练集输入行人重识别训练网络,按照预设训练参数进行网络超参数调节,得到行人重识别学习网络;
s5、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别测试网络,将测试集输入行人重识别测试网络,输出对应的测试识别结果;
s6、计算测试识别结果的准确率,判断识别结果准确率是否大于或等于预设值,若判断为是,则执行步骤s7,否则返回步骤s4;
s7、获取实际数据集,并将实际数据集输入行人重识别学习网络,以学习实际数据集对应的图像特征;
s8、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别应用网络,将查询图像输入行人重识别应用网络,输出该查询对象对应的识别结果。
本发明采用随机批掩膜(randombatchfeaturemask,rbfm)训练策略和多尺度表征学习(multi-scalefeaturerepresentationslearning)方法来提取行人图像中更具有判别力的、细节性的、包含行人的空间关联性的特征信息,其中,随机批掩膜学习分支和多尺度表征学习方法分支仅在网络训练以及学习阶段中使用,在网络测试以及实际应用阶段中将屏蔽不使用,如图2所示,本发明采用resnet-50作为特征提取网络,在resnet50的特征提取过程中的阶段1(stage1),阶段2(stage2),阶段3(stage3),首先引入注意力学习模块(attentionlearningmodule)来加强目标的特征表达,然后将resnet50的第4阶段(stage4)的特征向量经过特征处理分支、随机批掩膜训练学习分支和多尺度表征学习方法分支:特征处理分支采用分类损失(identificationloss)和排序损失(rankedlistloss)联合训练获取行人的全局信息,主要包括gap(全局平均池化)和bn(批归一化处理);随机批掩膜学习分支采用标签损失训练来捕获被抑制的、局部的特征,以提高特征提取能力;多尺度表征学习则是采用标签损失训练来获取行人图像中局部细节性特征和空间信息的相关性,这种创新的学习策略能够进一步提高特征提取能力和识别性能,三条分支一共采用四个分类损失和一个排序损失来度量特征之间的距离。
在具体应用过程中,首先需要利用基准数据集依次进行网络训练及测试,通过网络训练得到学习网络,屏蔽学习网络中的随机批掩膜分支和多尺度表征学习分支,得到测试网络,当测试网络达到识别准确度预设值之后,再将实际数据集输入学习网络进行特征学习,之后,屏蔽学习网络中的随机批掩膜分支和多尺度表征学习分支,以得到应用网络,最后通过应用网络对待查询图像进行行人重识别。行人重识别网络训练流程如图3所示,基准数据集需要进行使用如下的数据预处理方式进行数据扩充:
1)在数据集中随机抽取若干图片进行水平翻转处理;
2)在数据集中随机抽取若干图片加高斯、椒盐噪声处理。
在对基准数据集进行过相应的组织和上述的数据处理之后,将图片输入到卷积神经网络中(resnet50)进行特征提取。
对于整个网络训练,在特征提取部分,使用identificationloss(分类损失)和rankedlistloss(排序损失)融合的方式进行联合训练,包括三个分支的特征学习结构,通过各个分支特征提取得到图片的特征图,然后通过联合的损失函数进行网络训练,权重更新。
对于注意力学习模块(attentionlearningmodule),包含有通道注意力模块和空间注意力模块,通道注意力主要思路是增大有效通道权重,减少无效通道的权重,通道注意力模块由一层平均池化运算、一层多层感知机、一层线性层和一层批归一化层组成,平均池化运算如下公式所示:
mca=gloavepool(f)
其中,
采用的平均池化层、多层感知机和线性层是为评估各个通道注意力以及调节通道注意力的尺寸,通道注意力公式如下所示:
catt=bn(linear(mlp(mca)))
其中catt,mlp,linear,bn分别表示通道注意力,多层感知机,线性层和批归一化层。
而空间注意力模块关注的是图像中的位置信息,使网络理解特征图中的哪些部分可能在空间层面上有着更高的响应,空间注意力模块包含有四个卷积层,其中的两个卷积层是用1*1卷积减少卷积特征图的维度,两个3*3卷积在减少维度后用来有效提取特征,空间注意力如下所示:
patt=bn(reduc(conv23*3(conv13*3(reduc(f)))))
最终的注意力学习模块是将通道注意力和空间注意力相结合:
其中atl代表的是注意力学习模块,s表示sigmoid函数。
对于随机批掩膜分支,主要是学习被抑制的、局部的、细节性的特征,提高模型的特征提取能力,随机批掩膜训练策略主要是通过在特征向量的训练中,通过设置大小随机、位置区域随机的遮挡块去捕获细节的局部的信息,其设计算法如图4所示。
在网络训练和网络学习阶段,首先根据网络中第四阶段输出的n个维度大小为c×h×w的特征图谱,其中,c为特征图谱的通道数,h,w分别为特征图谱的高度和宽度,随机生成高度掩膜比率值rh和宽度掩膜比率值rw;
之后,将高度掩膜比率值rh与输入特征图谱的高h相乘得到掩膜高度hm、将宽度掩膜比率值rw与输入特征图谱的宽w相乘得到掩膜宽度wn;
再随机生成0到(h-hm)数值之间的整数xa,以及0到(w-wn)数值之间的整数yb;
生成h行w列的数值全为1的矩阵p,并将矩阵p中xa~xa hm以及yb~yb wn的区域全部赋值为0,得到掩膜矩阵p’;
最后将得到的掩膜矩阵p’与输入的n个特征图谱对应进行相乘,即将输入的n个特征图谱对应进行掩膜处理。
在网络测试和实际应用阶段,将摒弃随机批掩膜学习分支。
对于多尺度表征学习分支,则采用多尺度分组卷积策略,将resnet50中stage-4中特征向量进行拆分,采用多组卷积核大小3*3对分组特征进行特征提取,并将多尺度特征向量中的小尺度特征和大尺度特征进行分离训练,从而可以提取行人图像中更具有判别力的、细节性的特征和增强空间信息的相关性。
对于identificationloss(分类损失),和一般分类任务所用损失函数相同,一般使用交叉熵损失函数,具体公式如下:
当m不等于n时,qn值为0;当m等于n时,qn值为1。
由于行人数据集中训练集和测试集中没有相同的部分,行人重识别可被视为one-shot学习任务,从而容易引起模型训练出现过拟合情况。而labelsmoothing是分类任务中避免过拟合的常用方法。所以qn被调整为:
对于rankedlistloss(排序损失),为将正负样本区分开,设置负样本之间的距离大于某个阈值α,并且正样本之间的距离小于α-d,即正负样本之间至少有d的间隔:
lm(xi,xj;f)=(1-yij)[α-dij] yij[dij-(α-d)]
yij=1表示xi,xj属于同一类别的行人,否则yij=0,距离使用欧式距离。对样本进行合适采样可以加快模型的收敛速率和提高模型性能,对于正样本,损失函数不为0意味着它们与anchor(锚样本)之间的距离大于α-d,类似的,对于负样本,损失函数不为0意味着它们与anchor(锚样本)之间的距离小于α。
通过使用三元组损失,交叉熵损失来联合训练网络的特征提取能量,融合的损失函数表达如下:
lall=λ1lid λ2lrll λ3lrbfm λ4lssl λ5llsl
lid为特征处理分支中训练的分类损失,lrll为特征处理分支中训练的排序损失,lrbfm为随机批掩膜分支中训练的分类损失,lssl为多尺度表征学习分支中小尺度特征训练的分类损失,llsl为多尺度表征学习分支中大尺度特征训练的分类,λ1为特征处理分支中训练的分类损失所占比例的权重值,λ2为特征处理分支中训练的排序损失所占比例的权重值,λ3为随机批掩膜分支中训练的分类损失所占比例的权重值,λ4为多尺度表征学习分支中小尺度特征训练的分类损失所占比例的权重值,λ5为多尺度表征学习分支中大尺度特征训练的分类损失所占比例的权重值。
本实施例中,网络训练过程中的训练参数包括:训练总周期(epoch)设置为120,权重衰减参数(weightdecay)为0.0005,批量大小(batchsize)为32,学习率更新方式如下形式:
通过网络训练后,得到学习网络,屏蔽学习网络中的随机批掩膜分支和多尺度表征学习分支,得到测试网络,具体的测试过程如图5所示,在特征提取时仅利用特征处理分支进行特征提取。采用本发明提出的方法,本实施例在cuhk03-labeled数据集上与其他识别方法进行比较,得到对应识别结果如表1所示:
表1
从表1的数据可知,采用本发明提出的行人重识别方法,其rank-1正确率值和map值均优于现有的其他识别方法,表明本发明通过全面有效提取图像特征,尤其是图像中局部被抑制的重要细节特征,能够提高后续识别的准确度。
1.一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,包括以下步骤:
s1、获取基准数据集,并对基准数据集进行数据扩充;
s2、将数据扩充之后的基准数据集分为训练集和测试集;
s3、基于resnet50卷积神经网络,构建包含依次连接的注意力学习模块、特征提取模块和识别输出模块的行人重识别训练网络,其中,特征提取模块包括特征处理分支、多尺度表征学习分支和随机批掩膜分支,所述特征处理分支包括全局平均池化和批归一化处理;
s4、将训练集输入行人重识别训练网络,按照预设训练参数进行网络超参数调节,得到行人重识别学习网络;
s5、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别测试网络,将测试集输入行人重识别测试网络,输出对应的测试识别结果;
s6、计算测试识别结果的准确率,判断识别结果准确率是否大于或等于预设值,若判断为是,则执行步骤s7,否则返回步骤s4;
s7、获取实际数据集,并将实际数据集输入行人重识别学习网络,以学习实际数据集对应的图像特征;
s8、屏蔽行人重识别学习网络中特征提取模块的多尺度表征学习分支和随机批掩膜分支,得到行人重识别应用网络,将查询图像输入行人重识别应用网络,输出该查询对象对应的识别结果。
2.根据权利要求1所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述步骤s1中数据扩充具体包括以下步骤:
s11、在基准数据集中随机抽取若干图片进行水平翻转处理;
s12、在基准数据集中随机抽取若干图片进行高斯、椒盐噪声处理。
3.根据权利要求1所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述步骤s3中注意力学习模块分为三阶段,以加强目标的特征表达;
所述特征处理分支采用标签损失和排序损失联合训练,以获取图像全局信息;
所述多尺度表征学习分支采用两组标签损失训练,以获取图像中局部细节性特征和空间信息相关性;
所述随机批掩膜分支采用标签损失训练,以捕获图像中被抑制的局部特征。
4.根据权利要求3所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述随机批掩膜分支具体是通过设置大小随机且位置区域随机的遮挡块,利用该遮挡块遮挡图像的某一部分,以捕获未被遮挡的局部信息。
5.根据权利要求3所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述注意力学习模块包含通道注意力模块和空间注意力模块,所述通道注意力模块由一层平均池化运算、一层多层感知机、一层线性层和一层批归一化层组成,用于增大有效通道权重、减少无效通道权重;
所述空间注意力模块包含两个1*1卷积层和两个3*3卷积层,所述1*1卷积层用于减少卷积特征图维度,所述3*3卷积层用于有效提取特征。
6.根据权利要求5所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述注意力学习模块具体为:
patt=bn(reduce(conv23*3(conv13*3(reduce(f)))))
catt=bn(linear(mlp(mca)))
其中,atl为注意力学习模块,s为sigmoid函数,catt为通道注意力,patt为空间注意力,
7.根据权利要求3所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述多尺度表征学习分支中两组标签损失训练分别为小尺度特征训练和大尺度特征训练。
8.根据权利要求7所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述标签损失训练采用交叉熵损失函数:
其中,l(id)为交叉熵损失函数,id为数据标签,qn为指示变量,pn为模型预测的概率分布,n为数据集中行人的全部类别数,r为设置的常量,n为模型预测的行人标签,m为真实的行人标签。
9.根据权利要求8所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述排序损失训练采用排序三元组损失函数:
lm(xi,xj;f)=(1-yij)[α-dij] yij[dij-(α-d)]
其中,xi为第i个训练集的样本,xj为第j个训练集样本的标签,f为模型学习函数,yij为xi与xj的概率分布值,dij为xi与xj之间的欧式距离,α为负样本之间设置的阈值,α-d为正样本之间设置的阈值,正负样本之间至少有d的间隔。
10.根据权利要求9所述的一种融合随机批掩膜和多尺度表征学习的行人重识别方法,其特征在于,所述特征提取模块的融合损失函数具体为:
lall=λ1lid λ2lrll λ3lrbfm λ4lssl λ5llsl
其中,lid为特征处理分支中训练的分类损失,lrll为特征处理分支中训练的排序损失,lrbfm为随机批掩膜分支中训练的分类损失,lssl为多尺度表征学习分支中小尺度特征训练的分类损失,llsl为多尺度表征学习分支中大尺度特征训练的分类,λ1为特征处理分支中训练的分类损失所占比例的权重值,λ2为特征处理分支中训练的排序损失所占比例的权重值,λ3为随机批掩膜分支中训练的分类损失所占比例的权重值,λ4为多尺度表征学习分支中小尺度特征训练的分类损失所占比例的权重值,λ5为多尺度表征学习分支中大尺度特征训练的分类损失所占比例的权重值。
技术总结