行人重识别之泛化能力

Distilled Person Re-identification: Towards a More Scalable System
原文链接:http://openaccess.thecvf.com/content_CVPR_2019/papers/Wu_Distilled_Person_Re-Identification_Towards_a_More_Scalable_System_CVPR_2019_paper.pdf

如题所示,本文主要为了提升行人重识别的泛化能力,也可以说是应用性。具体从3个方面入手,作者总结的很到位:

  1. 降低标签成本(减少标签的需求量)
  2. 降低跨数据库成本(利用一些先验知识)
  3. 降低测试成本(使用轻量级网络)

这篇文章的数学公式较多,喜欢数学的朋友可以参考原文。这里重点介绍其思想。


整体框架如图所示,主要是蒸馏学习的思想。训练时只需要target数据库中的10个标签信息,解决了标签问题;使用了多个老师模型,利用了先验知识,解决了跨数据库问题;学生模型使用了轻量级网络,解决了计算量问题。

按照实现流程来进行分块介绍:

  • 使用不同的数据库(source)训练多个老师模型,训练结束后,再也不需要source数据库。
  • ImageNet初始化学生模型。
  • 将目标数据库(target)随机分为有标签部分(10个身份足矣)和无标签部分。
  • 分别利用以上模型提取target中每一张图像的特征向量x。
  • 根据x计算出相似度矩阵A,A中第i行第j列代表图像i和图像j的匹配概率。
  • 使用Lver更新每一个老师模型的权重a(可以理解为,权重越大,该老师模型对应的source和target越相似)。
  • 计算出每一个老师模型和学生模型得到的相似矩阵的差异,并使用上述的权重加权,从而得到Lta。
  • 使用Lta对学生模型进行更新。
  • 循环训练。

看到这,对整体框架有了一定的把握。但是会有一个问题:

如何更新各个老师模型的权重?
最开始,每一个权重被平均分配,比如4个老师模型,那么权重就都是0.25。然后,利用计算出的Lta对学生模型计算的特征向量x进行更新。然后,根据更新后的x计算Lver。最后对Lver进行求导,从而更新权重。

重点来了,如何计算Lver?
作者使用了很巧妙的方法:

x是特征向量,s代表这是针对student模型,N代表batchsize,p代表一对正样本,即i和j构成正样本对,k和i、j都构成负样本对。正样本对利用了上述的10组使用标签的数据,由于使用标签的和不使用标签的不重合,所以从不使用标签的随机选一个样本就可以和使用标签的样本构成负样本对。我们希望正样本对乘积大,负样本对乘积小,最后就构成了该损失函数。
虽然只使用了10组有标签的样本(实验证明使用1组就有很大改善),但是因为只利用该损失更新老师模型所占权重,不更新其它参数,所以不会发生过拟合问题。换句话说,这10组使用标签的数据就是在告诉模型,target和哪一个source更相似。

直观感受一下,附上训练中权重的变化图:对应的target是market1501

总结:难得一见得好文章,三个问题很实际,想法很新颖,实验很充分。具体的数学细节推荐大家参考原文,不难看懂。同时,提醒我们,无监督的re-ID的时代已经到来。


欢迎讨论 欢迎吐槽

Distilled Person Re-identification: Towards a More Scalable System相关推荐

  1. Reliable, Scalable, and Maintainable Applications 高可靠、易扩展、易运维应用

    寻找翻译本书后续章节合作者  微信:18600166191 ---------------------------------- PART I Foundations of Data Systems ...

  2. 【CVPR2019】论文完整列表一

    CVPR 2019 Paper list No.1-1000 ?CVPR2019 完整列表二 论文题目与链接 Finding Task-Relevant Features for Few-Shot L ...

  3. CVPR2019论文题目中文列表

    英文题目 中文题目   Finding Task-Relevant Features for Few-Shot Learning by Category Traversal 少镜头学习中用类别遍历法寻 ...

  4. (九:2020.08.27)CVPR 2019 追踪之论文纲要(译)

    CVPR 2019 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  5. CVPR学习(二):CVPR2019-行人重识别

    一.Oral Joint Discriminative and Generative Learning for Person Re-identification. Zhedong Zheng; Xia ...

  6. [转] Real-World Concurrency

    Real-world Concurrency Chances are you won't actually have to write multithreaded code. But if you d ...

  7. 史上最全的 Stata 外部命令一览

    Stata现场班-精品专题:课程介绍 Stata连享会 精品专题 || 精彩推文   Source: Archive of user-written Stata packages 导言 这里汇集了截至 ...

  8. 北京理工大学计算机学院张教授,张子剑_北京理工大学计算机学院

    代表性学术成果 1. Yiwei Liu, Jiamou Liu, Zijian Zhang, Liehuang Zhu, Ansheng Li. REM: From Structural Entro ...

  9. 并发编程的15 条建议

    内核专家 Bryan Cantrill 和 Jeff Bonwick 在 2008 年 9 月的<ACM Queue>上发表了<Real-world Concurrency> ...

最新文章

  1. cocos lua 加密方案
  2. (19)C++项目练习二----------【音乐播放器】
  3. wamp安装多版本php,WampServer下安装多个版本的PHP、mysql、apache图文教程
  4. 2007上半年網絡工程師考題
  5. 【IT笔试面试题整理】二叉树中和为某一值的路径--从根到叶子节点
  6. 第一个程序 快速编译链接的办法
  7. Android 渗透测试学习手册 第七章 不太知名的 Android 漏洞
  8. 解决vscode连接远程服务器remote-ssh连接不上的问题
  9. C++标准转换运算符:const_cast
  10. Java中String,StringBuffer,StringBuilder的区别及其使用
  11. 微波工程(7)——谐振器理论
  12. 水经注下载地图,导出arcgis瓦片,然后通过geoserver+geowebcache发布地图
  13. 手把手教你使用R语言做竞争风险模型并绘制列线图
  14. 易行长指出了利率市场化”最后一枪“
  15. 吃什么食物对眼睛最好
  16. express+socket.io 共享session
  17. life: zz 关于爱情
  18. html怎么设置一个表格的宽度一样吗,html表格单元格大小 怎样在html中设置所有表格大小一样...
  19. 一种简单的抽签/抽奖算法逻辑
  20. 2022大学生免费(24元)申请个人软著专利(微信小程序)

热门文章

  1. 小波变换的尺度函数和小波函数分析
  2. atheros有线网卡LINUX驱动,新版Atheros AR81系列有线驱动
  3. access百度翻译 get_PowerShell调用百度翻译API
  4. 单点登录是如何实现的?
  5. 北大前沿交叉学院数据科学计算机,北京大学数据科学(统计学)考研经验-北大前沿交叉学科研究院考研...
  6. C/C++编程题之圆桌游戏
  7. lookout筛选相同信息_练习试题 - 2014年英语四级考试每日一练(7月25日) - 233网校英语四级考试题库 - 233网校...
  8. 计算机网络(五)DNS、HTTP和HTTPS
  9. 家庭媒体中心解决方案(四、 群晖系列nas基本功能使用指南篇2)
  10. [CSDN]我的2013,好久不见