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

文档序号:26673600发布日期:2021-09-17 23:27阅读:386来源:国知局
一种基于全局-局部特征动态对齐的行人重识别方法
一种基于全局

局部特征动态对齐的行人重识别方法
技术领域
1.本发明涉及计算机,行人重识别和智能监控领域,具体涉及一种基于全局

局部特征动态对齐的行人重识别方法。


背景技术:

2.行人重识别(re

id)是计算机视觉领域中一项具有挑战性的任务,旨在确定不同摄像头拍摄的行人或同一摄像头不同视频片段的行人图像是否为同一个行人,已经被广泛应用于智能监控领域。然而,由于现实场景的复杂性,行人re

id依然面临诸多挑战,例如:行人检测边界框错误、姿态变化和遮挡等。这些挑战使人们从大型测试集中识别出特定的行人成为一项艰巨的任务。
3.为了解决这些挑战,先前的大多数工作都集中在使用卷积神经网络(cnn)学习行人的全局特征,其思路主要可以归纳为表征学习和距离度量学习。传统表征学习的方法旨在学习行人的刚性不变特征,大多数距离度量学习旨在减少相同行人特征之间的距离。但这些方法都是从整个行人图像中学习特征,仅仅包含行人粗粒度的全局信息而忽略了行人局部的关键细节。
4.为了更好地提取局部特征,一些方法使用水平条纹或网格提取行人身体部位的局部特征,但这类方法需要事先调整行人对齐才能获得良好性能。也有一些研究者引入注意力机制以作为判别性特征的补充,但这类方法常常会引入额外的背景注意力,从而影响行人最终的特征表示。还有一些工作通过人体姿势估计模型来获取人体姿势点,用这些姿势点匹配不同的人体部位或对齐视点,但训练人体姿态估计模型需要大量标记数据,并且获取人体姿态点需要消耗额外的计算资源。另外,一些研究者将全局特征和局部特征相结合,来增强最终的行人区别性特征表示。总的来说,这些方法要么需要引入行人的姿态来辅助行人局部特征的对齐,但需要增加额外的计算资源;要么采用局部硬对齐的方法来匹配行人的局部特征,但遇到行人姿态变化、行人检测边界框错误和部分遮挡等较大的场景差异时,硬对齐的方法很难获得高的行人re

id准确率。


技术实现要素:

5.为了解决上述背景技术提高的不足,本发明提出了一种基于全局

局部特征动态对齐的行人重识别方法。
6.为了实现上述技术目的,本发明的技术方案为:
7.一种基于全局

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

1501,对数据集中的训练集进行预处理具体为:首先将所有训练和测试的图像大小调整为384
×
128;然后通过随机水平翻转、随机擦除、随机裁剪和图像像素值的归一化,随机增加一些遮挡、旋转的样本来增强训练数据。
16.更进一步的,所述步骤2)中对基础网络resnet50模型初始化的过程如下:
17.步骤2.1)使用imagenet上预先训练的权重进行resnet50模型的初始化;
18.步骤2.2)设置批处理的大小,在每个批次中随机选取不同身份的样本进行采样,并从训练集中为每个身份随机选取若干张图像;
19.步骤2.3)设置全局分支和局部分支的困难样本挖掘三元组损失的权重;
20.步骤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;
21.步骤2.5)使用标签平滑来平滑样本的分布;
22.步骤2.6)在pytorch平台上实现的最终的模型,并使用nvidia 2080ti gpu对模型进行训练。
23.更进一步的,所述步骤3)中对残差网络resnet50改造为基础网络,即gldfa

net网络结构,输入图像经过resnet50骨干网络的堆叠卷积层后,由全局粗粒度特征学习分支和局部细粒度特征学习分支共享特征图;对于全局特征,直接对特征图做全局平均池化得到;对于局部特征,先对特征图做水平分区,并通过局部平均池化得到每个水平条带的特征向量,再采用lsa计算局部对齐距离,并结合全局距离用于三元组损失的困难样本挖掘,最后将全局特征和局部特征进行组合作为最终的特征表示,并经过全连接层和softmax层以实现图像的分类。
24.更进一步的,所述步骤3)中构建全局粗粒度和局部细粒度特征学习分支的过程如下:
25.步骤3.1)采用具有竞争性性能和简洁体系结构的resnet50作为骨干网络提取行人的特征图;首先,删除resnet50的平均池化层和后续层,然后在resblock4块之后的部分划分为两个独立的分支,分别将其命名global branch和local branch;
26.步骤3.2)对于全局粗粒度特征学习分支,使用全局平均池化将特征图转换为全局特征向量,并使用1x1卷积层批处理归一化和relu将2048

