Introduction

(1)Motivation:

当前采用CNN-RNN模型解决行人重识别问题仅仅提取单一视频序列的特征表示,而没有把视频序列匹配间的影响考虑在内,即在比较不同人的时候,根据不同的行人关注不同的部位,如下图:

(2)Contribution:

将注意力模型考虑进行人重识别中,提出了时空联合注意力池化网络(jointly Attentive Spatial-Temporal Pooling Networks,ASTPN).

The Proposed Model Architecture

(1)简述:

建立了时空注意力网络(a recurrent-convolutional network with jointly attentive spatial-temporal pooling,ASTPN),其工作原理是:将一对视频序列传入孪生神经网络,获得两者的特征表示,并生成它们的欧几里德距离。如图所示,每个输入(包含光流的视频帧)通过CNN网络,并从最后一个卷积层中提取出特征映射。然后将这些特征映射输入到空间池层中,每一个时间步获得一个图像表示。然后,我们把时间信息考虑在内,利用循环神经网络生成视频序列的特征集。最后,由循环神经网络产生的所有时间步被注意力时间池结合起来,形成序列特征表示。

(2)卷积层:

输入:网络的输入由三个彩色通道和两个光流组成。颜色通道提供服装和背景等空间信息,而光流通道提供时间运动信息。给定输入序列 v = {v1, …, vT},我们利用下表所示的卷积网络获得特征映射集 C = {C1,…,CT}。然后将每个 CiRc×w×h 输入空间池化层,得到图像级表示 ri

(3)空间池化层(Spatial Pooling Layer):

使用空间金字塔池化(SPP)层来组成空间注意力池,具体如下:

假设池化核大小集为{(mwj, mhj)| j = 1, …, n},则确定第 个池化核窗口大小:

第 个池化步长为:

然后通过公式得到结果向量 ri

其中 f表示采用窗口大小 win 和步长 str 的最大池化函数。f表示重构函数,将矩阵重构成一个向量。除此之外,⊕ 表示向量连接操作。

令一个序列表示为r = {riRL | i = 1, …, T},其中:

(4)注意力时间池化层(Attentive Temporal Pooling Layer)

将上一层得到的 r 输入到循环神经网络提取时间步信息,循环层可以计算表示为:

其中 st-1R是包含上一时间步信息的隐藏层结点,o是时间t的输出。全连接权重 U∈RL*N 将循环层输入 r从 R映射到 RN,全连接权重 WRN*N 将隐藏层结点 st-1 从 R映射到 R。注意到循环层通过矩阵U将特征向量嵌入到低维特征中。在第一个时间步中,隐藏层结点被初始化为0,隐藏层通过tanh函数激活传递。

定义矩阵 PRT*N 和 GRT*N,其第 行分别表示检测数据和对照数据在循环网络的第 个时间步的输出,我们计算注意力矩阵 ART*T

其中 URN*N 是网络学习的信息分享感知矩阵。

之后,对 分别应用列最大池化和行最大池化来获得时间权重向量 tpR和 tgRTt的第 个元素表示探测序列中第 i 帧的重要得分,t同理。再对时间权重向量 t和 t应用softmax函数,来生成注意力向量 apR和 agRTa的第 个元素可以计算为:

最后,应用 P和 apa之间的点乘来获得序列级表示 vpR和 vgRN,分别计算为:

(5)损失函数:思想与上篇论文类似【传送门

孪生神经网络的铰链损失:

将识别身份的损失考虑在内,训练目标为:

Experimental Results

(1)实验设置:

① 数据集:iLIDS-VID、PRID-2011、MARS

② 参数设置:截取的帧数 k = 18,孪生代价函数的边距 m = 3,特征空间维数为128,初始学习率0.001,批量设置为1.

③ 对比方法:RNN-CNN、RFA、VR、AFDA

(2)预处理:

① 裁剪、镜像来增强数据,裁剪后的子图像的宽度和长度都比原图像小8个像素,在整个序列随机使用镜像操作,概率 p=0.5。

② 将图像精确地转换为YUV颜色空间,并将每个颜色通道归一化为零均值和单位方差;使用Lucas-Kanade方法在每对相邻图像之间提取垂直和水平的光流,然后提取光流通道正规化为[-1, 1]

(3)实验结果:

① 与对比方法比较:

② 在MARS数据集上结果:

