论文阅读-Tracklet self-supervised learning for unsupervised person re-identification2020_AAAI阅读笔记

本文仅是自己学习所记,请谨慎采纳,如有错误不妥之处欢迎各位朋友指正!


研究背景

现有的无监督行人re-id方法,主要集中于跨域适应和one-shot学习上。虽然这些方法的可扩展性要比监督学习好,但是对相关的标记源域的依靠和每个人都初始化一个已经标记的轨迹限制了它在现实应用中的可扩展性。

论文内容

算法的整体结构如下图所示:

因为不使用行人特征的标签,所以构建了三个自监督学习约束来完成模型训练:
  • tracklet连续帧学习
  • tracklet紧密度学习
  • tracklet聚类结构学习

tracklet连续帧学习

直接使用轨迹中的帧,并不是最优选择,因为轨迹是由一小段时间的窗口抓取的,轨迹的帧中所包含的行人外观的变化非常有限。所以首先对轨迹数据做了处理:

  1. 首先对轨迹进行包括水平翻转、裁剪、旋转和颜色抖动(?)等的随机变换,将轨迹 T i T_i Ti重新表示为:
    T i = { { t i , j } j = 1 L , { t i , j ∗ } j = 1 , j ≠ p L } (1) T_i = \{\{t_{i,j}\}^L_{j=1},\{t_{i,j}^*\}_{j=1,j \ne p}^L\} \tag{1} Ti={{ti,j}j=1L,{ti,j}j=1,j=pL}(1)

  2. 从转换后的轨迹的所有帧中随机选取一帧 t i , p ∗ t_{i,p}^* ti,p作为正替代

  3. 选用全局平均池化获取帧对应的特征向量

参考triplet loss function构建轨迹连续帧学习约束:
L f = max ⁡ ⟮ 0 , α + D ( V T i , V t i , p ∗ ) − D ( V T i , V T i , n ) ⟯ (2) \mathcal{L_f} = \max \lgroup 0, \alpha + D(V_{T_i},V_{t^*_{i,p}}) - D(V_{T_i}, V_{T_{i,n}}) \rgroup \tag{2} Lf=max0,α+D(VTi,Vti,p)D(VTi,VTi,n)(2)
对于该约束的理解:在本文中对于轨迹的处理方式是从轨迹中随机的选取一帧作为正替代,为保证这一帧和它属于的轨迹相匹配提出了L_f。在保证轨迹中帧的连续性的同时,也保证了它的变化性。

tracklet邻域紧密度学习

在考虑跨相机视角中最近轨迹的搜索时,往往每一个轨迹都对应一个相机标签,但是相机注释不一定都能获得,所以限制了算法的可扩展性。该文在全部的训练数据中为每一个轨迹构建邻域,基于此构建轨迹邻域紧密型约束公式:

L n = − λ l o g e x p ( − s D ( V T i , V K i ) 2 ) ∑ j = 1 , j ≠ i N e x p ( − s D ( V T i , V T j ) 2 ) (3) \mathcal{L_n}=-\lambda log \frac{exp(-sD(V_{T_i},V_{K_i})^2)}{\sum_{j=1,j \ne i}^Nexp(-sD(V_{T_i},V_{T_j})^2)} \tag{3} Ln=λlogj=1,j=iNexp(sD(VTi,VTj)2)exp(sD(VTi,VKi)2)(3)

在该约束中,仅选用最近的邻域进行合并。该过程中,保存了全局的轨迹模型 M \mathcal{M} M,在第 t t t中, V t V_t Vt的更新公式:

V t = ( 1 − η ) V + η V t − 1 (4) V_t = (1-\eta)V+\eta V_{t-1}\tag{4} Vt=(1η)V+ηVt1(4)

对该约束的理解: 这个约束是让相近的轨迹彼此靠近,这个应该是有考虑到不同相机视角中同一身份轨迹之间的联系。

tracklet聚类结构学习

为了获取可靠的聚类结构,构建tracklet的聚类约束为:

L c = − l o g e x p ( V c , i T V i / τ ) ∑ j = 1 N c e x p ( V c , j T V i / τ ) (5) \mathcal{L_c}=-log \frac{exp(V_{c,i}^TV_i/\tau)}{\sum_{j=1}^{N_c}exp(V_{c,j}^TV_i/\tau)}\tag{5} Lc=logj=1Ncexp(Vc,jTVi/τ)exp(Vc,iTVi/τ)(5)

提出了新的聚类簇距离度量公式:

D ~ ( V c , i , V c , j ) = D c ( V c , i , V c , j ) + e x p ( 2 D c ( V c , i , V c , j ) − 1 N k ( ∑ l = 1 N k D c ( V c , i , V K c , l i ) + ∑ l = 1 N k D c ( V c , j , V K c , l j ) ) ) (6) \tilde{D}(V_{c,i},V_{c,j})=D_c(V_{c,i},V_{c,j}) + exp(2D_c(V_{c,i},V_{c,j}) \\ -\frac{1}{N_k}(\sum_{l=1}^{N_k}D_c(V_{c,i},V_{K_{c,l}^i})+\sum_{l=1}^{N_k}D_c(V_{c,j},V_{K_{c,l}^j})))\tag{6} D~(Vc,i,Vc,j)=Dc(Vc,i,Vc,j)+exp(2Dc(Vc,i,Vc,j)Nk1(l=1NkDc(Vc,i,VKc,li)+l=1NkDc(Vc,j,VKc,lj)))(6)

对该约束的理解: 在聚类结构学习中,根据新的聚类簇距离度量公式将相近的聚类进行合并,并用 L c L_c Lc衡量这次聚类的可靠性(存疑?

TSSL算法的流程

具体实现细节

  • 采用ResNet-50作为主干网络,在图像数据集中
  • 设置每个轨迹对应 L = 4 L=4 L=4帧,视频数据集中,设置每个轨迹对应 L = 16 L=16 L=16
  • 公式(2)中的 α \alpha α设为2
  • 公式(4)中的 η \eta η设为0.5
  • 公式(3)中的的 λ \lambda λ = 0.1 =0.1 =0.1 s = 10 s=10 s=10
  • 公式(5)中的 τ = 0.1 \tau=0.1 τ=0.1
  • δ = 0.05 \delta=0.05 δ=0.05,聚类的 N k = 4 N_k=4 Nk=4
  • 最大的训练epoch中前20为第一阶段训练,剩余的5轮为第二阶段训练
  • 使用SGD作为优化器,学习率初始化为0.01,15轮之后以0.1的速度进行衰减

实验结果

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值