SPGAN:Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity ReID阅读笔记-程序员宅基地

技术标签: 生成对抗网络  GAN  域适应  阅读笔记  行人重识别  

Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification

作者:Weijian Deng, Liang Zheng 2018 CVPR
简称SPGAN(similarity preserving generative adversarial network)
代码: https://github.com/Simon4Yan/Learning-via-Translation
和ZL老师团队2018年另一篇CVPR很相似:Camera Style Adaptation for Person Re-identifification,可参考:这篇博客

1. 摘要

以无监督的方式将labeled源域数据迁移到目标域,保持id信息不变,即为self-similarity,而迁移涂图像和目标域图像之间的id肯定是不同的,也就是domaindissimilarity(建立在reid是处理开集任务的前提上,训练集和测试集的id完全不重叠)。以上两者都是通过 Similarity Preserving cycle consistent Generative Adversarial Network (SPGAN)实现的,该网络是一个无监督域适应框架,由一个 Siamese network (SiaNet)网络和Cycle GAN网络组成。前者用contrastive loss监督,将迁移后图像和其在源域中的对应图像pull到一起,和目标域的所有图像都push开。

2. 介绍

无监督域适应(UDA)能有效处理跨域问题,但其考虑的是训练集和测试集类别有重叠的情况,因此其实不是很适合reid任务,因此现在的跨域问题主要集中在打伪标签(也很少),风格迁移,编码域不变特征(与id相关的特征)等。目前常见的做法是:先将源域图像迁移到目标域风格,然后由于id不变使得无监督reid就成了有监督reid任务。

贡献
  • 迁移源域图像到目标域风格,进行reid的UDA任务
  • SPGAN来提升性能,迁移过程保持ID不变

3. 方法

3.1. baseline

标注的源域数据集S和未标注的目标域数据集T,包含两步:将源域数据集迁移到目标域风格,让后就是有监督reid任务(特征学习),如图2所示。
在这里插入图片描述

  • 源域-目标域图像迁移
    用Cycle GAN学习的生成函数G(*)将源域图像S迁移到目标域T风格,即得到G(S)训练集。
  • 特征学习
    G(S)就是有目标域风格,而ID与源域一致,和目标域T一起可以用于有监督reid的特征学习。

这篇文章最主要集中在第一步,性能如表1所示:
在这里插入图片描述

3.2. SPGAN

3.2.1 CycleGAN回顾

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

G:S->T 和 F:T->S 的双向图像生成 + 循环一致性损失进行生成图像约束
其中ST中样本分布记为 p x p_x px p y p_y py,鉴别器为 D T D_T DT D S D_S DS,对抗损失:
在这里插入图片描述
在这里插入图片描述
风格循环一致性损失:
在这里插入图片描述
为了适应reid任务,作者添加了ID不变损失:
在这里插入图片描述
ID不变性损失部分和CamStyle一样,具体解释可见CamStyle。
CamStyle传送门:CamStyle

没有 L i d e L_{ide} Lide损失,G和F生成的结果会改变输入图像的颜色,如图4b所示。

3.2.2 SPGAN

在Cycle GAN中集成了SiaNet,如图3所示:
在这里插入图片描述
其主要目的是为了防止利用生成图像的强ID标签,而只利用pairs图像的弱ID标签(同一人还是不同人),因此通过使用SiaNet网络进行contrastive loss监督:
在这里插入图片描述
其中x1和x2是一对输入图像向量,d是norm后的两个输入向量之间的欧氏距离。如果x1和x2是同一个人的图像则 i=1(正对),否则 i=0(负对)。m 是margin参数, m ∈ [ 0 , 2 ] m \in[0,2] m[0,2]。当m=0是,表示负对计算的损失不反向传播,而m>0表示正对和负对都参与计算,m越大表示负对损失在反向传播时权重越大

训练pairs的挑选:

以无监督的方式挑选

  • 正对
    ** x S x_S xS G ( x S ) G(x_S) G(xS)
    ** x T x_T xT F ( x T ) F(x_T) F(xT)
  • 负对
    ** G ( x S ) G(x_S) G(xS) x T x_T xT
    ** F ( x T ) F(x_T) F(xT) x S x_S xS
总目标损失:

在这里插入图片描述
训练时交替优化生成器,鉴别器,SiaNet,即训练其中一者时,其余两者保持不变。训练SPGAN直到模型收敛或达到最大迭代次数。

3.3. 特征学习

使用IDE模型,用Resnet50做backbone,修改最后一个FC层为reid数据集行人类别数。测试时,提取pool-5层结果的2048-d向量为行人特征,使用欧式距离作为相似性度量。

Local Max Pooling(LMP):

用LMP代替原模型中的GAP层(在Conv5上的进行),作者首先将Conv5的结果划分为P个水平parts,在每个part上分别进行全局max/avg池化(没有参数),最后将得到的结果concat起来。并且经过实验,LMP效果比LAP效果好。LMP过程如图5所示:
在这里插入图片描述
生成结果对比如下:
在这里插入图片描述

4. 实验

4.1. 实验细节

在这里插入图片描述

4.2. 评估

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

下面的测试性能在跨域中算是很高的(2018年,且没有MSMT做辅助)。
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35226955/article/details/99643937

智能推荐

基于多播实现的android手机户外对讲APP_linphone 组播-程序员宅基地

