CamStyle:Camera Style Adaptation for Person Re-identifification阅读笔记

Camera Style Adaptation for Person Re-identifification

作者: 种准,郑良,郑哲东,杨易等 2018CVPR
代码:https://github.com/zhunzhong07/CamStyle
和ZL老师团队2018年另一篇CVPR很相似:Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification,可参考我的:这篇博客

1. Motivation

不同相机不一样导致风格差异,需要学习相机不变性特征–>直接将相机迁移到其他相机下,让网络见到更多风格的照片就OK了,同时还能改善过拟合–>普通版本;加上LSR正则就是改进版本。思想很简单,但效果很显著。
在这里插入图片描述

2. 介绍

普通版本在相机少的情况下由于缓和了过拟合现象因此作用很大,但相机较多时由于图像也多了导致过拟合没那么严重,而生成图像中的噪声点(如图2)开始捣乱了,性能开始不太行,需要用改进版本做。
在这里插入图片描述
CamStyle的优点

  • 平滑相机风格差异并减少过拟合
  • 学习相机不变性信息
  • 由无监督的CycleGAN实现,很符合实际

贡献

  • 普通版本在少相机系统中性能提升很大
  • 改进版本在全相机系统中性能进一步提升

3. 方法

3.1. CycleGAN回顾

关于CycleGAN的详细内容可以参考我的这篇博客

G:A->B 和 F:B->A 的双向图像生成 + 循环一致性损失进行生成图像约束
其中AB中图像分别记为x和y,分别M和N张,即:
在这里插入图片描述

3.2. Camera-aware Image-Image Translation

在这里插入图片描述
在这里插入图片描述

解释:

F(x):x对于F而言是目标域真实图像,而F是为了进行风格迁移的,而x本身就是需要的风格,故F不再在风格而起作用,但为了保证
在这里插入图片描述
最小化,F就只能强迫让F(x)和x的其他信息一致,主要体现在让两者的内容信息,如id相关信息一致,从而维持了id不变。
G(y)同理。

网络结构和CycleGAN一样(本身就是一样的做法,只不过加了一个损失监督而已,和后面的reid是分段进行的,就是将CycleGAN搬到reid中并结合实际加了一个损失来生成图像,用生成结果做reid),输入为256256,生成器由9个残差块+4个卷积(2个步长2的+2个步长1/2的),鉴别器用7070的PatchGAN。将每一张图像迁移到其他L-1个相机下,得到L倍的图像(L是相机数,生成的L-1倍图像不全部要,后面会提)。
在这里插入图片描述
三点观察

  • 真图像(圆点)和假(生成,三角)图像分布一致(生成图像分布与真实图像分布一致)
  • 生成图像的id得以保存(某一类的三角和圆点大致在一起)
  • 存在噪声点(红色框内)

3.3. ReID的baseline

IDE网络,ResNet50,去掉FC-1000改成FC-1024和FC-#Classes,reid的输入size为256*128

3.4. 训练CamStyle

两个版本

  • 保持了ID,那就信任它,生成图像打one-hot标签—>普通版本
  • 不能太信任生成图像,打软标签—>改进版本

共同定义
每个mini-batch包含M张真实图像和N张生成图像,损失为:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3. 参数分析

在这里插入图片描述
M/N>1会导致生成(假)图像太大,假的太大必然会出问题,会让网络倾向于学习假图像的信息(假图像丢失了必然部分信息);最终选择M:N=3:1比较合适。

4.4.评估

  • 使用相机个数(数据量)对模型性能的影响

在这里插入图片描述均是越多越好,因为一方面可靠性数据越来越多,另一方面由于GT多了,找rank1(评估的就是rank1)也就容易些

** 普通版本:Fig7 + Tab 1
在这里插入图片描述
还是那句:少相机系统中比较有用,多相机系统中由于过拟合缓解而噪声副作用导致涨点不明显
** 全版本:Fig7 + Tab 1
性能进一步提升

  • 不同相机的影响
    在这里插入图片描述
    相机1和相机2提点很明显,其余涨点不明显
  • CamStyle和普通数据增强是互补的—>不是重复累赘的
    在这里插入图片描述

4.5. 和SOTA比较

在这里插入图片描述
在这里插入图片描述

5. 总结

  • CycleGAN + ID不变性损失生成图像,作为数据扩增和学习相机不变性约束
  • 普通版本和加了LSR的版本(缓和噪声点)
  • 生成图像不能全部用,假的太多了不好

相关链接: