Person Re-ID行人重试别梳理
定义
是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。给定一张切好块的行人图像 (probe image,), 从一大堆切好块的图像 (gallery images) 中找到同一身份的人的图像。这些图像通常是由不同摄像头拍摄的不连续帧。
主要技术方案
1. 基于表征学习的ReID方法
CNN自动从原始的图像数据中根据任务需求自动提取出表征特征(Representation),然后把行人重识别问题看做分类(Classification/Identification)问题或者验证(Verification)问题.
但是也有论文认为光靠行人的ID信息不足以学习出一个泛化能力足够强的模型。通过结合ID损失和属性损失能够提高网络的泛化能力。
2. 基于度量学习的ReID方法
2.1 对比损失(Contrastive loss)
对比损失用于训练孪生网络,可以使得正样本对之间的距离逐渐变下,负样本对之间的距离逐渐变大,从而满足行人重识别任务的需要。
2.2 三元组损失(Triplet loss)
三张图片分别命名为固定图片(Anchor) a ,正样本图片(Positive)p和负样本图片(Negative) n 。考虑正负样本对之间的相对距离.
2.3 四元组损失(Quadruplet loss)
四张图片为固定图片(Anchor) a ,正样本图片(Positive) p ,负样本图片1(Negative1) n1 和负样本图片2(Negative2) n2 。其中 n1 和 n2 是两张不同行人ID的图片,其结构如上图所示。则四元组损失表示为:
2.4 边界挖掘损失(Margin sample mining loss, MSML)
3. 基于局部特征的ReID方法
3.1 PCB-RPP
> 1. 提出了均匀分块的 Part-based Convolutional Baseline(PCB),探讨了较优的块间组合方式
> 2. 提出了基于 parts 的 Refined part pooling(RPP),用注意力机制来对齐 parts
3.2 基于骨架仿射变换对齐
3.3 Spindle Net
对于输入的一张行人图片,有一个预训练好的骨架关键点提取CNN(蓝色表示)来获得14个人体关键点,从而得到7个ROI区域,其中包括三个大区域(头、上身、下身)和四个四肢小区域。
3.4 AlignedReID链接
实现了自动对齐,首次超越人工识别.
- 特点1:动态规划
为了解决两幅图像之间的 Part对齐问题,分别提取局部特征和全局特征,通过N*N的距离矩阵描述最短路径即是两幅图像最佳的Local 匹配。 - 特点2: 协同学习
 - 特点3: reRanking
 
3.5 EANet链接
- 特点1:部件对齐池化(PAP: Part Aligned Pooling)
其实就是根据骨架关键点先验知识,在feature map上进行纵向划分;
 特点2:部件分割约束(PS Constraint)
发现meature map特征冗余性很强,所以添加一个正则约束,也就是和预训练的不见分割器所产生的部件伪标签对比,增加Conv5后meature map特征的空间区分性,减少相关度.
4. 基于视频序列的ReID方法
累计运动背景网络(AMOC)
1) 首先训练了一个运动信息网络(Moti Nets)。这个运动网络输入为原始的图像序列,标签为传统方法提取的光流序列,输出光流序列;
2) AMOC拥有空间信息网络和运动信息网络两个子网络。图像序列的每一帧输入到Spat Nets来提取图像的全局内容特征,相邻的两帧将会送到Moti Nets来提取光流图特征。
5. 基于GAN造图的ReID方法
ReID的其中一个难点就是姿态的不同,通过每一张图片都生成标准的n个pose来实现不见对齐.
Person Re-ID行人重试别梳理的更多相关文章
- Person Re-ID行人重试别数据集
		
1. 杜克大学数据(DukeMTMC-reID) DukeMTMC 数据集是一个大规模标记的多目标多摄像机行人跟踪数据集.它提供了一个由 8 个同步摄像机记录的新型大型高清视频数据集,具有 7,000 ...
 - Akka源码分析-Persistence-AtLeastOnceDelivery
		
使用过akka的应该都知道,默认情况下,消息是按照最多一次发送的,也就是tell函数会尽量把消息发送出去,如果发送失败,不会重发.但有些业务场景,消息的发送需要满足最少一次,也就是至少要成功发送一次. ...
 - 浅谈PHP数据结构之单链表
		
什么是链表?(依据百度词条查询而得) 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每个元素称为结点)组成,结点能够在执 ...
 - [转帖]微软宣布加入 OpenJDK 项目
		
