一种基于全局-局部特征动态对齐的行人重识别方法

文档序号:26673600发布日期:2021-09-17 23:27阅读:来源:国知局

技术特征:
1.一种基于全局

局部特征动态对齐的行人重识别方法,其特征在于,包括如下步骤:步骤1)挑选行人重识别数据集,对数据集中的训练集进行预处理;步骤2)使用预训练的模型resnet50进行模型的初始化;步骤3)选取残差网络作为基础骨架,构建全局粗粒度特征学习分支、局部细粒度特征学习分支;步骤4)采用全局粗粒度特征学习分支学习行人粗粒度的全局特征,采用欧式距离计算全局分支的全局距离;步骤5)采用局部细粒度特征学习分支学习行人细粒度的局部特征,采用局部滑动对齐计算局部分支的局部对齐距离;步骤6)采用困难样本挖掘三元组损失、中心损失和softmax交叉熵损失联合作为行人重识别网络的监督器,训练行人重识别模型;步骤7)将待查询行人图像作为行人重识别网络模型的输入,分别学习行人的全局特征和局部特征,并将全局特征和局部特征进行融合作为行人最终的特征描述符;然后从候选图库中进行识别,计算查询图片和候选库中所有图片之间的特征欧氏距离,并对距离进行排序,从候选库中识别出与查询图像距离最短的行人作为最终的识别结果。2.根据权利要求1所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤1)中,所述行人重识别数据集选用market

1501,对数据集中的训练集进行预处理具体为:首先将所有训练和测试的图像大小调整为384
×
128;然后通过随机水平翻转、随机擦除、随机裁剪和图像像素值的归一化,随机增加一些遮挡、旋转的样本来增强训练数据。3.根据权利要求2所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤2)中对基础网络resnet50模型初始化的过程如下:步骤2.1)使用imagenet上预先训练的权重进行resnet50模型的初始化;步骤2.2)设置批处理的大小,在每个批次中随机选取不同身份的样本进行采样,并从训练集中为每个身份随机选取若干张图像;步骤2.3)设置全局分支和局部分支的困难样本挖掘三元组损失的权重;步骤2.4)选择adam作为模型的优化器;训练模型设置epochs的大小为300,其中学习率在前100个epochs为3.5
×
10
‑3,在100至200个epochs之间学习率为3.5
×
10
‑4,在200个epochs之后学习率下降到3.5
×
10
‑5,权重衰减设置为10
‑5;步骤2.5)使用标签平滑来平滑样本的分布;步骤2.6)在pytorch平台上实现的最终的模型,并使用nvidia 2080ti gpu对模型进行训练。4.根据权利要求1所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤3)中对残差网络resnet50改造为基础网络,即gldfa

net网络结构,输入图像经过resnet50骨干网络的堆叠卷积层后,由全局粗粒度特征学习分支和局部细粒度特征学习分支共享特征图;对于全局特征,直接对特征图做全局平均池化得到;对于局部特征,先对特征图做水平分区,并通过局部平均池化得到每个水平条带的特征向量,再采用lsa计算局部对齐距离,并结合全局距离用于三元组损失的困难样本挖掘,最后将全局特征和局部特征进行组合作为最终的特征表示,并经过全连接层和softmax层以实现图像的分类。
5.根据权利要求1所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤3)中构建全局粗粒度和局部细粒度特征学习分支的过程如下:步骤3.1)采用具有竞争性性能和简洁体系结构的resnet50作为骨干网络提取行人的特征图;首先,删除resnet50的平均池化层和后续层,然后在resblock4块之后的部分划分为两个独立的分支,分别将其命名global branch和local branch;步骤3.2)对于全局粗粒度特征学习分支,使用全局平均池化将特征图转换为全局特征向量,并使用1x1卷积层批处理归一化和relu将2048

dim的特征减小到256

dim;步骤3.3)将resnet50骨干网络的最后一个空间下采样的跨步从2更改为1;当输入384x128大小的图像时,得到大空间尺寸的特征图;步骤3.4)对于局部细粒度特征学习分支,使用水平平均池化在输出特征图水平方向上均匀分成k个条带,将同一条带中的所有列向量平均为单个列向量l
i
,i=1,2,3,

