一种基于深度学习的全监督遮挡行人重识别方法

文档序号:29794976发布日期:2022-04-23 18:36阅读:216来源:国知局
一种基于深度学习的全监督遮挡行人重识别方法

1.本发明属于计算机视觉技术领域的一种跨相机行人图像检索方法,尤其是涉及了一种基于注意力机制的行人重识别方法。


背景技术:

2.行人重识别,又可以称作“行人在识别”,是对指定的行人图像,获得其跨相机下的其余图像,即找到其他相机拍摄的该行人的图像。由于跨相机的约束,图像的光照与角度各不相同,行人的背景与姿态千变万化,都对卷积神经网络的识别精度带来了巨大的挑战,也吸引了一大批研究者投入到了行人重识别问题的研究之中。
3.源于现实场景的复杂性,相机未必能够捕捉完整的行人图像,特征的缺失导致神经网络在匹配时会比理想情况下更难匹配到正确的图像,因此遮挡问题也是目前行人重识别任务中的难点之一。
4.最早利用卷积神经网络来处理遮挡行人重识别问题是在lingxiao he等人发表在《ieee conference on computer vision and pattern recognition》的《deep spatial feature reconstruction for partial person re-identification:alignment-free approach》文章中。现有的方法多以jiaxu miao等人发表在《ieee international conference on computer vision》的《pose-guided feature alignment for occluded person re-identification》进行延伸。
5.现有的方法多是依赖额外的姿态估计模块来对行人部位进行定位从而避免遮挡的影响,但姿态估计模块需要额外的训练且性能无法保证,如何在避免使用姿态估计模块情况下能够有效免疫遮挡的影响仍是值得探究的问题。


技术实现要素:

6.为了解决遮挡行人重识别中存在的问题,本发明提供了一种基于深度学习的遮挡行人重识别方法,在通道注意力模块的基础上,通过限制特征图通道的交互范围设计了高阶显著注意力模块,以此增加注意力覆盖的多样性,设计了特征多切分模块,利用不同稀疏性的参数处理特征,二者综合可以有效地实现遮挡混淆性削弱这一目标,从而让网络在遮挡条件下提取的特征只包含行人信息。
7.本发明是针对只有图像级别的类别标注遮挡场景下的行人重识别方法。
8.本发明的技术方案如下:
9.(1)采用不同的相机对需进行行人重识别的遮挡目标场景进行图像的采集,并标注图像中行人标签和对应的相机标签,获得训练集;
10.(2)建立多分支行人重识别网络,用步骤(1)中的训练集进行训练;
11.(3)训练结束后,利用训练后的多分支行人重识别网络对待测图像进行重识别。
12.步骤(1)中,进行标注时,无需对遮挡所在与否进行标注,只需标注行人标签y以及图像对应的相机标签c。
13.具体实施中,是将图像按照行人的完整性进行划分为多个分,对靠后的、远离相机的行人作行人标签。
14.步骤(2)中,多分支行人重识别网络主要由整体的特征提取网络以及连接在特征提取网络之后的并行的三个分支组成,三个分支分别是全局分支、注意力分支和通道分支;
15.特征提取网络是由osnet模型改造形成,在osnet模型以第三个瓶颈块(bottleneck)的输出处作分割进而将osnet模型分为前部分和后部分的两部分,前部分作为所有分支共有的特征提取部分,后部分复制为两份共计形成三个后部分,三个后部分的输入端并行连接在前部分的输出端,三个后部分不共享权重,三个后部分的输出端分别连接全局分支、注意力分支和通道分支;
16.图像先输入特征提取网络的前部分中再分别输入到三个后部分中分别获得全局特征图fg、注意力特征图f、通道特征图fc,三个特征图分别输入到全局分支、注意力分支和通道分支中处理获得全局特征、注意力特征、通道特征。
17.全局分支主要由多层模块组成,多层模块均由全局平均池化层、批归一化层和全连接层依次连接构成;全局分支中,进行如下的特征编码:将全局特征图fg经过全局平均池化层处理后得到归一化前特征fg,再经过归一化层bn得到归一化后特征fg_bn,最后经过全连接层得到分类特征fg_c作为全局特征。全局特征图fg用于进行特征编码与训练。
18.通道分支主要由特征多切分模块、拼接层、卷积层、多层模块依次组成,多层模块均由全局平均池化层、批归一化层和全连接层依次连接构成;将通道特征图fc先输入到特征多切分模块,得到多个切分后特征图fc,再将多个切分后特征图fc进行拼接,将拼接的结果进行卷积后,再依次经全局平均池化层、批归一化层和全连接层处理获得通道特征;特征多切分模块中,将通道特征图fc,从通道维度依据多切分方法分为n个特征子图,再经过组别的多层传递卷积操作得到合并成唯一组别中的n个特征子图对应的切分后特征图fp。
19.特征多切分模块具体如下:对于通道特征图fc,从通道维度将进行两次切分,第一次将整张特征图按照通道维度均等切分为h个特征子图,第二次对上次切分获得的所有特征子图中的j个特征子图均再按照通道维度进行一次二等分获得特征子图,共计获得h+j=n个特征子图;h的取值按照以下公式设置:
20.特征多切分模块包括共计d层的卷积单元层,第l层卷积单元层中包含e
l
个数量的并列独立的卷积操作;
21.s1、切分后,对每个特征子图单独分组,一个特征子图加入一个组别;
22.s2、将各个组别按照特征子图的通道维度从小到大进行排序,按照排序对每个组别设置卷积处理参数t(s
l
,l),l=d,

