一种上下文感知、噪声鲁棒的行人搜索方法

文档序号:29208453发布日期:2022-03-12 03:05阅读:119来源:国知局
一种上下文感知、噪声鲁棒的行人搜索方法

1.本发明属于计算机视觉中的图像检索领域。


背景技术:

2.数以万计的视频监控设备正在源源不断的部署到我们日常的生活中,组成一个庞大的视频监控网络。面对海量的数据,如何对这些数据进行分析以及使用成了不得不面对的问题。现在使用范围较广的人工的监视或是检索的方式,明显是低效且将耗费大量的人力以及财力。
3.由于监控视频画面的特殊性,使用现有人脸识别的方式并不能够很好地解决该场景下的需求。行人重识别以及行人搜索是解决该问题的一个研究方向,其旨在通过利用行人的体型,衣着等特征,建立起不同监控画面之间的联系,从而完成跨摄像头的行人的识别以及检索。不同的是,行人搜索将检测以及识别的工作合融合在一起,使用完整的摄像头画面作为输入。将检测以及识别两个部分共同进行优化能够获得更好效果,此外,这样也更加贴近于实际的落地环境。行人搜索是对进行海量监控视频检索分析的重要组成部分,在最近几年引起了众多研究学者的关注。
4.cn111209799a提出了一种基于部分共享网络和余弦间隔损失函数的行人搜索方法。该方法通过部分共享解决行人检测以及行人辨识两个子任务冲突的问题,该方法同时使用余弦间隔损失函数获得更加具有鉴别力的行人特征表示。但是该方法并没有针对行人搜索任务的特点,充分利用场景图像的空间上下文信息,使得神经网络的最终性能收到了一定的限制。
5.cn112446340a提出了一种结合行人局部特征和服饰属性分类的行人搜索方法。该方法通过级连目标检测以及行人辨识两个模型,最终完成行人搜索任务;在行人识别辨识子任务中,针对服饰属性以及行人局部特征进行了优化,提升了行人特征的辨识性。但是在该方法中,行人搜索的两个子任务相互独立,没有办法进行相互适应,使得其方法的最终性能受到了一定程度的限制。


技术实现要素:

6.本发明为了克服上述现有技术存在的缺陷,提出了一种上下文感知且对于噪声鲁棒的端到端行人搜索方法。本发明通过对于场景图像中上下文信息的充分挖掘,利用出现在同一个画面中的行人构造对比对,使得行人搜索神经网络的能够人流拥挤场景以及遮挡场景更加的鲁棒。此外本发明提出了一种发现训练数据中噪声的方法,并提出一种抑制训练数据中噪声所带来的负面影响的方法。最后,此发明将数据不确定性学习引入行人搜索并取得了良好效果。总体而言,本发明相比先前的行人搜索方法,在遮挡、拥挤等复杂场景中更加鲁棒,从而在行人搜索任务获得的更好的效果。
7.本发明的目的可以通过以下技术方案来实现:步骤1构建一个端到端的行人搜索神经网络,该神经网络使用完整的监控视频画面作为输入,使用单个网络同时完成行人的
检测以及行人的辨识两项任务;
8.步骤2进行神经网络的训练,本发明提出的神经网络训练过程分为两个阶段。首先进行第一阶段神经网络的训练,在训练过程中使用数据不确定性模块对于数据中的不确定性进行建模,同时使用场景上下文信息对于网络预测的行人特征表示进行约束。
9.步骤3使用完成第一阶段训练的神经网络对于训练数据中的噪声进行分析,查找训练数据中可能存在噪声。
10.步骤4进行第二阶段神经网络的训练,除了使用噪声抑制模块对于步骤3中噪声进行抑制之外,该训练阶段的过程和其余各模块的表现于第一阶段训练时保持一致。
11.步骤5使用训练完成的行人搜索神经网络,进行场景图像中行人的检索任务
12.所述的步骤1具体包括以下步骤:
13.步骤1.1使用通用模型resnet-50中的前四部分(conv1~conv4)作为行人搜索网络中的骨干网络,用于提取场景图像特征;
14.步骤1.2使用若干卷积层构建候选区域提取网络(region proposal network(rpn)),用于提取场景图像中可能存在行人的区域;
15.步骤1.3使用感兴趣区域池化(roi pooling)模块提取在场景图像中候选区域的特征;
16.步骤1.4使用通用模型resnet-50中的最后一部分(conv5)作为行人搜索网络中的识别网络,用于对候选区域的特征进一步提取;
17.步骤1.5使用若干全连接层构建检测子任务的分类和回归模块,用于对候选区域的特征进行分类并回归;
18.步骤1.6使用数据不确定性模块对于候选区域的数据不确定性进行建模。
19.所述步骤2)具体包括以下步骤:
20.步骤2.1对图像进行归一化,将图像减去预先计算的图像均值,除以预先计算的图像方差;
21.步骤2.2将归一化的图像以及图像上行人的边界框进行缩放到指定尺寸,在保证宽高比不变;以一定的概率将图像以及其标注水平翻转;
22.步骤2.3将步骤2.2处理完成的图像送入骨干网络,提取得到场景图像的特征图谱f
backbone

