多任务分类网络的训练方法、行人重识别方法与流程

文档序号:26503601发布日期:2021-09-04 06:33阅读:218来源:国知局
多任务分类网络的训练方法、行人重识别方法与流程

1.本申请涉及行人重识别领域,特别是涉及一种多任务分类网络的训练方法、行人重识别方法和行人属性识别方法。


背景技术:

2.以下陈述仅提供与本发明有关的背景信息,而不必然地构成现有技术。
3.行人重新识别(person re

identification)旨在在不同位置的多个不重叠的一系列摄像机识别同一个人。在过去的几年中,为提高行人重新识别的准确性,人们已经进行了大量的努力和研究。然而,由于拍摄背景混乱,行人存在遮挡,拍摄光线会变化以及不同人会穿类似的衣服等因素的存在,行人重识别仍然是一项艰巨的任务。随着计算机视觉中深度神经网络(dnn)的快速发展,最近的研究表明,通过dnn学习的人体特征大大优于手工特征,人们已经证明深度学习提取的行人特征在进行行人重新识别时对于提高性能及准确率方面更为有效。
4.目前,在进行行人重识别时,已有技术通过利用人的衣服颜色,头发,帽子,鞋子等人的穿着属性来提高识别的准确率,因为这些起决定性因素的属性可以从更高层次来区分不同的人。但是,发明人发现目前的技术仍存在一些不足,导致最终的识别效果不够理想,例如,目前在提取行人图像的属性特征时是将特征图水平切割成多块对应不同身体部位的特征图,然后从各块中提取身体部位的属性信息,但水平切割时,可能无法准确切割人身体矩形框,而如果切割不准则会导致特征图水平切条后无法对准的问题;又例如,采集人的穿着属性有利于提高行人重识别的准确率,但是过于强调行人的属性则可能使模型对属性的更改过于敏感,使得模型将同一个人误识别为不同人。


技术实现要素:

