论文阅读笔记(二十)【AAAI2019】:Spatial and Temporal Mutual Promotion for Video-Based Person Re-Identification
Introduction
(1)Motivation:
作者考虑到空间上的噪声可以通过时间信息进行弥补,其原因为:不同帧的相同区域可能是相似信息,当一帧的某个区域存在噪声或者缺失,可以用其它帧的相同区域进行弥补。
(2)Contribution:
① 不直接使用帧提取的特征信息,而是提出一个改进循环单元(refining recurrent unit,RRU),来修复缺失或噪声;
② 介绍一种时空线索集成模块(spatial-temporal clues integration module,STIM),来提取时空信息;
③ 提出多层训练目标来提高RRU和STIM的能力。
Method
(1)框架:

定义:
表示行人 i 的 K 个视频序列,采用 Inception-v3 (2016年Szegedy提出)作为特征提取模块的主干网络,通过CNN提取出的特征为
,再传入RRU模块得到改进特征 Si,k,最后传入 STIM模块僧改成最终的视频级特征表示
。
(2)改进循环单元(RRU):

使用
作为 g 模块的输入,来衡量两帧的样貌差异(我的理解:特征S相当于特征X弥补上缺失),使用
作为 g 的另一个输入,来衡量动作捕捉。
,其中
。
首先通过过渡层(transition layer),其包含256个filter 1*1的卷积层,得到
;
上层为空间感知模块,首先使用通道交叉平均池化获得每个空间位置的全局感知,再通过两个全连接层,得到:
,
,
;
下层为通道感知模块,首先使用空间平均池化来获得每个通道的全局感知,再通过一个全连接层,得到:
,
,
;
将两者进行乘法操作,再用sigmoid约束至[0, 1]之间,即:
,
。
最终特征输出:
,
Z 的每一个位置表示该位置特征的可信值。其值高,则表示该位置的特征有较高的质量,应当保留;其值低,则表示该位置应当被前帧特征所替补。(两帧差别小的地方直接用上一帧,差别大的地方用当前帧)
(3)时空线索集成模块(STIM):
STIM 包含了两个3D卷积模块和一个平均池化层,每个3D卷积模块包含了三个操作:3D卷积层(包含256个filter)+ 3D BN层 + ReLU层。第一个3D卷积模块的kernel size为 1*1*1,用来降低特征维度;第二个3D卷积模块的kernel size为3*3*3,用来捕捉行人的肢体移动,并输出特征:
。最后通过时空平均池化,得到最终特征表述:
,即:

(3)多层训练目标:
训练目标函数:
① 第一项为两个交叉熵损失,详情参照Szegedy提出的Inception-v3模型,该模型包含identity classifier 和 auxiliary classifier 两个分类器,作者对identify classifier的全连接层进行了修改,采用了Zhong提出的classifier模块,包含了512结点的全连接层、BN、ReLU、Dropout、FC、Softmax层。
② 第二项为视频级约束,采用Hermans等人提出的batch hard三元组损失,具体为:

③ 第三项为区域级约束,将特征S划分成行,获得行级特征(上述特征f忽略了不同区域的空间变化 ):

其中
为
的第 r 行,得到的区域特征向量为:
,
定义如下损失函数:

Experiments
(1)实验设置:
① 数据集:iLIDS-VID、PRID-2011、MARS;
② 参数设置:帧大小 299*299,N = 10,K = 2,T = 8,m = 0.4,dropout rate = 0.5,learning rate = 0.01,weight decay = 5 * 10^-4,momentum = 0.9
(2)实验结果:



论文阅读笔记(二十)【AAAI2019】:Spatial and Temporal Mutual Promotion for Video-Based Person Re-Identification的更多相关文章
- 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)
论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...
- 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)
论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...
- 论文阅读笔记二十九:SSD: Single Shot MultiBox Detector(ECCV2016)
论文源址:https://arxiv.org/abs/1512.02325 tensorflow代码:https://github.com/balancap/SSD-Tensorflow 摘要 SSD ...
- 论文阅读笔记二十八:You Only Look Once: Unified,Real-Time Object Detection(YOLO v1 CVPR2015)
论文源址:https://arxiv.org/abs/1506.02640 tensorflow代码:https://github.com/nilboy/tensorflow-yolo 摘要 该文提出 ...
- 论文阅读笔记二十六:Fast R-CNN (ICCV2015)
论文源址:https://arxiv.org/abs/1504.08083 参考博客:https://blog.csdn.net/shenxiaolu1984/article/details/5103 ...
- 论文阅读笔记二十二:End-to-End Instance Segmentation with Recurrent Attention(CVPR2017)
论文源址:https://arxiv.org/abs/1605.09410 tensorflow 代码:https://github.com/renmengye/rec-attend-public 摘 ...
- 论文阅读笔记二十:LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation(CVPR2017)
源文网址:https://arxiv.org/abs/1707.03718 tensorflow代码:https://github.com/luofan18/linknet-tensorflow 基于 ...
- 论文阅读笔记(十)【CVPR2016】:Recurrent Convolutional Network for Video-based Person Re-Identification
Introduction 该文章首次采用深度学习方法来解决基于视频的行人重识别,创新点:提出了一个新的循环神经网络架构(recurrent DNN architecture),通过使用Siamese网 ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- 论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning
Introduction (1)Motivation: 大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据. (2)Method: 对没有标记的数据生成 ...
随机推荐
- Intellij idea智能提示设置
忽略大小写敏感: 打开设置(CTRL+ALT+S)搜索editor,找到"Code Completion"->点击Case sensitive completion后面的选择 ...
- python 函数(实参与形参、传递参数)
函数 什么是函数?函数是带名字的代码块,用于完成具体的工作.写出一个函数后,就可以一直调用. 定义函数,函数的基本组成: 1.1 向函数传递参数 向函数中传递任意参数,这样打印出的结果就可以根据自己的 ...
- python3 控制结构知识及范例
(一)三种基本控制结构 1.顺序结构:按照程序语句编写的顺序依次逐条执行 2.选择结构:根据特定的条件选择某一个分支 3.循环结构:反复执行某个或者某些操作,关注点:在什么情况下,反复执行哪一部分的操 ...
- Codeforces_793
A.找最小的数,看每个数跟它的差是否被k整除. #include<bits/stdc++.h> #define MOD 1000000007 using namespace std; ] ...
- CCF_ 201409-3_字符串匹配
水. #include<cstdio> #include<iostream> #include<cstring> using namespace std; int ...
- HDU_5045_状态压缩dp
http://acm.hdu.edu.cn/showproblem.php?pid=5045 i从1到m依次更新,dp[i][j]表示更新到i题时,j表示每个人的答题状态,分别用0和1表示(因为每个人 ...
- java架构之路-(微服务专题)nacos集群精讲实战
上次回顾: 上次博客,我们主要说了微服务的发展历程和nacos集群单机的搭建,单机需要-m standalone启动,集群建议使用nginx做一下反向代理,自行保证mysql和ngxin的高可用. 本 ...
- oracle怎么建立本地连接
sqlplus连接oracle数据库(连接本地oracle数据库和连接远程的oracle数据库) 虽然我们现在平时都是使用PLSQL Developer这个软件工具了,但是我们还是要了解sqlplus ...
- 持续化运维 DevOps
DevOps(Development和Operations的组合词)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整 ...
- 浅析Internet上使用的安全协议
Internet上使用的安全协议 网络安全是分层实现的,从应用层安全到数据链路层安全. 一.运输层安全协议:安全套接字SSL 1.1.简介 SSL 是安全套接层 (Secure Socket Laye ...