[1] Z. Zhou, Y. Huang, W. Wang, L. Wang, T. Tan, Ieee, See the Forest for the Trees: Joint Spatial and Temporal Recurrent Neural Networks for Video-based Person Re-identification, 30th Ieee Conference on Computer Vision and Pattern Recognition, (Ieee, New York, 2017), pp. 6776-6785.

摘要:

监控相机广泛应用不同场景。在不同相机下识别人的需求就是行人再识别。在计算机视觉领域最近得到了日益增加的关注,但对比与基于图像的行人再识别方法很少有关注基于视频。现有的工作通常包含两个步骤,称为特征学习与度量学习。同时很多方法并没有充分利用时间信息与位置信息。在这篇论文中,我们关注与基于视频的行人再识别并建立一个端对端的深度架构来联合特征与度量的学习。我们提出的方法能够使用一个时间注意力模型自动地从给定地视频中挑选出最有区分力的帧。不仅如此,在衡量与另一个视频的相似度时,使用一个空间循环模型结合每个位置周围的信息。我们的方法使用一个联合的方式同时处理时空信息。在三个公共数据集上的实验表明了我们提出的深度网络的每个组件的有效性,超过了最先进算法的表现。

总结:

在这篇论文中,我们提出了一个端对端的深层神经网络结构,在衡量相似度时它结合了时间注意力模型来选择对有区分力的帧的关注和一个空间循环模型来利用上下文信息。我们精心设计实验来展示提出的方法的每个组件的有效性。与最先进方法相比,我们的方法表现更好,这表明提出的时间注意力模型对于特征学习,空间循环模型对于度量学习都是有效的。

在近几年,为取得行人再识别的效果提升付出了很多努力。但是,这仍然与现实应用有很大的距离。现在的问题包括严重的遮挡与光照变化,人类姿态的无规则变化,不同人物的服饰颜色与纹理相似。此外,现在是时候强调行人再识别研究的最大限制是缺少非常大尺寸的数据集,其中存在许多实际问题,特别是深层网络越来越流行。因此我们未来的工作就是尽可能收集更多的数据,覆盖尽可能多的场景。

方法概述:

整体网络结构如下图所示,采用了三元序列作为网络输入,先经过AlexNet提取特征,将fc7的输出喂入后面的时间注意力模型,时间注意力模型接受维的输入,然后产生维的输出。然后使用这块的输出构建triplet loss作为一个监督。

同时作者选择了pool5层的输出喂入到空间循环网络,一次输入正负对样本,网络的目标是判断这一对是不是属于同一个人,所以它是一个二分类模型。

最后整体的损失是这两者的叠加,测试时使用下式作为排序依据。

下面介绍一下作者特殊设计的时间注意力模型(TAM)与空间循环模型SRM。

TAM的结构如下所示,输入为图片序列x的fc7层的T个特征图。

这个输入首先经过一个Attention层,它的结构为:

可以看出是一个维度的矩阵,最终的输出是一个维度的矩阵,相当于经过这一步,就产生了对于原始序列的初步关注,作者使用了多个Attention块,并且针对同一输入产生的输出不同,从上图中可以看出不同的Attention块唯一不共享的权重的是前一阶段的隐藏状态。继而把这些初步关注的结果喂入到RNN中。每一步都将产生一个维的输出,之后使用时间的平均池化得到TAM的输出。

对于SRM它的目标是处理视频间的度量学习,结构如下:

它接受pool5层的特征作为输入,对于一对特征进行相减操作,这就相当于粗略地计算了两个视频序列的不同,然后再使用后续结构对这一信息进行加工总结。

首先作者经过了6个不同方向的空间RNN,作者没有说明这里的RNN结构只说明是使用LSTM实现的,可以看到RNN输入输出两者的总维度相同,所以推断这里的LSTM应该是引出了每个循环体的输出,然后堆叠在一起,接着作者把这个六个空间RNN结果堆叠在一起,相当于每个位置的深度上表达了从六个方向提取的信息,继而使用一个1*1的卷积核总结这六个方向的信息,将其称为上下文特征。作者说这样做能够对光照变化和遮挡不那么敏感(??)。