5.本发明针对上述不足或缺点,提供了一种多任务分类网络的训练方法、行人重识别方法和行人属性识别方法,本发明实施例能够缓解因切割不准而导致的特征图无法对准的问题、以及使该分类网络对同一个人的属性变化和具有相似外貌的不同人的情况有更高的鲁棒性。
6.本发明根据第一方面提供了一种多任务分类网络的训练方法,在一个实施例中,该训练方法包括:
7.构建初始的多任务分类网络;该多任务分类网络包括骨干网络、第一分支和包括多个注意力图提取网络的第二分支;
8.对该多任务分类网络进行迭代训练;
9.对该多任务分类网络进行任一次训练的过程包括:
10.获取训练样本集中的一张行人图像;
11.通过骨干网络将行人图像处理为特征图;
12.通过第二分支中的各注意力图提取网络从特征图中提取得到多张注意力图,对该
多张注意力图进行卷积池化操作以提取得到行人图像对应的行人属性特征,根据行人属性特征计算出行人图像对应的行人属性预测损失;
13.提取行人图像中多个行人身体部位对应的掩膜,提取到的多个掩膜与该多张注意力图一一对应,根据该多个掩膜和该多张注意力图计算出行人图像对应的注意力损失;
14.通过第一分支提取出特征图的行人身体特征,根据行人身体特征计算出行人图像对应的行人身份预测损失;
15.获取用于与行人图像组成三元组的正负例样本,通过骨干网络和第一分支对正负例样本进行处理,根据处理结果计算出行人图像对应的身份三元组损失和属性三元组损失;
16.根据行人图像对应的行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失对多任务分类网络进行训练。
17.在一个实施例中,获取用于与行人图像组成三元组的正负例样本,通过骨干网络和第一分支对正负例样本进行处理,根据处理结果计算出行人图像对应的身份三元组损失和属性三元组损失的步骤,包括:
18.以各行人图像作为靶目标,获取用于与行人图像组成身份三元组的第一正例样本、第一负例样本,以及用于与行人图像组成属性三元组的第二正例样本、第二负例样本;
19.通过骨干网络和第一分支分别从第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出行人身体特征;
20.根据行人图像、第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出的行人身体特征计算行人图像对应的身份三元组损失和属性三元组损失。
21.在一个实施例中,获取第一正例样本、第一负例样本和第二正例样本、第二负例样本的步骤,包括:
22.从预设行人图像集中选出用于与行人图像组成身份三元组的第一正例样本、第一负例样本;
23.根据行人图像对应的行人属性特征从预设行人图像集中选出用于与行人图像组成属性三元组的第二正例样本、第二负例样本。
24.在一个实施例中,预设行人图像集中包括多张第一候选行人图像和多张第二候选行人图像;任一张第一候选行人图像所对应的行人身份与行人图像对应的行人身份相同,任一张第二候选行人图像所对应的行人身份与行人图像对应的行人身份不相同;
25.根据行人图像对应的行人属性特征从预设行人图像集中选出第二正例样本和第二负例样本的步骤,包括:
26.根据行人图像对应的行人属性特征从该多张第一候选行人图像中,选出与行人图像之间的属性特征距离最远的第一候选行人图像,作为第二正例样本;
27.根据行人图像对应的行人属性特征从该多张第二候选行人图像中,选出与行人图像之间的属性特征距离最近的第二候选行人图像,作为第二负例样本。
28.在一个实施例中,根据行人图像、第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出的行人身体特征计算行人图像对应的身份三元组损失和属性三元组损失的步骤,包括:
29.对行人图像、第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取
出的行人身体特征分别进行串联归一化操作,得到行人图像、第一正例样本、第一负例样本、第二正例样本和第二负例样本分别对应的联合身体特征;
30.根据行人图像、第一正例样本、第一负例样本分别对应的联合身体特征计算出行人图像对应的身份三元组损失;
31.根据行人图像、第二正例样本、第二负例样本分别对应的联合身体特征计算出行人图像对应的属性三元组损失。
32.在一个实施例中,根据该多个掩膜和该多张注意力图计算出行人图像对应的注意力损失的步骤,包括:
33.计算出各张注意力图与其对应的掩膜之间的注意力图预测损失;
34.根据各注意力图预测损失计算出行人图像对应的注意力损失。
35.在一个实施例中,根据行人图像对应的行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失对多任务分类网络进行训练的步骤,包括:
36.根据行人图像对应的行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失计算出本次训练的总损失;
37.将本次训练的总损失与上一次训练的总损失进行比较,在确定两者之间的差值为0时,判定完成对多任务分类网络的训练,在确定本次训练的总损失小于上一次训练的总损失时,更新多任务分类网络的网络参数,再对其进行下一次训练。
38.在一个实施例中,任一注意力图提取网络用于对输入的行人图像的特征图进行处理,以提取该行人图像中的预设行人身体部位对应的注意力图;
39.任一注意力图提取网络包括通道注意力网络和空间注意力网络;
40.通道注意力网络包含全局平均池化层、第一全连接层和第二全连接层;通道注意力网络用于通过第一全连接层将输入的特征图的通道尺寸从c压缩到c/r,通过第二全连接层将该通道尺寸从c/r扩展到c,以及通过s形函数对第二全连接层处理后的数据进行归一化;其中r是通道注意力网络的压缩超参数;
41.空间注意力网络包括第一卷积层、第二卷积层和第三卷积层;空间注意力网络用于通过第一卷积层将输入的特征图的通道尺寸从c压缩到c/s,通过第二卷积层将该通道尺寸从c/s压缩到c/s2,通过第三卷积层将该通道尺寸压缩为1,以及通过s形函数对第三卷积层处理后的数据进行归一化;其中s是空间注意力网络压缩超参数。
42.在一个实施例中注意力图提取网络在用于从输入的行人图像的特征图中提取注意力图时,具体用于分别通过通道注意力网络和空间注意力网络对该特征图进行处理,得到通道网络输出结果和空间网络输出结果,将通道网络输出结果和空间网络输出结果逐元素相乘,并将相乘得到的结果与该特征图逐元素相乘,得到输入的行人图像中的行人的预设身体部位的注意力图。
43.在一个实施例中,预设行人身体部位为行人的全身、头部、上半身、下半身或脚部。
44.本发明根据第三方面提供了一种行人属性识别方法,在一个实施例中,该方法包括:
45.获取需要识别行人属性的行人图像;
46.将行人图像输入训练好的多任务分类网络;该多任务分类网络是使用如前述任一实施例中的多任务分类网络的训练方法训练好的;
47.通过该多任务分类网络的骨干网络将行人图像处理为特征图,通过该多任务分类网络的第二分支从特征图中提取得到行人属性特征,根据行人属性特征确定行人图像对应的行人属性预测类别。
48.本发明根据第三方面提供了一种行人重识别方法,在一个实施例中,该方法包括:
49.获取需要识别行人身份的行人图像;
50.将行人图像输入训练好的多任务分类网络;该多任务分类网络是使用如前述任一实施例中的多任务分类网络的训练方法训练好的;
51.通过该多任务分类网络的骨干网络将行人图像处理为特征图,通过该多任务分类网络的第一分支从特征图中提取得到行人身体特征,根据行人身体特征确定行人图像对应的行人身份预测类别。
52.在本发明实施例中,多任务分类网络包括用于识别行人身份的第一分支和能用于识别行人属性的第二分支,第二分支中包含多个用于提取注意力图的注意力图提取网络,通过该多个注意力图提取网络所提取的注意力图即可提取得到行人属性特征,在训练时,利用各身体部位的掩膜来引导各注意力图提取网络的训练,能够使其准确提取到行人的各身体部位对应的注意力图,从而缓解因没有准确切割人身体矩形框而导致的特征图无法对准的问题。另一方面,在训练时,引入属性三元组损失来进行训练,能够使该分类网络对同一个人的属性变化和具有相似外貌的不同人的情况有更高的鲁棒性,可以有效去除光线视角等环境因素对衣着的影响,并有效区分穿着相似的不同人。
附图说明
53.图1为一个实施例中多任务分类网络的整体架构示意图;
54.图2为一个实施例中注意力图的示意图;
55.图3为一个实施例中注意力图提取网络的架构示意图;
56.图4为一个实施例中对多任务分类网络进行任一次训练的流程示意图;
57.图5为一个实施例中行人重识别的试验结果的对比示意图;
58.图6为一个实施例中行人属性识别的试验结果的对比示意图;
59.图7为一个实施例中查询图像集的查询结果的示意图;
具体实施方式
60.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
61.本发明提供了一种多任务分类网络的训练方法。在一个实施例中,该多任务分类网络包括骨干网络、第一分支和包括多个注意力图提取网络的第二分支。
62.请参见图1,其中所示为该多任务分类网络的整体架构的一个示例,该多任务分类网络可以共同学习行人的身份特征和属性特征,其中,该多任务分类网络包括骨干网络(即图中的resnet

50第一子模块至第四子模块)、第一分支(即图中的fen部分)和第二分支(即图中的mgaan部分)。
63.本实施例采用resnet

