Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification阅读总结
Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification(TJAIDL)阅读笔记
这篇文章时第一次在无监督跨域reid之中引入属性的paper。
最经典的属性reid的文章当然是ZL老师组的:Improving Person Re-identifification by Attribute and Identity Learning(APR),这篇paper不仅是第一篇在reid中引入属性的,还标注Market和Due的属性,贡献很大。
但思想很简单:
图很清楚的描述了整个过程:一条支路做reid的IDE分类,另一条支路分为M条子支路,每条子支路做一个属性的二分类。然后所有损失相加(多任务)。
到那时,其实有不合理的地方。所有任务共享CNN的backbone,也就是说用于reid的支路的特征也必须用在属性分类支路。也就导致CNN学的特征必须既有利于属性分类,又有利于reid,最后就只能到底一个折衷的共享空间,即都能做,但都不强。
于是本文作者抓住这一点,提出了TJAIDL。怎么做的?
大体上还是一样,但最明显的是CNN的backbone用了两个,每个CNN都专注于自己分支的任务。上分支专门做reid,保证鉴别力。下分支做属性分类,但其实也包含了用于reid的信息,为什么这么说呢?这是因为其和c模块之间的损失做到的。具体地,xidx_{id}xid送给IIA模块,编码出一个更能表示行人ID最关键信息的特征,与此同时,由于IIA模块是重建xidx_{id}xid,因此不需要目标域的id标签,只要输入样本,经过a自然会得到xidx_{id}xid(当然目标域就不会有LidL_{id}Lid损失的监督)。之后,eIIAe_{IIA}eIIA这个与ID高度相关的特征属性分支的特征提取结果(这个分支用LattL_{att}Latt监督来的,因此学习到属性信息)做LID−transferL_{ID-transfer}LID−transfer损失监督。这个损失不像Lid,Lrec,LattL_{id},L_{rec},L_{att}Lid,Lrec,Latt那样常见(分别是交叉熵,MSE,交叉熵损失),给出其定义如下:
不难看出其实也是一个MSE损失,其致力于让属性预测分支提取的特征与ID分支的结果很近似。什么意思?
其实作者这里和APR有相通之处,也有明显的区别。APR中,属性和ID共享同一个特征空间,也就可以最终目标是让ID特征中包含属性信息,属性特征中包含ID信息。但作者指出,这样是不对的,但不对的是ID特征中包含属性信息,因为ID特征不够纯粹,也就不够鉴别力。而至于属性特征中包含ID信息,那我们根本不care,因为我们并不做属性,属性只是在辅助,污染就污染了吧(当然,如果两者高度独立,只具有对应关系,效果应该会更好)。作者的模型也是这么做的:
首先ID分支,作者让其与属性分支独立,于是设计用两个CNN backbone,而不是一个;其次,就是污染部分,作者通过让ID相关信息(eIIAe_{IIA}eIIA)和属性信息做MSE损失以尽量接近,那就导致属性特征中包含了ID信息,当然,这种污染也是必要的,因为属性是为了辅助ID,如果属性不和ID之间建立任何联系,那加了属性和没加也就没有区别。而这里作者选择eIIAe_{IIA}eIIA和属性信息做MSE损失就更加高明了,因为直接用xidx_{id}xid和属性信息做MSE损失,那就个APR没什么区别,同样导致属性信息中有ID信息,ID中也有属性信息,这是我们不希望看到的。作者通过IIA的处理就有效避开了这一点:其让eIIAe_{IIA}eIIA这个ID信息中包含属性信息,属性信息中包含eIIAe_{IIA}eIIA的ID信息,这样就不会直接去污染xidx_{id}xid,同时又建立了ID和属性的联系。当然,eIIAe_{IIA}eIIA肯定也是会在BP时污染到xidx_{id}xid,但就比直接污染的影响小多了。
最后,还有一个Latt,IIAL_{att,IIA}Latt,IIA没有解释,其到底是干嘛的?
这一块也很简单,由于前面我们说eIIAe_{IIA}eIIA的ID信息中其实包含了属性信息,但这个属性信息只是通过MSE损失得到的,如果只是MSE的话就很玄乎,会得到一个平滑的结果,未必是真实利于属性分类的,于是不妨用eIIAe_{IIA}eIIA直接去像xatt+IDx_{att+ID}xatt+ID那样做一个属性预测,也就是属性分类任务,那样就能有效强化其中属性的信息。
对比两处属性预测:
其中:
基本上是一样的。
最终IIA模块的损失为:
用以更新IIA模块,其中:
属性分支的损失为:
用以更新属性分支(加上LID−transferL_{ID-transfer}LID−transfer的目的是让属性分支的信息中包含ID信息,也就是属性分支中是xatt+IDx_{att+ID}xatt+ID而不是xattx_{att}xatt的原因)。注意这里:在源域时,LattL_{att}Latt的GT就是真实属性标签,但在目标域时,LattL_attLatt其实没有属性标签,于是作者充分利用了eIIAe_{IIA}eIIA中的属性信息,对用eIIAe_{IIA}eIIA做属性预测/分类的结果(式5中的pIIAp_{IIA}pIIA,但只取该软标签,不打成one-hot的硬标签)作为属性伪标签,来给LattL_{att}Latt当作GT。如下图:
红色箭头表示拉近距离。
ID分支的损失为:
用来更新ID分支。不过在目标域的时候,就不能更新,只能forward了(没有ID标签)。
于是,整个算法流程如下:
最后就是效果了:
在Market上达到了58的跨域rank@1,其实是很不错的效果了,而且还是第一次在跨域中引入属性,很新颖。
消融:
独立监督指的是两个支路分别训练,然后对两个支路的结果直接concat作为行人特征;联合监督指的是APR那样的。
Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification阅读总结相关推荐
- 【CVPR 2021】Joint Generative and Contrastive Learning for Unsupervised Person Re-identification
方法概述 1,提出了一种用于无监督行人重识别的联合生成对比学习框架,生成和对比模块互相提高对方的性能. 2, 在生成模块中,我们引入了3D网格生成器. 3, 在对比模块,我们提出了一种视角无关的损失, ...
- Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification
1.引入 行人重识别中无监督学习:从源域有标签数据中学习到关于行人视图不变信息的特征表示,然后将模型转移.并且使之适用到无标签数据的目标域中. 大多数现有的人员重新识别(re-id)方法都需要从每个摄 ...
- A Survey on Deep Learning Techniques for Stereo-based Depth Estimation论文阅读
第一次校正,改正了一些错误和生硬的翻译(像机器翻译一样).一定会有一些笔误.翻译不准确甚至错误的地方.还望批评指正. 1. 摘要 估计RGB图片的深度一直以来都是棘手的问题,计算机视觉.图形学.机器学 ...
- Knowledge-based Collaborative Deep Learning for Benign-Malignant Lung Nodule Classification论文阅读
作者信息: Yutong Xie, Yong Xia, Member, IEEE, Jianpeng Zhang, Yang Song, Member, IEEE, Dagan Feng, Fel l ...
- A Novel Two-stage Separable Deep Learning Framework for Practical Blind Watermarking论文阅读
A Novel Two-stage Separable Deep Learning Framework for Practical Blind Watermarking Abstract 数字水印是一 ...
- 《Deep Learning for Computer Vision with Python》阅读笔记-ImageNetBundle(第7章)-在ImageNet上训练VGGNet
//2022.2.27日下午18:33开始学习笔记 7.在ImageNet上训练VGGNet 在本章中,我们将学习如何在ImageNet数据集上从零开始训练VGG16网络架构.卷积神经网络的VGG家族 ...
- 《Deep Learning for Computer Vision with Python》阅读笔记-ImageNetBundle(第5章)-ImageNet数据集的准备
5.准备ImageNet数据集 一旦你下载了ImageNet数据集,你可能会有点不知所措.你现在有超过120万的图片驻留在磁盘上,没有一个人有"人类可读"文件的名字,没有一个明显的 ...
- Machine Learning Approach to RF Transmitter Identification
第一遍 包括以下步骤: 仔细阅读标题,摘要和介绍. 只阅读节和子节的标题,忽略其他内容. 阅读结论. 浏览一下参考文献,在心里勾出你已经读过的. 在第一遍的阅读之后,你应该能够回答下面五个问题: 类别 ...
- Deep Learning(深度学习)学习笔记整理系列
一.概述 Artificial Intelligence,也就是人工智能,就像长生不老和星际漫游一样,是人类最美好的梦想之一.虽然计算机技术已经取得了长足的进步,但是到目前为止,还没有一台电脑能产生& ...
最新文章
- cmd 修改文件属性
- java 编写线程公共类_002-java多线程工具类
- 用shape结合selector实现点击效果
- SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)
- JS中的基本和引用类型传递的比较
- python设计模式15-解释器模式
- sqlrowset 转化为json_Python 操作 JSON 的 9 个示例
- chromium 一些设置 --插件安装
- 台达伺服控制器接线图_【工控项目分享】台达ASDA-AB系列伺服驱动器——内部位置控制...
- 【原创】CSS3动画总结对比 / 带思维导图 / 启发小案例
- 支持向量回归(多核函数)
- 正确区分LJMP、AJMP、SJMP、JMP指令()
- 2021-11-24【数据结构练习题】【二叉搜索树的插入删除】
- Kaggle无法出现人机验证的解决办法
- python读取csv表格的数据并用matplotlib画曲线图
- ElasticSearch用法和IK分词器
- 艾美捷Bio-Helix CCH321 超敏ECL化学发光试剂盒(皮克级)特点
- Python 图片数据MYSQL存取(BASE64编码解码)
- 《人工智能杂记》人工智能简史
- 行业实战 | 5G+边缘计算+“自由视角” 让体育赛事更畅快
热门文章
- 「津津乐道播客」#212. 乱炖:原地爆炸的ZOOM做错了什么?
- w3c易语言教程,EPL易语言编程下载
- 科研实习 | 新加坡国立大学尤洋老师课题组招收Data-centric AI科研实习生
- 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
- 雅虎2011热门词汇搜索排行榜
- 「数据密集型系统搭建」开卷篇|什么是数据密集型系统
- 图片翻译成中文怎么弄?分享三个图片翻译小技巧
- 使用有限内存对大型数据文件排序
- 关于“智能出价“的一些探索和实践
- 帮派红包 概率_电子游戏如何教我关于连锁帮派