Introduction

(1)Motivation:

当前的一些video-based reid方法在特征提取、损失函数方面不统一,无法客观比较效果。本文作者将特征提取和损失函数固定,对当前较新的4种行人重识别模型进行比较。

(2)Contribution:

① 对四种ReId方法(temporal pooling, temporal attention, RNN and 3D conv)进行科学合理的比较;

② 提出了一种采用时空卷积提取时间特征的注意力提取网络。

Method

(1)视频片编码(video clip encoder):

将视频切成若干片段 {ck},每个片段含有 T 帧,将每个片段编码成 D 维特征向量 fc ,视频的特征为这些片段取平均值。

① 3D CNN:采用3D ResNet模型,将最后一个分类层替换为行人身份的输出,将 T 帧输入网络中,输出即为特征表示。

对于 2D CNN:采用ResNet-50模型,每次输入一帧图像,每个片段提取 T 次特征,即 {fct},t 属于 [1, T],即 T*D 的特征矩阵,再采用以下方法将特征压缩到特征向量 fc 中。

② 时间池化(temporal pooling):考虑最大池化和平均池化,即:

③ 时间注意力(temporal attention):应用注意力权重,设第 c 个视频段权重因子为 act,其中 t 属于 [1, T]:

Resnet-50的最后卷积层规格 [w, h, 2048],其中 w 和 h 取决于输入图片的尺寸。

注意力提取网络的输入规格 [T, w, h, 2048],输出 T 个注意力得分。

考虑两种注意力网络:

  空间卷积+全连接(spatial conv + FC):卷积层规格(kernel = w*h,input channel number = 2048,output channel number = dt),全连接层规格(input channel number = dt,output channel number = 1),输出结果为 sct,其中 t 属于 [1, T].

  时空联合卷积(spatial + temporal conv):先通过空间卷积层(kernel = w*h,input channel number = 2048,output channel number = dt),再通过时间卷积层(个人理解参数3的含义是每个元素是由三帧计算而得,input channel number = dt,output channel number = 1),输出结果为 sct,其中 t 属于 [1, T].

使用softmax计算注意力得分 act

结合正则化(使用sigmoid函数):

④ RNN:考虑两种方法:

  直接把隐藏层元素 hT 作为最后结果,即:

  

  计算 RNN 输出 {ot} 的平均值,即:

  

(2)损失函数:

考虑两种损失函数,三元组损失(Batch Hard triplet loss)和交叉熵损失(Softmax cross-entropy loss)。

每个batch含有 P 个行人视频,每个视频含有 K 个视频片段,即每个batch含有 PK 个视频片段,三元组损失为:

交叉熵损失为:

如何理解?

损失函数:

(3)相似度计算:

通过 L2 距离,计算视频特征的相似度。

Evaluation

(1)实验设置:

数据集:MARS

参数设置:batch size = 32,每个行人抽取4段tracklets,learning rate = 0.0001/0.0003,视频帧的规格为 224*112.(关于batch的设置描述模糊)

(2)实验结果:

① 3D CNN实验比较:

② Temporal pooling实验比较:

③ Temporal attention实验比较:

④ RNN实验比较:

⑤ 对比方法:

论文阅读笔记(十三)【arxiv2018】:Revisiting Temporal Modeling for Video-based Person ReID的更多相关文章

  1. 论文阅读笔记十三:The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation(FC-DenseNets)(CVPR2016)

    论文链接:https://arxiv.org/pdf/1611.09326.pdf tensorflow代码:https://github.com/HasnainRaz/FC-DenseNet-Ten ...

  2. 论文阅读笔记五十二:CornerNet-Lite: Efficient Keypoint Based Object Detection(CVPR2019)

    论文原址:https://arxiv.org/pdf/1904.08900.pdf github:https://github.com/princeton-vl/CornerNet-Lite 摘要 基 ...

  3. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...

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

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

  5. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

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

  6. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

  7. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  8. [置顶] 人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

  9. Nature/Science 论文阅读笔记

    Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...

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

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

随机推荐

  1. js+css页面横屏

    <!DOCTYPE html> <html lang='zh'> <head> <meta charset="utf-8" /> & ...

  2. postman简单接口测试

    Postman简单接口测试 1. get请求: a. 选择get请求时,地址栏输入地址,如果需要添加参数,可以直接在地址栏加?后面写参数,也可以在点击params添加参数 b. 在headers中添加 ...

  3. Angular常用命令

    一. Angular常用命令 1. ng new 文件夹名 (新建项目,选择y使用路由) 2. ng serve --open (默认浏览器运行项目) 3. ng serve --port 6060  ...

  4. 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?

    在Java基础中,集合类是很关键的一块知识点,也是日常开发的时候经常会用到的.比如List.Map这些在代码中也是很常见的. 个人认为,关于HashMap的实现,JDK的工程师其实是做了很多优化的,要 ...

  5. bs 网站获取电子秤重量方案

    1:开发一个winform小程序专门用来读取电子秤数据 电子秤链接串口开发需要注意的是 端口名称跟波特率,校验位 (本样例设置的是7)一定要对,不然取出来的是错的, 还有串口取出来数据是反的,需要转过 ...

  6. PHP0024:PHP 博客项目开发

  7. Python——捕获异常

    一.什么是异常 """异常:错误,bug处理异常:尝试执行某句可能出现异常的语句, 若出错则用正确的代码去替代. try: 可能发生错误的代码except: 如果出现异常 ...

  8. Java基础之五、Java编程思想(1-7)

    一.对象导论 1:多态的可互换对象 面向对象程序设计语言使用了后期绑定的概念. 当向对象发送消息时,被调用的代码直到运行时才能确定.也叫动态绑定. 2:单根继承结构 所有的类最终都继承自单一的基类,这 ...

  9. zerotier的下载、安装、配置与使用(win10、ubuntu)

    一.需求描述 2020年,由于“野味肺炎”的影响,笔者要开始在家办公,需要远程连接公司的电脑和设备. 但是公司的网络和家里的网络不是同个局域网,不能直接用微软的远程桌面连接.想挂上公司的vpn,但是又 ...

  10. 初始socket编程

    服务端语法 import socket # 导入套接字模块# 生成一个socket对象进行网络编程操作server = socket.socket(family=socket.AF_INET, typ ...