50来作为骨干网络(当然也可以选用其他的卷积神经网络
来作为骨干网络,比如可以选用resnet

18),具体是将原resnet

50的最后一个空间下采样操作删除(即将第四子模块中的第一个卷积层的stride改设为1)、以及将原resnet

50最后的全局池化层和全连接层删除,最后得到的resnet

50即作为骨干网络,需要说明的是,resnet

50是公开的网络,因而里面所涉及的具体的卷积、池化等操作,本实施例不再赘述。进一步地,骨干网络在本实施例中用于将输入的行人图像处理为特征图,得到的特征图可表示为x,其中,x∈r
h*w*c
,c,h,w分别是表示特征图的通道尺寸,高度和宽度。
64.骨干网络后面接入发明人为了解决前述的现有不足而设计的两个分支的分类网络,即第一分支和第二分支。
65.第一分支用于从骨干网络输入的特征图中提取行人身体特征,以便进行行人重识别。其中包括卷积层和全局平均池化层,其中,该卷积层用于将特征图x的通道尺寸从c压缩为512,在经过卷积层处理后,进一步使用该全局平局池化层进行处理,这样可以得到512维的全局身体特征(可表示为f
g
)。之后,将该全局身体特征经过全连接层(fc)和softmax函数进行处理,即可得到行人图像的行人身份预测结果。
66.为了进一步提高行人身份的预测准确性,在利用第一分支来提取行人身体特征和预测行人身份时,可以将全局身体特征和局部身体特征进行结合。
67.示例性地,可以既通过上述操作从特征图中提取得到全局身体特征f
g
及其预测结果;此外,将特征图x水平划分为多个条纹,比如是6个条纹,每个水平条纹都经过一个卷积层和一个平均池化层进行处理,这样最终可以得到多个256维的局部身体特征(第h个水平条纹对应的局部身体特征可表示为f
lh
,若条纹的数量为6个,则h∈{1,2,3,4,5,6}),之后每个局部身体特征都要经过全连接层(fc)和softmax函数,进而可以得到各个局部身体特征对应的行人身份的预测结果;最后即可根据全局身体特征对应的预测结果和各个局部身体特征对应的预测结果来计算出最终的行人身份预测结果,比如计算出各个预测结果的均值,或者对各个预测结果进行加权求和等方式来计算出最终的预测结果。
68.第二分支用于从骨干网络输入的特征图中提取行人属性特征,以便进行行人属性分类。其中包括多个注意力图提取网络,各注意力图提取网络的输入即是骨干网络处理得到的特征图x,各注意力图提取网络能够从中提取出各行人身体部位的注意力图(attention map),当然,不同的注意力图提取网络用于获取不同行人身体部位的注意力图。比如,第二分支中可以设有5个注意力图提取网络,分别用于提取行人的全身、头部、上半身、下半身和脚部等5个身体部位的注意力图,该5个注意力图提取网络所提取的注意力图可以如图2所示,图2中示出了4个示例,每个示例中包括一张行人图像及其对应的5张注意力图,在每个示例中,从左至右依次为原图,全身注意力图,头部注意力图,上半身注意力图,下半身注意力图,脚步注意力图。
69.以下对注意力图提取网络的结构进行说明。
70.请参见图3,各注意力图提取网络中均包括空间注意力网络(即图中所示的a部分)和通道注意力网络(即图中所示的b部分)。图片数据包含长、宽及通道数量(初始为rgb三通道),通道注意力网络用于加强注意某些通道,而忽略某些不重要的通道;空间注意力网络用于关注特征图中包含预设行人身体部位的部分,而忽略背景。
71.具体地,通道注意力网络包含全局平均池化层(avg pooling)、和两个全连接层(linear),即第一全连接层和第二全连接层;通道注意力网络用于通过第一全连接层将输
入的特征图的通道尺寸从c压缩到c/r,通过第二全连接层将该通道尺寸从c/r扩展到c,以及通过s形函数(sigmoid)对第二全连接层处理后的数据进行归一化;其中r是通道注意力网络的压缩超参数。空间注意力网络包括三个卷积层(conv),即第一卷积层、第二卷积层和第三卷积层;空间注意力网络用于通过第一卷积层将输入的特征图的通道尺寸从c压缩到c/s,通过第二卷积层将该通道尺寸从c/s压缩到c/s2,通过第三卷积层将该通道尺寸压缩为1,以及通过s形函数对第三卷积层处理后的数据进行归一化;其中s是空间注意力网络压缩超参数。
72.第二分支中的各注意力图提取网络在用于从输入的行人图像的特征图中提取注意力图时,具体用于分别通过通道注意力网络和空间注意力网络对该特征图进行处理,得到通道网络输出结果和空间网络输出结果,将通道网络输出结果和空间网络输出结果逐元素相乘,并将相乘得到的结果与该特征图逐元素相乘,得到输入的行人图像中的行人的预设身体部位的注意力图。具体地,通道注意力网络的通道网络输出结果可表示为c
t
,其中空间注意力网络的空间网络输出结果可表示为s
t
,其中,t表示第几个注意力图提取网络,比如,在注意力图提取网络的数量为5时,t∈{1,2,3,4,5},可理解的,第二分支中的注意力图提取网络的数量与一张行人图像中提取出的注意力图、局部属性特征的数量是相同的。将通道网络输出结果c
t
和空间网络输出结果s
t
逐元素相乘得到a
t
,即a
t
=s
t
*c
t
,其中,然后将a
t
和特征图x之间逐元素相乘,得到各个注意力图提取网络提取到的注意力图。
73.对于获得的各个注意力图,分别使用卷积层和平均池化层进行处理,即可得到多个256维局部属性特征,再使用全连接层和softmax函数对各个局部属性特征进行处理得到对应的属性预测结果,最后即可根据各个局部属性特征对应的预测结果来计算出最终的行人属性预测结果,比如计算出各个预测结果的均值,或者对各个预测结果进行加权求和等方式来计算出最终的预测结果。
74.以下对该多任务分类网络的训练方法进行说明。
75.在一个实施例中,该多任务分类网络的训练方法是先构建初始的多任务分类网络,然后利用训练样本集对其进行迭代训练。其中,对该多任务分类网络进行任一次训练的过程如图4所示,包括:
76.s110:获取训练样本集中的多张行人图像。
77.本实施例中所使用的训练样本集可以是公开的数据集,如market

