行人再识别Re-ID面临两个特殊的问题:

1)源数据集和目标数据集类别完全不同

2)相机造成的图片差异

因为一般来说传统的域适应问题源域和目标域的类别是相同的,相机之间的不匹配也是造成行人再识别数据集数据分布不同的主要原因之一,如何在域适应中有效利用相机信息还没有一个很好的解决方案。

在这篇论文中,作者主要就是想解决这两个问题。提出了Hetero-Homogeneous Learning (HHL)算法。具体的解决方法如下:

相机差异: 通过目标域中未标注的图片和对应的风格转换图片学习(Homogeneous Learning)

域连通性:将源域/目标域图片视为目标域/源域的负匹配(Hetero Learning)

简要概括:算法先从挑选一张图片,为了实现相机不变性,利用StarGAN生成一系列不同相机风格的图片,与原始图片一起组成正样本,因为训练图片来自于同一个域,这称为Homogeneous Learning。为了实现域连通性则通过采样自源域和目标域的图片进行训练,因为源域和目标域的ID不重叠,很自然地形成了一个负样本对,因其来自不同域被称为Hetero Learning,网络输入是一个triplet。

网络结构如下:

网络包含两个支路,一个是从源样本学习计算的分类交叉熵损失,另一个是相似度学习的triplet损失,是来学习前面介绍的相机不变性和域连通性,通过有标注的源样本,无标注的目标样本和相机风格转换的样本来学习。

Baseline:

作者使用在ImageNet上进行预训练的ResNet50作为骨干网络,去除了最后的1000维的全连接层,增加了两个新的全连接,第一个叫做“FC-1024”,后面接着batchnorm,ReLU和Dropout。第二个叫做“FC-#ID”,输出维度等于类别数。使用了交叉熵损失作为网络监督:

以上就是上图的第一条支路,它的目标是对于给定类别的图片训练出对ID敏感的嵌入(IDE),就是把行人再识别当作分类任务来做。

其实对于同源数据,IDE就能表现得挺不错了,但是IDE的泛化性很差,换到不同的目标数据集上效果将大打折扣。因此作者就引入了上面提到了HHL,也就是第二条支路。

在第二条支路中,“FC-#ID”被替换成了128维的全连接,并且交叉熵损失改成了triplet损失。交叉熵损失用于分类学习。triplet损失用于相似度学习。

相机不变性:

对于相机不变性有一个很直观的理解,就是同一个人不管用哪个相机拍摄的图片,网络都应该识别得出来。本着这一思想,可以想到使用GAN把一张图片转换成多个相机的风格。

如果了解Re-ID肯定知道2018 CVPR就有很多用CycleGAN做了这一研究的,作者这里使用的是StarGAN。CycleGAN只能实现两两之间的转换而StarGAN则可以实现一到多个域之间的转换,关于StarGAN的解读可以移步。StarGAN的生成效果如下:

作者选择的是目标域的图片,目标域存在了C个相机,作者对于每个图片学习生成了C种转换(其中有对应自己相机风格的一张)。目标域的原始图片表示为xit,生成图片表示为xit*,后者的数量是前者的C倍。相机不变性的三元损失公式如下:

其中triplet样本的形成规则如下:
1.先从目标域挑选一张原始图片作为anchor
2.随机挑选anchor的StarGAN合成图片作为正例

3.随机再从目标域挑选一张原始图片作为负例(这一假设严格来说是不合理的,因为每个人都有多张图片,可能就会采样到与anchor中人物相同的,但是因为数据集中负样本对数目远远大于正样本,作者用实验证明了这一假设影响不大)。

域连通性:

在行人再识别中不同域有着不同的个体,于是源域与目标域很自然地就形成了负样本对。作者使用这个特性进行域连通性学习,这样一来网络可以把原始域图片和目标域图片投影到一个共同空间,综合考虑两者之间的关系。

这里的triplet样本组织规则为:

1.首先从源域挑选一张图片作为anchor

2.再利用源域标签,再挑选一张与anchor人物相同的作为正例

3.最后从目标域随机采样一张作为负例

损失函数公式为:

 HHL:

在这篇论文中作者认为对于一个有效的行人无监督域适应系统(UDA)来说,相机不变性与域连通性是互补的。因此作者提出来在训练批中使用单个的loss来联合学习这两个方面。公式化如下:

最后与交叉熵损失结合形成总体损失,交叉熵损失提供了仅在源域上学习到的一个基础的区分能力,实验证明了它不可或缺。

转载于:https://www.cnblogs.com/Thinker-pcw/p/9787440.html