③ 不同池化策略的比较:

④ 交叉数据集上测试结果:

在ILIDS-VID数据集上进行训练,然后在PRID-2011数据集上进行测试。

论文阅读笔记(十一)【ICCV2017】:Jointly Attentive Spatial-Temporal Pooling Networks for Video-based Person Re-Identification的更多相关文章

  1. 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)

    论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...

  2. 论文阅读笔记十一:Rethinking Atrous Convolution for Semantic Image Segmentation(DeepLabv3)(CVPR2017)

    论文链接:https://blog.csdn.net/qq_34889607/article/details/8053642 摘要 该文重新窥探空洞卷积的神秘,在语义分割领域,空洞卷积是调整卷积核感受 ...

  3. 论文阅读 A Data-Driven Graph Generative Model for Temporal Interaction Networks

    13 A Data-Driven Graph Generative Model for Temporal Interaction Networks link:https://scholar.googl ...

  4. 论文阅读笔记十七:RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation(CVPR2017)

    论文源址:https://arxiv.org/abs/1611.06612 tensorflow代码:https://github.com/eragonruan/refinenet-image-seg ...

  5. 论文阅读笔记: Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks

    论文概况 Multi-Perspective Sentence Similarity Modeling with Convolution Neural Networks是处理比较两个句子相似度的问题, ...

  6. 论文阅读笔记二-ImageNet Classification with Deep Convolutional Neural Networks

    分类的数据大小:1.2million 张,包括1000个类别. 网络结构:60million个参数,650,000个神经元.网络由5层卷积层,其中由最大值池化层和三个1000输出的(与图片的类别数相同 ...

  7. 论文阅读笔记(十)【CVPR2016】:Recurrent Convolutional Network for Video-based Person Re-Identification

    Introduction 该文章首次采用深度学习方法来解决基于视频的行人重识别,创新点:提出了一个新的循环神经网络架构(recurrent DNN architecture),通过使用Siamese网 ...

  8. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  9. 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification

    论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...

  10. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

随机推荐

  1. 自动化测试用例中的raise

    1.一次自动化测试学习中,expect异常中包含“raise e”,这是什么意思呢? 2.网上查了一下,大概意思是:若有异常,不会执行一下的操作,但是明明是语句后确实没有其他语句呀. 3.注释掉之后, ...

  2. Asp.Net Api+Swagger控制器注释

    Swagger注释不显示,只需要进入Startup.cs 找到: c.IncludeXmlComments(Path.Combine(AppDomain.CurrentDomain.BaseDirec ...

  3. Java HashMap 四种遍历方式

    HashMap遍历方式包含以下4种: 1.遍历KeySet,再通过Key来getValue. 2.使用entrySet的迭代器. 3.foreach entrySet的方式. 3.foreache v ...

  4. RTEMS进程同步机制

    互斥量 好像没有互斥量,信号量接收那儿有个图,互斥量似乎术语一类特殊的信号量. 信号量 12. Semaphore Manager 12.1. Introduction The semaphore m ...

  5. [Python]List 过滤

    获取数据库列表屏蔽系统自带数据库 # 原代码 db_list_result = [('master', ), ('tempdb', ), ('model', ), ('msdb', ), ('stud ...

  6. MATLAB添加工具箱及无法连接到MathWorks问题

    版本信息:官网下载的MATLAB R2019b 学生版 操作系统:Windows 10 在安装MATLAB时,需要我们自行选择要安装工具箱,如何在已安装MATLAB后添加当初没有选择安装的工具箱呢?第 ...

  7. apache/tomcat安装过程略

    apache/tomcat安装过程略 一些变量 apache安装目录 APACHE_PREFIX=/Data/app/apache apache配置文件 APACHE_CONF=/etc/httpd/ ...

  8. Objective-C编程 — 并行编程

    多线程 线程的基本概念 线程 (thread)是进程(process)A 内假想的持有 CPU 使用权的执行单位.一般情况下,一个进程 只有一个线程,但也可以创建多个线程并在进程中并行执行.应用在执行 ...

  9. 面型对象和UML类图

    面向对象 why? 1.程序执行:顺序,判断,循环,----结构化 2.面向对象----数据结构化 3.面向计算机,结构化的才是最简单的 4.变成应该 简单&抽象 一个基本的类 class P ...

  10. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...