文章浏览阅读956次。本应用使用多播技术进行多人语音通信,不需要使用者连接互联网,支持手机AP做接入点,是一款本地对讲系统,同时可使用线控对通话进行控制,软件还带有指南针、雷达功能。代码下载:http://download.csdn.net/detail/hansewolf/7990899_linphone 组播

(附源码)计算机毕业设计SSM基于大数据的高校国有固定资产管理及绩效自动评价系统_高校固定资产管理系统源码-程序员宅基地

文章浏览阅读179次。(附源码)计算机毕业设计SSM基于大数据的高校国有固定资产管理及绩效自动评价系统项目运行环境配置:(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat。_高校固定资产管理系统源码

解决win10/win8/8.1 64位操作系统MT65xx preloader线刷驱动无法安装_mt65驱动-程序员宅基地

文章浏览阅读1.3w次。转载自 http://www.miui.com/thread-2003672-1-1.html 当手机在刷错包或者误修改删除系统文件后会出现无法开机或者是移动定制(联通合约机)版想刷标准版,这时就会用到线刷,首先就是安装线刷驱动。 在XP和win7上线刷是比较方便的,用那个驱动自动安装版,直接就可以安装好,完成线刷。不过现在也有好多机友换成了win8/8.1系统,再使用这个_mt65驱动

SonarQube简介及客户端集成_sonar的客户端区别-程序员宅基地

文章浏览阅读1k次。SonarQube是一个代码质量管理平台,可以扫描监测代码并给出质量评价及修改建议,通过插件机制支持25+中开发语言,可以很容易与gradle\maven\jenkins等工具进行集成,是非常流行的代码质量管控平台。通CheckStyle、findbugs等工具定位不同,SonarQube定位于平台,有完善的管理机制及强大的管理页面,并通过插件支持checkstyle及findbugs等既有的流..._sonar的客户端区别

元学习系列(六):神经图灵机详细分析_神经图灵机方法改进-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏27次。神经图灵机是LSTM、GRU的改进版本,本质上依然包含一个外部记忆结构、可对记忆进行读写操作,主要针对读写操作进行了改进,或者说提出了一种新的读写操作思路。神经图灵机之所以叫这个名字是因为它通过深度学习模型模拟了图灵机,但是我觉得如果先去介绍图灵机的概念,就会搞得很混乱,所以这里主要从神经图灵机改进了LSTM的哪些方面入手进行讲解,同时,由于模型的结构比较复杂,为了让思路更清晰,这次也会分开几..._神经图灵机方法改进

【机器学习】机器学习模型迭代方法(Python)-程序员宅基地

文章浏览阅读2.8k次。一、模型迭代方法机器学习模型在实际应用的场景,通常要根据新增的数据下进行模型的迭代,常见的模型迭代方法有以下几种:1、全量数据重新训练一个模型,直接合并历史训练数据与新增的数据,模型直接离线学习全量数据,学习得到一个全新的模型。优缺点:这也是实际最为常见的模型迭代方式,通常模型效果也是最好的,但这样模型迭代比较耗时,资源耗费比较多,实时性较差,特别是在大数据场景更为困难;2、模型融合的方法,将旧模..._模型迭代

随便推点

CodeForces - 894A-QAQ(思维)_"qaq\" is a word to denote an expression of crying-程序员宅基地

文章浏览阅读311次。"QAQ" is a word to denote an expression of crying. Imagine "Q" as eyes with tears and "A" as a mouth.Now Diamond has given Bort a string consisting of only uppercase English letters of length n. The..._"qaq\" is a word to denote an expression of crying. imagine \"q\" as eyes with"

java毕业生设计移动学习网站计算机源码+系统+mysql+调试部署+lw-程序员宅基地

文章浏览阅读103次。java毕业生设计移动学习网站计算机源码+系统+mysql+调试部署+lw。springboot基于Bootstrap框架的读书网站设计与实现。ssm基于Vue.js的网上书城管理系统的设计与实现。springboot体育馆预定管理平台的设计与实现。ssm攀枝花市房屋租售信息管理平台的设计与实现。springboot中小企业设备管理系统。springboot交通事故档案管理系统。

14种神笔记方法,只需选择1招,让你的学习和工作效率提高100倍!_1秒笔记 高级-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏14次。笔记怎么做,这里给你参考_1秒笔记 高级

最新java毕业论文英文参考文献_计算机毕业论文javaweb英文文献-程序员宅基地

文章浏览阅读1.9k次。最新java毕业论文英文参考文献_计算机毕业论文javaweb英文文献

ESXi 快速复制虚拟机脚本_exsi6.7快速克隆centos-程序员宅基地

文章浏览阅读1.3k次。拷贝虚拟机文件时间比较长,因为虚拟机 flat 文件很大,所以要等。脚本完成后,以复制虚拟机文件夹。将以下脚本内容写入文件。_exsi6.7快速克隆centos

好友推荐—基于关系的java和spark代码实现_本关任务:使用 spark core 知识完成 " 好友推荐 " 的程序。-程序员宅基地

文章浏览阅读2k次。本文主要实现基于二度好友的推荐。数学公式参考于:http://blog.csdn.net/qq_14950717/article/details/52197565测试数据为自己随手画的关系图把图片整理成文本信息如下:a b c d e f yb c a f gc a b dd c a e h q re f h d af e a b gg h f bh e g i di j m n ..._本关任务:使用 spark core 知识完成 " 好友推荐 " 的程序。

推荐文章

热门文章

相关标签