ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【论文笔记】DG-net

2021-11-30 19:58:15  阅读:206  来源: 互联网

标签:外观 判别 DG 编码器 笔记 生成 模块 图像 net


DG-net GAN在行人重识别的应用

论文原文:JointDiscriminativeandGenerativeLearningforPersonRe-identification
论文链接
代码链接

摘要

  • 问题:现有方法的生成通道与判别学习阶段相分离
  • 贡献:提出了一种联合学习框架,端到端的成对重识别。(将数据生成和行人重识别统一到一起)
  • 模型包括生成模块判别模块
  • 生成模块将每个人编码成 外观代码(appearance code)结构代码(structure code)
  • 判别模块 与 生成模块 共享外观编码器
  • 生成模块通过切换外观码或者结构码 生成高质量跨id合成图像,在线反馈给外观编码器

介绍

  • 不同的相机捕捉的图像包含由背景、视角、人体姿势等变化引起的显著类内变化,需要设计学习更强健的对抗类内差异的表现形式
  • 增强对输入变化的鲁棒性就是让模型在训练期间就看到类内变化(GAN)
  • 存在问题:生成模型是独立的=》生成模型的优化目标与reid不能很好地对齐,限制了生成数据的增益。
  • 通过引入生成模块,DG-net将两者结合
  • 编码器将行人图像分成 外观空间 以及 结构空间
  • 外观空间 编码 外观和其他身份相关语义
  • 结构空间 编码 几何和位置结构信息
    在这里插入图片描述
  • note:生成模型 和 判别模块 共享 外观编码器 ,作为重识别模型的骨架。
  • 生成模块负责生成图像,合成图像用于在线优化外观编码器
  • 编码器通过改进外观编码 影响生成模块
  • 在共享外观编码器的前提下 两个模块进行联合优化
  • 不需要额外的辅助数据,就可以生成大量的图像。在这里插入图片描述

相关工作

  • Zheng 使用无条件gan增加训练数据
  • Huang 用 WGAN 将伪标签分给生成图像
  • Li 在reid模型和gan之间共享权重
  • 基于姿态的两阶段生成通道来精炼生成图像
  • 使用姿势来生成图像
  • 以上都将生成和重识别任务分开 分成两个互不相干的任务。
  • 还有一些基于全局风格转移的方式:
  • Cycle-GAN 、 StarGAN。。。

方法

引入了两种图像映射,自身份生成和交叉身份生成,用来合成高质量的图像,并将其提供给重识别模块进行学习。
Note:判别模块包含初级特征学习和细粒度特征挖掘,可以更好的利用生成的数据。
在这里插入图片描述

3.1 生成模块

生成模块包括一个外观编码器Ea,一个结构编码器Es,一个解码器G以及一个判别器D来区分真实图片和生成图片。
在这里插入图片描述

  • 与外观码a 相比 ,结构码s 保持了更多的空间分辨率,以保持几何和位置特性。
  • 但是,这可能导致解码器G 在图像生成是只是用s而忽略a,=》因为解码器倾向于依赖具有更多空间信息的特征。
  • 实际中, 会将结构编码器Es的输入图像转化为灰度图像,保证解码器G同时使用 a 和 s
  • 生成模块的两个目标 自身份生成 以及 交叉身份生成
  • 同一身份生成 使生成器正则化。就是用同一行人的一张照片获得结构s,然后另外的图片获得外观a,重新合成一张新的图片。
    在这里插入图片描述
  • 交叉身份生成使生成的图像可控并匹配真实数据。“淘宝换装效果”
    在这里插入图片描述

自身份生成

在这里插入图片描述

  • 生成器应该能学会重构图片本身,损失函数对应第一个,图像相同,像素差应该为0
  • 生成器对同一个人的两种图片进行合成重构,生成图片的身份ID不会发生改变。这个也是像素级L1损失 对应上图的第二个损失函数
  • appearance比如衣服鞋子等也应该具备身份特征,也就是使用这些特征也应该最好能够识别出ID,因而采用了分类损失也就是identification loss,对应上图的第三个损失函数

交叉身份生成

在这里插入图片描述

  • 对于交叉生成的图像,使用解码器重新获得latent appreciate code 和 latent structure code,采用使用1,2两个损失函数
  • 除此之外还可以使用identity loss作用于用ap code生成的图像,使得身份id保持一致
  • 本文还使用了adversarial loss 让生成的数据分布更接近真实数据分布

3.2 判别模块

根据切换 外观码 和 结构码 生成的图像,提出了主要特征学习细粒度特征学习

主要特征学习

在这里插入图片描述
NOTE: 其实就是根据外观来确定行人id,就是第一张图横着看。
可以将生成的图像视为训练样本这是大部分文献所采取的方法。
但是,在跨id合成图像中的类间变化促使我们采用动态软标记的师生式监督方法。
我们使用教师模型来动态地分配软标签到XIJ,这取决于它的复合外观和结构。
教师模型是一个在原始训练集上利用identification loss训练的基准CNN。
为了训练用于主要特征学习的判别模块,我们将判别模块预测的概率分布p(xij)与教师预测的概率分布q(xij)之间的KL距离最小化,也就是上图对应的损失函数。
该loss就是为了让生成图片ID的概率值,和真实图片ID的概率值相近。
对于每张合成的图片,其内容都是来自于两张真实图片的组合。根据实验结果显示,一个简单的线性CNN教师模型去提供这个动态的软标签,能改进模型的性能。

细粒度特征挖掘

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

NOTE:将姿态信息看做同一行人,简单来说,就是第一张图竖着看。
当对以这种方式组织的图像进行训练时,判别模块被迫学习与衣服无关的细粒度id相关属性(例如头发、帽子、包、体型等)。
为了训练用于细粒度特征挖掘的判别模块,我们在这个特定分类上强制实施identification loss。
这不像之前的一些之前的方法,通过手动标记行人属性,该方法会自动从合成的图像中采集细节属性(fine-grained attribute),进一步对比艰难取样的一些方法,不需要去找一些困难的样本(带有详细细节)进行训练。因为我们的鉴别模型可以学习到细节纹理特征的采集。

3.3优化

损失函数:
在这里插入图片描述

标签:外观,判别,DG,编码器,笔记,生成,模块,图像,net
来源: https://blog.csdn.net/qq_37747189/article/details/121500307

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有