23.步骤2.4将f
backbone
送入候选区域提取网络,得到可能存在行人的候选区域;
24.步骤2.5使用感兴趣区域池化模块,从f
backbone
提取候选区域的特征图f
roi

25.步骤2.6将特征图f
roi
送入识别网络,提取到表示候选区域特征的特征向量z;
26.步骤2.7将特征向量z送入检测子任务的分类和回归模块,分别得到后选区域的前景背景预测结果v
fgbg
以及v
reg

27.步骤2.8将特征向量z送入数据不确定性模块,得到表示样本特征的均值x
μ
和标准差x
σ
,从上述均值和标准差组成的高斯分布中进行采样,得到用于训练的行人特征表示x;
28.步骤2.9使用分类损失以及回归损失计算rpn以及分类和回归模块的损失函数,使用在线实例匹配(online instance matching(oim))损失函数以及本发明提出的上下文对比损失函数计算行人特征表示的损失函数;
29.步骤2.10进行方向传播运算,更新网络的参数;
30.步骤2.11按照事先定义好的迭代次数,重复步骤2.1~步骤2.10。
31.对于所述的步骤3具体包括以下步骤
32.步骤3.1使用步骤2训练的网络,对于训练集中的数据进行预测,运算得到每一个行人身份id的特征中心;
33.步骤3.2计算训练集中所有身份id特征中心的相似度,得到相似性矩阵m
sim

