文章目录

  • 系列介绍
  • 内容概况
  • 实验步骤
    • 生成数据集(SBSGAN)
    • 监督学习 Supervised Training(Densely Associated 2-Stream Network)
  • 总结

系列介绍

本文介绍了SBSGAN的主要内容,以及一些创新之处,属于ReId-UDA(Unsupervised Domain Adaptation)系列的第一篇,后续将会阅读多篇和ReId相关的论文。

内容概况

论文发表在 ICCV2019
原文链接: https://arxiv.org/abs/1908.09086
论文代码(作者暂未公开,后续会复现代码)
提出问题:
Background Shift(BG shift)
首先声明有2个ReId数据集A和B,一般的ReId数据集使用的是目标检测好的bounding-box,主要包含了 前景(foreground),即人体,和背景(background)。在A训练集训练的模型迁移到B数据集上使用的时候,他们的背景会有很大的不同,作者认为这是一种Noise,也就是说如果B数据集的背景和A数据集有很多不同之处,那么模型的performance 在B数据集上会有很大的降低。
解决办法:
针对这一问题,作者设计了SBSGAN,他的主要目的是利用源域(dataset A)的图片,生成一种消除了背景影响的数据,作者称之为 soft-mask images ,在生成soft-mask images的过程中,会产生迁移为目标域(dataset B)风格的包含前景和背景的图片,称之为 style-transfered images,最终使用soft-mask images 和 style-transfered images 作为作者提出的双流网络(Densely Associated 2-Stream Network)的输入,训练有监督模型。

实验步骤

实验步骤主要分为2部分:

  • 生成目标数据域风格数据style-transformed image和soft-mask image(生成数据集)
  • 利用源域A的标签以及迁移为B目标域风格的A中的图片(style-transfered images),和soft-mask images训练有监督模型(Supervised Learning)。

生成数据集(SBSGAN)

首先,针对提出的BG shift的问题,作者提到了一种最直接的思想,即通过分割的方法,将背景部分直接去掉,生成hard-mask,这种想法可以使用Mask-Rcnn 和 JPPNet去实现,但是这种生硬的将前景和背景分开的方式,很容易因为分割模型的性能,而影响到最终ReId的效果,如图1中,蓝色区域JPPNet的分割效果可以看出,这种方法还存在一些不足。而现有的几种基于整体图片的风格迁移方法,都不能消除BG shift,如图1,最下边的图为SBSGAN要生成的图,即消除了BG shift 又没有因为mask而损坏前景图。

图1

SBSGAN考虑了两方面:

  • 在生成soft-mask image 的过程中,适当的抑制hard-mask,是他不是非0即1的,可以保留更多信息
  • 生成的soft-mask image 要与每个数据集的风格保存一致性

SBSGAN包含了一个Generator(G)和一个Discriminator(D),G输入是一张原图 Is,和一个Indicator向量,Indicator向量可以引导模型G去生成soft-mask image或者是style-transfered image,其中style-transfered image 又可以有k种,k代表数据集的个数,文中用了3个数据集(包括源域和目标域)则K=3,G和D的具体设计在后面介绍
G的功能用公式表示为:
I=G(IDs,D)I = G(I_{D_s},\mathbb{D}) I=G(IDs​​,D)
其中D\mathbb{D}D可以是DkD_kDk​或D‾\overline{D}D,如果是DkD_kDk​,则代表生成style-transfered image,其风格为第k个数据集 的风格,如果是D‾\overline{D}D,则代表生成soft-mask image,如图3,(a)部分所示,那么G为什么可以生成我们想要的这些图片呢,为了达到这个目的,作者设计了4个loss function来约束G,向我们需要的方向去生成。
1.ID Constraint Loss
Lidc=EIDs,Dk[∥G(IDs,Dk)−IDs∥1]\mathcal{L}_{i d c}=\mathbb{E}_{I_{D_{s}}, \mathbb{D}_{k}}\left[\left\|G\left(I_{\mathbb{D}_{s}}, \mathbb{D}_{k}\right)-I_{\mathbb{D}_{s}}\right\|_{1}\right] Lidc​=EIDs​​,Dk​​[∥G(IDs​​,Dk​)−IDs​​∥1​]
由公式看出GGG生成了目标域DkD_kDk​的图像IkI_kIk​,让迁移过去的图片和原图IDsI_{D_s}IDs​​的越相似越好,作者提到这个loss可以保护生成的迁移风格图片上的颜色等一些底层的信息和原始图像相似。有图2,可以看出没有了这个loss会使得图片的颜色发生较大的变化。(注意,这个loss只是针对于生成style-transfered image的)

