Unsupervised Cross-Dataset Transfer Learning for Person Re-identification(UMDL)阅读笔记

What?

学习一些潜在属性

如a中的红色上衣,b中的黑色裤子,c中的短袖,d中的牛仔

为什么能这么表示?
个人理解:我们用一个网络学习到的特征,例如2048d,可能其1-5维可以表示这个人有没有背书包,4-6维表示这个人穿的上衣颜色…,只不过这些信息对于我们来说不能理解,但其确实应该具有这些信息。那么如果我们学习一个网络,让网络将每张行人图像都映射到一个共享空间中,得到这个行人的特征,那就很容易进行reid。对于这个网络,就是文章中所提到的“字典(dictionary)”,学习的共享空间中的行人特征就是行人图像经过dictionary变换的结果。而对于跨域问题,我们只需要要求这个共享空间是域不变的就OK了,而另一些算法可能会把域特殊特征也给学出来,也只不过是一个扩展而已。而本文进一步扩展,考虑了三个方面的特征:域贡献特征(域不变特征)、目标域域特殊特征,域残差特征(每个域都有,用于学习前两个没有学到的信息,共T个,分别是T-1个源域和1个目标域的残差特征),然后就是每个特征用一个网络去学,而优化的时候注意一些流程问题就可以了。

算法如下:

xt,ix_{t,i}xt,i​表示数据集ttt中第iii张行人图像的特征表示,是一个MMM维的列向量,这个数据集中共NtN_tNt​张行人图像,于是这个数据集的所有行人特征组成一个矩阵可以表示为Xt∈RM×NtX_t \in R^{M \times N_t}Xt​∈RM×Nt​。而t∈[1,2,...T]t \in [1,2,...T]t∈[1,2,...T]分别表示T-1个源域和1个目标域。 然后我们要学习一个变换函数(文中叫做dictionary),其目的是将MMM维的行人特征变换成kkk维的新行人特征,于是这个字典维度也就很容易确定,即D∈RM×kD \in R^{M \times k}D∈RM×k。具体地,这个DDD我们考虑了三个方面,一是要求这个新的行人特征与域无关,需要是各个域都共享的,即这个dicrionary将T个域的样本的行人特征全部映射到一个新的更低维的共享空间中,记为DsD^sDs(对共T个域的样本都进行变换)。此外,还需要学习一个目标域特有的变换dictionary,从而学习目标域特殊的特征,也就相当于是在做一个域适应,记为DTuD^u_TDTu​(仅对目标域样本进行变换)。最后是再学习一个变换dictionary,干嘛呢?去学习各个域中前两者不能表达到的残差信息,记为DtrD_t^rDtr​(也同样是对T个域的样本都进行变换)。

然后就是需要构建出优化目标了,作者给出如下:

等号左边是优化后需要得到什么,等式右边是怎么优化以达到这个目的。对上面的符号,我们还进行一些解释:
其中D在前面介绍过了,那A是什么呢?A其实就是D对应的样本经过D变换后得到的更低维的行人特征(文章中叫做code),而其第iii列的结果就集为aia_iai​,如at,isa_{t,i}^sat,is​就是AtsA_t^sAts​的第iii列的结果。D的也是同理,如disd_i^sdis​就是DsD^sDs的第iii列的结果。而η\etaη和λ\lambdaλ都是权重超参。如果xt,ix_{t,i}xt,i​和xt,jx_{t,j}xt,j​是跨视野(不同相机,作者应该是重点针对了跨视野reid,而现在的精度计算都是算跨视野的,因此加了这个应该是能涨点的)下相同人的两张图像,那么wt,i,j=1w_{t,i,j}=1wt,i,j​=1,否则为0,于是就组成了Wt,t∈[1,2,...,T−1]W_t,t \in {[1,2,...,T-1]}Wt​,t∈[1,2,...,T−1],而对于目标域,由于没有标签,因此WTW_TWT​就是个全0矩阵(初始情况,其实就相当于ECN中的样本不变性,注意:这个矩阵后面会更新的,不会一直全是0的,更新后的意义也就和其他的一样了)。

逐项解释:

前两项:
第一项是学习共享特征,第二项是学习共享特征+残差特征,由于仅对源域,因此没有特殊特征,stepsize的结构,我个人理解其相当于加权作用。

中间三项:

针对目标域的,也是stepsize的结构。分别是目标域的共享特征的重构损失/误差,共享+特殊特征,共享特征+特殊特征+残差特征。

最后两项:

相当于正则。其只考虑了所有域的共享特征和目标域特殊特征,不考虑任何与的残差特征,作者说的是没什么用,解释为they are not subject to the graph Laplacian regularisation because they are either untransferrable to the target task or are view-variant thus useless for Re-ID,但其实没懂,应该也是实验的结果吧。上面两项其实是基于graph Laplacian regularisation的,可以重写为:


其中:

作者指出:这里字典学习使用F范数而不是传统的1范数,是因为1范数是稀疏的,也就是使用1范数主要为了省开销,而reid不适合用这些稀疏的表达,信息不够丰富,此外,F范数更容易优化(1范数可以理解为尖角的V函数,0点不可导)。

那剩下的交给优化就可以了,优化过程如下:

