《Stepwise Metric Promotion for Unsupervised Video Person Re-identification》 ICCV 2017
Motivation:
这是ICCV 17年做无监督视频ReID的一篇文章。这篇文章简单来说基于两个Motivation。
- 在不同地方或者同一地方间隔较长时间得到的tracklet往往包含的人物是不同的
- 一个tracklet里面,大多数图片帧对应的都是同一个人
以上两点虽然是假设,但是也是满足大部分条件下的客观事实,之后的一些操作便是基于这两点假设展开。
Introduction:
这篇文章的出发点在于避免ReID领域令人头疼的标注工作。至于为什么做基于Video的ReID作者解释道首先是因为video比image多很多信息,比如时空线索以及姿势变化等,并且video需要的tracklet也容易使用目标追踪技术得到,同时video也能够抵抗一些背景噪声。
作者提出了一个渐进的学习框架。如果研究过无监督行人重识别,那么一定知道其中一个常见的方法就是打伪标签,然后不断在特征学习与伪标签赋值这两个过程中迭代以促进提取到的特征的准确性。这篇文章的做法也是这样,其流程如下所示。
Method:
从以上的框架图可以看出这篇文章主要需要讲清楚三件事情,一个是如何进行模型初始化,第二个是如何进行标签估计,以及如何使用估计标签进行模型更新。
(1)模型初始化
因为需要打伪标签,所以我们先要有一个基本可靠的模型。这里作者就基于两个假设出发,在行人重识别问题中,不同的相机对应着不同的地点,而同一相机下,只要保证拍摄间隔比较长,那么追踪得到的tracklet往往就是不同人物的。所以我们可以在同一个相机下得到$N$个不同人物的tracklet,而每个tracklet里面拥有$n_{i}, i=1, \dots, N$张图片,一个tracklet里面的$n_{i}$张图片按照假设2来说是拥有同一身份的。所以这就从假设出发构建了一个天然存在的标签关系,就能够使用这些图片去初始化模型。
当然,问题并没有至此解决,因为行人重识别中真正困难的部分在于跨摄像头匹配,这样单一相机下学习到的模型往往在遇到多相机的匹配时就歇菜了。虽然表现不强,但是对于初始模型还是ok的。比如,作者使用MARS数据集的相机1做训练,之后在其他摄像头下执行搜索,效果如下所示:
(2)伪标签估计
这一步是这篇文章的重点,同样是基于前面两个假设。比如现在我们存在一个probe名为tracklet $p$,并且我们知道它是来自哪个相机的。现在我们用初始模型在这个相机下对$p$做检索,可以得到$M$个近邻 $x_{p}^{1}, x_{p}^{2}, \ldots, x_{p}^{M}$,基于假设1,这些tracklet一定和probe $p$包含的人物不同(如果$y_{p}$为1,它们则为0 ),我们令$X=\left\{x_{p}, x_{p}^{1}, \ldots, x_{p}^{M}\right\}$,对应的标签为$Y_{L}=\left\{y_{p}, y_{p}^{1}, \ldots, y_{p}^{M}\right\}$。可知$Y_{L}$是已知的。
之后呢,我们在gallery中再对$p$进行检索,得到K个近邻$Y_{U}=\left\{y_{g}^{1}, \ldots, y_{g}^{K}\right\}$,它们对应的标签为$Y_{U}=\left\{y_{g}^{1}, \ldots, y_{g}^{K}\right\}$,这些标签是未知的。现在我们的目标是利用$X$和$Y_{L}$来估计$Y_{U}$。
为了做到这一点,首先需要建立样本之间关联,作者使用Mahalanobis 来做距离度量,$\sigma$是一个控制参数,使用了类似于softmax的方法来标准化样本间相似度。
$w_{i, j}=\exp \left(-\frac{d_{i, j}}{\sigma^{2}}\right)$
$P_{i, j}=\frac{w_{i, j}}{\sum_{k=1}^{K+M+1} w_{k, j}}$
这里的$P_{i, j}$就代表的是样本j和i的相似度。同样还定义了一个标签矩阵$\boldsymbol{Y}$,前面的$(K+1)$行是$Y_{L}$,剩下的是$Y_{U}$。标签传播为$Y \leftarrow P Y$。其中$Y_{L}$应该永远保持不变,我们把$P$分为四个部分:
$P=\left[\begin{array}{ll}{P_{L L}} & {P_{L U}} \\ {P_{U L}} & {P_{U U}}\end{array}\right]$
所以$Y_{U}=\left(I-P_{U U}\right)^{-1} P_{U L} Y_{L}$。
通过以上我们可以在$Y_{U}$中找出最大值位置所对应的gallery样本,然后将这一样本也进行上述操作,再查看它的最大值处是否对应为$p$。如果满足这一条件,则两者标签一致,也就是互近邻的关系。
(3)模型更新
作者这里将XQDA推广到无监督的U-XQDA,来对所有训练样本学习一个统一的投影$W$和距离度量$M$。在XQDA中W对应的Generalized Rayleigh Quotient 为:
$J(W)=\frac{W^{\top} \Sigma_{E} W}{W^{\top} \Sigma_{I} W}$
这里$\boldsymbol{\Sigma}_{I}$和$\Sigma_{E}$分别是类内差异和类间差异。对比XQDA,作者提出的方法利用标签自动标记集S1和标签估计集S2来更新模型。所以目标函数被写成是:
$J(W)=\frac{W^{\top}\left(\Sigma_{E, S_{1}}+\Sigma_{E, S_{2}}\right) W}{W^{\top}\left(\Sigma_{I, S_{1}}+\Sigma_{I, S_{2}}\right) W}$
上面的$\Sigma_{E, S_{1}}, \Sigma_{E, S_{2}}$和$\Sigma_{I, S_{1}}, \Sigma_{I, S_{2}}$是类外差异和类内差异。这个最大化问题也可以通过广义特征值分解来求解。
如上图所示,更新完模型后,就会再次用模型来估计标签和关联跨视角的tracklet。这两个过程不断迭代,直到不再产生新的跨视角tracklet对。
(4)测试阶段
作者认为目前的所有基于视频的行人重识别方法都是在通过max-pooling使用点对点的距离来衡量相似度,而这里在训练阶段(比如无标签样本关联)和测试阶段都使用set-to-set的距离来度量tracklet可以带来更好的表现。
Experiments:
《Stepwise Metric Promotion for Unsupervised Video Person Re-identification》 ICCV 2017的更多相关文章
- 《数字图像处理原理与实践(MATLAB文本)》书代码Part7
这篇文章是<数字图像处理原理与实践(MATLAB文本)>一本书的代码系列Part7(由于调整先前宣布订单,请读者注意分页程序,而不仅仅是基于标题数的一系列文章),第一本书特色186经225 ...
- 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》
论文阅读:Face Recognition: From Traditional to Deep Learning Methods <人脸识别综述:从传统方法到深度学习> 一.引 ...
- 《Java程序设计与数据结构教程(第二版)》学习指导
<Java程序设计与数据结构教程(第二版)>学习指导 欢迎关注"rocedu"微信公众号(手机上长按二维码) 做中教,做中学,实践中共同进步! 原文地址:http:// ...
- 《zw版·Halcon入门教程与内置demo》
<zw版·Halcon入门教程与内置demo> halcon系统的中文教程很不好找,而且大部分是v10以前的版本. 例如,QQ群: 247994767(Delphi与halcon), 共享 ...
- 《开源安全运维平台:OSSIM最佳实践》内容简介
<开源安全运维平台:OSSIM最佳实践 > 李晨光 著 清华大学出版社出版 内 容 简 介在传统的异构网络环境中,运维人员往往利用各种复杂的监管工具来管理网络,由于缺乏一种集成安全运维平台 ...
- [转载]《民航科技》2012年4月专家论坛:程延松《关于中国民航SWIM框架及技术实现探讨》
专家介绍:程延松,现任成都民航空管发展有限公司总经理,理学博士,高级工程师,长期从事空管技术研究和产品研发工作,作为课题负责人,参与了国家863计划.国家科技支撑计划.国家空管委重点课题.民航局重点课 ...
- 《隆重介绍 思源黑体:一款Pan-CJK 开源字体》
关于思源黑体 思源黑体是谷歌与 Adobe 联合开发,支持简体中文.繁体中文.日文.韩文以及英文:支持 ExtraLight.Light.Normal.Regular.Medium.Bold 和 He ...
- 2015年8月18日,杨学明老师《技术部门的绩效管理提升(研讨会)》在中国科学院下属机构CNNIC成功举办!
2015年8月18日,杨学明老师为中国网络新闻办公室直属央企中国互联网络中心(CNNIC)提供了一天的<技术部门的绩效管理提升(研讨会)>培训课程.杨学明老师分别从研发绩效管理概述.研发绩 ...
- 《介绍一款开源的类Excel电子表格软件》续:七牛云存储实战(C#)
两个月前的发布的博客<介绍一款开源的类Excel电子表格软件>引起了热议:在博客园有近2000个View.超过20个评论. 同时有热心读者电话咨询如何能够在SpreadDesing中实现存 ...
随机推荐
- 多线程的创建,并发,静态代理,Lambda表达式
程序是指令和数据的有序集合,本身没有任何运行的含义.是一个静态的概念. 在操作系统中运行的程序就是进程(Process),如:QQ,播放器,游戏等等. 进程是程序的一次执行过程,是一个动态的概念,是系 ...
- JS_简单的效果-鼠标移动、点击、定位元素、修改颜色等
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- pgpool-II 4.3 中文手册 - 入门教程
本章解释了如何开始使用 Pgpool-II. 安装 在本节中,我们假设您已经安装了 Pgpool-II 与 PostgreSQL 集群. 你的第一个复制(Replication) 在本节中,我们将解释 ...
- vue build 指定环境
前言 其实很简单的东西,搜索时很是费劲,特此记录下来.网上有很多资料,但都是五花八门,特此记录 使用 项目根目录中创建环境变量使用文件 .env #所有环境都会加载 .env.development ...
- Bugku练习题---MISC---啊哒
Bugku练习题---MISC---啊哒 flag:flag{3XiF_iNf0rM@ti0n} 解题步骤: 1.观察题目,下载附件 2.下载以后发现是一张图片,从表面看没有什么有价值的信息 3.直接 ...
- 【MyBatis】多关键字的模糊查询
目录 情景分析 题目 要求 相关代码 Mapper.java Impl.java mapper.xml test.java 思路分析 1.最开始,参数没有使用List,引起的问题 2.Mybatis的 ...
- Kubernetes生产环境最佳实践
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 众所周知,Kubernetes很难! 以下是在生产中使用 ...
- 干货 | Nginx 配置文件详解
一个执着于技术的公众号 前言 在前面章节中,我们介绍了nginx是什么.如何编译安装nginx及如何彻底卸载nginx软件. 干货|给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 ...
- js运算符、 流程控制 、函数、内置对象、BOM与DOM操作
运算符 # 1.算术运算符 var x=10; var res1=x++; '先赋值后自增1' var res2=++x; '先自增1后赋值' # 2.比较运算符 弱等于:自动转换类型 '5' == ...
- 实用git指令
实用git指令 clone 操作目的 简要操作说明 详细操作说明 init & add & commit & push 操作目的 简要操作说明 详细操作说明 pull & ...