简介:这篇文章属于跨域无监督行人再识别,不同于大部分文章它使用了属性标注。旨在于能够学习到有属性语义与有区分力的身份特征的表达空间(TJ-AIDL),并能够转移到一个没有看到过的域。

贡献:

  1. 提出了一个联合属性与身份的异质多任务无监督行人重识别深度模型
  2. 从有标注的源域图片中同时学习全局的身份信息与局部的属性信息,并通过一个身份推断属性(IIA)空间来最大化学习的有效性
  3. 提出一个属性一致框架来在无标注的目标域上进行无监督的自适应

之前工作存在的问题

Re-ID: 依赖手工特征;缺乏有效域适应能力;单独利用身份与属性标注信息忽略了它们的联系与互补性

Re-ID的属性:语义协作表达对身份识别来说没有卷积特征向量有效,因为:属性协助表达通常是低维的,所以区分力不够;在标注数据比较稀疏而且行人图片质量不高时,一次预测出所有属性比较困难。

TJ-AIDL的特殊性:

  1. 不同于身份标签,属性检测是一个多标签识别问题,因为一个行人照片会同时对应几个标注
  2. 身份与属性监督对应了不同级别的约束:许多属性都是对应了某一个图片区域而身份标签则对应整张图片,所以两者结合在一起能够学习到一个更加全面的表达空间

方法:

整体的模型框架图如下所示,使用一个多分支的网络结构来进行有监督的异质多任务学习。上面的身份分支来在源域中提取Re-ID的敏感信息;下面的属性分支来从属性标签提取语义信息;后面的身份推断空间IIA使得这两种信息和谐地融合在一起。在测试时,选择训练好的属性分支来提取特征表达进行检索。整个网络的训练分为两步,一是在有标注的源域数据上进行监督训练,二是在无标注的目标域上进行域适应。

一:源域数据上的监督训练

首先介绍第一步,就是在源域数据上进行监督训练,这里的CNN用的是轻量化的MobileNet,身份分支(a)的监督损失如下,是一个常见的交叉熵损失:

下面的属性分支(b)的监督损失其实就是如下的BCELoss,因为属性预测是一个多label的问题。

现在这两者之间是独立的,一般的做法是建立一个多任务联合学习框架在这两个约束下映射到一个共享的特征空间。但是这篇文章提出了一个更加高效的多源信息融合框架,与之前方法的准确率对比如下:

这一框架就是身份推断属性空间(c),简称为IIA.它使用的自动编码机结构,理由如下:(1)自动编码机能够在给定的目标任务下提取输入数据的重要信息并通过一个简洁的特征向量表示出来;(2)这样的一个简洁的特征表达能够简化任务间的信息传递,同时为每个单独任务的学习保留自由的更新空间。

使用身份分支a的特征向量作为IIA的输入与重建输出的真值,首先是一个IIA的均方误差重建损失:

通过上面这个损失我们得到了eIIA,它是重要身份信息的编码,使用它在分支间传递信息。向属性分支的传递也使用的是均方误差:

因为eIIA是使用一个无监督方式得到的,它可能偏离了对应的属性预测,比较难以对齐,所以给eIIA加了属性预测。

与IIA有关的损失就是将这三者加起来:

IIA对身份分支的影响:无影响,因为IIA采用的输入就是身份分支得到的特征表达,所以得到的eIIA不需要对身份分支特征进行约束

IIA对属性分支的影响:加了一个eIIA与属性向量的均方误差约束,所以属性有关的约束变成了:

二:无监督的目标域适应

这里的跨域是基于属性一致性原则。这基于一个观察,也就是训练好的TJ-AIDL模型在两个不同的属性视角有着更小的差异。如下所示:

然后这篇文章就使用这两者之间的差异来显示模型在给定域上是否契合。

因为在测试时使用的是属性分支,所以目标是对属性分支进行适应而不用去管身份分支的更新。更新算法如下:

  1. 将源域上训练好的TJ-AIDL模型放到无标注的目标域来从属性分支得到属性预测patt,t
  2. 之后使用得到的软标签patt,t来作为伪标签来更新属性分支和IIA来减小域间的属性差异。直觉上,软标签保留了从源域获得的最具区分力的属性能够防止模型过度漂移。
  3. 在目标域上进行适应直到模型收敛。

