CN116052218A - 一种行人重识别方法 - Google Patents
一种行人重识别方法 Download PDFInfo
- Publication number
- CN116052218A CN116052218A CN202310111610.8A CN202310111610A CN116052218A CN 116052218 A CN116052218 A CN 116052218A CN 202310111610 A CN202310111610 A CN 202310111610A CN 116052218 A CN116052218 A CN 116052218A
- Authority
- CN
- China
- Prior art keywords
- layer
- pedestrian
- global
- training
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 115
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000005259 measurement Methods 0.000 claims abstract description 41
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000011176 pooling Methods 0.000 claims description 42
- 239000013598 vector Substances 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000010586 diagram Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 3
- 238000000137 annealing Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000005314 correlation function Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种行人重识别方法,包括以下步骤:A1、将query库中行人图像输入到配置好参数的行人重识别神经网路模型中,提取行人的特征图与特征嵌入;A2、将提取的行人特征与gallery库中各图像对应的特征做相似度度量,比对并输出结果。本发明采用上述行人重识别方法,基于CNN和Transformer网络结合的CoAtNet的改进加强版CoAtNet‑Pro作为骨干网络,提升了模型容量和模型学习能力,并且在没有预训练的前提下,辅以改进的三元组损失与张量空间度量函数等,展现出优秀效果与巨大潜力。
Description
技术领域
本发明涉及一种计算机视觉技术,尤其涉及一种行人重识别方法。
背景技术
随着计算机视觉技术的发展,深度学习处理视觉任务越来越成熟,基于卷积神经网络与基于Transformer的特征提取器在视觉任务上皆取得了突出成绩。近年来,许多视觉任务方面的研究表明,卷积神经网络与Transformer的结合体能够相互补充,大幅提升模型容量和模型适应能力学习能力。
行人重识别(Person Re-identification)也称行人再识别,简称为ReID,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术;或者说,行人重识别是指在已有的可能来源与非重叠摄像机视域的视频序列中识别出目标行人,广泛被认为是一个图像检索的子问题。目前较为流行的行人重识别方法采用的是将表征学习和度量学习结合的方法。
但是,现有的度量学习的度量函数(如欧氏距离)作为约束,将输出的特征向量映射到密集的空间表示,特征向量之间簇拥在一块,在角度分布上没有明显的区分度。在张量表示空间所属不同类的特征向量没有被明显得区分开,从而通常难以学习到在张量表示空间有着明显辨识度的特征度量方式。
发明内容
为解决上述问题,本发明提供一种行人重识别方法,基于CNN和Transformer网络结合的CoAtNet的改进加强版CoAtNet-Pro作为骨干网络,提升了模型容量和模型学习能力,并且在没有预训练的前提下,展现出优秀效果与巨大潜力。
为实现上述目的,本发明提供了一种行人重识别方法,包括以下步骤:
A1、将query库中行人图像输入到配置好参数的行人重识别神经网路模型中,提取行人的特征图与特征嵌入;
A2、将提取的行人特征与gallery库中各图像对应的特征做相似度度量,比对并输出结果。
优选的,在步骤A1中将获取的行人图像划分为query数据集、gallery数据集、train数据集,利用数据集作有监督训练,得到行人重识别模型;
所述行人重识别神经网路模型为以一个主干网络作为基础网络,并向更深层延展出一个全局网络分支和一个局部子网络分支的网络结构;
所述主干网络包括s0层、s1层、s2层、s3层、s4层,s2、s3和s4层输出的特征图输入到所述全局分支网络,s2、s3和s4层的输出也输入到所述局部子网络分支;
所述主干网络由DepthWise Convolution Net和Transformer网络构建;所述主干网络的s2层、s3层和s4层的输出特征分别做kernel_size为输入特征图的高度和宽度的全局池化,分别各获得1个全局特征向量,并用于采用交叉熵损失函数进行训练;
所述全局网络分支包括全局池化层、分类层,全局池化层kernel_size设置为输入特征图的高度和宽度,获得3个全局特征向量,并用于采用交叉熵损失函数(3个特征皆被利用)与改进的三元组损失函数(3个特征可选择性得被利用,通常仅利用最后一个特征)进行训练;
所述局部子网络分支包括水平池化层、卷积层、正则化层(通常可忽略)、非线性激活层(通常可忽略),水平池化层kernel设置成输入特征图的宽度,卷积核步长设置为1,各获得一个局部特征(s2、s3和s4层输出处理后的局部特征可选择性得被利用,通常仅利用s3层输出处理后的的局部特征),并采用改进的三元组损失函数进行训练。
优选的,行人重识别神经网路模型的损失函数表示如下:
Loss=Losscls+Lossmetric_g+Lossmetric_l
其中,Losscls为分类损失函数,Lossmetric_g为全局度量损失函数,Lossmetric_l为局部度量损失函数,且全局度量损失函数和局部度量损失函数均为改进的三元组损失函数;
故写为:
其中,Wa表示用于交叉熵损失函数的全连接层相应参数;y表示行人样本的身份标签,i和j分别表示样本编号;fa代表全局特征,fc代表局部特征;
对于全局网络,训练时交叉熵损失函数和改进的三元组损失函数均中的输入的全局特征fa来源于s2、s3和s4层输出再经过全局平均池化后只剩batchsize和channel_global两个通道的全局特征,其中交叉熵损失利用了全部三层特征,再用分类层线性分类,而改进的三元组损失函数可选择得利用三层特征,通常仅选用s4层输出处理后的全局特征;测试时用度量函数通常仅计算s4层输出处理过后的全局特征的距离矩阵;
对于局部子网络,训练时交叉熵损失函数的局部特征来源于水平池化只剩batchsize、channel_local和Height三个通道的局部特征fc;测试时人为选择用度量函数计算局部特征的距离矩阵;
其中,batchsize为输入网络模型的批数据大小,channel_global为全局特征输出通道数,channel_local为局部特征输出通道数。
优选的,改进的三元组损失函数为难度自适应的三元组损失函数,其不仅考虑参考点样本与最难n样本之间的关系,并将两者作为负样本对;同时也考虑此时最难p样本与最难n样本之间的关系,并将两者作为负样本对;
三元组损失的距离函数,采用张量空间距离度量函数约束;
所述张量空间度量函数从张量空间出发,约束样本在张量空间的分布,使得类内样本的特征向量分布在密集的张量簇,从而使得类间样本的特征向量拉开张量空间分布状态。
优选的,所述难度自适应的三元组损失函数的获取包括以下步骤:
首先,对于每一个训练batch,随机挑选P个ID的行人,每个行人随机挑选K张不同的图片,即一个batch含有P×K张图片,之后对于batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组;
在难样本三元组(anchor,p,n)建立过程中,不仅要把让anchor与n之间距离作为惩罚项,还需将p与n之间的距离作为惩罚项,从而在训练过程中,从全局中分开所有的样本类别的分布;其中anchor、p、n分别表示参考基准样本、正样本、负样本;
其次,距离函数采用张量空间约束化的距离函数,在张量空间高辨识度地分开不同类样本,聚拢相同类样本;
张量空间约束化的距离函数公式如下:
其中,表示计算特征向量和的特征向量的角度相关度函数,*表示乘法,β是一个放缩因子,用来平衡两项特征向量,λ是一个加权超参数,取[0,1]区间内,取0并忽略掉β时,得到为两个特征向量的二范数,即欧氏距离;
在计算Lossmetric_l时,输入特征是三维的(batchsize,channel_local,Height),使用最短路径方法计算样本特征两两间的最短路径作为距离,且距离函数仅仅采用角度约束的形式;同时作高斯形式下的归一化处理;
距离函数与高斯形式归一化公式如下:
整个网络训练阶段所使用的最终输出的特征为fa&fc,&表示分别考虑两个特征,两项综合作用于网络训练;整个网络测试阶段用的输出特征为fa或者fc或者fa&fc;
再次,创建距离矩阵,采用rerank重排序优化最终结果,同时,通过改进的三元组损失函数做度量训练;
最后,测试。
优选的,在步骤A1中特征提取阶段从全局网络分支的多个网络层次提取特征,将在模型不同层次的特征嵌入,做分类任务与度量任务;
局部子网络分支只做局部对齐度量任务;
所述特征提取阶段的多个层次分别在CoAtNet的s2层、s3层和s4层;
所述分类任务是用交叉熵损失函数对带标签的分别在s2、s3、s4层的特征作深监督训练;所述标签是用label Smooth方法软化后的标签,以增强模型对样本的拟合适配能力;
所述度量任务分别在s2、s3和s4层的特征图做池化与度量函数度量操作;所述s4层度量任务有两个,一个为必选任务,所述必选任务处理为对s4层的输出做全局池化操作,一个为可选任务;所述s2与s3层池化操作为水平池化。
优选的,s2层和s3层若被选中做度量任务,则执行与s4层的可选度量任务相同的操作:被选中的层输出的特征图水平池化之后还需对特征图做shape的调整以及做降维操;
具体包括以下步骤:
将水平池化后shape为B,C,H,1的特征图,调整成B,C,H的特征图,然后做MBconv将C降维成C1,而B、H保持不变,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做三元组损失监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
优选的,所述MBConv层为依次的:输出通道不变,kernel_size为3,padding和stride为(1,1),分组数为C的分组卷积;BatchNorm2d;GELU;输出通道为C1,kernel_size为1,stride为(1,1),padding为0的2维普通卷积;BatchNorm2d。
优选的,在s4层必选度量任务中,s4层输出的特征图经全局池化之后还需对特征图做shape的调整;
具体包括以下步骤:
将全局池化后shape为B,C,1,1的特征图,降维成B,C的特征图,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做改进的三元组损失函数监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
优选的,所述监督训练采用的优化器为Adam算法,采用的调度器为带重启的余弦退火,学习率为0.0002到0.000007,权重衰减为0.00008,总共训练350回合,前50回合预热训练,第50回合到第350回合为重启后的一轮正式训练。
本发明具有以下有益效果:
1、基于CNN和Transformer网络结合的CoAtNet的改进加强版(CoAtNet-Pro)作为骨干网络,提升了模型容量和模型学习能力,并且在没有预训练的前提下,展现出优秀效果与巨大潜力;
2、局部子网络卷积层采用MBconv降维,且所有步长皆调整为1,输出的特征图信息更丰富,提升识别精度;
3、从CNN和Transformer多个层次做加权监督训练,更加充分利用语义,提升了特征的表示能力,进而提升识别精度;
4、提出一种张量空间度量函数,只需轻量级的计算,即可从张量空间约束特征向量的分布差异性,非常显著地提升了特征表达能力;
5、提出了难度自适应的三元组损失函数,寻求难样本挖掘方法的同时,兼顾对更多普通负样本对的关注。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的工作流程图;
图2为本发明的张量空间约束化的距离函数作用优化后的特征向量分布示意图;
图3为本发明的张量空间约束化的距离函数作用优化前的特征向量分布示意图。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
图1为本发明的工作流程图;图2为本发明的张量空间约束化的距离函数作用优化后的特征向量分布示意图;图3为本发明的张量空间约束化的距离函数作用优化前的特征向量分布示意图,如图1-图3所示,一种行人重识别方法,包括以下步骤:
A1、将query库中行人图像输入到配置好参数的行人重识别神经网路模型中,提取行人的特征图与特征嵌入;
A2、将提取的行人特征与gallery库中各图像对应的特征做相似度度量,比对并输出结果。
优选的,在步骤A1中将获取的行人图像划分为query数据集、gallery数据集、train数据集,利用数据集作有监督训练,得到行人重识别模型;
行人重识别神经网路模型为以一个主干网络作为基础网络,并向更深层延展出一个全局网络分支和一个局部子网络分支的网络结构;
需要说明的是本实施例中的主干网络为由传统CoAtNet改进。具体改善部分为:相对(位置)注意力模块采用随机高斯分布初始化初值;s0-s4层的堆叠块数目分别为2、2、5、11、2;s0-s4层输出通道数分别为:144,192,400,916,1832。
主干网络包括s0层、s1层、s2层、s3层、s4层,s2、s3和s4层输出的特征图输入到全局分支网络,s2、s3和s4层的输出也输入到局部子网络分支;
主干网络由DepthWise Convolution Net和Transformer网络构建;主干网络的s2层、s3层和s4层的输出特征分别做kernel_size为输入特征图的高度和宽度的全局池化,分别各获得1个全局特征向量,并用于采用交叉熵损失函数进行训练;
所述全局网络分支包括全局池化层、分类层,全局池化层kernel_size设置为输入特征图的高度和宽度,获得3个全局特征向量,并用于采用交叉熵损失函数(3个全局特征皆被利用)与改进的三元组损失函数(可选择性地利用全局特征,通常仅利用最后一个全局特征)进行训练;
局部子网络分支包括水平池化层、卷积层、正则化层(通常可忽略)、非线性激活层(通常可忽略),水平池化层kernel设置成输入特征图的宽度,卷积核步长设置为1,各获得一个局部特征(s2、s3和s4层输出处理后的局部特征可选择性得被利用,通常仅利用s3层输出处理后的的局部特征),并采用改进的三元组损失函数进行训练。优选的,行人重识别神经网路模型的损失函数表示如下:
Loss=Losscls+Lossmetric_g+Lossmetric_l
其中,Losscls为分类损失函数,Lossmetric_g为全局度量损失函数,Lossmetric_l为局部度量损失函数,且全局度量损失函数和局部度量损失函数均为改进的三元组损失函数;
故写为:
其中,Wa表示用于交叉熵损失函数的全连接层相应参数;y表示行人样本的身份标签,i和j分别表示样本编号;fa代表全局特征,fc代表局部特征;
对于分类损失函数,如上文所示,分别在s2、s3、s4层设置分类器,计算交叉熵损失,可以自行为三个损失(对应三层)设置不同的权重,本实施具体实例将三者权重均设置为1。
对于全局网络,训练时交叉熵损失函数和改进的三元组损失函数均中的输入的全局特征fa来源于s2、s3和s4层输出再经过全局平均池化后只剩batchsize和channel_global两个通道的全局特征,其中交叉熵损失利用了全部三层特征,再用分类层线性分类,而改进的三元组损失函数可选择得利用三层特征,通常仅选用s4层输出处理后的全局特征;测试时用度量函数通常仅计算s4层输出处理过后的全局特征的距离矩阵;
对于局部子网络,训练时交叉熵损失函数的局部特征来源于水平池化只剩batchsize、channel_local和Height三个通道的局部特征fc;测试时人为选择用度量函数计算局部特征的距离矩阵;即在测试阶段,可以选择只用全局特征算距离矩阵,也可以只用局部特征算距离矩阵,也可以把二个距离矩阵加起来用作综合的距离矩阵。
其中,batchsize为输入网络模型的批数据大小(即每次输入模型的一批数据的数目),channel_global为全局特征输出通道数,channel_local为局部特征输出通道数。
优选的,改进的三元组损失函数为难度自适应的三元组损失函数,其不仅考虑参考点样本与最难n样本之间的关系,并将两者作为负样本对;同时也考虑此时最难p样本与最难n样本之间的关系,并将两者作为负样本对;
三元组损失的距离函数,采用张量空间距离度量函数约束;
张量空间度量函数从张量空间出发,约束样本在张量空间的分布,使得类内样本的特征向量分布在密集的张量簇,从而使得类间样本的特征向量拉开张量空间分布状态。
优选的,难度自适应的三元组损失函数的获取包括以下步骤:
首先,对于每一个训练batch,随机挑选P个ID的行人,每个行人随机挑选K张不同的图片,即一个batch含有P×K张图片,之后对于batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组;
在难样本三元组(anchor,p,n)建立过程中,不仅要把让anchor与n之间距离作为惩罚项,还需将p与n之间的距离作为惩罚项,从而在训练过程中,从全局中分开所有的样本类别的分布;其中anchor、p、n分别表示参考基准样本、正样本、负样本;
其次,距离函数采用张量空间约束化的距离函数,在张量空间高辨识度地分开不同类样本,聚拢相同类样本;
张量空间约束化的距离函数公式如下:
其中,表示计算特征向量和的特征向量的角度相关度函数,本次方案实施过程中该角度相关函数采用余弦相似度函数,但本处可以根据不同任务建模各种角度相关度函数,*表示乘法,β是一个放缩因子,用来平衡两项特征向量,取较小常数,一般取值范围在[0.1,100],λ是一个加权超参数,取[0,1]区间内,取0并忽略掉β时,得到为两个特征向量的二范数,即欧氏距离;
在计算Lossmetric_l时,输入特征是三维的(batchsize,channel_local,Height),使用最短路径方法计算样本特征两两间的最短路径作为距离,且距离函数仅仅采用角度约束的形式;同时作高斯形式下的归一化处理;
距离函数与高斯形式归一化公式如下:
整个网络训练阶段所使用的最终输出的特征为fa&fc,&表示分别考虑两个特征,两项综合作用于网络训练;整个网络测试阶段用的输出特征为fa或者fc或者fa&fc;
再次,创建距离矩阵,采用rerank重排序优化最终结果,同时,通过改进的三元组损失函数做度量训练;充分利用局部特征和全局特征使得网络整体识别性能提升,且对各种partial处理的数据集性能大大提升,
最后,测试;
表1在Market1501数据集上各种方法的性能比较表
表2在Market1501-partial数据集上各种方法的性能比较表
由表1和表2可知,本实施例的重识别模型在Market1501-partial同样取得良好效果。
优选的,在步骤A1中特征提取阶段从全局网络分支的多个网络层次提取特征,将在模型不同层次的特征嵌入,做分类任务与度量任务;
局部子网络分支只做局部对齐度量任务;
特征提取阶段的多个层次分别在CoAtNet的s2层、s3层和s4层;
分类任务是用交叉熵损失函数对带标签的分别在s2、s3、s4层的特征作深监督训练;标签是用label Smooth方法软化后的标签,以增强模型对样本的拟合适配能力;
度量任务分别在s2、s3和s4层的特征图做池化与度量函数度量操作,其中s4层与前两者的操作不一致。s2层和s3层度量任务为可选任务,可以选择用两层之一或者都用都不用;s4层度量任务有两个,一个为必选任务,必选任务处理为对s4层的输出做全局池化操作,一个为可选任务;s2与s3层池化操作为水平池化。需要说明的是,水平池化是将每个batch(批次)的输入在当前层(这里分别是指s2、s3层)输出的feature map做stride为(1,W)的全局池化操作,其中w代表当前层feature map的宽度width,也是feature map最后一个维度的大小。
优选的,s2层和s3层若被选中做度量任务,则执行与s4层的可选度量任务相同的操作:被选中的层输出的特征图水平池化之后还需对特征图做shape的调整以及做降维操;具体包括以下步骤:
将水平池化后shape为B,C,H,1的特征图,调整成B,C,H的特征图,然后做MBconv将C降维成C1,而B、H保持不变,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做三元组损失监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
优选的,MBConv层为依次的:输出通道不变,kernel_size为3,padding和stride为(1,1),分组数为C的分组卷积;BatchNorm2d;GELU;输出通道为C1,kernel_size为1,stride为(1,1),padding为0的2维普通卷积;BatchNorm2d。本实施例中输出通道数C1为128。
优选的,在s4层必选度量任务中,s4层输出的特征图经全局池化之后还需对特征图做shape的调整;(需要说明的是全局池化是将每个batch(批次)的输入在当前层(这里对应前述的s4层)输出的feature map做stride为(H,W)的全局池化操作,其中H代表featuremap的高度height,也就是其倒数第二个维度的维度数,W代表feature map的宽度,也就是其最后一个维度的大小。)
具体包括以下步骤:
将全局池化后shape为B,C,1,1的特征图,降维成B,C的特征图,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做改进的三元组损失函数监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
优选的,监督训练采用的优化器为Adam算法,采用的调度器为带重启的余弦退火,学习率为0.0002到0.000007,权重衰减为0.00008,总共训练350回合,前50回合预热训练,第50回合到第350回合为重启后的一轮正式训练。
因此,本发明采用上述行人重识别方法,基于CNN和Transformer网络结合的CoAtNet的改进加强版CoAtNet-Pro作为骨干网络,提升了模型容量和模型学习能力,并且在没有预训练的前提下,展现出优秀效果与巨大潜力。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (10)
1.一种行人重识别方法,其特征在于:包括以下步骤:
A1、将query库中行人图像输入到配置好参数的行人重识别神经网路模型中,提取行人的特征图与特征嵌入;
A2、将提取的行人特征与gallery库中各图像对应的特征做相似度度量,比对并输出结果。
2.根据权利要求1所述的一种行人重识别方法,其特征在于:在步骤A1中将获取的行人图像划分为query数据集、gallery数据集、train数据集,利用数据集作有监督训练,得到行人重识别模型;
所述行人重识别神经网路模型为以一个主干网络作为基础网络,并向更深层延展出一个全局网络分支和一个局部子网络分支的网络结构;
所述主干网络包括s0层、s1层、s2层、s3层、s4层,s2、s3和s4层输出的特征图输入到所述全局分支网络,s2、s3和s4层的输出也输入到所述局部子网络分支;
所述主干网络由DepthWiseConvolutionNet和Transformer网络构建;所述主干网络的s2层、s3层和s4层的输出特征分别做kernel_size为输入特征图的高度和宽度的全局池化,分别各获得1个全局特征向量,并用于采用交叉熵损失函数进行训练;
所述全局网络分支包括全局池化层、分类层,全局池化层kernel_size设置为输入特征图的高度和宽度,获得3个全局特征向量,并用于采用交叉熵损失函数与改进的三元组损失函数进行训练;
所述局部子网络分支包括水平池化层、卷积层、正则化层、非线性激活层,水平池化层kernel设置成输入特征图的宽度,卷积核步长设置为1,各获得一个局部特征,并采用改进的三元组损失函数进行训练。
3.根据权利要求2所述的一种行人重识别方法,其特征在于:行人重识别神经网路模型的损失函数表示如下:
Loss=Losscls+Lossmetric_g+Lossmetric_l
其中,Losscls为分类损失函数,Lossmetric_g为全局度量损失函数,Lossmetric_l为局部度量损失函数,且全局度量损失函数和局部度量损失函数均为改进的三元组损失函数;
故写为:
其中,Wa表示用于交叉熵损失函数的全连接层相应参数;y表示行人样本的身份标签,i和j分别表示样本编号;fa代表全局特征,fc代表局部特征;
对于全局网络,训练时交叉熵损失函数和改进的三元组损失函数均中的输入的全局特征fa来源于s2、s3和s4层输出再经过全局平均池化后只剩batchsize和channel_global两个通道的全局特征,其中交叉熵损失利用了全部三层特征,再用分类层线性分类,而改进的三元组损失函数可选择得利用三层特征,通常仅选用s4层输出处理后的全局特征;测试时用度量函数通常仅计算s4层输出处理过后的全局特征的距离矩阵;
对于局部子网络,训练时交叉熵损失函数的局部特征来源于水平池化只剩batchsize、channel_local和Height三个通道的局部特征fc;测试时人为选择用度量函数计算局部特征的距离矩阵;
其中,batchsize为输入网络模型的批数据大小,channel_global为全局特征输出通道数,channel_local为局部特征输出通道数。
4.根据权利要求3所述的一种行人重识别方法,其特征在于:改进的三元组损失函数为难度自适应的三元组损失函数,其不仅考虑参考点样本与最难n样本之间的关系,并将两者作为负样本对;同时也考虑此时最难p样本与最难n样本之间的关系,并将两者作为负样本对;
三元组损失的距离函数,采用张量空间距离度量函数约束;
所述张量空间度量函数从张量空间出发,约束样本在张量空间的分布,使得类内样本的特征向量分布在密集的张量簇,从而使得类间样本的特征向量拉开张量空间分布状态。
5.根据权利要求4所述的一种行人重识别方法,其特征在于:所述难度自适应的三元组损失函数的获取包括以下步骤:
首先,对于每一个训练batch,随机挑选P个ID的行人,每个行人随机挑选K张不同的图片,即一个batch含有P×K张图片,之后对于batch中的每一张图片a,挑选一个最难的正样本和一个最难的负样本和a组成一个三元组;
在难样本三元组建立过程中,不仅要把让anchor与n之间距离作为惩罚项,还需将p与n之间的距离作为惩罚项,从而在训练过程中,从全局中分开所有的样本类别的分布;其中anchor、p、n分别表示参考基准样本、正样本、负样本;
其次,距离函数采用张量空间约束化的距离函数,在张量空间高辨识度地分开不同类样本,聚拢相同类样本;
张量空间约束化的距离函数公式如下:
其中,表示计算特征向量和的特征向量的角度相关度函数,*表示乘法,β是一个放缩因子,用来平衡两项特征向量,λ是一个加权超参数,取[0,1]区间内,取0并忽略掉β时,得到为两个特征向量的二范数,即欧氏距离;
在计算Lossmetric_l时,输入特征是三维的,使用最短路径方法计算样本特征两两间的最短路径作为距离,且距离函数仅仅采用角度约束的形式;同时作高斯形式下的归一化处理;
距离函数与高斯形式归一化公式如下:
整个网络训练阶段所使用的最终输出的特征为fa&fc,&表示分别考虑两个特征,两项综合作用于网络训练;整个网络测试阶段用的输出特征为fa或者fc或者fa&fc;
再次,创建距离矩阵,采用rerank重排序优化最终结果,同时,通过改进的三元组损失函数做度量训练;
最后,测试。
6.根据权利要求5所述的一种行人重识别方法,其特征在于:在步骤A1中特征提取阶段从全局网络分支的多个网络层次提取特征,将在模型不同层次的特征嵌入,做分类任务与度量任务;
局部子网络分支只做局部对齐度量任务;
所述特征提取阶段的多个层次分别在CoAtNet的s2层、s3层和s4层;
所述分类任务是用交叉熵损失函数对带标签的分别在s2、s3、s4层的特征作深监督训练;所述标签是用labelSmooth方法软化后的标签,以增强模型对样本的拟合适配能力;
所述度量任务分别在s2、s3和s4层的特征图做池化与度量函数度量操作;所述s4层度量任务有两个,一个为必选任务,所述必选任务处理为对s4层的输出做全局池化操作,一个为可选任务;所述s2与s3层池化操作为水平池化。
7.根据权利要求6所述的一种行人重识别方法,其特征在于:s2层和s3层若被选中做度量任务,则执行与s4层的可选度量任务相同的操作:被选中的层输出的特征图水平池化之后还需对特征图做shape的调整以及做降维操;
具体包括以下步骤:
将水平池化后shape为B,C,H,1的特征图,调整成B,C,H的特征图,然后做MBconv将C降维成C1,而B、H保持不变,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做三元组损失监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
8.根据权利要求7所述的一种行人重识别方法,其特征在于:所述MBConv层为依次的:输出通道不变,kernel_size为3,padding和stride为(1,1),分组数为C的分组卷积;BatchNorm2d;GELU;输出通道为C1,kernel_size为1,stride为(1,1),padding为0的2维普通卷积;BatchNorm2d。
9.根据权利要求8所述的一种行人重识别方法,其特征在于:在s4层必选度量任务中,s4层输出的特征图经全局池化之后还需对特征图做shape的调整;
具体包括以下步骤:
将全局池化后shape为B,C,1,1的特征图,降维成B,C的特征图,数据内部的相对位置结构不变,最终用度量函数计算距离矩阵,做改进的三元组损失函数监督训练;
其中,B为特征图的每批次数据的数目,C为通道数,H为高度。
10.根据权利要求9所述的一种行人重识别方法,其特征在于:所述监督训练采用的优化器为Adam算法,采用的调度器为带重启的余弦退火,学习率为0.0002到0.000007,权重衰减为0.00008,总共训练350回合,前50回合预热训练,第50回合到第350回合为重启后的一轮正式训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111610.8A CN116052218B (zh) | 2023-02-13 | 2023-02-13 | 一种行人重识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111610.8A CN116052218B (zh) | 2023-02-13 | 2023-02-13 | 一种行人重识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116052218A true CN116052218A (zh) | 2023-05-02 |
CN116052218B CN116052218B (zh) | 2023-07-18 |
Family
ID=86121871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310111610.8A Active CN116052218B (zh) | 2023-02-13 | 2023-02-13 | 一种行人重识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116052218B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612500A (zh) * | 2023-07-20 | 2023-08-18 | 深圳须弥云图空间科技有限公司 | 行人重识别模型训练方法及装置 |
CN116681983A (zh) * | 2023-06-02 | 2023-09-01 | 中国矿业大学 | 一种基于深度学习的狭长目标检测方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110411570A (zh) * | 2019-06-28 | 2019-11-05 | 武汉高德智感科技有限公司 | 基于人体检测和人体跟踪技术的红外人体温度筛查方法 |
CN111832440A (zh) * | 2020-06-28 | 2020-10-27 | 高新兴科技集团股份有限公司 | 人脸特征提取模型的构建方法、计算机存储介质及设备 |
CN112818931A (zh) * | 2021-02-26 | 2021-05-18 | 中国矿业大学 | 基于多粒度深度特征融合的多尺度行人重识别方法 |
CN113408492A (zh) * | 2021-07-23 | 2021-09-17 | 四川大学 | 一种基于全局-局部特征动态对齐的行人重识别方法 |
CN113420742A (zh) * | 2021-08-25 | 2021-09-21 | 山东交通学院 | 一种用于车辆重识别的全局注意力网络模型 |
CN113516012A (zh) * | 2021-04-09 | 2021-10-19 | 湖北工业大学 | 一种基于多层级特征融合的行人重识别方法及系统 |
CN114842512A (zh) * | 2022-07-01 | 2022-08-02 | 山东省人工智能研究院 | 基于多特征协同和语义感知的遮挡行人重识别和检索方法 |
CN114973317A (zh) * | 2022-05-13 | 2022-08-30 | 杭州像素元科技有限公司 | 一种基于多尺度邻接交互特征的行人重识别方法 |
CN115546499A (zh) * | 2022-10-12 | 2022-12-30 | 中国人民解放军陆军炮兵防空兵学院 | 一种基于CNN与ViT融合的递进式辅助目标检测方法及系统 |
WO2023273290A1 (zh) * | 2021-06-29 | 2023-01-05 | 山东建筑大学 | 基于多特征信息捕捉和相关性分析的物品图像重识别方法 |
-
2023
- 2023-02-13 CN CN202310111610.8A patent/CN116052218B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110411570A (zh) * | 2019-06-28 | 2019-11-05 | 武汉高德智感科技有限公司 | 基于人体检测和人体跟踪技术的红外人体温度筛查方法 |
CN111832440A (zh) * | 2020-06-28 | 2020-10-27 | 高新兴科技集团股份有限公司 | 人脸特征提取模型的构建方法、计算机存储介质及设备 |
CN112818931A (zh) * | 2021-02-26 | 2021-05-18 | 中国矿业大学 | 基于多粒度深度特征融合的多尺度行人重识别方法 |
CN113516012A (zh) * | 2021-04-09 | 2021-10-19 | 湖北工业大学 | 一种基于多层级特征融合的行人重识别方法及系统 |
WO2023273290A1 (zh) * | 2021-06-29 | 2023-01-05 | 山东建筑大学 | 基于多特征信息捕捉和相关性分析的物品图像重识别方法 |
CN113408492A (zh) * | 2021-07-23 | 2021-09-17 | 四川大学 | 一种基于全局-局部特征动态对齐的行人重识别方法 |
CN113420742A (zh) * | 2021-08-25 | 2021-09-21 | 山东交通学院 | 一种用于车辆重识别的全局注意力网络模型 |
CN114973317A (zh) * | 2022-05-13 | 2022-08-30 | 杭州像素元科技有限公司 | 一种基于多尺度邻接交互特征的行人重识别方法 |
CN114842512A (zh) * | 2022-07-01 | 2022-08-02 | 山东省人工智能研究院 | 基于多特征协同和语义感知的遮挡行人重识别和检索方法 |
CN115546499A (zh) * | 2022-10-12 | 2022-12-30 | 中国人民解放军陆军炮兵防空兵学院 | 一种基于CNN与ViT融合的递进式辅助目标检测方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘洋等: "基于Transformer改进的两分支行人重识别算法", 东北大学学报, vol. 44, no. 1, pages 26 - 32 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116681983A (zh) * | 2023-06-02 | 2023-09-01 | 中国矿业大学 | 一种基于深度学习的狭长目标检测方法 |
CN116612500A (zh) * | 2023-07-20 | 2023-08-18 | 深圳须弥云图空间科技有限公司 | 行人重识别模型训练方法及装置 |
CN116612500B (zh) * | 2023-07-20 | 2023-09-29 | 深圳须弥云图空间科技有限公司 | 行人重识别模型训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116052218B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106778604B (zh) | 基于匹配卷积神经网络的行人再识别方法 | |
CN109670528B (zh) | 面向行人重识别任务的基于成对样本随机遮挡策略的数据扩充方法 | |
CN116052218B (zh) | 一种行人重识别方法 | |
CN107529650B (zh) | 闭环检测方法、装置及计算机设备 | |
CN109583340B (zh) | 一种基于深度学习的视频目标检测方法 | |
CN111767882A (zh) | 一种基于改进yolo模型的多模态行人检测方法 | |
CN107273872A (zh) | 用于图像或视频中行人重识别的深度判别网络模型方法 | |
CN111639564B (zh) | 一种基于多注意力异构网络的视频行人重识别方法 | |
CN110738146A (zh) | 一种目标重识别神经网络及其构建方法和应用 | |
CN109190446A (zh) | 基于三元组聚焦损失函数的行人再识别方法 | |
CN110781928B (zh) | 一种提取图像多分辨率特征的图像相似度学习方法 | |
CN110929848B (zh) | 基于多挑战感知学习模型的训练、跟踪方法 | |
CN112580590A (zh) | 一种基于多语义特征融合网络的指静脉识别方法 | |
CN108491856B (zh) | 一种基于多尺度特征卷积神经网络的图像场景分类方法 | |
CN111027377B (zh) | 一种双流神经网络时序动作定位方法 | |
CN106874879A (zh) | 基于多特征融合和深度学习网络提取的手写数字识别方法 | |
CN112070010B (zh) | 一种联合多损失动态训练策略增强局部特征学习的行人重识别方法 | |
CN112906623A (zh) | 一种基于多尺度深度监督的反向注意力模型 | |
CN112818790A (zh) | 一种基于注意力机制与空间几何约束的行人重识别方法 | |
CN112364747A (zh) | 一种有限样本下的目标检测方法 | |
CN116704611A (zh) | 一种基于运动特征混合和细粒度多阶段特征提取的跨视角步态识别方法 | |
CN112084895A (zh) | 一种基于深度学习的行人重识别方法 | |
CN110321801B (zh) | 一种基于自编码网络的换衣行人重识别方法及系统 | |
CN108446605A (zh) | 复杂背景下双人交互行为识别方法 | |
CN111222534A (zh) | 一种基于双向特征融合和更平衡l1损失的单发多框检测器优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |