注:原创不易,转载请务必注明原作者和出处,感谢支持!

相关背景

行人再识别(Person Re-identification, Person ReID)是指给定一个行人的图片/视频(probe),然后从一个监控网络所拍摄的图片/视频(gallery)库中识别出该行人的这个一个过程。其可以看做是一个基于内容的图像检索(CBIR)的一个子问题。

论文题目:Person Transfer GAN to Bridge Domain Gap for Person Re-identification

来源:CVPR 2018

摘要:Although the performance of person Re-Identification(ReID) has been significantly boosted, many challengins issues in real scenarios have not been fully investigated, e.g., the complex scenes and lighting variations, viewpoint and pose changes, and the large number of identities in a camera network. To facilitate the research towards conquering those issues, this paper contributes a new dataset called MSMT17 with many important features, e.g., 1) the raw videos are taken by an 15-camera network deployed in both indoor and outdoor scenes, 2) the videos cover a long period of time and present complex lighting variations, and 3) it contains currently the largest number of annotated identities, i.e. 4101 identities and 126441 bounding boxes. We also observe that, domain gap commonly exists between datasets, which essentially causes severe performance drop when training and testing on different datasets. This results in that available training data cannot be effectively leveraged for new testing domains. To relieve the expensive costs of annotating new training samples, we propose a Person Transfer Generative Adversarial Network(PTGAN) to bridge the domain gap. Comprehensive experiments show that the domain gap could be substantially narrowed-down by the PTGAN.

主要内容

MSMT17

数据集网址:http://www.pkuvmc.com

针对目前Person ReID数据集存在的缺陷:

  • 数据量规模小
  • 场景单一
  • 数据采集的时间跨度短,光照变化不明显
  • 数据标注方式不合理

本文发布了一个新的Person ReID数据集——MSMT17。MSMT17是目前为止数据量规模最大的Person ReID数据集。共有126441个Bounding Boxes,4101个Identities,15个Cameras,涵盖了indoor和outdoor两个场景,Detector用的是更为先进的Faster RCNN。

Person Transfer GAN(PTGAN)

Domain Gap现象

举个例子,比如在CUHK03数据集上训练好的模型放到PRID数据集上测试,结果rank-1的准确率只有2.0%。在不同的Person ReID数据集上进行算法的训练和测试会导致ReID的性能急剧下降。而这种下降是普遍存在的。这意味着基于旧有的训练数据训练到的模型无法直接应用在新的数据集中,如何降低Domain Gap的影响以利用好旧有的标注数据很有研究的必要。为此本文提出了PTGAN模型。

造成Domain Gap现象的原因是复杂的,可能是由于光照、图像分辨率、人种、季节和背景等复杂因素造成的。

比如,我们在数据集B上做Person ReID任务时,为了更好地利用现有数据集A的训练数据,我们可以试着将数据集A中的行人图片迁移到目标数据集B当中。但由于Domain Gap的存在,在迁移时,要求算法能够做到以下两点:

  1. 被迁移的行人图片应该具有和目标数据集图片相一致的style,这是为了尽可能地降低因为style不一致所导致的Domain Gap所带来的性能下降。
  2. 具有区分不同行人能力的外观特征(appearance)和身份线索(identity cues)应该在迁移之后保持不变!因为迁移前和迁移后的行人具有相同的label,即他们应该是同一个人。

因为Person Transfer与Unpaired Image-to-Image Translation任务类似,所以本文选择在Unpaired Image-to-Image Translation任务中表现优异的Cycle-GAN模型基础上,提出了Person Transfer GAN模型。PTGAN模型的loss函数\(L_{PTGAN}\)被设计成如下公式:
\[
L_{PTGAN} = L_{Style} + \lambda_1L_{ID}
\]
其中:
\(L_{Style}\):the style loss
\(L_{ID}\):the identity loss
\(\lambda_1\):the parameter for the trade-off between the two losses above

定义下列符号,则\(L_{Style}\)可以表示成:
\(G\):the style mapping function from dataset A to dataset B
\(\overline{G}\):the style mapping function from dataset B to dataset A
\(D_A\):the style discriminator for dataset A
\(D_B\):the style discriminator for dataset B

\[
L_{Style} = L_{GAN}(G, D_B, A, B) + L_{GAN}(\overline{G}, D_A, B, A) + \lambda_2L_{cyc}(G, \overline{G})
\]
其中:
\(L_{GAN}\):the standard adversarial loss
\(L_{cyc}\):the cycle consistency loss

定义下列符号,则\(L_{ID}\)可以表示成:
\(a\)和\(b\):original image from dataset A and B
\(G(a)\)和\(\overline{G}(b)\):transferred image from image a and b
\(M(a)\)和\(M(b)\):forground mask of image a and b

\[
L_{ID} = \mathbb{E}_{a \sim p_{data}(a)}\left[\left\| (G(a) - a) \odot M(a)\right \|_2\right] + \mathbb{E}_{b \sim p_{data}(b)}\left[\left\| (\overline{G}(b) - b) \odot M(b)\right \|_2\right]
\]

迁移效果图

总结

  • 本文发布了一个更接近实际应用场景的新数据集MSMT17,因其更接近实际的复杂应用场景,使得MSMT17数据集更具挑战性和研究价值
  • 本文提出了一个能够降低Domain Gap影响的PTGAN模型,并通过实验证明其有效性

Person Transfer GAN to Bridge Domain Gap for Person Re-identification的更多相关文章

  1. Can Microsoft’s exFAT file system bridge the gap between OSes?

    转自:http://arstechnica.com/information-technology/2013/06/review-is-microsofts-new-data-sharing-syste ...

  2. 贫血模型;DTO:数据传输对象(Data Transfer Object);AutoMapper ;Domain Model(领域模型);DDD(领域驱动设计)

    ====================== 我自己的理解 ========================== 一:  DTO  我自己的理解,就是 比如你有一个类,跟数据库的table表结构一模一 ...

  3. (转)Awsome Domain-Adaptation

    Awsome Domain-Adaptation 2018-08-06 19:27:54 This blog is copied from: https://github.com/zhaoxin94/ ...

  4. CVPR2018资源汇总

    CVPR 2018大会将于2018年6月18~22日于美国犹他州的盐湖城(Salt Lake City)举办. CVPR2018论文集下载:http://openaccess.thecvf.com/m ...

  5. CVPR-2018 那些有趣的新想法

    Taylor Guo @ Shanghai - 2018.10.18 缘起 还有什么比顶级会议更适合寻找有趣新想法的地方吗?我们从CVPR 2018 计算机视觉和模式识别的顶级会议中发现了很多有趣的东 ...

  6. 行人重识别(ReID) ——基于深度学习的行人重识别研究综述

    转自:https://zhuanlan.zhihu.com/p/31921944 前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视 ...

  7. AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华

    注:本文来自机器之心的PaperWeekly系列:万字综述之生成对抗网络(GAN),如有侵权,请联系删除,谢谢! 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian G ...

  8. A Gentle Introduction to Transfer Learning for Deep Learning | 迁移学习

    by Jason Brownlee on December 20, 2017 in Better Deep Learning Transfer learning is a machine learni ...

  9. PatentTips - Cross-domain data transfer using deferred page remapping

    BACKGROUND OF THE INVENTION The present invention relates to data transfer across domains, and more ...

随机推荐

  1. Delphi IfThen语句

    function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string; overload; $[StrU ...

  2. Linux(三)——Unix&Linux 的基础命令

    Linux(三)--Unix&Linux 的基础命令 快捷键 Ctl-A 光标移动到行首 Ctl-C 终止命令 Ctl-D 注销登录 Ctl-E 光标移动到行尾 Ctl-U 删除光标到行首的所 ...

  3. SSH服务与tcp wrappers实验

    SSH服务与tcp wrappers实验 实验环境: 一台linux(ssh client) 一台linux(ssh server) 实验步骤: 1.配置IP,测试连通性 2.在客户端创建用户yuzl ...

  4. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行

    ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验   最近需要讲AntD Pro项目(以 ...

  5. golang 实现HTTP代理和反向代理

    正向代理 package main import ( "fmt" "io" "net" "net/http" " ...

  6. Linux学习-汇总

    1.基础linux学习 Linux-基础学习(一)-基本命令 Linux-基础学习(二)-基本部署 Linux-基础学习(三)-Nginx学习 Linux-基础学习(四)-部署图书管理系统项目 Lin ...

  7. Shell中数组的使用

    数组是一个很有用的数据结构,经常使用的功能有初始化,遍历,查找,获取数组长度等操作 一.初始化 小括号中使用空格分开的数据结构就是一个数组,也可使用下标添加元素 arr=(1 'nice' '2day ...

  8. 关联分析中寻找频繁项集的FP-growth方法

    关联分析是数据挖掘中常用的分析方法.一个常见的需求比如说寻找出经常一起出现的项目集合. 引入一个定义,项集的支持度(support),是指所有包含这个项集的集合在所有数据集中出现的比例. 规定一个最小 ...

  9. (二)jdk8学习心得之Lambda表达式

    二.Lambda表达式 1. 格式 (参数1,参数2,…,参数n)->{方法体} 注意: (参数1,参数2,...,参数n)要与方法接口中的参数一致,但是名字可以不一样. 此外,方法类型接口,有 ...

  10. Python Scrapy项目创建(基础普及篇)

    在使用Scrapy开发爬虫时,通常需要创建一个Scrapy项目.通过如下命令即可创建 Scrapy 项目: scrapy startproject ZhipinSpider 在上面命令中,scrapy ...