dim的特征减小到256

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

,k;并将l
i
的维度减小到256,在所述k个条带上独立地学习局部特征;
29.步骤3.5)在测试阶段,将全局和局部特征缩小到256维,并连接为最终的特征;此外,全局粗粒度特征学习分支和局部细粒度特征学习分支的每个条带都不共享权重,即它们对应的三元组损失和分类损失均采用独立的权重约束模型的训练。
30.更进一步的,所述步骤4)中学习行人粗粒度的全局特征,并采用欧式距离计算全局分支的全局距离的过程如下:
31.步骤4.1)在训练阶段,计算全局距离和局部距离用于三元组损失的度量学习;
32.步骤4.2)在推理阶段,使用局部距离计算图像之间的相似度;对于全局距离的计算,分别使用和代表图像a和b的全局特征,则全局特征的欧式距离表示为:
[0033][0034]
更进一步的,所述步骤5)中学习行人细粒度的局部特征,采用局部滑动对齐计算局部分支的局部对齐距离的过程如下:
[0035]
步骤5.1)对局部分支的特征图划分水平条纹,分别使用和代表图像a和b的局部特征,其中k为步骤3.4)中水平池化后的条带数;
[0036]
步骤5.2)对局部细粒度特征学习分支的水平条纹设置滑动窗口,并设置滑动窗口w的大小及滑动窗口的步长s;
[0037]
步骤5.3)分别求解滑动窗口中的局部最短对齐距离,由此获得整个特征图的全局最短对齐距离;具体为:用d
a
和d
b
表示图像a和b采用局部滑动对齐相互匹配的最短距离集合;首先计算图像a或b的局部条纹的最短对齐距离然后将其加入到集合d
a
或d
b
;最后得到图像a和b的最短对齐距离l
dis

[0038]
更进一步的,所述步骤6)的具体过程如下:
[0039]
步骤6.1)设计分类损失用于模型训练,在网络的最后连接一个用于分类的全连接层,通过softmax激活函数将图片的特征向量映射概率空间上;则行人re

id的多分类的交叉熵损失表示为:
[0040][0041]
上式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
的概率;
[0042]
步骤6.2)引入自适应的困难样本挖掘三元组损失,使模型能够有效挖掘困难样本,其损失函数表示为:
[0043]
l
triplethard
=[m+w
p
d(x
a
,x
p
)

w
n
d(x
a
,x
n
)]
+
[0044][0045]
上式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
))表示为
[0046]
通过对模型进行训练,使得在欧式空间内的x
a
与x
p
的距离比与x
n
的距离更近,通过softmax函数来自适应地为正负样本分别分配权重w
p
和w
n

[0047]
步骤6.3)引入中心损失和困难样本挖掘三元组损失联合约束模型训练;中心损失表示为:
[0048][0049]
上式中k代表每个批次训练样本id类别的数量,y
i
为批次训练样本图像i的标签,表示深层特征的类中心;
[0050]
步骤6.4)分别计算全局分支和局部分支的困难样本挖掘三元组损失和中心损失;最终的困难样本挖掘三重态损失和中心损失分别表示为:
[0051][0052][0053]
上式中和分别为全局分支和局部分支的困难样本挖掘三元组损失,和分别为全局分支和局部分支的中心损失;
[0054]
步骤6.5)计算最终总的损失l
total