,2,1,s
l
=1,2,

,e
l
,t(s
l
,l)表示该组别内的各个特征子图被第l层卷积单元层的第s
l
卷积操作进行处理:
23.d与e
l
的取值计算如下式所示:
[0024][0025]
l=d,

,2,1
[0026][0027]
其中,代表向下取整,l从d开始依次递减到1;
[0028]
s2中,在初始情况下,所有组别内的所有特征子图均设置到被第l层卷积单元层的卷积操作进行处理,对于第s
l
个组别设置卷积处理参数t(s
l
,d)。
[0029]
s3、先将各个组别内的特征子图按照上述卷积处理参数的设置经过特征多切分模块的第d层卷积单元层中各个卷积操作;
[0030]
s4、将s3处理后获得的各个组别按照通道维度从小到大排序,再以每相邻的两个为一组进行合并,合并时剩余单数的最后一个组别不合并,合并时组别赋值上自身的权重后进行合并;表示为:
[0031][0032]
s5、回到步骤s2传递到下一第l-1层卷积单元层进行处理,不断重复步骤s2-s4,循环直至所有的特征子图都处于一个组别之下,得到唯一组别t(1,1),组别中共包含n个通道维度一致的特征图,作为切分后特征图fc。
[0033]
第l层卷积单元层的第s
l
卷积操作的权重都是预先设置获得。
[0034]
注意力分支主要由通道注意力模块、高阶显著注意力模块、两个多层模块组成,多层模块均由全局平均池化层、批归一化层和全连接层依次连接构成;高阶显著注意力模块输入端连接到通道注意力模块中间,通道注意力模块、高阶显著注意力模块的输出分别经各自的多层模块处理后输出;将注意力特征图f输入到通道注意力模块中,通道注意力模块中的中间量在输入到高阶显著注意力模块中,由通道注意力模块和高阶显著注意力模块分别输出得到一阶特征图fa和二阶特征图fs,将一阶特征图fa和二阶特征图fs分别经各自的多层模块中的全局平均池化层、批归一化层和全连接层处理获得注意力特征。
[0035]
注意力分支中的通道注意力模块和高阶显著注意力模块具体如下:
[0036]
通道注意力模块中,将注意力特征图f和自身转置矩阵进行矩阵相乘获得格拉姆矩阵g,对格拉姆矩阵g中的每一行按照下式计算得到通道注意力图gs,再根据通道注意力图gs处理获得一阶特征图fa,公式表示为:
[0037][0038][0039]
其中,g
ij
代表着格拉姆矩阵g的第i行第j列的元素,gs
ij
代表着注意力图gs的第i行第j列的元素,fi代表注意力特征图f第i个通道对应的子特征图,fai代表一阶特征图fa中第i个通道对应的子特征图,exp()表示指数运算,j表示对应特征图的纵坐标,c表示特征图的通道数,γ1表示比例系数,是网络学习到的参数;
[0040]
高阶显著注意力模块中,根据通道注意力模块所得的通道注意力图gs,计算通道注意力图gs中每一行的最大值像素点对应的纵坐标ki,统计所有行的纵坐标ki并删除相同数值的元素,得到纵坐标ki构成的数组k;按照格拉姆矩阵g建立同样大小的全零矩阵z,按照下式根据数组k对全零矩阵z进行赋值:
[0041][0042]
其中,i代表横坐标,j代表纵坐标,z
ij
表示全零矩阵z中第i行第j列的元素;
[0043]
将所得的全零矩阵z与注意力图gs做点乘得到点乘图gz,再用点乘图gz通过下式得到高阶显著注意力图m,再根据高阶显著注意力图m处理获得二阶特征图fs,公式表示为:
[0044][0045][0046]
其中,m
ij
代表高阶显著注意力图m的第i行第j列的元素,γ2是调节高阶显著注意力比重的超参数,fsi代表二阶特征图fs第i个通道对应部分的特征图。
[0047]
全局分支、注意力分支和通道分支中,均采用交叉熵损失函数和三元组损失函数生成损失,同时在注意力分支中进行正交奇异值分解正则化操作生成正则化损失,将三个分支的交叉熵损失和三元组损失以及注意力分支的正则化损失均相加作为总损失,再采用采用adam优化算法进行优化训练。
[0048]
全局分支中,按照以下方式建立交叉熵损失函数和三元组损失函数:
[0049]
在行人标签y的监督下,根据分类特征fg_c计算交叉熵损失函数;同时根据全局平均池化层得到归一化前特征fg计算三元组损失函数。
[0050]
在图像级别标签y的监督下,交叉熵损失函数如下:
[0051][0052]
其中,p(k)是分类结果fg_c属于行人k的概率,由softmax操作计算得到,q(k)是由图像的行人id标注生成的独热码组成的分布,p是行人的总个数,针对图片x的标签y,当且仅当k=y时q(k)=1,其他情况下q(k)=0。
[0053]
三元组损失函数如下:
[0054][0055]
其中,m是手动设置的阈值,[
·
]+代表着max(0,
·
),d(
·
)代表着欧氏距离,代表着属性为x的特征对应的第i个行人,当x=a时,代表该特征来自于锚点图片,当x=p时,代表该特征来自于正样本图片,当x=n时,代表特征来自于负样本图片。对于数据集每一批读取的图片,将包含p个行人,每个行人包含k张图片,锚点图片随机从这一批图片中挑选一张,在锚点图片确认以后,正样本图片只能选择与锚点图片属于同一个行人的图片,负样本图片只能选择与锚点图片属于不同行人的图片,且需要满足选择的正样本图片在所有可能的正样本图片中距离锚点图片最远,选择的负样本图片在所有可能的负样本图片中距离锚点图片近。
[0056]
通道分支中,针对于通道特征图fp采用与全局分支一致的特征编码生成方式和损失函数约束,即为用全局平均池化层得到的特征进行计算三元组损失函数,用全连接层得到的特征进行计算交叉熵损失函数。
[0057]
注意力分支中,针对于一阶特征图fa和二阶特征图fs采用与全局分支一致的特征编码和损失函数约束,即为用全局平均池化层得到的特征进行计算三元组损失函数,用全连接层得到的特征进行计算交叉熵损失函数。
[0058]
(2)中,训练过程采用adam优化算法,使用交叉熵损失和三元组损失进行监督。
[0059]
osnet模型预先导入imagenet进行预训练获得参数。
[0060]
步骤(3)中,对待测图像进行重识别具体如下:对于待测图像,将待测图像输入到训练所得的多分支行人重识别网络后输出得到多个特征编码,将多个特征编码进行拼接作为最后的行人特征编码,将行人特征编码与已知图片数据库中的各个图片预先输入到训练所得的多分支行人重识别网络再经同样拼接得到的行人特征编码进行比较,获得待测图像的行人特征编码与图片数据库中各个图片的相似度,将图片数据库中的图片按照相似度从大到小进行排序进行呈现。
[0061]
本发明先图像采集并标注获得训练集,建立包含全局分支、注意力分支和通道分支的多分支网络;其中全局分支负责提取整体性特征,注意力分支通过限制通道簇之间的关联度,选择簇心进行注意力构建,避免网络错误关注在遮挡区域;通道分支对特征图进行动态切分处理,避免了空间切分带来的误差。对构建的多分支网络进行训练,将训练完成后的网络对待测图片进行处理,综合三个分支的预测结果来对遮挡保持一定的鲁棒性。
[0062]
本发明具有以下优点:
[0063]
1、本发明利用高阶注意力机制,捕捉图片中显著的特征区域,将显著区域特征与全局特征综合,从而对遮挡有很高的鲁棒性。
[0064]
2、本发明对细致特征的识别无需从空间维度上对行人特征图进行切分,而是选用从通道维度进行针对性切分,从而避免了因行人姿态位置变化带来的识别错误。
[0065]
3、本发明的训练无需额外的姿态估计器做辅助,减少了单独训练额外模块带来的数据收集负担与模型训练负担。
[0066]
本发明方法无需对遮挡进行额外标注和捕捉,只需要图像级别的标签数据集,就可以在遮挡场景中有着较好的行人匹配精度。
附图说明
[0067]
图1是本发明的应用流程示意图。
[0068]
图2是本发明的一些重识别结果示意图。
具体实施方式
[0069]
下面结合附图对本发明进行进一步的说明。
[0070]
本发明的实施例及其实施过程是:
[0071]
s01,获取需进行行人重识别场景下的图像,人工对所有图像进行图像级别的标注,构成训练集。
[0072]
本实施例中,所选择的行人重识别数据集是在某一区域中放置在不同位置的多个
相机拍摄的行人图片组成,所拍摄的皆是rgb图像,相机的个数最少为两个。对于某一行人被拍摄到的所有图像打上同一行人标签,不同行人需要制定不同的行人标签。对于某一相机拍摄的所有图像打上同一相机标签。对于训练集中的所有图片统一采用双线性插值法缩放到384
×
128的大小。
[0073]
s02,如图1所示,构建基于注意力机制的多分支行人重识别网络,选择osnet作为骨干网络模型,并导入imagenet预训练后的参数,同时舍去原osnet中最后一个全连接层。设置骨干网络模型osnet完成后,构建三分支的网络模型。对于批归一化层和不承担分类作用的全连接层采用kaiming初始化方法,对于承担分类作用的全连接层采用均值为0,方差为0.001的初始化。
[0074]
s03,在训练时,训练集图片被分批输入多分支行人重识别网络,每个批次的数据包含8个行人,每个行人各有8张图片,总计64张图片一个批次。输入图片经过骨干网络模型运算得到特征图,特征图将分别输入到后续全局分支、注意力分支、通道分支,三个分支输入和输出的通道维度皆为512,其中通道分支的切分数n设置为3。得到各个输出的特征向量后,经过全连接层处理得到相应的预测结果。利用adam算法训练已搭建的行人重识别模型,采用正则化损失、交叉熵损失函数和三元组损失函数进行约束。所有训练集图片训练一遍认作一轮,一共训练120轮,学习速率的变化采取warmup的策略,在1轮开始到10轮结束,先从0.000035线性上升到0.00035,在50轮开始变更为0.000035,在90轮开始变更为0.0000035,最后直至收敛,保存行人重识别模型的参数。
[0075]
s04,采用训练后的行人重识别模型对未知的待检索行人图像进行推理,获得该场景下针对行人特征提取的编码。
[0076]
为验证本发明各个模块的有效性,本发明在公开的遮挡行人重识别数据集occluded-duke数据集上进行各个模块的性能验证,occluded-duke数据集是标准的遮挡数据集,是基于dukemtmc-reid数据集重新整合而来,训练集、查找集和被查找集遮挡图片的比例为9%、100%、10%,其中训练集包含702人的15618张图片;被查询集包含1110人的17661张图片,被查询集的702人与训练集的1110人完全不重叠;查询集包含被查询集的这519人的2210张图片。查找集的所有图片都是处于遮挡情况下,而一张图片若是包含多个行人或者由树木汽车遮挡即视为被遮挡。在所有的遮挡数据集中,该数据集更大更加完备,是最适合对应对遮挡的模型进行性能评估的数据集。
[0077]
本发明主要以行人重识别中常用的两个评价指标:rank-1和map来评估重识别准确度。各个模块的性能验证结果如表1所示:
[0078]
表1
[0079][0080]
其中,resnet50和osnet代表着骨干网络模型不同且只有全局分支的网络结构,注意力分支代表着包含通道注意力模块和高阶显著注意力模块的分支,svdo代表着对高阶显著注意力模块施加正则化损失,通道分支代表着包含特征多切分模块的分支。从表中可以观察到,本发明选用的osnet相对于resnet50更加适合用于解决遮挡问题,在osnet增加注意力分支后,性能并无明显变化,因为此时的注意力分支并没有学习到正确的内容,而在选用正则化损失后,注意力分支的rank-1性能增长了6%,map性能增长了1.7%,有了很大的增长,充分说明了注意力分支的有效性;在osnet增加通道分支后,性能提升则更加显著,说明了通道分支的特征多切分模块针对遮挡问题非常有效;在结合所有的分支以后,性能有了进一步提升,从而验证了本发明提出的多分支行人重识别网络的有效性。
[0081]
为验证本发明方法的有效性,本发明在公开的遮挡行人重识别数据集occluded-duke数据集上与其他遮挡行人重识别方法进行对比:
[0082]
表2
[0083][0084]
表2的第一部分代表着依赖额外的姿态估计器或遮挡存在性信息的方法,第二部分代表着无额外信息介入的方法,第三部分的acpnet代指本发明方法,从表中可以观察到,第一部分的方法由于应用了额外的信息,性能普遍要优于第二部分的方法,而本发明的方法在无额外信息的介入下,成功超越了第一部分的方法性能,这说明了即使在无额外信息
介入时,本发明的方法在rank-1和map两个指标上仍在一系列方法中处于较好的水平,是本发明方法的优势所在。
[0085]
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,但并不是用来限制本发明,任何在本发明的原则范围内所进行的变动和修改,都应当包含在本发明的保护范围内。
[0086]
图2采用了《towards rich feature discovery with class activation maps augmentation for person re-identification,cvpr 2019》论文中所提出的排序激活图(ranking activation map)进行可视化,图中共三行,每一行包括9张图片,第一列的图片代表着用来进行重识别的图片,第二到第九列代表着多分支行人重识别网络匹配到的与第一列的图片最相似的八张图片,从左到右相似度依次递减。每张用来进行重识别的图片都存在着不同程度的遮挡,匹配到的图片也有部分被遮挡,从图中可以看出,无论图片有没有遮挡,多分支行人重识别网络都能做到完全正确的匹配,从而进一步说明了本发明的有效性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1