整体算法如下:

Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification理解的更多相关文章

  1. Deep learning:四十一(Dropout简单理解)

    前言 训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种trikc供选择.Dropout是hintion最近2年提出的,源于其文章Improving neural n ...

  2. 深度学习阅读列表 Deep Learning Reading List

    Reading List List of reading lists and survey papers: Books Deep Learning, Yoshua Bengio, Ian Goodfe ...

  3. (转)WHY DEEP LEARNING IS SUDDENLY CHANGING YOUR LIFE

    Main Menu Fortune.com       E-mail Tweet Facebook Linkedin Share icons By Roger Parloff Illustration ...

  4. Deep Learning(深度学习)学习笔记整理

    申明:本文非笔者原创,原文转载自:http://www.sigvc.org/bbs/thread-2187-1-3.html 4.2.初级(浅层)特征表示 既然像素级的特征表示方法没有作用,那怎样的表 ...

  5. Deep learning的一些教程 (转载)

    几个不错的深度学习教程,基本都有视频和演讲稿.附两篇综述文章和一副漫画.还有一些以后补充. Jeff Dean 2013 @ Stanford http://i.stanford.edu/infose ...

  6. 【转载】Deep Learning(深度学习)学习笔记整理

    http://blog.csdn.net/zouxy09/article/details/8775360 一.概述 Artificial Intelligence,也就是人工智能,就像长生不老和星际漫 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. [DEEP LEARNING An MIT Press book in preparation]Deep Learning for AI

    动人的DL我们有六个月的时间,积累了一定的经验,实验,也DL有了一些自己的想法和理解.曾经想扩大和加深DL相关方面的一些知识. 然后看到了一个MIT按有关的对出版物DL图书http://www.iro ...

  9. Deep Learning速成教程

          引言         深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...

随机推荐

  1. Vue Router的简单了解

    Vue Router Vue Router官方文档 传统Web项目开发往往采用超链接实现页面之间的切换和跳转.Vue开发的是单页面应用(Single Page Application,SPA),不能使 ...

  2. 【题解】金牌导航-高斯消元/Luogu P3232 游走

    题目描述: 详细分析: 我们对于编号的分配,很明显可以发现如下的分配就是期望最小的:对经过的期望次数越大的边赋予更小的编号. 那么问题就转化为了怎么求一条边的经过的期望次数,我们发现边数非常大所以肯定 ...

  3. SpringBoot 如何进行参数校验

    为什么需要参数校验 在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数进行校验,例如登录的时候需要校验用户名和密码是否为空,添加用户的时候校验用户邮箱地址.手机号码格式是否正确. ...

  4. FreeRTOS --(7)任务管理之入门篇

    转载自 https://blog.csdn.net/zhoutaopower/article/details/107019521 任务管理是操作系统中重中之重,不管什么 OS ,任务的调度管理都是核心 ...

  5. javaScript中Math内置对象基本方法入门

    概念 Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法. Math 不是一个函数对象,用户Number类型进行使用,不支持BigInt. Math 的所有属性与方法都是 ...

  6. 一个比 Nginx 功能更强大的 Web 服务器

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Caddy 简介 Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx,Caddy 提供了更加强大的功能,随 ...

  7. 【面试普通人VS高手系列】为什么要使用Spring 框架?

    一个工作了4年的小伙伴,他说他从线下培训就开始接触Spring,到现在已经快5年时间了. 从来没有想过,为什么要使用Spring 框架. 结果在面试的时候,竟然遇到一个这样的问题. 大脑一时间短路了, ...

  8. Kubernetes API 基础

    APIServer 在kubernetes架构概念层面上,Kubernetes由一些具有不同角色的服务节点组成.而master的控制平面由 Apiserver Controller-manager 和 ...

  9. 929. Unique Email Address - LeetCode

    Question 929. Unique Email Address Solution 题目大意: 给你一个邮箱地址的数组,求出有多少个不同的地址,其中localName有如下规则 加号(+)后面的字 ...

  10. 767. Reorganize String - LeetCode

    Question 767. Reorganize String Solution 题目大意: 给一个字符串,将字符按如下规则排序,相邻两个字符一同,如果相同返回空串否则返回排序后的串. 思路: 首先找 ...