TPAMI 2022 :Multi-task Learning with Coarse Priors for Robust Part-aware Person Re-identification

题目:Multi-task Learning with Coarse Priors for Robust Part-aware Person Re-identification-----TPAMI2022
代码:https://github.com/WangKan0128/MPN
网址:
https://ieeexplore.ieee.org/document/9200784
前提知识 多任务:https://mp.weixin.qq.com/s?__biz=MzUzMTgyNjUwOA==&mid=2247483883&idx=1&sn=31319c02717556a5683ba06113e2c56e&chksm=fabdd3c8cdca5ade92b90ed29242db941003a5dcbf202f3ce43dbc59a7fb6543e0babf1f9e64&scene=21#wechat_redirect

解决的问题:由于行人的肢体错位影响提取鲁棒性的行人特征
  • 肢体错位的原因-----------行人姿态不对齐

    • 行人检测器:身体部位位置和比例不一致
    • 身体柔性运动引起的错位

针对身体部位的不对齐,ResNet50最后一层卷积层提取特征时,使用不同通道响应不同的身体部位————————————通道为什么可以响应不同的身体部位???
利用深度卷积特征 由于深度卷积特征具有更好的细节信息,并且可以处理任意大小的图像输入,目前的主流方法是提取深度卷积特征,并通过加权全局求和汇合(sum-pooling)得到图像的表示向量。其中,权重体现了不同位置特征的重要性,可以有空间方向权重和通道方向权重两种形式。

