论文阅读笔记(十三)【arxiv2018】:Revisiting Temporal Modeling for Video-based Person ReID
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实验比较:
⑤ 对比方法:
最新文章
- [转]ios push
- Linux系统中 安装Vmware Toolst工具
- transition
- rabbitmq消息队列——";Hello World!";
- BZOJ2706 : [SDOI2012]棋盘覆盖
- 【Bootstrap基础学习】00 序
- 对于限制UITextView输入的字符数
- 学习练习 Oracle数据库小题
- HDU 5805 NanoApe Loves Sequence (模拟)
- sed- 文本流编辑器
- MYSQL简单安装配置
- HDOJ--4821--String【弦hash】
- coding.net及git的使用方式
- 如何在.Net中使用MongoDB
- Spring批量更新batchUpdate提交和Hibernate批量更新executeUpdate
- Python爬虫知识点四--scrapy框架
- chrome调试,打完断点后关于JS的几个控制介绍
- 洛谷P1501 [国家集训队]Tree II(LCT,Splay)
- postman测试方法,出现400错误码
- 关于strcpy函数形参类型的解析和指针作为输入型输出型参数的不同