34.步骤3.3将m
sim
中非对角线区域的值按照从大到小进行排序,将相似性值对应的身份id进行可视化,选取合适相似性阈值,使得阈值能够较好区分数据中的噪声以及困难样本;
35.步骤3.4记录下高于阈值的相似度对应的身份id二元组作为数据中的噪声。
36.所述的步骤4具体包括以下步骤:
37.进行第二阶段的神经网络训练,以步骤2为基础,使用下述步骤替换步骤2.9:
38.步骤4.1使用分类损失以及回归损失计算rpn以及分类和回归模块的损失函数;
39.步骤4.2使用噪声鲁棒的在线实例匹配损失函数,抑制步骤3.4得到的噪声二元组,同时使用所述上下文对比损失函数计算行人特征表示的损失函数。
40.所述的步骤5具体包括以下步骤:
41.步骤5.1将待查找的行人所处的图像以及其在图像上的位置输入神经网络,得到待查找的行人的特征表示;
42.步骤5.2将图像库中的图像输入神经网络,得到图像库中行人所在的位置以及对应的特征表示;
43.步骤5.3计算待查找行人的特征表示和图像库中的行人的特征表示之间的余弦距离;
44.步骤5.4按照距离由近到远进行排序,进行相关信息的展示。
45.本发明技术方案相比先前的方案,具有以下的优点:
46.本发明通过构建上下文对比损失,充分利用场景图像中的上下文信息。利用出现在同一场景图像的行人作为上下文信息,构造对比对并训练行人搜索神经网络对其进行区分,使得网络能够在行人之间相互重叠或拥挤的情况下,拥有更好的总体性能。从而提升在拥挤以及遮挡的场景下,网络所提取到的行人特征的鲁棒性以及鉴别力。与此同时,本发明将数据不确定性学习引入行人搜索。通过对于数据的不确定性进行建模,将行人样本的特征表示建模成为一个概率分布。使得网络对于低质量的样本进一步地具有更好的了鲁棒性。
47.同时,本发明提出了一种训练策略,缓解了训练数据中的错误标注以及行人严重重叠的噪声对训练过程的负面影响。该训练策略包含了一个两阶段的训练过程,第一个阶段进行正常的行人搜索网络训练。在第一阶段的训练结束之后,对于训练数据进行推理分析,进行行人身份id的特征中心的比对,分析得出训练集中的错误数据标注以及严重重叠的数据噪声。第二阶段的训练重新进行神经网络的训练,并在训练的过程中,对于上述错误标注以及数据噪声进行抑制,缓解错误数据标注以及数据噪声对于训练过程的负面影响。
附图说明
48.图1本发明流程示意图
49.图2本发明的神经网络结构示意图:(a)主体网络结构(b)数据不确定性建模模块结构(c)上下文对比损失示意图
50.图3本发明步骤三即噪声抑制方法的运算过程
51.图4提出的方法与其他方法在训练时损失函数约束的对比示意图
52.图5行人搜索训练数据噪声示例:(a)由于行人重叠带来的噪声(b)由于错误标注带来的噪声
53.图6实施例行人检索及可视化示意图
具体实施方式
54.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明,本发明的总体流程如图1所示。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方法中所涉及到的技术特征只要彼此之间不构成冲突就可以相互组合。
55.步骤1构建一个端到端的行人搜索神经网络
56.神经网络的结构如图2(a)所示。神经网络具有行人检测分支以及行人辨识分支两个分支,从而在同一个神经网络内完成行人检测以及行人辨识两个子任务。行人检测分支负责对监控场景图像中的行人进行定位,获取得到行人所在区域的边界包围框;行人辨识分支负责行人特征表示的提取,特征表示之间的距离反应行人间的相似程度,后续通过比对特征之间的距离,检索与目标行人相似的行人。
57.行人搜索神经网络基于faster r-cnn目标检测框架并在此基础上添加行人辨识分支。具体地,行人搜索神经网络包括用于提取场景图像特征的骨干网络(backbone network)、用于提取可能存在行人区域的候选区域提取网络region proposal network)以及感兴趣区域池化(roi pooling)模块、用于进一步提取行人特征表示的行人识别网络、用于预测场景图像中行人所在位置的行人边界框分类以及回归模块、数据不确定性模块。为了使模块之间的联系更为清楚和明白,下面将对各个组成部分的进行进一步描述,具体地:
58.(1)对于骨干网络,使用通用模型resnet-50中的前四部分(conv1~conv4)作为行人搜索网络中的骨干网络部分。骨干网络使用经过通用做法预处理后的图像作为输入,输出场景图像特征图。
59.(2)对于候选区域提取网络,使用一个输入输出通道数分别为1024和512、卷积核大小为3
×
3的卷积层,对骨干网络提取到的场景图像特征进行进一步提取。随后,使用输入输出通道分别为512和18、卷积核大小为1
×
1的卷积层对特征图上每一空间位置9个anchor的前景背景进行分类预测;使用输入输出通道分别为512和36、卷积核大小为1
×
1的卷积层对特征图上每一空间位置9个anchor的边界框的坐标位置以及宽和高的空间位置进行回归预测。其中anchor的尺度设置为[32
×
32~512
×
512]、anchor的宽高比设置为[1:1,1:2,2:1]。
[0060]
(3)对于行人识别网络,使用通用模型resnet-50中的最后一部分(conv5)作为行人识别网络。行人识别网络使用感兴趣区域池化模块的输出结果作为输入。输出用于行人检测以及行人辨识的行人特征向量。
[0061]
(4)对于行人边界框分类及回归模块,使用行人识别网络输出的行人特征向量作
为输入。选取一个输入输出通道数分别为2048和2的全连接层对相对应的前景/背景进行分类;选取一个输入输出通道数分别为2048和8的全连接层对行人的坐标位置以及边界框的宽高的变换参数进行回归。从而完成行人检测的子任务。
[0062]
(5)对于数据不确定性模块,其结构如图2(b)所示。使用行人识别网络输出的行人特征向量作为输入。选取两个输入输出通道数分别为2048和256的全连接层对于行人特征的均值和标准差进行预测。从而完成行人辨识的子任务。
[0063]
步骤2对神经网络进行第一阶段的训练(创新步骤)
[0064]
神经网络的训练过程分为两个阶段。两个阶段的训练过程除了部分模块之间的表现存在差异之外,训练的过程以及行为保持一致。在该步骤中,进行第一阶段的神经网络训练。
[0065]
具体步骤如下:
[0066]
(1)将图像每一个通道的亮度映射到0~1的范围内。随后对图像进行归一化,将图像rgb三个通道减去[0.485,0.456,0.406],除以[0.229,0.224,0.225];
[0067]
(2)将归一化的图像以及图像上行人的边界框进行缩放,在保证宽高比不变、长边不超过1500个像素、短边不超过900个像素的情况下,保证图像尽可能大。以0.5的概率将图像以及其标注水平翻转。最后在图像的左边缘和下边缘进行填充,使得图像的宽和高均为32的整数倍,最终得到高为h,宽为w的一副图像;
[0068]
(3)将(2)处理完成的图像送入骨干网络,提取得到场景图像的特征图谱f
backbone
,f
backbone
的宽和高分别为w/16以及h/16,通道数量为1024;
[0069]
(4)将f
backbone
送入候选区域提取网络,对于f
backbone
上的每一个空间位置的9个anchor进行预测,得到可能存在行人的候选区域;
[0070]
(5)使用感兴趣区域池化模块,对候上述候选区域按照正负样本1:1采样得到256个候选区域,裁切f
backbone
对应位置的特征并缩放到目标尺寸14
×
14。得到候选区域的特征图f
roi