[0055]
l
total
=l
id
+l'
triplethard
+λl'
center
[0056]
上式中λ为中心损失的权重;l
id
为行人重识别多分类交叉熵损失。
[0057]
更进一步的,所述步骤7)的具体过程如下:
[0058]
步骤7.1)将全局特征f
g
和局部特征f
l
融合为最终特征:
[0059]
所述全局特征f
g
为在resnet50基准网络提取特征图经过全局池化得到,包含行人粗粒度的全局特征;
[0060]
所述局部特征f
l
为在原始图像上等分条带,每个条纹采取局部水平池化得到行人的局部判别性特征,包含行人细粒度的局部特征,表示为f
l
={l1,l2,l3,

,l
k
},其中k为步骤3.4)中水平池化后的条带数,通常取值为8;
[0061]
融合后的最终特征为f
final
=[f
g
·
f
l
],其中[
·
]表示串联;
[0062]
步骤7.2)将待查询行人图像作为行人重识别网络模型的输入,从查询图库中进行检索,计算待查询行人图像与查询图库中所有图像之间的最短对齐距离,根据最短对齐距离进行排序,距离最近的查询图库中的图像与待查询行人图像为同一行人的数据。
[0063]
采用上述技术方案带来的有益效果:
[0064]
1)本发明设计一种简单高效的局部滑动对齐(lsa)策略。给定两张要比较的行人图像,lsa通过为它们的局部条纹设置滑动窗口,并计算对应滑动窗口内条纹的最短对齐距离,以实现局部特征的动态对齐。lsa能够有效抑制空间未对齐和非对齐区域的噪声干扰,并且无需引入额外的辅助姿态信息。
[0065]
2)本发明设计一个名为gldfa

net的新颖框架,该框架包括全局分支和局部分支,可以融合粗粒度的全局特征和细粒度的局部特征。将lsa引入到gldfa

net的局部分支以指导距离度量的计算,可以进一步提高测试阶段的准确性。
[0066]
3)本发明采用困难样本挖掘三元组损失、中心损失和softmax交叉熵分类损失联合约束模型的训练,可以使类内的样本距离趋于最小,而不同类的样本距离趋于最大,提高同一类样本的紧凑性,从而提高行人重识别的泛化能力和鲁棒性。
[0067]
4)本发明在包括market

1501,dukemtmc

reid和cuhk03在内的多个主流评估数据集上进行的评估实验表明,本发明具有先进的准确性。特别地,本发明在market1501上达到了86.8%的map和94.8%的rank

1准确度。
附图说明
[0068]
图1为本发明的方法流程图。
[0069]
图2为实施例market1501数据集的数据增强示意图(a.随机水平翻转,b.随机擦除,c.随机旋转,d.随机裁剪)。
[0070]
图3本发明的gldfa

net的网络结构示意图。
[0071]
图4为实施例中局部滑动对齐(lsa)过程的示意图。
[0072]
图5为实施例中局部水平条纹设置滑动窗口的示意图。
[0073]
图6为实施例market1501数据集的行人检索图。
具体实施方式
[0074]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案做进一步详细说明。
[0075]
本发明设计了一种基于全局

局部特征动态对齐的行人重识别方法,通过设计一种简单高效的局部滑动特征对齐(lsa)策略,通过对行人的局部条纹设置滑动窗口,来动态对齐两张行人图像的局部特征。lsa能够有效抑制空间未对准,并且不需要引入额外的监督信息。此外,还设计一种全局

局部动态特征对齐网络(gldfa

net)框架,它包含全局和局部两个分支。本发明将lsa引入到gldfa

net的局部分支中,用于指导距离度量的计算,可以进一步提高测试阶段的准确度。
[0076]
一种基于全局

局部特征动态对齐的行人重识别方法,包括训练集数据增强、构建多粒度全局

局部分支特征学习网络、获取粗粒度的全局特征计算全局距离、获取细粒度的局部特征并采用局部滑动对齐(lsa)策略计算行人局部对齐距离、特征融合相似性度量和采用困难样本挖掘三元组损失、中心损失和softmax交叉熵分类损失联合约束模型的训练。
[0077]
参考图1,为本发明一种基于全局

局部特征动态对齐的行人重识别方法的具体实施流程图,具体实施步骤如下:
[0078]
步骤1:挑选行人重识别领域的公开数据集market