,k;并将l
i
的维度减小到256,在所述k个条带上独立地学习局部特征;步骤3.5)在测试阶段,将全局和局部特征缩小到256维,并连接为最终的特征;此外,全局粗粒度特征学习分支和局部细粒度特征学习分支的每个条带都不共享权重,即它们对应的三元组损失和分类损失均采用独立的权重约束模型的训练。6.根据权利要求5所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤4)中学习行人粗粒度的全局特征,并采用欧式距离计算全局分支的全局距离的过程如下:步骤4.1)在训练阶段,计算全局距离和局部距离用于三元组损失的度量学习;步骤4.2)在推理阶段,使用局部距离计算图像之间的相似度;对于全局距离的计算,分别使用和代表图像a和b的全局特征,则全局特征的欧式距离表示为:7.根据权利要求6所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤5)中学习行人细粒度的局部特征,采用局部滑动对齐计算局部分支的局部对齐距离的过程如下:步骤5.1)对局部分支的特征图划分水平条纹,分别使用和代表图像a和b的局部特征,其中k为步骤3.4)中水平池化后的条带数;步骤5.2)对局部细粒度特征学习分支的水平条纹设置滑动窗口,并设置滑动窗口w的大小及滑动窗口的步长s;步骤5.3)分别求解滑动窗口中的局部最短对齐距离,由此获得整个特征图的全局最短对齐距离;具体为:用d
a
和d
b
表示图像a和b采用局部滑动对齐相互匹配的最短距离集合;首先计算图像a或b的局部条纹的最短对齐距离然后将其加入到集合d
a
或d
b
;最后得到图像a和b的最短对齐距离l
dis
。8.根据权利要求7所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在于,所述步骤6)的具体过程如下:步骤6.1)设计分类损失用于模型训练,在网络的最后连接一个用于分类的全连接层,
通过softmax激活函数将图片的特征向量映射概率空间上;则行人re

id的多分类的交叉熵损失表示为:上式k代表每个批次训练样本id类别的数量,q(x
i
)表示样本图片x
i
的标签,若x
i
被识别为y
i
,则q(x
i
)=1,否则q(x
i
)=0;p(y
i
|x
i
)为用softmax激活函数计算图片x
i
预测为类别y
i
的概率;步骤6.2)引入自适应的困难样本挖掘三元组损失,使模型能够有效挖掘困难样本,其损失函数表示为:损失函数表示为:上式x
a
为锚定样本,x
p
为正样本,x
n
为负样本,x
a
和x
p
图片的行人属于相同的id,x
a
和x
n
图片的行人属于不同的id,m为手动设置的超参数;d(x
a
,x
p
)表示为锚定样本x
a
和正样本x
p
之间的距离,同理,d(x
a
,x
n
)表示为锚定样本x
a
和负样本x
n
之间的距离,exp(d(x
a
,x
p
))表示为通过对模型进行训练,使得在欧式空间内的x
a
与x
p
的距离比与x
n
的距离更近,通过softmax函数来自适应地为正负样本分别分配权重w
p
和w
n
;步骤6.3)引入中心损失和困难样本挖掘三元组损失联合约束模型训练;中心损失表示为:上式中k代表每个批次训练样本id类别的数量,y
i
为批次训练样本图像i的标签,c
yi
表示深层特征f
ti
的类中心;步骤6.4)分别计算全局分支和局部分支的困难样本挖掘三元组损失和中心损失,最终的困难样本挖掘三重态损失和中心损失分别表示为:的困难样本挖掘三重态损失和中心损失分别表示为:上式中和分别为全局分支和局部分支的困难样本挖掘三元组损失,和分别为全局分支和局部分支的中心损失;步骤6.5)计算最终总的损失l
total
:上式中λ为中心损失的权重;l
id
为行人重识别多分类交叉熵损失。9.根据权利要求8所述的基于全局

局部特征动态对齐的行人重识别方法,其特征在
于,所述步骤7)中特征融合具体指:将全局特征f
g
和局部特征f
l
融合为最终特征:所述全局特征f
g
为在resnet50基准网络提取特征图经过全局池化得到,包含行人粗粒度的全局特征;所述局部特征f
l
为在原始图像上等分条带,每个条纹采取局部水平池化得到行人的局部判别性特征,包含行人细粒度的局部特征,表示为f
l
={l1,l2,l3,

,l
k
},其中k为步骤3.4)中水平池化后的条带数;融合后的最终特征为f
final
=[f
g
f
l
],其中[
·
]表示特征的串联。

技术总结
本发明公开了一种基于全局


技术研发人员:朱敏 明章强 魏骁勇 李龙兴 杨勇 李长林
受保护的技术使用者:四川大学
技术研发日:2021.07.23
技术公布日:2021/9/16
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1