[0071]
(6)将f
roi
送入识别网络,提取到表示候选区域特征的2048维的特征向量z;
[0072]
(7)将z送入检测子任务的分类和回归模块,分别得到后选区域的前景背景预测结果v
fgbg
以及v
reg

[0073]
(8)将z送入数据不确定性模块,对于行人的数据不确定性进行建模。在数据不确定性模块中,分别对行人特征的均值以及标准差进行预测,得到表示样本特征均值x
μ
,标准差x
σ
将行人样本的特征表示建模成一个正态分布(而非通常做法中一个确定的向量),通过两个全连接层分别预测行人特征表示对应的分布的均值以及标准差:
[0074][0075][0076]
其中zi是从行人识别网络中获得到的第i个样本对应的行人特征向量,和是全连结层预测的特征表示的均值以及标准差,θ
μ
和θ
σ
分别表示全连接层的参数。这样一来,便可以根据均值以及标准差,得到行人样本所对应的概率分布。在行人搜索网络训练的过程中,用于损失函数计算的行人特征表示在多元高斯分布中采样得到;在行人搜索网络推理的过程中,只使用网络预测的多元高斯分布的均值用于最终的行人检索。
[0077]
由于采样操作的不可微分性,因此使用重参数化方法从所预测的均值及标准差所组成的概率分布中进行采样:
[0078][0079]
其中∈~n(0,i),xi表示第i个行人样本用于计算损失函数和行人匹配的特征表示,n(
·
)表示高斯分布,i为单位矩阵;
[0080]
与此同时,使用kl散度将网络所预测的行人特征表示xi,约束到一个标准的正态分布:
[0081][0082]
(9)使用softmax交叉熵损失以及平滑的l1损失函数计算rpn以及分类和回归模块的损失函数:l
rpn_cls
,l
rpn_reg
,l
cls
,l
reg
,计算在线实例匹配(online instance matching)损失函数:l
oim