1501,该数据集是在清华大学
校园内五个高分辨率和一个低分率摄像设备采集的1501个行人的图像。
[0079]
对数据集中的训练集进行预处理的具体实施如下:
[0080]
1)将所有训练和测试的图像大小调整为384
×
128;
[0081]
2)参考图2,为通过随机水平翻转、随机擦除、随机裁剪和图像像素值的归一化,随机增加一些遮挡、旋转的样本来增强训练数据。从中可以看出,数据增强后可以增强样本的多样性,一定程度会提高模型的泛化能力和鲁棒性。
[0082]
步骤2:对基础网络resnet50模型预处理的具体实施如下:
[0083]
1)使用imagenet上预先训练的权重进行resnet50模型的初始化,预训练的网络有助于实现更好的性能,因为它保留了imagenet中的一些良好的视觉模式;
[0084]
2)设置批处理的大小为32,在每个批次中随机选取p个不同身份的样本进行采样,并从训练集中为每个身份随机选取k张图像,在本发明的实验中设置p=8,k=4。
[0085]
3)全局和局部分支的困难样本挖掘三元组损失的权重均设置为0.3;
[0086]
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;
[0087]
5)使用了标签平滑(ls)平滑样本的分布,相当于在真实样本分布中加入了噪声,避免模型对于正确标签过于自信,使得预测正负样本的输出值差别不那么大,标签平滑可以让分类之间的聚类更加紧凑,增加类间距离,减少类内距离,从而避免过拟合,提高模型的泛化能力;
[0088]
6)最后模型是在pytorch平台上实现的,并使用了一个nvidia 2080ti gpu对模型进行训练。
[0089]
步骤3:中对残差网络resnet50改造为基础网络,参照图3,为本发明设计的gldfa

net的网络结构。输入图像经过resnet50骨干网络的堆叠卷积层后,由全局分支(global branch)和局部分支(local branch)共享特征图。对于全局特征,本发明可以直接对特征图做全局平均池化得到。对于局部特征,本发明首先对特征图做水平分区,并通过局部平均池化得到每个水平条带的特征向量。然后,本发明采用lsa计算局部对齐距离,并结合全局距离用于三元组损失的困难样本挖掘。最后,本发明将全局特征和局部特征进行组合作为最终的特征表示,并经过全连接(fc)层和softmax层以实现图像的分类。
[0090]
构建全局和局部特征学习分支的具体实施如下:
[0091]
1)为了让cnn学习到更多判别性的特征,本发明设计了一种新颖的gldfa

net框架用于行人re

id任务,采用具有竞争性性能和相对简洁体系结构的resnet50作为骨干网络提取行人的特征图。首先,删除resnet50的平均池化层和后续层,然后在resblock4块之后的部分划分为两个独立的分支,分别将其命名global branch和local branch;
[0092]
2)对于全局分支,使用全局平均池化(gmp)将特征图转换为全局特征向量,并使用1x1卷积层批处理归一化和relu将2048

dim的特征减小到256

