Spindle Net

Spindle Net

论文:Spindle Net:Person Re-Identification with Human Body Region Guide Feature Decomposition and Fusion,cvpr,2017

论文地址:链接

代码:SpindleNet

摘要

背景:由检测算和姿势变化引起的行人身体不对准的问题会为不同图像间的特征匹配造成严重的影响。

贡献:本文提出了一种基于人体区域引导的多阶段特征分解和树形结构的竞争特征融合的新型卷积神经网络-SpindleNet,首次在ReID 中考虑人体结构信息,帮助对齐不同图像中的人体区域特征,增强局部细节信息的表示能力。SpindleNet 包括两个步骤:(1)不同语义层次的特征在不同阶段进行提取。(2)合并不同语义层的特征。还提出了一个ReID 数据集—SenseReID.

引言

在匹配过程中,存在行人的不同图像语义信息不对齐,局部遮挡等现象,如下图:

img

网络结构

1、Body Region Proposal Network(RPN)

RPN用于提取行人的区域,分为七个部分:肩膀上、上半身、下半身、左右手、左右脚,如下图示:

img

Step1:定位输入图片的14个关键节点

借鉴了CPM(一种姿态估计网络),利用Sequential framework 以由粗到细的方式来生成响应图,全卷积网络——> 14个response map(14个关节heatmap)

  • 在每个阶段,CNN提取特征并结合上一个阶段的响应图来refine关键点估计的位置

    对CPM进行修改来降低其复杂度:

    • 共享前几层的卷积参数
    • 用s=2的卷积代替池化层
    • 减小了输入大小、阶段数、卷积层的通道数
  • 14个关节点可以通过最大化特征图上的值得到:
    P i = [ x i , y i ] = a r g max ⁡ x ∈ [ 1 , X ] , y ∈ [ 1 , Y ] F i ( x , y ) P_i = [x_i, y_i] = arg \max \limits_{x\in[1,X],y\in[1,Y]} F_i (x,y) Pi=[xi,yi]=argx[1,X],y[1,Y]maxFi(x,y)

Step2:产生7个身体区域:

  • 根据14个关节点生成3个宏观区域(头-肩,上体、下体)、4个微观区域(双腿、双臂),具体可参考上图

2、Body Region Guided Spindle Net

img

两个主要部分

  • the Feature Extraction Network(FEN):输入为行人图片和候选区域,计算全局特征和子区域特征
  • the Feature Fusion Network(FFN):合并不同区域的特征向量

2.1 Feature Extraction Network(FEN)

FEN 由三个卷积层(FEN-C1,FEN-C2,FEN-C3)、两个roi pooling stages(FEN-P1,FEN-P2)

  • 1个全图+7个身体子部分,每个部分产生256-dim 向量
  • sub-region 的特征从全图的特征上在不同阶段crop到
  • 在FEN-C3后通过一个全局池化层和一个内积层将输出转换为256-dim向量

下图表示区域特征有效性:

img

  • b)、(e)为经过FEN-C1的全局特征,由该特征计算非对准的相同人的距离将远,相似人两个人距离较近
  • (c )、(f)为FEN-P1后的特征,利用该特征计算相似性对于非对准的相同人距离减小,相似人的距离增大

2.2 Feature Fusion Network(FFN)

A tree-structured fusion strategy:根据子区域的不同语义层次与关系在不同的阶段将特征向量进行合并,双腿、双臂 ——>双腿 + 下半身 、双臂+上半身 ——>上半身结果+下半身结果+头-肩部 ——>合并图像+全局图像特征进行拼接,并转换为256-dim 向量。

特征融合单元包含两个步骤:① 特征的计算和选择,采用元素最大策略(理解是三个区域的特征向量每个元素都选值最大的那个,如下图所示);② 特征的转换,采用内积计算(理解是对全局、区域特征融合时候采用了内积,将两个256维向量融合为一个256维向量)。

img

2.3 训练细节

  • progressive strategy:先训练FEN、再训练FFN;权重全部随机初始化
  • FEN训练步骤:
    • 先训练输入为全图
    • 固定FEN-C1参数,训练三个宏观分支
    • 固定FEN-C1、FEN-C2,训练四个微观分支
  • FFN由FEN产生的特征向量进行训练,Softmax,在训练过程中只用了分类损失,没有用到Triplet loss 损失函数

Experiments

1、实验数据集以及划分策略如下表:

img

2、比较结果

img

img

Investigations

1、Investigations on FEN

  • ROI pooling得到宏观区域以及微观区域的最佳位置

img

  • 由上图可以看到:

    • Marco最佳为FEN-C1:macro包含更复杂的身份信息,应该更早的pool out来得到更多独立的学习参数
    • Micro最佳为FEN-C2
  • 全图特征与在不同阶段提取宏观及微观特征的组合实验

    img

2、Investigations on FFN

  • 测试每种特征的效果:全图 > 宏观 > 微观

img

  • 树型融合策略与其他融合策略的对比:

img

Conclusion

  • 本文提出的Spindle Net:
    • a multi-stage ROI pooling network:分开提取不同身体区域特征
    • tree-structured fusion network:合并不同身体区域特征
  • 不同层次的身体特征有助于对齐不同行人图片的身体区域
  • 通过实验验证了feature competition and fusion network的有效性
    提取不同身体区域特征
    • tree-structured fusion network:合并不同身体区域特征
  • 不同层次的身体特征有助于对齐不同行人图片的身体区域
  • 通过实验验证了feature competition and fusion network的有效性
  • 本文的方法在多个数据集上取得了SOTA的方法
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值