【Person Re-ID】AlignedReID: Surpassing Human-Level Performance in Person Re-Identification
转载地址:https://zhuanlan.zhihu.com/p/32603701
一. 论文背景
论文:AlignedReID: Surpassing Human-Level Performance inPerson Re-Identification 【点击下载】
Caffe代码:【Github】
首先通过下图来看ReID面临的问题:
由于检测框不准确(a-b),姿态变化(c-d),遮挡(e-f)和 近似外观(g-h)。
为了解决以上问题,一些研究将重心放在part-based learning,在整体特征无法准确描述的情况下,利用局部特征来强调差异。
局部特征有很多方法,最常用的 水平划分,PAR(基于FCN),AttentionModel,RPP 等。
算法提到了两个创新点,动态对齐(Dynamic Alignment)和 协同学习(Mutual Learning),算法在Market1501和CUHK03上的Rank-1达到了94.0%和96.1%,首次在行人再识别问题上超越了人类表现。
二. 算法描述
最关键的 Aligned ReID 框架图,下图是不包含 Mutual Learning 的情况:
这里面 N 为一个Batch(论文中N=128),通过一个共享的特征提取层后,分别提取局部特征和全局特征,通过N*N的距离矩阵描述,计算triplet loss。
在一个min-batch中,通过global distance计算距离,选择 相同标签差异最大、不同标签差异最小的input构造hard samples。实验中Triplet margin设为0.3。
2.1 动态规划
动态规划实际是为了解决两幅图像之间的 Part对齐问题,如图 [part1]<->[part4]
1)Part model能够对目标特征进行细粒度刻画,是非常必要的
2)最短路径包含非相关特征(如part1<->part1),这非但不会对结果造成影响,而且还会对维护垂直方向对齐的次序起着至关重要的作用。
即 路径规划本身隐含了自上而下的顺序。
注:非相关特征距离d比较大,其梯度接近于0,因此对于最短路径的贡献是比较小的。
有兴趣的同学可以参考下面的公式证明一下。3)路径规划过程
先来看part距离公式(H表示水平划分,文中已验证最好的H=6):
规划从(1,1)到(H,H)的最短路径,参考公式:
规划得到的SH,H最短路径即是两幅图像最佳的Local 匹配。
2.2 协同学习
协同学习的框架:
1) 通过两个网络(上图θ1和θ2)实现 Mutual Learning
每个网络又包含 Classification Learning和 Metric Learning,用于分类和距离度量。
通过 Classification Mutual Loss 和 Metric Mutual Loss 实现协同学习。
注:两个网络相互学习,没有主次之分。2)预测阶段,只用到了全局特征,没有采用局部特征
原因在于,通过协同学习,提取的全局特征在局部特征影响下,已经能够准确描述图像,和局部特征并无区别,作者通过实验验证(仅在小gallery上Rank-1有所提升,0.3-0.5%)。
当然还有一个原因,就是全局特征的提取更快,一致性描述更强。3)Batch解构
对于一个Batch内N幅图像,通过global distance计算两两之间的距离,得到N*N的距离矩阵M,其中Mi,j表示图像(i,j)之间的距离,Mutual LearningLoss定义为:
2.3 Re-Ranking
重排序对于ReID来讲通常是非常必要的,能够显著提高准确率,本文采用的Re-Ranking方法并无不同,本节不展开。
三.实验结果
算法在测试过程中已经超过了人类的认知,在典型数据集上表现也非常不错。和state-of-the-art 方法的对比:
【Person Re-ID】AlignedReID: Surpassing Human-Level Performance in Person Re-Identification相关推荐
- 【ReID】AlignedReID: Surpassing Human-Level Performance in Person Re-Identification
[ReID]AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 模型 实验 写作 问题 参考文献 阅 ...
- 【点云系列】Multi-view Neural Human Rendering (NHR)
文章目录 1. 概要 2. 动机 3. 方法 流程图 整体框架 模块1:特征提取(FE) 模块2:投影与光栅化(PR) 模块3: 渲染(RE) 训练损失 几何改进 4. 实验 数据集 实验效果: 5. ...
- 【踩坑专栏】idea的language level默认为5解决办法
idea里的language level默认为5,改了project中 的project language level也没用.基本上处于过两分钟就会有提示告诉你,你刚改的modele language ...
- 【ReID】AlignedReID ++ : Dynamically matching local information for person re-identification
[ReID]AlignedReID ++ : Dynamically matching local information for person re-identification 模型 实验 问题 ...
- 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 启动相同 id 的第二个前台 Service 关闭通知 )
文章目录 一. 前台 Service 通知问题 二. 设置 startForeground id 参数为 0 三. 启动相同 id 的第二个前台 Service 关闭通知 1. 前台服务 1 2. 关 ...
- 【分布式ID】理解Snowflake算法的实现原理
1.概述 转载:冷饭新炒:理解Snowflake算法的实现原理 我上次也看了一个视频讲解:[分布式ID]键高并发 分布式 全局唯一 ID 雪花算法 snowflake 2.前提# Snowflake( ...
- 记一次 【Unknown thread id: XXX】 的排查
1.背景 线上一个服务偶尔会产生[Unknown thread id: XXX]异常 1.1.异常堆栈 org.springframework.jdbc.UncategorizedSQLExcepti ...
- 【数据库SQL实战】将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
https://www.nowcoder.com/practice/2bec4d94f525458ca3d0ebf3bc8cd240?tpId=82&tqId=29812&rp=0&a ...
- UI设计中ID软件书籍排版时目录的制作你会吗?【太原UI设计师】分享
UI设计中ID软件书籍排版时目录的制作你会吗?[太原UI设计师]郭文军分享 1,新建段落样式(F11):目的为了得到目录中文字的样式 ①,新建段落样式,双击打开名称"章",更改字符 ...
最新文章
- 【动态规划】区间DP - 最优矩阵链乘(另附POJ1651Multiplication Puzzle)
- 鼠标右击 html5,认识HTML--写出第一个简易网页 -------16岁的小前端
- python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows
- R语言实战应用精讲50篇(八)-随机区组设计资料的方差分析
- 高德地图和百度地图接口封装遇到的问题(三):参数集中插入参数以及引用未定义参数
- 全球及中国生物识别车辆访问技术行业十四五应用现状及未来展望规划报告2022-2027年
- SpringMVC(一)——入门案例
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第29篇]什么是UF-CMA数字签名的定义?
- Ubuntu下libvirt kvm配置
- 关于ssd-tensorlow如何训练自己的数据集合
- caffeine 读操作源码走读 为什么读这么快
- 拆箱装箱有什么作用JAVA_基础--最简单明了的拆箱装箱解释,带实例
- 034. asp.netWeb用户控件之三通过用户控件实现用户注册和登录
- 51单片机lcd1602显示(模块)
- 爬虫练习--爬取CNNVD相关漏洞
- 一篇文章带你认识数学建模中的数据拟合
- Unity一键更换TextMeshPro的字体
- Simulation of Wrinkled Surfaces Revisited
- python 小甲鱼 好不好_小甲鱼零基础入门学习python课后题及答案
- Redis在Windows下的安装教程