1501、dukemtmc

reid。
78.其中,market

1501:该数据通过6个摄像头拍摄了1501个行人,总共32668张图片。整个数据集包含训练数据,测试数据。训练数据包含751个行人,总共12936张图片,其他图片为测试数据。
79.dukemtmc

reid:该数据通过8个摄像头拍摄了1812个行人总共36411张图片。整个数据集包含训练数据,测试数据。训练数据包含702个行人总共16522张图片,其他图片为测试数据。
80.s120:通过骨干网络将各行人图像处理为特征图。
81.其中,特征图可表示为x,其中,c,h,w分别是表示特征图的通道尺寸,高
度和宽度。
82.s130:通过第二分支中的各注意力图提取网络从各特征图中提取得到多张注意力图,对该多张注意力图进行卷积池化操作以提取得到各行人图像对应的行人属性特征,根据各行人属性特征计算出行人属性预测损失。
83.其中,各行人图像对应的行人属性特征包括从各行人图像中提取到的多个局部属性特征;第i个行人图像中的第k个局部属性特征可表示为
84.本次训练中的行人属性预测损失(可表示为即第二分支的softmax预测损失)可以通过以下公式来计算得出:
[0085][0086]
其中,是第i个行人图像的第k个局部属性特征,y
i
表示第i个行人图像的行人id(指行人的身份),表示第j个行人id的第k个局部属性特征对应的权重向量,表示第y
i
个行人id的第k个局部属性特征对应的权重向量,n
batch
表示每一个批次处理图片的数量,即步骤s110中获取的该多张行人图像的数量(由于图片数目较大,本实施例采取批量梯度下降法来计算损失的最小值),n
attri
表示从一个行人图像中提取的所有局部属性特征的数量;n
k
表示行人id的数量。
[0087]
s140:提取各行人图像中多个行人身体部位对应的掩膜,提取到的多个掩膜与各行人图像中提取得到的多张注意力图一一对应,根据从各行人图像中提取的掩膜和注意力图计算出注意力损失。
[0088]
本实施例为了让注意力图提取网络能够更准确地提取到预设行人身体部位对应的注意力图,可以从行人图像中提取出该预设行人身体部位对应的掩膜,然后将该掩膜作为该预设行人身体部位对应的注意力图的标签,进而在每次训练中,应用均方根误差(rmse)指标来计算注意力图提取网络提取到的预设行人身体部位的注意力图和其对应的掩膜之间的损失,并基于该损失来调整网络参数以使得力图提取网络提取到的预设行人身体部位的注意力图与该预设行人身体部位的掩膜尽可能相似。
[0089]
其中,根据从各行人图像中提取的掩膜和该多张注意力图计算出注意力损失的步骤,包括:计算出各行人图像中提取的各张注意力图与其对应的掩膜之间的注意力图预测损失;根据各注意力图预测损失计算出注意力损失。比如,从某张行人图像中提取到行人的全身、头部、上半身、下半身和脚部对应的掩膜和注意力图之后,分别计算各行人身体部位对应的掩膜和注意力图之间的注意力图预测损失(如计算行人的头部对应的掩膜和行人的头部对应的注意力图之间的损失),之后再根据计算出的各注意力图预测损失计算出本次训练的注意力损失。
[0090]
计算注意力损失时,可以先通过以下式子将各注意力图提取网络中的空间网络输出结果进行归一化:
[0091][0092]
再应用frobenius范数来计算均方根误差,由此注意力损失可以表示为:
[0093][0094]
其中m
t
表示行人身体部位的掩膜。
[0095]
s150:通过第一分支提取出各特征图的行人身体特征,根据各行人身体特征计算出行人身份预测损失。
[0096]
其中,各特征图的行人身体特征为从各特征图中提取到的全局身体特征。
[0097]
此时,行人身份预测损失(可表示为即第一分支的softmax损失)可通过以下公式计算得出:
[0098][0099]
其中,表示第i个行人图像的全局身体特征,y
i
表示第i个行人图像的行人id,表示第j个行人id的全局身体特征对应的权重向量,表示第y
i
个行人id的全局身体特征对应的权重向量,n表示行人id的数量。
[0100]
进一步地,各特征图的行人身体特征也可以是从各特征图中提取到的全局身体特征和多个局部身体特征。
[0101]
此时,行人身份预测损失为:
[0102]
其中,表示全局损失,其可通过以下公式计算得到:
[0103][0104]
表示局部损失,其可通过以下公式计算得到:
[0105][0106]
其中,表示图像i的第h个水平条纹的局部身体特征(共有n
l
个水平条纹),y
i
是第i个行人图像的行人id,代表第y
i
个行人id的第h个水平条的局部身体特征对应的权重向量,代表第j个行人id的第h个水平条的局部身体特征对应的权重向量。
[0107]
s160:获取用于与各行人图像组成三元组的正负例样本,通过骨干网络和第一分支对正负例样本进行处理,根据处理结果计算出身份三元组损失和属性三元组损失。
[0108]
在计算三元组损失时,以各行人图像作为三元组中的靶目标,获取用于与其组成三元组的正负例样本,即正例样本和负例样本。本实施例中,需要计算身份三元组损失和属性三元组损失,因此,需要以各行人图像作为靶目标,获取用于与其组成身份三元组的第一正例样本、第一负例样本,以及用于与其组成属性三元组的第二正例样本、第二负例样本。
[0109]
其中,各行人图像的第一正例样本、第一负例样本是基于行人身体特征从预设行人图像集中选取的,而各行人图像的第二正例样本、第二负例样本则是基于各行人图像的行人属性特征从预设行人图像集中选取的。
[0110]
对于各行人图像对应的身份三元组或属性三元组中的任一张样本图像(正例样本或负例样本),可依次通过骨干网络和第一分支进行处理,即通过骨干网络将样本图像处理为特征图,然后通过第一分支从中提取得到行人身体特征,再根据各行人图像、以及各行人图像的第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出的行人身体特征计算出身份三元组损失和属性三元组损失。通过在训练时引入属性三元组损失来进行训练,能够使该分类网络对同一个人的属性变化和具有相似外貌的不同人的情况有更高的鲁棒性,可以有效去除光线视角等环境因素对衣着的影响,并有效区分穿着相似的不同人。
[0111]
在一个实施方式中,根据任一行人图像对应的行人属性特征从预设行人图像集中选出用于与该行人图像组成属性三元组的第二正例样本和第二负例样本,包括:根据该任一行人图像对应的行人属性特征从预设行人图像集中的多张第一候选行人图像中,选出与该任一行人图像之间的属性特征距离最远的第一候选行人图像,作为第二正例样本;任一张第一候选行人图像所对应的行人身份与该任一行人图像对应的行人身份相同;根据该任一行人图像对应的行人属性特征从预设行人图像集中的多张第二候选行人图像中,选出与该任一行人图像之间的属性特征距离最近的第二候选行人图像,作为第二负例样本;任一张第二候选行人图像所对应的行人身份与该任一行人图像对应的行人身份不相同。
[0112]
在本实施方式中,为了能够可以让该多任务分类网络能够区分出更相似的行人,在挑选各行人图像对应的第二正例样本和第二负例样本时,基于各行人图像的行人属性特征选出与靶目标,即各行人图像比较难以区分的难样本来作为第二正例样本和第二负例样本。
[0113]
具体地,在挑选任一张行人图像对应的第二正例样本和第二负例样本时,将该行人图像的行人属性特征,即多个局部属性特征进行串联以及归一化,从而得到该行人图像对应的联合属性特征(可表示为a
w
)。
[0114]
接着计算出该行人图像与预设行人图像集里面包含的各第一候选行人图像之间属性特征距离,之后从所有第一候选行人图像中选出与该行人图像之间属性特征距离最远(或称为最大)的一张行人图像来作为该行人图像的第二正例样本。
[0115]
以及计算出该行人图像与预设行人图像集里面包含的各第二候选行人图像之间属性特征距离,之后从所有第二候选行人图像中选出与该行人图像之间属性特征距离最近(或称为最小)的一张行人图像来作为该行人图像的第二负例样本。
[0116]
其中,上述预设行人图像样本集是指每次训练时获取的该多张行人图像。
[0117]
可通过以下公式来挑选第二正例样本:
[0118]
[0119]
表示选中的第二正例样本。
[0120]
可通过以下公式来挑选第二负例样本:
[0121][0122]
其中,表示选中的第二负例样本,表示第二负例样本的类别,k表示本次训练获取的该多张行人图像,p表示本次训练获取的该多张行人图像中的行人id的数量。
[0123]
在另一个实施方式中,根据各行人图像、以及各行人图像的第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出的行人身体特征计算行人图像对应的身份三元组损失和属性三元组损失,包括:对各行人图像、以及各行人图像的第一正例样本、第一负例样本、第二正例样本和第二负例样本中提取出的行人身体特征分别进行串联归一化操作,得到各行人图像、以及各行人图像的第一正例样本、第一负例样本、第二正例样本和第二负例样本分别对应的联合身体特征;根据各行人图像、以及各行人图像的第一正例样本、第一负例样本分别对应的联合身体特征计算出身份三元组损失;根据各行人图像、以及各行人图像的第二正例样本、第二负例样本分别对应的联合身体特征计算出属性三元组损失。
[0124]
其中,假如从一张行人图像中提取到的行人身体特征为全局身体特征和多个局部身体特征,那么需要将512维全局身体特征和多个256维局部身体特征串联起来并进行归一化,以形成2048维特征,即该行人图像对应的联合身体特征,可表示为f
w
。在执行上述的串联归一操作后,即可得到各张行人图像及其第一正例样本、第一负例样本和第二正例样本、第二负例样本所各自对应的联合身体特征。
[0125]
将第i张行人图像表示为将第i张行人图像的第一正例样本、第一负例样本所对应的联合身体特征表示为进而通过以下公式计算出本次训练的身份三元组损失(表示为):
[0126][0127]
其中,p表示步骤s110中获取的该多张行人图像中的行人id数量,k表示该多张行人图像的数量。
[0128]
将第i张行人图像的第二正例样本、第二负例样本所对应的联合身体特征表示为
进而通过以下公式计算出本次训练的属性三元组损失(表示为):
[0129][0130]
其中,表示第二负例样本的类别。
[0131]
s170:根据行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失对多任务分类网络进行训练。
[0132]
其中,根据行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失对多任务分类网络进行训练的步骤,包括:根据行人身份预测损失、行人属性预测损失、注意力损失、身份三元组损失和属性三元组损失计算出本次训练的总损失;根据本次训练的总损失和之前多次训练的总损失判断该多任务分类网络的损失是否减小到最小值,在确定该多任务分类网络的损失减小到最小值时,判定完成对该多任务分类网络的训练,在确定该多任务分类网络的损失没有减小到最小值时,更新该多任务分类网络的网络参数,再对其进行下一次训练。
[0133]
具体地,在训练开始时,该多任务分类网络的整个网络参数为随机值,在每次训练过程中,通过前向传播可以分别计算出行人身份预测损失、行人属性预测损失、身份三元组损失、属性三元组损失以及注意力损失,
[0134]
在计算出所有上述损失之后,汇总得到该多任务分类网络本次训练的总损失。
[0135]
再通过梯度下降法,反向传播更新该多任务分类网络中的网络参数;通过上述过程进行多次训练,使得总损失不断减小,当总损失减小到不再变化或基本不变,即损失减小到最小值时,可以得到该多任务分类网络的整个网络参数,此时即完成对该多任务分类网络的训练。
[0136]
其中,根据本次训练的总损失和之前多次训练的总损失判断该多任务分类网络的损失是否减小到最小值时,具体是基于最近n次训练的总损失和损失差值来进行判断。其中,最近n次训练即包括本次训练和之前n

