Person ReIDLearning Relation and Topology for Occluded Person Re-Identification 论文解读

Posted 浅然言而信

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Person ReIDLearning Relation and Topology for Occluded Person Re-Identification 论文解读相关的知识,希望对你有一定的参考价值。

论文名称:High-Order Information Matters: Learning Relation and Topology for Occluded Person Re-Identification

论文链接:链接

论文代码:链接

目录

一、存在问题

二、贡献

 1、单阶语义模块(S)

 2、高阶关系模块(R)

3、高阶人体拓扑模块(T)

三、实验结果


一、存在问题

主要存在行人图像的遮挡问题,而该篇论文就是解决这个问题

二、贡献

提出了一个解决遮挡问题的三阶段模型

  1. 关键点局部特征提取(提取人类关键点区域语义特征的单阶语义模块(S)
  2. 图卷积融合关键点特征(建模不同语义(即不同关键点)局部特征之间的关系信息的高阶关系模块(R)
  3. 图匹配方式计算相似度并训练模型(高阶人体拓扑模块 (T),用于学习鲁棒对齐并预测两个图像之间的相似性

注:S、R、T即下图三阶段

 1、单阶语义模块(S)

步骤:

  1. 给定一张行人图像x,通过CNN模型和Pose Estimator(姿态关键点模型)得到特征图姿态关键点热度图
  2. 和 通过一个外积得到关键点区域的语义局部特征(local)和通过进行全局平均池化 得到全局特征(global)

注:

1、通过S模块后,每张图片得到14个特征图K+1(13个关键点的局部特征和1个全局特征)

2、其中K是关键点数,,c是通道数

 2、高阶关系模块(R)

该阶段论文提出了方向自适应的图卷积层(Adaptive Directed Graph Convolutional(ADGC)),主要是利用局部特征和全局特征的差异性来评估权重,差异越小越重要。目的就是利用好S阶段得到的局部特征,并加上局部特征之间的关系信息。

步骤:

  1. 初始化一个邻接矩阵A进行图卷积(初始化即:关键点相邻为1,否则为0)
  2. 邻接矩阵A在学习过程中不断更新,那么如何更新,如下图所示:

 具体步骤:

  1. 将局部特征与全局特征进行减法操作,得到两者的差异特征,差异越大,特征信息越不重要,属于离群点或异常点(即遮挡区域)。注:repeat操作目的是为了使局部和全局特征维度相同,相同才可进行操作,因为局部是K,而全局是1。
  2. 将(1)得到的差异特征矩阵与初始化的邻接矩阵A进行点乘,得到新邻接矩阵,再与做矩阵乘法,得到关键点关系特征结果。
  3. 将(2)得到的结果与原始的局部特征进行加法操作,得到一个关键点带有关系的拓扑图结构信息特征。

3、高阶人体拓扑模块(T)

该阶段论文提出一个跨图嵌入对齐(CGEA)(cross-graph embedded-alignment )层 

步骤:

  1. 输入已经经过S和R阶段的两张图片的特征
  2. 经过全连接层fc和relu层后得到隐藏特征,再通过图匹配操作(GM)得到两张图对应关键点的关系,即得到关系矩阵U
  3. 将(2)所得的关系矩阵U与进行矩阵乘法,再与进行concat融合操作,通过全连接层和relu层得到中与有关的特征信息,最后与原始特征进行加法操作,得到输出特征。同样U与按此步骤一样得到

 

得到后,利用如下公式进行相似度计算:

注:

1、到1的全连接层,是sigmoid激活函数。

2、作者额外加入了验证损失(Verification Loss),如果 (x1, x2) 来自同一个人,则 y = 1,否则 y = 0。其公式如下:

三、实验结果

该论文在三种类型数据集上分别进行了实验

  1. 遮挡数据集:Occluded-Duke、Occluded-REID
  2. 半身数据集:Partial-REID、Partial-iLIDS
  3. 全身数据集:Market-1501、DukeMTMC

在以上数据集,分别得到以下实验结果

 

 

 

以上是关于Person ReIDLearning Relation and Topology for Occluded Person Re-Identification 论文解读的主要内容,如果未能解决你的问题,请参考以下文章

sql GPA - PriceAnalysisChange - RelatórioporLoja

sql PriceAnalysisChange - RelatóriodaintegraçãodaLoja

JAVA开发 for(Person person :persons)是啥意思?

.vimrc

springboot-

自定义datetimepicker日期控件