[0083]
(10)如图2(c)所示,利用上下文信息,构造对比对。使用本发明所提出的上下文对此损失对于场景图像中的行人特征表示进行约束使得归属同一行人的样本对应的特征尽可能地一致,归属不同行人样本的特征尽可能的相互具有鉴别性。更具体的,上下文对比损失包含候选区域的上下文对比以及人工标注区域的上下文对比。增加上下文对比损失后,本方法在训练过程中的约束与其他方法的对比如图4所示。相比其他方法,本方法额外约束了没有身份标签的行人之间的特征鉴别力。
[0084]
其中,候选区域的上下文对比损失表示为:
[0085][0086]
其中,表示被分配到第i个人工标注区域对应的候选区域特征。g表示人工标注区域的数量,gj表示第j个人工标注区域对应的特征,t表示矩阵的转置,s
p
是用于该损失函数的放缩系数,是一个超参数。与上述候选区域上下文对比损失函数同时作用的人工标注区域的上下文对比损失函数表示为:
[0087][0088]
其中,sg是用于该损失函数的放缩系数、是一个超参数;其余的符号与候选区域上下文对比损失函数相同。
[0089]
为了解决训练前期,候选区域数量较为有限的问题。本发明提出将人工标注区域进行上下抖动,以获得更多的候选区域,及其操作过程如下:
[0090][0091][0092]
其中,n(
·
)表示高斯分布,和分别表示人工标注矩形区域
左上角以及右下角的坐标,k∈[1,2]。和表示经过上下的抖动得到的新的候选区域。
[0093]
(11)计算神经网络总体的损失l=l
rpn_cls
+l
rpn_reg
+l
cls
+l
reg
+l
oim
+l
gt_cc
+l
p_cc
,进行神经网络的反向传播运算,更新神经网络的参数。
[0094]
步骤3:对于训练数据中的噪声进行分析(创新步骤)
[0095]
(1)使用步骤2训练的网络,对于训练集中的数据进行预测,由于神经网络的特点,分类器的权重可以看作是每一行人身份id的特征中心,提取行人搜索神经网络中行人分类的损失函数中的分类器权重作为每一行人的身份id特征中心,其中l为训练集中身份id的数量,d为行人特征表示的维度。
[0096]
(2)基于上述身份id中心,计算身份id之间相互的相似度m
sim
=vv
t
,得到以行人身份id之间的相似性矩阵其中m
sim
是一个对称矩阵。矩阵的第i行、第j列表示身份id为i、j的特征中心之间的距离。(1)和本步骤的具体示意如图3(1)所示。
[0097]
(3)将m
sim
中非对角线区域的值按照从大到小进行排序,将相似性值对应的身份id进行可视化,按照经验选取0.75作为阈值,使得阈值能够较好区分数据中的噪声以及困难样本。
[0098]
(4)记录下高于阈值的相似度对应的身份id二元组t
noise
=[(a0,b0),(a1,b1),

,(an,bn)]作为数据中的噪声
[0099]
步骤4:进行第二阶段的神经网络训练(创新步骤)
[0100]
在该阶段的神经网络训练过程中,抑制步骤3分析得到的数据噪声。以步骤二为基础,使用下述步骤替换步骤2中的(9):
[0101]
(1)使用softmax交叉熵损失以及平滑的l1损失函数计算rpn以及分类和回归模块的损失函数:l
rpn_cls
,l
rpn_reg
,l
cls
,l
reg

[0102]
(2)使用改动后噪声鲁棒的在线实例匹配损失函数计算损失函数l
oim
。该损失函数使用步骤3(4)得到的噪声身份id二元组,对于数据集中的噪声进行抑制。具体过程示意如图3(2)所示。对于以相似性较高的行人身份对(a,b),在身份为a的样本输入网络的时候,在网络所预测的logit中下标b的位置乘以0,减少噪声样本对于训练过程的影响:
[0103][0104]
其中b{
·
}为指示函数,当其中的条件为真时、它的值为1,当其中的条件为假时、它的值为0;a为样本的真实标签,logitc为分类器输出类别c的预测结果;为进行噪声抑制后的对应结果预测结果。
[0105]
步骤5:场景图像中行人的检索任务
[0106]
使用训练完成的行人搜索神经网络,进行场景图像中行人的检索任务,整体流程如图6所示,具体地:
[0107]
(1)将包含待查询的行人所在的图像,以及其对应的位置,输入行人搜索神经网络。网络输出待查询行人对应的特征表示。
[0108]
(2)将待搜索的场景图像数据集合输入行人搜索神经网络。神经网络预测场景图像中的行人所在的位置,以及其对应的深度特征表示。将上述存储下来,用于后续的行人特
征相似度对比。
[0109]
(3)将目标行人的特征与待搜索的行人的特征进行距离度量,计算特征之间的相似度,行人特征表示的相似程度使用余弦距离进行度量。
[0110]
(4)对于每一个待查询的行人,按照相似度从高到低展示待搜索的场景图像中的与之相似的行人,同时展示相关的信息。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1