CVPR 2017:See the Forest for the Trees: Joint Spatial and Temporal Recurrent Neural Networks for Video-based Person Re-identification的更多相关文章

  1. 论文阅读笔记(二十二)【CVPR2017】:See the Forest for the Trees: Joint Spatial and Temporal Recurrent Neural Networks for Video-based Person Re-identification

    Introduction 在视频序列中,有些帧由于被严重遮挡,需要被尽可能的“忽略”掉,因此本文提出了时间注意力模型(temporal attention model,TAM),注重于更有相关性的帧. ...

  2. 《转》循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论

    转自 http://blog.csdn.net/xingzhedai/article/details/53144126 更多参考:http://blog.csdn.net/mafeiyu80/arti ...

  3. 论文翻译:2020_Lightweight Online Noise Reduction on Embedded Devices using Hierarchical Recurrent Neural Networks

    论文地址:基于分层递归神经网络的嵌入式设备轻量化在线降噪 引用格式:Schröter H, Rosenkranz T, Zobel P, et al. Lightweight Online Noise ...

  4. 课程五(Sequence Models),第一 周(Recurrent Neural Networks) —— 1.Programming assignments:Building a recurrent neural network - step by step

    Building your Recurrent Neural Network - Step by Step Welcome to Course 5's first assignment! In thi ...

  5. 转:RNN(Recurrent Neural Networks)

    RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...

  6. 论文翻译:Conditional Random Fields as Recurrent Neural Networks

    Conditional Random Fields as Recurrent Neural Networks ICCV2015    cite237 1摘要: 像素级标注的重要性(语义分割 图像理解) ...

  7. 课程五(Sequence Models),第一 周(Recurrent Neural Networks) —— 3.Programming assignments:Jazz improvisation with LSTM

    Improvise a Jazz Solo with an LSTM Network Welcome to your final programming assignment of this week ...

  8. 论文笔记:Emotion Recognition From Speech With Recurrent Neural Networks

    动机(Motivation) 在自动语音识别(Automated Speech Recognition, ASR)中,只是把语音内容转成文字,但是人们对话过程中除了文本还有其它重要的信息,比如语调,情 ...

  9. cs231n spring 2017 lecture10 Recurrent Neural Networks 听课笔记

    (没太听明白,下次重新听一遍) 1. Recurrent Neural Networks

随机推荐

  1. golang bufio解析

    golang bufio 当进行频繁地对少量数据读写时会占用IO,造成性能问题.golang的bufio库使用缓存来一次性进行大块数据的读写,以此降低IO系统调用,提升性能. 在Transport中可 ...

  2. go-micro使用Consul做服务发现的方法和原理

    go-micro v4默认使用mdns做服务发现.不过也支持采用其它的服务发现中间件,因为多年来一直使用Consul做服务发现,为了方便和其它服务集成,所以还是选择了Consul.这篇文章将介绍go- ...

  3. @Transactional的使用与失效

    @Transactinonal 注解在方法抛出RuntimeException类及其子类时.Error类及其子类时会回滚当前事务,使sql不提交: 只能作用于public的方法:写在类上时,代表给该类 ...

  4. 继承 & super & 方法覆盖

    简单继承 细节1: 细节2: 子类创建对象,先 父类构造器,后 子类的构造器,因为(默认的super) 细节3: 假设父类只有一个有参构造器,  此时需要子类用上super给定父类参数,才能通过编译 ...

  5. SpringBoot详解

    1.Hello,World! 1.1.SpringBoot简介 回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . ...

  6. 干货 | Nginx 配置文件详解

    一个执着于技术的公众号 前言 在前面章节中,我们介绍了nginx是什么.如何编译安装nginx及如何彻底卸载nginx软件. 干货|给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 ...

  7. 老生常谈系列之Aop--JDK动态代理的底层实现原理

    老生常谈系列之Aop--JDK动态代理的底层实现原理 前言 在Aop系列里面有两篇文章,分别是老生常谈系列之Aop--Spring Aop原理浅析和老生常谈系列之Aop--Spring Aop源码解析 ...

  8. ElasticSearch7.3学习(二十三)----RestHighLevelClient Java api实现match_all、ids、match、term、multi_match、bool、filter、sort等不同的搜索方式

    1.数据准备 首先创建book索引 PUT /book/ { "settings": { "number_of_shards": 1, "number ...

  9. Java线程同步操作

    synchronized 作用于对象实例:对给定对象加锁,进入同步代码前要获得给定对象的锁. 作用于实例方法:相当于对当前实例加锁,进入同步代码前要获得当前实例的锁. 作用于静态方法:相当于对当前类加 ...

  10. Sentinel介绍与使用 收藏起来

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 前言 在家休息的的时候,突然小勇打 ...