论文:Multi-task Learning with Coarse Priors for Robust Part-aware Person Re-identification
TPAMI 2022 源代码
提出原因:
-
学习
Part-level
级别的特征表示能够提取鲁棒的行人特征,但是由于肢体错位影响特征质量主要表现在两个方面:
- 行人检测器引起的错位:身体部位的位置和比例不一致(蓝色框所示)
- 身体柔性运动引起的错位:如手臂和腿,这些身体部位的位置和形状都有所不同(绿色框所示)
对此,作者联合 人体解析(human parsing
)和 人体分割( human segmentation
)模型,得到粗糙的身体部位,作为先验知识
ResNet50
中最后一层卷积层提取的特征中,不同通道响应不同局部的身体部位
对此,作者引入多任务学习( multi-task learning
),将特征图分均为 K
块,每个块为行人的局部特征。
将整张行人图片视为主任务(main task, MT
),将每个局部特征视为辅任务(auxiliary task, AT
),共 K
对 主—辅 任务
每对 主—辅 任务中,MT 利用 AT 中的局部肢体特征,选择对应肢体的响应通道
创新点:
-
提出多任务学习(
multi-task learning, MTL
)方法:对每个身体部位构建一个主任务(main task, MT
)和一个辅任务(auxiliary task, AT
),两个任务目的都是ReID
,都用来做分类任务其中辅任务包含身体部位位置的粗先验知识,解决肢体部位错位问题
-
提出概念转移(
concept transfer
)方法:ATs
通过优化MT
参数,将局部肢体部位的概念(粗先验知识)转移到MT
中,进而从主干模型中识别出与局部特征相关的通道具体来说,通过两种新的对齐策略实现:
- 以硬参数共享的方式对齐参数空间 (
parameter space alignment, PSA
) - 以类的方式对齐特征空间 (
feature space alignment, FSA
)
- 以硬参数共享的方式对齐参数空间 (
方法:
-
训练阶段:
对于任一局部肢体部位(共
K
个),包含一个主任务(MT
)和一个辅任务(AT
)K
个ATs
包含身体部位位置的粗先验知识,因此,它们可以提供归纳偏置,帮助MTs
为每个身体部位选择相关的通道两者在 输入特征 上的区别:
- MT:由主干模型生成的原始特征图 F F F
- AT:由先验知识(粗糙的身体部位)切片得到的局部特征图 P k P_k Pk
-
测试阶段:
移除
AT
,只利用MTs
提取part-level
特征表示
模块1:Coarse Prior of Body Part Locations(身体部位的粗先验知识)
先验知识基于现有两种方法得到:人体解析(human parsing
)、人体分割( human segmentation
)
两者优缺点:
- 人体解析:能够区分预先定义的身体部位,但忽略了有鉴别性的配件(如背包)和未定义的身体部位(如颈部)
- 人体分割:能够将人体分割,得到行人整体轮廓,但是丢失特定的细节信息
如图 4 所示,两者均存在错误的情况,但是同时出现错误的几率很小。因此,本文将两种方法互补
先验知识 生成步骤:
-
检查解析特征图中是否同时存在头部和至少一条腿
-
若同时存在,联合解析特征图和分割特征图,得到一张更可靠的人体掩码图(取并集)
若有一个不存在,则无法得到后续人体的上下边界,对此,本文将整个图像在垂直方向上均匀分割,估计
K
个粗糙的身体部位。无需执行后续操作。 -
将掩码图
resize
为24 × 8
大小(与骨干网络得到的特征图空间大小一致),并进行二值化运算(binarize,若超过一定阈值取 1,否则取 0),再利用1 × 2
的内核膨胀得到行人掩码 M M M</