1次训练,次数n可根据不同场景需求进行调整,比如,可以观察最近4次、5次、更多次训练等;示例性地,每次训练的损失差值可以通过该次训练的总损失减去其上一次训练的总损失得到。假如最近n次训练的损失差值不再变化即各差值皆为0,或者基本不变即最近n次训练的损失差值在震荡,但最小的总损失没有在变小,则判定为整个网络的损失已经减小到最小值,可以完成训练;反之,则判定整个网络的损失没有减小到最小值,需要继续训练,比如,前几次训练的损失差值都为0,但本次训练的预测损失值相比上一次训练的预测损失值又减小了很多,那么还需要继续训练。
[0137]
使用上述实施例提供的训练方法训练出来的多任务分类网络相比现有的reid算法可以更准确地进行行人重识别和行人属性分类。
[0138]
为了更直观地展示出该多任务分类网络在行人重识别和行人属性分类上能取得
的效果,以下给出该多任务分类网络和几个现有的reid算法对同一数据集进行处理而得到的结果。其中,在进行行人重识别时采用的评测指标为rank

1(第一匹配准确率,指搜索结果中最靠前的一张图是正确结果的概率)和map(mean average precision,各类别precision

recall曲线下面积的平均值,用于衡量算法的搜索能力)。
[0139]
如图5所示为该多任务分类网络和其他12个现有的reid算法在market

