论文阅读笔记(十七)【ICCV2017】:Dynamic Label Graph Matching for Unsupervised Video Re-Identification
Introduction
文章主要提出了 Dynamic Graph Matching(DGM)方法,以非监督的方式对多个相机的行人视频中识别出正确匹配、错误匹配的结果。本文主要思想如下图:

具体而言:方法采用迭代的方式,每次迭代生成一个二部图(bipartite),估计标签并学习区分矩阵。通过不断迭代,标签准确率提高,矩阵区分度更显著。方法加入了重新加权策略(re-weighting),提供软标签而不是硬标签,来降低标签的误差。
Graph Matching for Video Re-ID
(1)挖掘标签信息:
假设相机A拍摄的未标签图 GA 包含 m 个行人,表示为 [A] = {xai | i = 1, 2, ..., m};
相机B拍摄的图 GB 包含 n 个行人,表示为 [B]0 = {xbj | j = 0, 1, 2, ..., n},[B]0 指除了 n 个元素外包含0元素(为什么加上0元素?)。
目标函数:

其中 y = {yij} 表示 i 和 j 是否表示同一个行人,C = {C(i, j)} 为损失矩阵,其每个元素表示 i 到 j 的距离,计算为:
(个人觉得这只是粗略提一下,具体损失函数在下面细说)
(2)惩罚函数:
总体惩罚函数:

Sequence Cost (CS) 惩罚匹配视频序列之间的差距:

Neighborhood Cost(CN)惩罚匹配视频邻居之间的差距:

其中
和
表示相机A的第 i 个邻居行人和相机B的第 j 个邻居行人(即同一个人),k 为邻居参数,在本实验中 k 设置为5.
存在约束条件:

其中
和
分别是
和
的邻居;
由于不等式的右侧三项均是很小的正项,因此
也是个很小的正项,即:

Dynamic Graph Matching

(1)标签重新加权:
① positive re-weighting:
对于 y = 1 的项,设置软标签,可以过滤一些误报,然后分配不同的正样本对不同的权重:

② negative re-weighting:
对于 y = 0 的项,设置硬标签,过滤比较明显的负样本对:

其中设置
,Cm 为 C 的均值,可参照下图进行理解:

总结:

(2)采用重新加权标签进行矩阵学习:
矩阵学习损失函数:

其中 c0 位一个正数,定义为两个相机的平均距离,马氏距离函数为:

矩阵学习目标函数:

其中 wij 为平衡正负样本对的平衡因子,如果为正样本对,
,如果是负样本对,
。
(3)算法描述:

Experiment
(1)实验设置:
① 数据集:PRID-2011、iLIDS-VID、MARS;
② 特征提取:提取帧特征 LOMO,所有图片帧正规化为 128*64,采用PCA方法将特征维度压缩至600维;
③ 参数设置:迭代次数10次,λ = 0.5;
④ 实验环境:PC with i7-4790K @4.0 GHz CPU and 16GB RAM
(2)自我评估:
① 迭代效果:

② 重新加权效果:

③ 标签评估效果:

(3)对比监督学习:

(4)其他方法对比实验:

论文阅读笔记(十七)【ICCV2017】:Dynamic Label Graph Matching for Unsupervised Video Re-Identification的更多相关文章
- 论文阅读笔记十七: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 ...
- 论文阅读笔记(十九)【ITIP2017】:Super-Resolution Person Re-Identification With Semi-Coupled Low-Rank Discriminant Dictionary Learning
Introduction (1)问题描述: super resolution(SP)问题:Gallery是 high resolution(HR),Probe是 low resolution(LR). ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
- [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering
[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...
- 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification
Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...
- [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati
[论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
随机推荐
- 《数据结构与算法分析-Java语言描述》 分享下载
书籍信息 书名:<数据结构与算法分析-Java语言描述> 原作名:Data Structures and Algorithm Analysis in Java 作者: 韦斯 (Mark A ...
- 如何在git搭建自己博客
1.安装Node.js和配置好Node.js环境,打开cmd命令行输入:node v.2.安装Git和配置好Git环境,打开cmd命令行输入:git --version.3.Github账户注册和新建 ...
- node.js+express+mongoose实现用户增删查改案例
node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...
- SpringBoot嵌入式Servlet配置原理
SpringBoot嵌入式Servlet配置原理 SpringBoot修改服务器配置 配置文件方式方式修改,实际修改的是ServerProperties文件中的值 server.servlet.con ...
- 修改定时清理 /tmp 目录下的文件
初衷 默认系统是超过 30 天不访问的文件自动清除的,但是有时候硬盘用得紧可以考虑修改周期 设置方法 编辑配置文件:vim /etc/cron.daily/tmpwatch #! /bin/sh fl ...
- 打包 压缩 命令tar zip
tar语法 #压缩tar -czvf ***.tar.gztar -cjvf ***.tar.bz2#解压缩tar -xzvf ***.tar.gztar -xjvf ***.tar.bz2 tar ...
- JavaScript中,数组和对象的遍历方法总结
循环遍历是写程序很频繁的操作,JavaScript 提供了很多方法来实现. 这篇文章将分别总结数组和对象的遍历方法,新手可以通过本文串联起学过的知识. 数组遍历 方法一:for 循环 for 循环是使 ...
- ORB-SLAM2 论文&代码学习 —— 单目初始化
转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12358458.html 本文要点: ORB-SLAM2 单目初始化 ...
- log4j2 springboot 特点与使用方法
Apache Log4j2 is an upgrade to Log4j that provides significant improvements over its predecessor, Lo ...
- C# 获取键盘钩子,屏蔽键盘按键
static int hHook = 0; public delegate int HookProc(int nCode, int wParam, IntPtr lParam); //LowLevel ...