至于提到的几个公式,感兴趣的可以看原文。大致就是更新某个dictionary时,固定其他的,那这些其他的就可以看作常量了,重写一下式1再求导就得到相应的式子了。

最后一个问题

之前提到的WTW_TWT​怎么更新:
算法1执行完之后,每个目标域样本都可以通过式10得到编码的结果特征(共享+特殊+残差,只有目标域需要,源域不用算特征),如果样本iii的目标域特殊特征是样本jjj的目标域特殊特征的kkk近邻(特征之间算相似度,然后arg max操作,但这个过程不可导,因此算法其实不是端到端的),且样本jjj的目标域特殊特征是样本iii的目标域特殊特征的kkk近邻,那就让:

否则设为0就可以了。然后重新执行算法1,进入下一次迭代。作者指出,最多迭代5次就够了。

实验

(多个源数据集,因此比较不是很公平)

性能给了几个表:


stepsize和目标域特殊特征学习的消融

在别的文章中,给出了多个源数据集,在Market上的性能为: rank@1=34.5, mAP=12.4 ; 在Duke上的性能为: rank@1=18.5, mAP=7.3

Unsupervised Cross-Dataset Transfer Learning for Person Re-identification阅读总结相关推荐

  1. Transfer Learning从入门到放弃(二)

    Distant Domain Transfer Learning 前面第一篇Transfer Learning的论文是其在医学影像上的应用,这一篇主要是提出了远域迁移学习的概念,并从其结构上探讨远域迁 ...

  2. transfer learning

    Transfer learning 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练数据集.就跟其他知友回答的那样,考虑到大部分数据或任务是存在相关性的,所以通过transfer ...

  3. 迁移学习( Transfer Learning )

    转载于: http://apex.sjtu.edu.cn/apex_wiki/Transfer Learning 迁移学习( Transfer Learning ) 薛贵荣 在传统的机器学习的框架下, ...

  4. 【论文学习】《Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis》

    <Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis>论文学习 文章目 ...

  5. 【ICCV 2019】Self-similarity Grouping: A Simple Unsupervised Cross DA Approach for Person Re-id(SSG)

    下方↓公众号后台回复"SSG",即可获得论文电子资源. SSG 背景知识 Person re-identification (re-ID) unsupervised domain ...

  6. AI入门:Transfer Learning(迁移学习)

    迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中 Pokemon Dataset 通过网络上收集宝可梦的图片,制作图像分类数据集.我收集了5种 ...

  7. 李宏毅机器学习课程-Transfer Learning

    深度学习 -> 强化学习 ->迁移学习(杨强教授报告) 李宏毅机器学习课程-Transfer Learning 迁移学习-吴恩达 freeze 待处理的 理解深层神经网络中的迁移学习及Te ...

  8. 【李宏毅2020 ML/DL】P85 Transfer Learning

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 要做一项任务,但是数据不直接与任务相关.这就涉及到了迁移学习.在现实生活中,我们其实不断在做&q ...

  9. Taskonomy: Disentangling Task Transfer Learning

    [2]Zamir A, Sax A, Shen W, et al. Taskonomy: Disentangling Task Transfer Learning[J]. 2018. 目录 摘要: 1 ...

最新文章

  1. 看样子还是:JSP和JAVA
  2. iOS开发网络篇—数据缓存
  3. c++线程数量的限制
  4. 使用Android Studio向GitHub提交代码
  5. javascript --- 事件对象和事件类型
  6. ios 拍照 实现 连拍_如何在iOS设备上使用连拍模式拍照
  7. 02-css的选择器
  8. 为什么switch里的case没有break不行
  9. 华为轮值董事长徐直军:AI发展十大改变
  10. python二级题库(百分之九十原题) 刷题软件推荐
  11. 3dsmax动画渲染速度慢,渲染结果高糊的解决,图片渲染清晰,但变成动画就糊(Quicksilver硬件渲染器)
  12. 测试工程师职业要求汇总(转)
  13. 炫舞滑板机器人_教程丨自制鬼畜滑板机器人,用纸壳就能做
  14. 集合:List接口:ArrayList,LinkedList Set接口:HashSet
  15. 《点燃我温暖你》中李峋的同款爱心代码
  16. python里写中文出现 “SyntaxError: Non-ASCII character... but no encoding declared”解决方法
  17. Go使用qrcode包解析微信和支付宝二维码,生成一个链接(前端拿到链接即可解析成对应的支付二维码)
  18. 2021年江苏高考生物成绩查询,2021年江苏省高考生物考试说明.docx
  19. 测试用例的设计方法及案例
  20. php.ini修改需要重启什么

热门文章

  1. 百度云链接失效问题与解决
  2. 闭关修炼(二十五)基础web安全
  3. 用什么软件可以提高视频批量剪辑的效率
  4. 上瘾,一步步让你PICK ME
  5. 九、软考·系统架构师——系统架构质量及评估
  6. java 清理页面缓存数据_Web项目中,清理浏览器缓存的几种方式
  7. Oracle 常用工具和问题分析
  8. Python实验数据处理
  9. 优麒麟 2204 安装 Fcitx5 输入法
  10. 转:WinCE驱动开发问题精华集锦