dim;
[0093]
3)将resnet50骨干网络的最后一个空间下采样的跨步从2更改为1。当输入384x128大小的图像时,可以得到较大空间尺寸(24x 8)的特征图;
[0094]
4)对于局部分支,使用水平平均(最大)池化在输出特征图水平方向上均匀分成k个条带,将同一条带中的所有列向量平均为单个列向量l
i
(i=1,2,3,

,k,受pcb的启发,
这里k的大小设置为8),并将l
i
的维度减小到256,在这些条带上独立地学习局部特征;
[0095]
5)在测试阶段,将全局和局部特征缩小到256维,并连接为最终的特征。此外,全局分支和局部分支的每个条带都不会共享权重,即它们对应的三元组损失和分类损失均采用独立的权重约束模型的训练。
[0096]
步骤4:中学习全局分支行人粗粒度的全局特征,并采用欧式距离计算全局分支的全局距离的具体实施如下:
[0097]
1)在训练阶段,计算全局距离和局部距离用于三元组损失的度量学习;
[0098]
2)在推理阶段,本发明使用局部距离计算图像之间的相似度。对于全局距离的计算,分别使用和代表图像a和b的全局特征,因此全局特征的欧式距离可以表示为:
[0099][0100]
步骤5:中局部分支学习行人细粒度的局部特征,并采用局部滑动对齐(lsa)计算局部分支的局部对齐距离。参考图4为局部滑动对齐(lsa)过程的示意图,本发明对行人划分水平条带,并且从上到下对局部条带设置滑动窗口,参考图5为对局部水平条纹设置滑动窗口的示意图,计算与窗口内的水平条带的最短对齐距离。箭头方向表示匹配的局部特征,实线箭头表示最短对齐距离,虚线表示非最短对齐距离,两张图像的对齐距离为所有局部条带的对齐距离之和。
[0101]
具体实施如下:
[0102]
1)本发明提出称为局部滑动对齐(lsa)的动态对齐策略用于计算局部距离。首先,对局部分支的特征图划分水平条纹。分别使用和代表图像a和b的局部特征,其中k为水平池化后的条带数,k的取值为8;
[0103]
2)然后,对水平条纹设置滑动窗口(其中每个滑动窗口是相互影响和关联的),对局部分支的水平条纹设置滑动窗口,并设置滑动窗口w的大小为4,滑动窗口的步长s默认设置为1;
[0104]
3)最后,分别求解滑动窗口中的局部最短对齐距离来获得整个特征图的全局最短对齐距离。d
a
和d
b
分别为图像a和b采用局部滑动对齐相互匹配的最短距离集合。首先计算图像a或b的局部条纹的最短对齐距离然后将其加入到集合d
a
或d
b
。最后得到图像a和b的最短对齐距离l
dis

[0105]
步骤6:中使用困难样本挖掘三元组损失、中心损失和softmax交叉熵损失联合作为行人重识别网络的监督器,约束行人重识别模型的训练的具体实施如下:
[0106]
1)设计分类损失用于模型训练,通常在网络的最后连接一个用于分类的全连接层(fully connected layers,fc),通过softmax激活函数将图片的特征向量映射概率空间上。因此,行人re

id的多分类的交叉熵损失可以表示为:
[0107][0108]
上式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
的概率;
[0109]
2)设计三元组损失,目的是使类内的样本距离趋于最小,而不同类的样本距离趋于最大,被广泛应用于行人re