微软宣布加入 OpenJDK 项目 https://news.cnblogs.com/n/646003/ 近日,微软的 Bruno Borges 在 OpenJDK 邮件列表中发布了一条消息,内容包含 ...
 - 微软宣布加入 OpenJDK,打不过就改变 Java 未来!
		
近日,微软的 Bruno Borges 在 OpenJDK 邮件列表中发布了一条消息,内容包含接下来发生的事情以及微软如何开始将其团队整合到 OpenJDK 社区. 在邮件中,Bruno Borges ...
 - (四) appium-desktop 脚本录制常用AW使用介绍
		
通过使用appium-desktop录制脚本,编写app自动化脚本的过程中,会使用到一些AW,下面就这些AW的使用方法做详细的介绍.通过实践可以看到这几个AW可以完成测试工作. AWOpenGiveP ...
 - 微软宣布加入 OpenJDK 项目
		
近日,微软的 Bruno Borges 在 OpenJDK 邮件列表中发布了一条消息,内容包含接下来发生的事情以及微软如何开始将其团队整合到 OpenJDK 社区.在邮件中,Bruno Borges ...
 - Infrared-Visible Cross-Modal Person Re-Identification with an X  Modality (AAAI 2020)
		
Infrared-Visible Cross-Modal Person Re-Identification with an X Modality (AAAI 2020) 1. Motivation 可见 ...
 - atomic 原子自增工程用法案例
		
案例 1 : 简单用法 atomic_int id; atomic_fetch_add(&id, 1) atomic_uint id; atomic_fetch_add(&id, 1) ...
 
随机推荐
- Java常见runtime  exception
			
ArithmeticException,:算数异常ArrayStoreException,数组存储异常BufferOverflowException,编码出错异常 解决方法: 使用Eclipse开发一 ...
 - Linux下Oracle 12c的卸载
			
注:本文来源于:<Linux下Oracle 12c的卸载> 与Windows下Oracle的安装容易卸载麻烦相反,Linux下Oracle的安装麻烦下载简单. 1.关闭Oracle数据库 ...
 - Oracle数据库的状态查询
			
本文来源:huang_xw 的<Oracle数据库的状态查询> 1 状态查询 启动状态 SQL语句 结果 nomount select status from v$instance; ST ...
 - Confluence 6 使用页面请求属性来对慢性能进行问题解决
			
这个页面告诉你如何启用页面请求属性.当这个属性启用以后,你可以查看在 Confluence 任何页面完成的一个记录消耗的时间(毫秒).如果 Confluence 反应缓慢的话,一个关于慢页面请求的内部 ...
 - Confluence 6 数据库支持的驱动
			
数据库 驱动已捆绑? JDBC 驱动 备注 更多信息 PostgreSQL 9.4-1202 JDBC 41 driver download 我们推荐你使用 JDBC 4 的驱动. 如果你希望使用更新 ...
 - Linux端BaiduPCS-Go使用方法
			
下载https://pan.baidu.com/s/1RFHTRE1c_JlP8rrZiERsTg 运行 ./BaiduPCS-Go 可能更新:update 登录:login 下载: d xxx 更多 ...
 - windows下如何安装pip以及如何查看pip是否已经安装成功
			
最近刚学习python,发现很多关于安装以及查看pip是否安装成的例子都比较老,不太适合于现在(python 3.6 )因此,下一个入门级别的教程. 0:首先如何安装python我就不做介绍了. 1: ...
 - 好用的JS拖拽插件
			
下载artDialog插件的时候发现它把拖拽单独封装成了一个方法,挺好用的,使用方法如下... 第一种拖拽方式-点击容器指定区域进行拖拽 $('.ui-dialog').on(DragEvent.ty ...
 - 《剑指offer》 反转链表
			
本题来自<剑指offer> 反转链表 题目: 输入一个链表,反转链表后,输出新链表的表头. 思路: 需要三个变量,来保存当前节点的,前面节点和反转后的节点. C++ Code: /* st ...
 - PDF如何设置书签,怎么在PDF上添加书签
			
PDF文件现在作为我们使用最多的一种办公文件,当然我们在使用PDF文件的同时还会需要编辑PDF文件,在使用一个PDF文件页数比较多的时候就需要添加书签,不然每次使用的时候都需要从头开始查找是很麻烦又头 ...