CVPR2018: TFusion完全解读

本文深入解析CVPR2018论文TFusion,该方法结合多模态数据融合与迁移学习,解决无监督跨数据集行人重识别问题。通过构建无监督的时空模型和基于贝叶斯推断的模型融合,实现了超越无监督方法的准确率,逼近有监督方法。实验表明,该方法在多个数据集上表现出色。
摘要由CSDN通过智能技术生成

CVPR2018: Unsupervised Cross-dataset Person Re-identification by Transfer Learning of Spatio-temporal Patterns

论文可以在arxiv下载,老板一作,本人二作,也是我们实验室第一篇CCF A类论文,这个方法我们称为TFusion。

代码:https://github.com/ahangchen/TFusion

TFusion架构

  • 解决的目标是跨数据集的Person Reid
  • 属于无监督学习
  • 方法是多模态数据融合 + 迁移学习
  • 实验效果上,超越了所有无监督Person reid方法,逼近有监督方法,在部分数据集上甚至超越有监督方法

本文为你解读CVPR2018 TFusion

转载请注明作者梦里茶

Task

行人重识别(Person Re-identification)是一个图像检索问题,给定一组图片集(probe),对于probe中的每张图片,从候选图片集(gallery)中找到最可能属于同一个行人的图片。

Person re-identification

行人重识别数据集是由一系列监控摄像头拍摄得到,并用检测算法将行人抠出,做行人的匹配。在这些数据集中,人脸是十分模糊的,无法作为匹配特征,而且由于多个摄像头拍摄视角不同,同个人可能被拍到正面,侧面,背面,具有不同的视觉特征,因此是一个比较难的图像匹配问题。常用数据集有很多,可以在这个网站查到。

行人重识别问题有以下几种常见的解决方案:

基于视觉的行人重识别

这类方法通常提取行人图像特征,对特征进行距离度量,从而判断是否是同一个人。

有监督学习

Supervised Learning

这类方法通常需要提供行人图片和行人id标签(person1,person2等),训练模型,提取图像特征,根据两张图特征的距离大小(可以用余弦距离,欧氏距离之类的计算),为probe中的每张图和gallery中的每张图计算其相似度,根据相似度将gallery中的图片排序,排序越高越可能为同一个人。

这方面的论文代表有TOMM2017: A Discriminatively Learned CNN Embedding for Person Re-identification,我们采用的基础图像分类器就是基于这篇论文用Keras实现的,后面细讲。

无监督学习

在CVPR2018之前,Person Reid领域正式发表的无监督工作只有CVPR2016的UMDL:Unsupervised Cross-Dataset Transfer Learning for Person Re-identification,基于字典学习方法,在多个源数据集上学习跨数据集不变性字典,迁移到目标数据集上。然而准确率依然很低。

结合摄像头拓扑的行人重识别

行人图片是摄像头拍到的,摄像头之间有一定的距离,行人的移动有一定的速度限制,因此行人在摄像头间的移动时间就会呈现出一定规律,比如,AB摄像头间有10米,人行走速度2m/s,如果AB摄像头在1s内捕捉到了两张图片,则这两张图片不可能是同一个人的,因此我们可以利用摄像头拓扑约束来提升行人重识别的准确率。

然而,这类方法往往有以下缺陷:
- 有些方法需要预先知道摄像头拓扑(AB摄像头之间的距离)
- 有些方法可以根据拍摄到的图像数据推断出摄像头拓扑,但是需要图像有标注(是否是同一个人)
- 即使推断出摄像头拓扑,与图像的融合结果依然很差

迁移学习

迁移学习现在是深度学习领域很常用的一个套路了,在源数据集上预训练,在目标数据集上微调,从而使得源数据集上的模型能够适应目标场景。这方面的论文代表有前面讲的UMDL,和Deep transfer learning person re-identification,然而,目前的迁移学习大多需要标签,而无监督迁移学习效果又很差,仍然有很大提升空间。

更多关于Person Reid的内容可以看一下我在博客写的几篇调研

Motivation

  • 现有的行人重识别数据集中是否包含时空信息?包含的话是否存在时空规律?
  • 缺乏两个时空点是否属于同一行人这种标签时,如何挖掘时空信息,构建时空模型?
  • 如何融合两个弱分类器?有监督的融合有boosting算法可以用,无监督呢?
  • 在缺乏标签的条件下,如何进行有效的迁移学习?

对应有三个创新点

  • 无监督的时空模型构建
  • 基于贝叶斯推断的时空图像模型融合
  • 基于Learning to Rank的迁移学习

接下来详细解析我们的方法。

时空模型

数据集中的时空规律

所谓时空模型,即一个摄像头网络中,行人在给定两个摄像头间迁移时间的分布。

我们看遍所有Reid数据集,发现有三个数据集有时空信息,Market1501, GRID, DukeMTMC-ReID,其中,DukeMTMC-ReID是2017年后半年才出来的,时间比较仓促在论文中就没有包含跟它相关的实验。Market1501是一个比较大的Person Reid数据集,GRID是一个比较小的Person Reid数据集,并且都有六个摄像头(GRID中虽然介绍了8个摄像头,实际上只有6个摄像头的数据)。

例如,Marke1501中一张图片的时空信息是写在图片名字中的:

Market1501 sample.png

0007_c3s3_077419_03.jpg:
- 0007代表person id,
- c3代表是在3号摄像头拍到的,也就是空间信息,
- s3代表属于第3个时间序列(GRID和DukeMTMC中没有这个序列的信息,在Market1501中,不同序列的属于不同起始时间的视频,同一系列不同摄像头的视频起始时间相近),
- 077419为帧号,也就是时间信息。

我想吐槽的是,其实时空信息是非常容易保存的,只要知道图片是在什么时候,哪台摄像机上拍摄,就能够将时空信息记录并有效利用起来,希望多模态数据融合得到更多重视之后,做数据集的人能够更加重视可保存的信息吧。

我们首先通过Market1501中的真实行人标签,计算训练集中所有图片对对应的时空点对对应的迁移时间,这里可视化了从摄像头1出发的行人,到达其他摄像头需要的时间的分布。

Market1501迁移时间分布

可以看到,到达不同目标摄像头的峰值位置不同,其中从摄像头1到摄像头1,意味着被单个摄像头拍到连续多帧,所以峰值集中在0附近,从摄像头1到摄像头2,峰值集中在-600附近,意味着大部分人是单向从摄像头2运动到摄像头1,等等,并且,说明这个数据集中存在显著可利用的时空规律。

无监督的时空模型构造

我们将迁移时间差命名为delta,这样说起来方便(装逼)一点。

如果我们能够统计一个数据集中的所有delta,给定一个新的delta(两个新的图片对应的两个时空点算出来的),我们能够用极大似然估计,用在这个delta前后一定范围(比如100帧)的delta的出现频率(=目标范围delta数量/总的delta数量),作为新时间差出现的概率,也就是两个时空点是同一人产生的概率。

但是!问题是我们在目标场景上往往是没有行人标记数据的!

于是我们就思考
- 我们能不能根据两个时空点对应的两张图是否属于同一个人,来决定两个时空点是否属于同一个人?
- 而两张图是否属于同一个人,其实是一个图像匹配的二分类问题,我们可以用一些视觉模型来做,
- 但是这种视觉模型往往是需要有标签训练的,无标签的视觉模型往往比较弱
- 视觉模型弱没关系!我们相信跟时空模型结合就能变成一个强大的分类器!要有信仰!
- 只要我们能无监督地把时空模型构造出来,结合弱的图像分类器,因为加了时空信息,一定能吊打其他无监督模型!

思路有了,实现就很自然了,
- 我们先在其他数据集上(于是我们就可以说这是一个跨数据集的任务了)预训练一个卷积神经网络,
- 然后用这个卷积神经网络去目标数据集上提特征,
- 用余弦距离算特征相似度
- 将相似度排在前十的当做同一个人
- 用这种“同一个人”的信息+极大似然估计构造时空模型

图像分类器上,我们这里用的是LiangZheng的Siamese网络,他们的源码是用MATLAB实现的,我用Keras

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值