图2

2.Reconstruction Loss
Lrec=EIDs,Dk∨Dˉ[∥G(G(IDs,Dk∨D‾),Ds)−IDs∥1],where∨is‘or’operator\mathcal{L}_{r e c}=\mathbb{E}_{I_{\mathbb{D}_{s}}, \mathbb{D}_{k} \vee \bar{D}}\left[\left\|G\left(G\left(I_{\mathbb{D}_{s}}, \mathbb{D}_{k} \vee \overline{\mathbb{D}}\right), \mathbb{D}_{s}\right)-I_{\mathbb{D}_{s}}\right\|_{1}\right], \\where \vee is‘or’ operatorLrec​=EIDs​​,Dk​∨Dˉ​[∥∥​G(G(IDs​​,Dk​∨D),Ds​)−IDs​​∥∥​1​],where∨is‘or’operator
这个公式很像CycleGan的思想,即保证生成的图片(soft-mask image 或 style-transfered image)同样可以用相同的方式生成回原图,这就可以使图片的风格在不同的域之间迁移。
3.BG Suppression Loss
Lbgs=EIDs,Dˉ[∥IDs⊙M(IDs)−G(IDs,D‾)∥2]\mathcal{L}_{b g s}=\mathbb{E}_{I_{\mathbb{D}_{s}}, \bar{D}}\left[\left\|I_{\mathbb{D}_{s}} \odot M\left(I_{\mathbb{D}_{s}}\right)-G\left(I_{\mathbb{D}_{s}}, \overline{\mathbb{D}}\right)\right\|_{2}\right] Lbgs​=EIDs​​,Dˉ​[∥∥​IDs​​⊙M(IDs​​)−G(IDs​​,D)∥∥​2​]
这个loss是本文的重点之一,即背景抑制loss,如公式,MMM代表通过JPPNet生成的Hard-mask(即0和1组成的mask),⊙\odot⊙ 符号代表对应位置相乘,即loss希望hard-mask在原图上抠出来的图和GGG生成的soft-mask image 越相似越好。(这里用的是2范数,其他的公式用的都是1范数,注意,此loss仅适用于生成soft-mask image),此loss对应了前面提到了SBSGAN考虑到的两方面的第一个方面。
4.
Lsc=EIDs,Dˉ,Dk[∥G(IDs,D‾)−IDs⊙M(IDs)∥1+∑k=1,k≠sK∥G(IDs,D‾)−G(IDs,Dk)⊙M(IDs)∥1]\begin{aligned} \mathcal{L}_{s c}=& \mathbb{E}_{I_{\mathbb{D}_{s}}, \bar{D}, \mathbb{D}_{k}}\left[\left\|G\left(I_{\mathbb{D}_{s}}, \overline{\mathbb{D}}\right)-I_{\mathbb{D}_{s}} \odot M\left(I_{\mathbb{D}_{s}}\right)\right\|_{1}+\right.\\ &\left.\sum_{k=1, k \neq s}^{K}\left\|G\left(I_{\mathbb{D}_{s}}, \overline{\mathbb{D}}\right)-G\left(I_{\mathbb{D}_{s}}, \mathbb{D}_{k}\right) \odot M\left(I_{\mathbb{D}_{s}}\right)\right\|_{1}\right] \end{aligned} Lsc​=​EIDs​​,Dˉ,Dk​​[∥∥​G(IDs​​,D)−IDs​​⊙M(IDs​​)∥∥​1​+k=1,k​=s∑K​∥∥​G(IDs​​,D)−G(IDs​​,Dk​)⊙M(IDs​​)∥∥​1​⎦⎤​​
此 loss 对应了前面SBSGAN考虑的第二个方面,风格一致性,即他希望生成的soft-mask image的风格,要和每个目标域的风格都很接近,也就是说这个loss让最终生成的soft-mask image中的人的前景部分的风格更像是所有数据集风格的中心(而人的ID,是属于原始数据集的),从loss函数的描述中也可以看出这个意思。(注意,这个loss的输入是k种style-transfered image和soft-mask image,即他需要前面生成的所有图片的内容)。
仔细观察loss函数需要的参数可以发现,1,2 loss是为了生成style-transfered image,2,3 loss 是为了生成soft-mask image,然后这两种图片在都输入到4 loss中生成一致性风格的soft-mask image,也就是说四个loss的最终目标是为了生成soft-mask image,而style-transfered image是这其中的附属生成品,但是后面的监督学习中,也用到了style-transfered image。

图3

  • G设计的细节
    由于要生成不同类型的图片,需要做区分,因此G的输入为原始图片和indicator,indicator用来告诉模型应该生成什么样子的图片。如果想让G生成K个数据集中的第i种风格的style-transfered image,就令indicator的第i个通道的WxH个位置全部为1,其余k-i个通道都为0,如果要生成soft-mask image,则将indicator所有通道的位置都设置为1/k,然后将原始图片和indicator向量concat起来用来生成对应的图片,见图4。
    G的网络结构和Cyclegan类似,具体在原文的section 3.3

图4

  • D设计的细节
    Discriminator用来鉴别生成的图片是不是想要生成的,如图3,c部分所示,不同列表的图片标签是不同的,第i个风格的图片的标签是第i个位置为1,其余为0,如果是soft-mask image则设置为k个1/k。与indicator的设计类似.
    5.最终loss
    LD=Ladv+Lclsr,LG=Ladv+Lclsf+λrecLrec+λidcLidc+λbgsLbgs+λscLsc\mathcal{L}_{D}=\mathcal{L}_{a d v}+\mathcal{L}_{c l s}^{r},\\ \begin{aligned} \mathcal{L}_{G}=& \mathcal{L}_{a d v}+\mathcal{L}_{c l s}^{f}+\lambda_{r e c} \mathcal{L}_{r e c}+\lambda_{i d c} \mathcal{L}_{i d c}+\lambda_{b g s} \mathcal{L}_{b g s}+\lambda_{s c} \mathcal{L}_{s c} \end{aligned} LD​=Ladv​+Lclsr​,LG​=​Ladv​+Lclsf​+λrec​Lrec​+λidc​Lidc​+λbgs​Lbgs​+λsc​Lsc​​
    除了作者提出的几个loss之外,其他的loss是为了让G或D生成和鉴别真假图片的loss,都在较早的Gan论文中涉及到,最终SBSGAN生成图片与其他模型的对比图如下图5所示。

图5

监督学习 Supervised Training(Densely Associated 2-Stream Network)

作者设计了一个双流的网络,网络结构如图6所示,它的输入为两张图片,第一张为soft-mask image,第二张为相同ID的对应目标域的style-transfered image,两个图片分别输入到两个densenet网络中,两个densenet的参数是不共享的,通过一个叫ISDC的模块相连,每经过一个Dense block的输出结果不仅会向后传递,同时会传递给ISDC模块,如图6,除了首个IDSC模块外,后面的模块都是由前面的ISDC模块和两个dense block的输出合并起来的。在最后面ISDC的最后一层是一个类似于残差的结构,既与两个分支叠加,也同时跳跃到GAP的位置。最后经常两个FC层做分类任务,FC1层是得到特征,FC2层是为了分类,这样在用于比较特征相似度时,只需去掉FC2层留下FC1层的特征即可。
OnISDC=δ(F(y⋅On−1ISDC⊕[OnS1,OnS2],{Wn}))O_{n}^{I S D C}=\delta\left(\mathcal{F}\left(y \cdot O_{n-1}^{I S D C} \oplus\left[O_{n}^{S 1}, O_{n}^{S 2}\right],\left\{\mathbf{W}_{n}\right\}\right)\right) OnISDC​=δ(F(y⋅On−1ISDC​⊕[OnS1​,OnS2​],{Wn​}))

图6

总结

本文有以下几个亮点,

  • 避免利用Hard-mask去除背景,导致的图片信息的损失,保留了更加完整的前景图。
  • 控制一致性的SC loss 可以融入多个数据集的风格,这样可以使最终留下来的soft-mask image可以保留下来多个数据集的风格特征,这样,随着训练数据集的增加,生成的图片将会越来越普遍适用于真实场景。
  • 而双流网络输入为两种图片,既可以保证模型既可以得到最普遍适用的信息(soft-mask image),又可以得到对应目标数据集的风格信息(style-transfered image),使模型在对应数据集上使用时,准确率更高。
  • 巧妙的利用了生成soft-mask image时生成的 style-transfered image。

关于设计的一点疑问,

  • 第四个loss,SC loss中的第一项与第三个loss,BGS loss是重复的,区别在于loss3使用的2范数,loss4 使用的1范数,这里的设计可能还可以有改进的可能?

如有不对的地方,欢迎广大网友指正,谢谢。

SBSGAN: Suppression of Inter-Domain Background Shift for Person Re-Identification 论文笔记 ReId-UDA(一)相关推荐

  1. matting系列论文笔记(二):Background Matting: The World is Your Green Screen

    matting系列论文笔记(二):Background Matting: The World is Your Green Screen 论文链接: 2017 Background Matting: T ...

  2. 【论文笔记之 MDF】Multidelay Block Frequency Domain Adaptive Filter

    本文对 JIA-SIEN SOO 和 KHEE K. PANG 于 1990 年在 IEEE Transactions on Acoustics, Speech, and Signal Process ...

  3. 论文笔记:Contrastive Adaptation Network for Unsupervised Domain Adaptation

    1. 任务设置 U n s u p e r v i s e d D o m a i n A d a p t a t i o n f o r I m a g e C l a s s i f i c a ...

  4. Batch Normalization:Accelerating Deep Network Training by Reducing Internal Covariate Shift 论文笔记

    0 摘要 当前神经网络层之前的神经网络层的参数变化,会引起神经网络每一层输入数据的分布产生变化,这使得训练一个深度神经网络变得复杂.通过设置较小的学习率以及更谨慎的初始化参数减慢了训练,并且由于非线性 ...

  5. 论文笔记-Real-Time MDE using Synthetic Data with Domain Adaptation via Image Style Transfer

    论文信息 标题: Real-Time Monocular Depth Estimation using Synthetic Data with Domain Adaptation via Image ...

  6. python中shift函数rolling_Pandas Shift函数的基础入门学习笔记

    pandas shift函数基础 在使用pandas的过程中,有时会遇到shift函数,今天就一起来彻底学习下.先来看看帮助文档是怎么说的: >>> import pandas &g ...

  7. 论文笔记:Visual Domain Adaptation with Manifold Embedded Distribution Alignment

    论文:Visual Domain Adaptation with Manifold Embedded Distribution Alignment 地址:https://arxiv.org/abs/1 ...

  8. 论文笔记-Domain Adaptation for Semantic Segmentation with Maximum Squares Loss

    论文信息 论文标题:Domain Adaptation for Semantic Segmentation with Maximum Squares Loss 论文作者:Minghao Chen, H ...

  9. 论文笔记:An Adaptive Feature Norm Approach for Unsupervised Domain Adaptation

    论文链接 最近把毕业论文的题目确定了,这个专栏专门放相关论文的阅读笔记,个人理解可能有限,欢迎大家指正! 标题理解 阅读论文之前,首先对标题进行一定的理解,才能更好的理解论文的内容. 论文完整标题为: ...

最新文章

  1. GPT3后可考虑的方向-知识推理与决策任务及多模态的信息处理
  2. vs2013我建了两个对话框 选择主对话框_VS/MFC编程教程:如何创建对话框模板和修改对话框属性...
  3. 怎样看待大学期间的代码练习
  4. C#基础全接触分类:asp.net技术
  5. mysql Table 'plugin' already exists
  6. SD--va01的屏幕增强
  7. python timer 死掉_Python timer定时器两种常用方法解析 Python中如何在一段时间后停止程序...
  8. 处理刷新浏览器是元素先缩小后放大问题
  9. Go学习笔记(二)Go语言结构
  10. Tomcat xxx unbound
  11. php csv文件内容加粗,PHP强化之10 - CSV文件处理
  12. iOS CocoaPods:Updating local specs repositories一直停在那里了
  13. Hibernate.cfg.xml 整理
  14. 知识整理的八种笔记方法
  15. selenium自动化学习--截取长图的方法
  16. 淘宝镜像安装以及配置
  17. 顺丰旗下丰鸟无人机高薪诚聘海内外英才
  18. CSS 样式定义方式
  19. 会议记录管理系统(1)
  20. python studing DAY1

热门文章

  1. 有关Slackware的USB安装介绍
  2. matlab adams 机械臂,基于ADAMS与MATLAB/SIMULINK的二杆机械臂动力学仿真与验证
  3. 悬置位移matlab,matlab悬置解耦计算工具
  4. Debug概述及操作流程
  5. origin绘图软件安装包下载安装,Origin软件2022版特色功能使用
  6. ctx.fillText水平居中问题
  7. 【嵌入式Linux】第一部分 - 玩转Ubuntu
  8. OneNote:“由于某种原因,无法连接到服务器。请尝试检查您的连接以查看服务器是否可用。”的解决方案
  9. vue输入框添加表情
  10. 历史进程中的新BAT