简介:这篇文章属于跨域无监督行人再识别,不同于大部分文章它使用了属性标注。旨在于能够学习到有属性语义与有区分力的身份特征的表达空间(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. 【Azure 环境】使用Microsoft Graph PS SDK 登录到中国区Azure, 命令Connect-MgGraph -Environment China xxxxxxxxx 遇见登录错误

    问题描述 通过PowerShell 连接到Microsoft Graph 中国区Azure,一直出现AADSTS700016错误, 消息显示 the specific application was ...

  2. 5. VIM编辑器

    Vim编辑器中设置了3种模式-命令模式.末行模式和编辑模式 命令模式:控制光标移动,可对文本进行复制.粘贴.删除和查找等工作. 输入模式:正常的文本录入. 末行模式:保存或退出文档,以及设置编辑环境. ...

  3. FreeRTOS --(2)内存管理 heap1

    转载自https://blog.csdn.net/zhoutaopower/article/details/106631237 FreeRTOS 提供了5种内存堆管理方案,分别对应heap1/heap ...

  4. Flatbuffers学习

    flatbuffers简介 FlatBuffers 是一个(二进制 buffer)序列化开源库,由 Google 开源现在它支持C++, C#, C, Go, Java, Kotlin, JavaSc ...

  5. delete-drop语句生成的存储过程

    问题: 开发时有时候需要对很多表进行操作. 例如:清空(删除)所有(某些)表,删除所有表某时间点之后导入的数据(类似于回滚) 解决方式: 对选定的表集合执行相同的查询条件(可为空),如果这个执行结果大 ...

  6. JS 一些概念

    JS 内存机制 基本类型: String | Boolean | Undefined | Number | Nll | Symbol 数据保存在"栈"--先进后出. 数据类型: A ...

  7. linux fedora35 配置jdk,安装mysql,安装tomcat

    配置jdk18很简单,下载jdk,只需要.tar.gz结尾的文件就行,https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.t ...

  8. 隐藏浏览器header中X-Powered-By: PHP信息

    在php程序中,默认会在http请求响应头中输出php版本信息.如下: HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 Date: Tue ...

  9. Volatile的学习

    首先先介绍三个性质 可见性 可见性代表主内存中变量更新,线程中可以及时获得最新的值. 下面例子证明了线程中可见性的问题 由于发现多次执行都要到主内存中取变量,所以会将变量缓存到线程的工作内存,这样当其 ...

  10. TS 自学笔记(一)

    TS 自学笔记(一) 本文写于 2020 年 5 月 6 日 日常废话两句 有几天没有更新了,最近学的比较乱,休息了两天感觉好一些了.这两天玩了几个设计软件,过几天也写篇文章分享分享. 为啥要学 TS ...