HHL论文及代码理解(Generalizing A Person Retrieval Model Hetero- and Homogeneously ECCV 2018)...相关推荐

  1. 论文阅读Generalizing A Person Retrieval Model Hetero-and Homogeneously

    论文阅读Generalizing A Person Retrieval Model Hetero-and Homogeneously 论文:Generalizing A Person Retrieva ...

  2. Generalizing A Person Retrieval Model Hetero- and Homogeneously

    1.论文:Generalizing A Person Retrieval Model Hetero- and Homogeneously 2.代码:https://github.com/zhunzho ...

  3. Generalizing A Person Retrieval Model Hetero- and Homogeneously阅读总结

    Generalizing A Person Retrieval Model Hetero- and Homogeneously Zhun Zhong, Liang Zheng, Shaozi Li,Y ...

  4. [目标检测]论文翻译代码理解-SCRDet: Towards More Robust Detection for Small, Cluttered and Rotated Objects

    2019.12.10 更新 未完结 3. The Proposed Method 首先,我们在图1中概述了我们的两阶段方法: 在第一阶段,通过添加SF-Net和MDA-Net,可以期望特征图包含更多的 ...

  5. ECCV 2018论文解读及资源集锦(8月20日更新)

    本文为极市平台原创收集,转载请附原文链接: https://blog.csdn.net/Extremevision/article/details/81875068 之前我们整理了CVPR 2018 ...

  6. faster rcnn的源码理解(一)SmoothL1LossLayer论文与代码的结合理解

    转载自:faster rcnn的源码理解(一)SmoothL1LossLayer论文与代码的结合理解 - 野孩子的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/u ...

  7. Deep Learning论文笔记之(五)CNN卷积神经网络代码理解

    Deep Learning论文笔记之(五)CNN卷积神经网络代码理解 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但 ...

  8. 图像恢复 SWinIR : 彻底理解论文和源代码 (注释详尽)

    文章目录 1. SwinIR 论文 2. SWinIR 网络结构 2.1 整体框架 2.2 浅层特征提取 2.3 深层特征提取 2.4 图像重建模块 3. 主要代码理解 3.1 SwinIR 3.2 ...

  9. fishnet:论文阅读与代码理解

    fishnet:论文阅读与代码理解 一.论文概述 二.整体框架 三.代码理解 四.总结 fishnet论文地址:http://papers.nips.cc/paper/7356-fishnet-a-v ...

  10. 关于Transformer你需要知道的都在这里------从论文到代码深入理解BERT类模型基石(包含极致详尽的代码解析!)

    UPDATE 2.26.2020 为代码解析部分配上了Jay Ammar The Illustrated GPT-2 的图示,为想阅读源码的朋友缓解疼痛! 深入理解Transformer------从 ...

最新文章

  1. 超轻量AI引擎MindSpore Lite
  2. 神经网络变成小怪兽,还能互相 battle!这款游戏用最简单的方式训练神经网络...
  3. 英特尔CEO:英特尔下一个市场将是无人驾驶汽车
  4. DataFrame 删除与增减行列
  5. 计算机强势专业大学,计算机专业实力最强的6所大学,认可度高,竞争优势大,值得选择...
  6. 数据层HikariCP与MyBatis整合
  7. 关于单链表的头插法和尾插法
  8. 关于电脑安装多个版本JDK后使用时的切换
  9. JavaScript获取本机浏览器UA助力Python爬取糗事百科首页
  10. 在《Windows程序设计》中出现过的消息
  11. 图说:Windows 8如何关机、重启
  12. html5文字云在线制作,tagul – 优秀的中文文字云标签云生成器工具
  13. 每日一练_是程序呀(每日更新)_XML
  14. html markdown插件,MarkDown编辑必备插件
  15. 新操作系统有哪些新功能?一起来看看吧!
  16. html 图像热点在线处理,html area图片热点的使用介绍附相关属性一览表
  17. 使用简单原始的办法排序CMap中的路径
  18. 【面试】2019.7.10京东校招提前批
  19. 三极管工作原理图解,快速了解三极管结构和工作原理
  20. 舌尖上的创业者:吃货小分队CEO Amy Duan|伯斯人物志

热门文章

  1. 圆弧周长公式_弧长计算公式的公式
  2. javascript中this用法
  3. 群辉linux系统搭建网站,群晖折腾 篇一:群晖Web Station 功能搭建属于自己的照片分享网站...
  4. Mac 屏幕共享和远程控制
  5. linux内核网络协议栈学习笔记:关于GRO/GSO/LRO/TSO等patch的分析和测试
  6. 抓取微信小程序数据加密内容
  7. 介词for和with 和of的用法_to for of with的用法区别
  8. 2018最佳GAN论文回顾
  9. 怎样将视频mkv转换成ape无损音乐
  10. 如何使用思维导图?思维导图绘制方法介绍