id的度量学习;
[0110]
3)为了使模型能够有效挖掘困难样本,引入一种自适应的困难样本挖掘三元组损失,它是基于原始的三元组损失的改进版本。其损失函数可以表示为:
[0111]
l
triplethard
=[m+w
p
d(x
a
,x
p
)

w
n
d(x
a
,x
n
)]
+
[0112][0113]
上式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
))表示为
[0114]
通过对模型进行训练,使得在欧式空间内的x
a
与x
p
的距离比与x
n
的距离更近。本发明使用softmax函数来自适应地为正负样本分别分配权重w
p
和w
n
。该方法能够自适应地为困难样本分配权重,提高度量学习的鲁棒性;
[0115]
4)虽然三元组损失能够有效地改善特征的空间分布,但对类内样本约束能力较差。然而,中心损失可以最小化类内样本距离,提高同一类样本的紧凑性。因此,引入中心损失和困难样本挖掘三元组损失联合约束模型训练。中心损失可以表示为:
[0116][0117]
上式中k代表每个批次训练样本id类别的数量,y
i
为批次训练样本图像i的标签,表示深层特征的类中心。该表达式能够准确反映类内样本的变化,可以加速同一类的样本的收敛;
[0118]
5)分别计算全局分支和局部分支的困难样本挖掘三元组损失和中心损失。因此,最终的困难样本挖掘三重态损失和中心损失分别可以表示为:
[0119][0120][0121]
6)将两种分支的特征f
g
和f
l
连接为最终的特征,可以写成f
final
=[f
g
·
f
l
],其中[
·
]表示串联。最后,本发明使用f
final
计算多分类交叉熵损失l
id
。因此,最终总的损失l
total
是三种损失的组合可以表示为:
[0122]
l
total
=l
id
+l'
triplethard
+λl'
center
[0123]
上式中心损失的权重λ设置为0.05。
[0124]
步骤7:将待查询行人图像作为行人重识别网络模型的输入,分别学习行人的全局特征和局部特征,并将全局特征和局部特征进行融合作为行人最终的特征描述符。然后从候选图库中进行识别,计算查询图片和候选库中所有图片之间的特征欧氏距离,并对距离进行排序,从候选库中识别出与查询图像距离最短的行人作为最终的识别结果。具体实施
如下:
[0125]
由于深度学习机制可以从整个图像中获取主体上的近似响应偏好,因此也可以从较小的局部区域中提取出更细粒度的局部特征显著性。本发明采用不同粒度的全局和局部信息相结合的特征学习策略,定义原始图像只包含一个全局信息的整体分割为最粗情况,并且随着分割数目的增加,局部特征可以更多地集中在每个部分条带中更精细的判别信息,过滤其他条带上的信息。所以将两种分支的特征f
g
和f
l
连接为最终的特征。
[0126]
其中全局特征表示为f
g
,为在resnet50基准网络提取特征图经过全局池化得到,包含行人粗粒度的全局特征。
[0127]
其中局部特征表示为f
l
,为在原始图像上等分条带,每个条纹采取局部水平池化得到行人的局部判别性特征,包含行人细粒度的局部特征。最后的局部特征可以表示为f
l
={l1,l2,l3,

,l
k
},其中k为水平池化后的条带数,通常取值为8。
[0128]
最终特征可以写成f
final
=[f
g
·
f
l
],其中[
·
]表示串联。串联后的最终特征粒度多样性,可以获得更强大的行人特征表示。
[0129]
最后,将待查询行人图像作为行人重识别网络模型的输入,从候选库中进行检索,计算待查询行人图像与候选库中所有图像之间的最短对齐距离,根据最短对齐距离进行排序,距离最近的查询图库中的图像与待查询行人图像为同一行人的数据。
[0130]
在本发明中将所有训练和测试的图像大小调整为384
×
128,使用imagenet上预先训练的权重进行模型的初始化。在训练阶段,本发明首先对行人图像进行随机水平翻转、随机擦除和归一化来增强训练数据。然后,为了更好地使用困难样本挖掘三元组损失和中心损失训练网络模型,本发明设置批处理的大小为32,在每个批次中随机选取p个不同身份的样本进行采样,并从训练集中为每个身份随机选取4张图像,在本发明中设置p=8。
[0131]
全局和局部分支的困难样本挖掘三元组损失的权重均设置为0.3。最后,本发明选择adam作为模型的优化器,设置epochs的大小为300,其中学习率在前100个epochs为3.5
×
10
‑3,在100至200个epochs之间学习率为3.5
×
10
‑4,在200个epochs之后学习率下降到3.5
×
10
‑5,权重衰减设置为10
‑5。此外,本发明还使用了标签平滑(ls)提高模型的性能。在推理阶段,将全局分支和局部分支的特征向量连接在一起,以生成最终的特征表示。本发明使用开源re

ranking(rk)技术来提高查询结果的准确度。本发明的模型是在pytorch平台上实现的,并使用了一个nvidia 2080ti gpu,在所有数据集上的实验均共享与上述相同的实验设置。
[0132]
参考图6为本发明在market

1501数据集上查询图像的前10排名列表。这些检索到的图像全部来自gallery集,并且属于不同相机拍摄的图像。第一行行人的姿态或步态变化较大,本发明的方法通过对齐身体躯干部位的不变性特征,依然能够得到全部正确的检索结果。第二行的行人边界检测框出现错误导致容易丢失或者引入大量背景信息,本发明的方法通过动态对齐行人的身体部位,能够有效缓解这种情况。第三行为行人被部分遮挡的检索结果,虽然遮挡区域不仅丢失大量重要信息而且会引入额外的噪声,但本发明的对齐方法依然能够获得较高的检索结果。从检索结果来看,除了第二行最后一个匹配错误外,其余结果均显示出强大的鲁棒性。本发明将这一的结果归因于局部特征动态对齐的影响,这些对齐后的特征能够反映其身份的鲁棒性特征。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1