论文阅读笔记(十五)【CVPR2016】:Top-push Video-based Person Re-identification
Approach
特征由两部分组成:space-time特征和外貌特征。space-time特征由HOG3D【传送门】提取,其包含了空间梯度和时间动态信息;外貌特征采用颜色直方图【传送门】和LBP【传送门】特征,并对同一个行人的所有帧采用平均池化。
定义训练集
,其中
是从标记为 yi 的行人视频中提取的特征向量。定义两个特征向量的距离为:
,采用马氏距离,具体为:

其中 M 为正半定矩阵。
(1)采用Top-push距离学习提高Top-rank匹配
正样本对的距离小于所以相关负样本对的距离最小值,其中 ρ 设置为1:

该项损失函数:

减小同类样本间的距离,使得同类行人视频间更收敛:

top-push距离学习的目标函数,其中 α 属于 [0, 1]:

该方法称为Top-push distance learning(TDL).

(2)优化算法:
① 计算样本对的外积:

② 计算马氏距离:

③ 目标函数改写:

④ 采用随机梯度下降法来计算半正定矩阵 M,在第 t 步,假设 M = Mt,定义三元组的索引 (i, j, k),当前梯度为:

⑤ 要求 Mt+1 保持半正定。对 Mt+1 进行特征分解:

对角矩阵 Dt+1 将负值清除,重新对 Mt+1 进行计算。
(3)算法流程:

(4)匹配:
定义待测行人的特征向量为:xp,参照行人的特征向量为:xg,则两者间的距离为:

Experiments
(1)实验设置:
① 数据集:PRID2011和iLIDS-VID
② 参数设置:λ = 1e-3,若损失函数减小,则在每次迭代以1.01倍进行扩大;若损失函数增大,则以0.5倍减小.
③ 特征提取:每一帧被resize为128*48,并被划分为8*16大小的patch,并包含50%的重叠,最终划分为155个patch来提取颜色直方图和LBP特征。所有样貌特征被concat为1705维的特征向量。HOG3D提取出的特征向量为1200维,最终合并为2905维。
(2)实验结果:


论文阅读笔记(十五)【CVPR2016】:Top-push Video-based Person Re-identification的更多相关文章
- 论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)
论文源址:https://arxiv.org/pdf/1612.01105.pdf tensorflow代码:https://github.com/hellochick/PSPNet-tensorfl ...
- 论文阅读笔记(七)【TIP2018】:Video-Based Person Re-Identification by Simultaneously Learning Intra-Video and Inter-Video Distance Metrics
是由一篇 IJCAI2016 扩的期刊. 该篇会议论文的阅读笔记[传送门] 期刊扩充的部分:P-SI2DL 1.问题描述: 在会议论文中介绍的SI2DL方法采用了视频三元组作为视频关系(是否匹配)的逻 ...
- 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)
论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...
- 论文阅读笔记十:DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs (DeepLabv2)(CVPR2016)
论文链接:https://arxiv.org/pdf/1606.00915.pdf 摘要 该文主要对基于深度学习的分割任务做了三个贡献,(1)使用空洞卷积来进行上采样来进行密集的预测任务.空洞卷积可以 ...
- 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)
论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...
- 论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)
论文源址:https://arxiv.org/abs/1505.04366 tensorflow代码:https://github.com/fabianbormann/Tensorflow-Decon ...
- 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)
论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...
- 论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)
论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/ma ...
- 论文阅读笔记(五)【CVPR2012】:Large Scale Metric Learning from Equivalence Constraints
由于在读文献期间多次遇见KISSME,都引自这篇CVPR,所以详细学习一下. Introduction 度量学习在机器学习领域有很大作用,其中一类是马氏度量学习(Mahalanobis metric ...
- 云时代架构阅读笔记十五——之前碰到的Java面试题
1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...
随机推荐
- cpu负载高简单排查思路
首先通过uptime查看系统负载,然后使用mpstat结合pidstat来初步判断到底是cpu计算量大还是进程争抢过大或者是io过多,接着使用vmstat分析切换次数,以及切换类型,来进一步判断到底是 ...
- Intellij idea智能提示设置
忽略大小写敏感: 打开设置(CTRL+ALT+S)搜索editor,找到"Code Completion"->点击Case sensitive completion后面的选择 ...
- Java集合XMind与注意事项
Java中集合使用时的几个注意事项: 1.ArrayList和HashMap都具有扩容 ArrayList初始化数组长度为10,扩容后的容量为原来的1.5倍. HashMap初始化的数组长度为16,扩 ...
- BZOJ1301 字符加密Cipher (后缀数组)
题意: 把所有循环字符串的后缀排名,输出这n<1e5个排名的最后一个字符 思路: 将该字符串拼接,按照排名顺序输出后缀开头在前一个字符串的情况中的“最后一个字符”即可 代码: #include& ...
- Guava入门使用教程
Guava入门使用教程 Guava Maven dependency In our examples, we use the following Maven dependency. <depen ...
- Linux系统基础认知
什么是操作系统? 操作系统作为接口的示意图: 没有安装操作系统的计算机,通常被称为裸机 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序 如果计算机上安装了操作系统,就可以在操作系统上 ...
- 数据清洗:按照进行数据清洗,并将清洗后的数据导入hive数据库中。
虚拟机: hadoop:3.2.0 hive:3.1.2 win10: eclipse 两阶段数据清洗: (1)第一阶段:把需要的信息从原始日志中提取出来 ip: 199.30.25.88 ti ...
- 《C/C++实现Console下的加载进度条模拟[美观版]》
前言 有时候我们会遇到在CMD或DOS控制台上出现的加载进度条,虽然不是如网页和软件写的美观.但确确实实也有着自己的特色.而且,一个好看的加载进度条也能增加用户使用控制台程序的体验!所以,拿来研究 ...
- 02_TypeScript数据类型
typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,写ts代码必须指定类型. 1.布尔类型(boolean) var flag:boolean = true; 2.数字 ...
- linux shell实用常用命令
本文主要介绍Linux Shell的一些使用小技巧收集,非常实用,需要的朋友可以参考下. 查看本机某端口是否被占用 netstat -anpt | grep 22 查看远程某端口是否被开放 echo ...