1501及dukemtmc

reid数据集上的对比试验结果。从图中可知,对于rank

1,该多任务分类网络在dukemtmc

reid数据集上拥有最优表现;在market501数据集上,第一匹配结果稍逊算法mgn,但map的结果优于mgn;对于map,该多任务分类网络的结果在该两类数据集上的结果均优于其他算法。
[0140]
如图6所示为该多任务分类网络和其他2个现有的用于行人属性分类的算法在market1501数据集上的对比试验结果。图中显示了该多任务分类网络和其他各算法对于行人属性的预测能力,在market

1501数据集上,该多任务分类网络对于性别,头发长短,上衣颜色,裤子长短等行人属性的预测都优于其他算法。
[0141]
在前述实施例的基础上,本发明还提供了一种行人属性识别方法,该方法包括:
[0142]
获取需要识别行人属性的行人图像;
[0143]
将行人图像输入训练好的多任务分类网络;该多任务分类网络是使用前述任一实施例中所提供的多任务分类网络的训练方法训练好的;
[0144]
通过多任务分类网络的骨干网络将行人图像处理为特征图,通过多任务分类网络的第二分支从特征图中提取得到行人属性特征,根据行人属性特征确定行人图像对应的行人属性预测类别。
[0145]
其中,需要识别行人属性的行人图像可以是多张行人图像,比如可以是对一段视频进行分帧,然后从中筛出的包含行人的图像。在对其进行处理时,通过该多任务分类网络可以将各行人图像处理为特征图,并从中提取出行人属性特征即多个局部属性特征,进而基于各行人属性特征计算出各张行人图像对应的行人属性预测类别,即基于各个局部属性特征预测得到的属性类别,比如,基于行人图像中提取到的头部所对应的局部属性特征,预测出该头部所对应的属性类别,比如,黄色帽子。
[0146]
在前述实施例的基础上,本发明还提供了一种行人重识别方法,该方法包括:
[0147]
获取需要识别行人身份的行人图像;
[0148]
将行人图像输入训练好的多任务分类网络;该多任务分类网络是使用前述任一实施例中所提供的多任务分类网络的训练方法训练好的;
[0149]
通过多任务分类网络的骨干网络将行人图像处理为特征图,通过多任务分类网络的第一分支从特征图中提取得到行人身体特征,根据行人身体特征确定行人图像对应的行人身份预测类别。
[0150]
其中,需要识别行人属性的行人图像可以是多张行人图像,比如可以是对一段视频进行分帧,然后从中筛出的包含行人的图像。通过该多任务分类网络可以将各行人图像处理为特征图,并从中提取出行人身体特征,进而基于各行人身体特征计算出各张行人图像对应的行人身份预测类别。
[0151]
进一步地,在获取需要识别行人身份的行人图像之前,接收到查询请求,该查询请求关联一张查询图片(也是行人图像)或者查询图片集,对于该查询请求,确定出该查询请
求对应的被查询集合(即需要识别行人身份的行人图像),然后通过该多任务分类网络确定出各张行人图像对应的行人身份的预测结果,再从该多张行人图像中选出与该查询图片或查询图片集距离最接近的多张图像作为查询结果进行反馈。示例性地,反馈的查询结果可参见图7,图中所示的左边为查询图片集,右边为被查询集合中最匹配的前5张图。
[0152]
图4为一个实施例中多任务分类网络的训练方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0153]
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0154]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0155]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1