本文的创新点
  • 1.引入多任务学习:(主任务MT,以行人的整张图片为主任务;辅任务AT,以为经过切割后的局部特征作为辅任务,一共有k对主-辅任务,两个任务目的都是ReID ,都用来做分类任务 (怎么辅助:局部特征在训练阶段配备了身体部位位置的粗略先验,更新辅助任务参数,将身体部位的概念传递给主任务),以便从骨干模型种识别与身体部位相关的通道;

  • 2.概念转移 (concept transfer) 方法: ATs 通过优化MT 参数,将局部肢体部位的概念(粗先验知识)转移到 MT 中,进而从主干模型中识别出与局部特征相关的通道。

    通过两种新的排列策略完成的:即通过硬参数共享的参数空间排列和以类的方式的特征空间排列。借助于学习到的高质量参数,MT可以在测试阶段从相关通道中独立提取语义对齐的部件级特征。

  • 具体的说是两种对齐策略

    • 以硬参数共享的方式对齐参数空间 (parameter space alignment, PSA
    • 以类的方式对齐特征空间 (feature space alignment, FSA
用到的方法:
  • 联合使用人体解析和人体分割模型

  • 训练阶段

    • 对于任一局部肢体部位(共 K 个),包含一个主任务(MT)和一个辅任务(AT)

    • K 个 ATs 包含身体部位位置的粗先验知识,因此,它们可以提供归纳偏置,帮助 MTs 为每个身体部位选择相关的通道

    • 两者在输入特征上的区别:

      • MT:由主干模型生成的原始特征图 F
      • AT:由先验知识(粗糙的身体部位)切片得到的局部特征图 Pk
  • 测试阶段

    移除 AT,只利用 MTs 提取 part-level 特征表示.在测试过程中,去除所有ATs,这意味着MPN在训练完成后不会被检测到身体部位。

网络模型

img

  • 模块1

    Coarse Prior of Body Part Locations(身体部位的粗先验知识)

    先验知识基于现有两种方法得到:人体解析(human parsing)、人体分割( human segmentation

    两者优缺点:

    • 人体解析:能够区分预先定义的身体部位,但忽略了有鉴别性的配件(如背包)和未定义的身体部位(如颈部)
    • 人体分割:能够将人体分割,得到行人整体轮廓,但是丢失特定的细节信息

    如图 4 所示,两者均存在错误的情况,但是同时出现错误的几率很小。因此,本文将两种方法互补
    在这里插入图片描述

    ![ ![img](https://img-blog.csdnimg.cn/8e6f55991b794dc6b59809ccd671bf6b.png#pic_center

    先验知识 生成步骤:

    1.检查解析特征图中是否同时存在头部和至少一条腿

    2.若同时存在,联合解析特征图和分割特征图,得到一张更可靠的人体掩码图(取并集)

    若有一个不存在,则无法得到后续人体的上下边界,对此,本文将整个图像在垂直方向上均匀分割,估计 K 个粗糙的身体部位。无需执行后续操作。

    3.将掩码图 resize 为 24 × 8 大小(与骨干网络得到的特征图空间大小一致),并进行二值化运算(binarize,若超过一定阈值取 1,否则取 0),再利用 1 × 2 的内核膨胀得到行人掩码 M,同时得到行人的上下边界(region of interest, ROI)

    4.将行人掩码 M 与 行人原始特征图 F 点乘,减少背景杂波影响

    利用行人的上下界 crop,再利用双线性插值 resize 为原大小

    最后,将特征图在垂直方向上均分为 K份,每份记为 Pk

    img

    作用:减少背景杂波影响,对齐行人肢体部位

  • 模块2

    Channel Selection via Parameter Space Alignment(通过参数空间对齐来选择通道

    首先介绍模块,所有 MTAT 模型结构都是相似的

    img

    以一个MT为例,它包含一个1 × 1Conv 层,一个GMP(Global Max Pooling)层,一个可选的 CA 通道注意模块,另一个1×1Conv 层

    每个 Conv 层均包含一个BN批一化层和一个ReLU层, 每个Conv层的维度都设置为 512

    • CA 模块介绍如图 6 所示

    img

    作用:
    • 第一个 Conv 层:从 F 中选择并组合部分相关的通道

    • 相关性的程度由训练集决定,因此,它可能不是每张单独图像的最优值

    • GMP 层:提升模型对肢体的平移不变性

    CA 层:进一步学习每个通道的关联度,但会增加模型的复杂度
    • 第二个 Conv 层:将特征向量映射到一个更有鉴别性的空间,用于后续分类
    参数空间对齐:
    • MPN 在每对 MT-AT 中共享两个 Conv 层和 CA 模块的参数

    • AT 通过优化 MT 参数,将局部肢体部位的概念(粗先验知识)转移到 MT 中,进而使第一个 Conv 层选择部分相关的通道

    硬参数共享能够使网络结构在训练阶段非常紧凑
  • 模块3

    Respective Loss Functions for MTs and ATs --损失函数

    • 首先:我们在每个MT和AT的分类层分别附加一个交叉熵损失函数

      计算ID损失

      img

      其中N为批大小。fkl 和zkl分别为第l幅图像的第k部分提取的特征向量。Wkmt和Wkat分别代表第k个MT和AT的分类层参数。如图3所示,f lk和zlk分别为MTs和ATs的第二层Conv层的输出。

      将MTs提取的K个部分级特征拼接为一幅图像的整体表示h: 在这里插入图片描述

      然后:计算特征 h的三元组损失 , 确保类内图像对表示的距离小于类间图像对表示的距离 , 为了确保有足够的三组样本,我们在S个随机受试者中随机选择A个图像来创建一个小批次。

      锚点图像和正图像取自第i个受试者, 负图像从第j个受试者中采样

      img

      其中,D为余弦相似度距离

      请添加图片描述

      注意At和Mt的重要性是不对称的。ATs在测试过程中被移除;因此,没有将三元组损失应用到ATs提取的特征上

  • 模块4

    Feature Space Alignment between MTs and ATs(特征空间对齐)

    虽然上述 MTL 策略具有强大的性能,但由于每对 MT-AT 的输入特征图之间存在差异,MTsATs 提取的特征之间仍然存在差距。

    为了弥补这种差距,本文提出以类(class-wise)的方式对齐特征

    首先,将 KAT 提取的部分级特征拼接,得到在这里插入图片描述
    计算h和g中每个类的中心特征,得到在这里插入图片描述

    其次,我们计算一个批次中每个受试者的均值表示在这里插入图片描述
    最后以类的方式惩罚两者的余弦相似度距离,其中 S表示每个 batch 的类别个数

    img

对比 以样本(sample-wise)的方式对齐特征:

img

对于低质量的图像,粗先验知识不一定有效,选择的通道可能不是每张单独图像的最优值,存在身体位置对齐错误的情况

因此,以类的形式惩罚距离,能够缓解由身体部位位置先验错误产生的影响

与LCF相比,LSF的约束更强,因为它要求每一对hai和gai之间的距离最小。这种要求在gai质量很高的情况下是合理的;然而,在实际应用中,由于身体部位定位先验的误差,gai的质量受到了限制。首先,本文和[10]中采用的外部工具对于低质量的行人图像可能会失败。

第二,我们在第3.2节中使用的先验是粗糙的。图5(b)中所示的对人体的统一划分操作可能不能解释在一个图像中灵活的身体部位的戏剧性运动。

  • 训练阶段的总损失

img

  • 测试阶段

    仅利用 MTs 得到特征 h,然后利用余弦相似度度量特征距离 。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fkFKIWDi-1664715460887)(C:\Users\htt\AppData\Roaming\Typora\typora-user-images\1664713124955.png)]

设计实验
1.超参数k的分析

在这里插入图片描述

先验知识的对比实验:

  • 训练阶段身体部位位置不同类型先验的性能比较

    方法名称说明:

    • Uniform Division:将特征图直接均分为 K 份,构成 ATs 的输入
    • ROI Resize:跳过 ”先验知识 生成步骤“ 中的点乘操作,即不去除背景因素

    在这里插入图片描述

  • 与FSA(不含PSA)变体的性能比较
    在这里插入图片描述###### 2.消融实验

模块名称说明:

MTL:表示多任务学习
C1-S:表示共享第一个卷积层
C2-S:表示共享第二个卷积层
CF:表示对齐空间特征
CA:表示采用通道注意力机制
方法名称说明:

Baseline:表示只包含切片的局部特征提取,类似于 PCB
Baseline(UB):表示对数据集进行身体部位的粗先验知识处理后,再通过Baseline网络
MT Only:表示只有主任务,即只有全局特征提取
Naive MTL:表示朴素的多任务学习,即将全局特征和局部特征视为 主—辅 任务

img

  • 分别使用小节说明了 Effectiveness of Na¨ıve Multi-task Learning、PSA、FSA、PSA和FSA结合说明有效性

    3.可视化分析
    • Baseline:仅将特征图均分为 K 份,存在肢体特征不对齐的情况,如第一个分类器的注意力集中在背景区域

    • naive MTL:在没有任何对齐策略指导的情况下,K 张注意力图非常相似,说明提取的特征缺乏多样性

    • MPN:在双对齐策略的指导下,MPN提取的部分级特征在语义上对齐

      img

PSA中参数共享策略的对比实验:

采用软参数共享的方式进行对比实验,对于软参数共享,本文利用 L2 损失分别惩罚每个 MT-AT 对中的参数之间的距离,同时,将 L2 损失的权重分别设为 0.01, 0.1, 1, 10

实验表明,相比效果最佳的软参数共享硬参数共享Market-1501 上高出 0.4%/0.3%(Rank-1/mAP),在 DukeMTMC-ReID 高出 0.3%/0.4%

img

FSA的对比实验:

Batch-wise:采用以 batch 的方式空间对齐
第一个 Sample-wise:将 h hh 特征和 g gg 特征拼接,利用三元组损失函数约束
第二个 Sample-wise:采用公式 9 的计算方式

结果说明:

  • Batch-wise 忽略了样本的标签,缺乏鉴别性特征
  • Class-wise 优于两种 Sample-wise,可能原因是,部分图片身体部位的先验存在误差,AT 的表示特征质量不佳,对每个类的样本进行平均操作,类级约束对这些误差更具有鲁棒性

img

效率的对比实验:

结果说明:虽然相比 PCB 参数量稍有提升,模型复杂度略有增加,但总体来说计算成本相对较小,且模型性能表现优异

img

现有方法对比实验

在这里插入图片描述

在这里插入图片描述

img

优点
  • 1)它不需要在推理阶段进行身体部位的检测;

  • 2)它的模型非常紧凑,对训练和测试都很有效;

    什么是模型紧凑??

  • 3)在训练阶段,它只需要身体部位位置的粗略先验,生成方式相对容易。

有哪些地方可以改进,可以和什么结合

参考博客
https://blog.csdn.net/qq_50466729/article/details/126018913?spm=1001.2014.3001.5502

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值