五、PCB、论文大致目录结构
5.1 PCB
未增加卷积基线网络的分块(Part-based Convolutional Baseline,PCB
)时,是将整个图像作为网络的输入,通过学习网络的特征提取得到特征图谱。但是ReID任务的数据集是多样性的,有时候并不能得到完好的全身图像,而全局特征
也忽略了图像本身的一些细粒度信息。
增加PCB
,类似局部特征学习
。原论文作者发现通过一种非常简单的切片分离
求loss方法,能够很大程度上提高ReID任务的准确率。将整个图像水平切成6块,6个部分被别用不同的loss来训练网络。PCB网络的结构如下图所示。
由上图可以看到,经过骨干网络提取的特征后,原来的均值池化层和全连接层被移除,将特征图水平分成6个部分,再分别对每个部分做全均值池化,此时每个部分的维度为2048,再经过一个1*1的卷积核降维得到的特征块维度为256。最后,对6个softmax分类器进行了训练,分类的数量取决于训练集ID个数。测试时的向量为降维前的2048维向量串接降维后的256维向量。该网络使用交叉熵代价函数作为损失函数,而去掉最后一次的全均值池化,是为了增加细粒度的特征。
在不同数据集上的分离实验,作者还尝试了多种方案,Variant 1为将所有feature平均后再计算loss,所以只计算一个loss,结果不如PCB。Variant 2为在FC阶段共享参数,就不用6个FC层提取了,只用1个。结果也不如PCB。
在以前的基础上加入PCB:CycleGAN + ResNet50 + PCB
5.2 目录结构
5.3 本周存在问题
需要新的服务器,这边服务器人太多,一个星期还轮不上一次,希望能得到老师的帮助。
-----------------------------------------------分割线----------------------------------------------------
第四周复现代码
4.0 本周任务
1.思考:分类、回归 怎么解决 ReID or 匹配
分类的实质是使得不同id的人分布在不同的特征空间,
回归的实质:我觉得类似于度量,某一个函数能够判断不同照片的相似度(度量学习旨在使得相同id的人不同照片之间的相似度大于不同行人的不同照片)。
2.ResNET网络框架 怎么用于 ReID的
resnet 分类网络,将不同的person id分布在不同的特征空间上
ResNet网络架构:
输入:data = input + label
input = [32, 3, 256, 128] , 32张图片,rgb通道=3, 图片大小256,128?
label = [32], 32个标签也就是32个person id
输出:2048dim的特征空间, 用于分类或者框回归,
分类正好可以做reid,框回归应该可以做目标检测
4.1 PTGAN
4.1.1 第一步复现ResNet
行人重识别问题定义
将行人重识别一般问题表述如下:给定一个我们关心的人物的全身图片(query),通过某些算法,从行人全身图数据库(gallery)中找出与该人最为接近的一张或几张图片。
上述过程又可以划分为两种方案。第一种情况是,随机给定两个人的图片,将这两张图片作为系统输入,我们希望系统输出一个概率值,表示两张图属于同一个ID的概率,这就归结为一个二分类问题
。但是这种方案的问题在于,阈值不好设定。
目前主流的方案中,还是将行人重识别过程当作一个检索(retrieval)问题
,系统一般会将query在与gallery中的图集逐一对比,然后进行相似度排名,返回一个candidate list。基于检索的行人识别方案带来的问题是,运算复杂度随着gallery集增加而增大,而且不好做成实时系统。
基于图片的行人重识别问题
如果我们的query集和gallery集的数据单位都是单帧的图片,这就属于基于图片(image-based)的行人重识别问题。由于行人重识别问题还存在很多技术问题有待研究,因此大家一般会将目标检测和重识别放在两个框架下来做,也就是说query集和gallery集都是经过detector裁剪好的行人框,我们只需专注于重识别问题即可。当然也有人用摄像头采集的原始图片直接作为gallery集,将原图行人检测问题+重识别问题放在一起,做成一个end-to-end模型。end-to-end模型的一个典型做法是,将各种detector和recogniser进行随机组合,来观测不同组合的效果。
总的来说detector的准确率和效率会影响recogniser的检测结果。
深度学习 reid
经过模型最后得到的
第三周
3.1 PTGAN
论文目的
PTGAN这篇论文达到的目标有两个:
- 提出了新的数据集
MSMT17
- 提出了一种解决域间差异的GAN模型PTGAN:旨在解决数据集(包括目前所有大型数据集)训练样本过少,而现实中需要进行验证数据集过大的问题
PTGAN 实现
PTGAN
= PSPNet
+ Cycle-GAN
,而实现风格转换(不能说风格转换了,应该是尽可能保证行人前景不变的前提下实现背景 domain 的迁移
,如上图所示)解决域间差距的关键是 论文提出的损失函数:Lstyle是2次Cycle-GAN得到的,Lid是PSPNet得到的。
提出这个数据集干什么呢
用来验证PTGAN的好处。作者挑选了目前REID常用的GoogleNet作为验证,
- 没有用PTGAN:在Ducket(或者Market,Cuhk)训练,在MSMT17测试效果
- 用了PTGAN:将Ducket(或者Market,Cuhk)通过PTGAN+MSMT17,再测试效果更好
如下图所示:
3.2 DUCK-MTMC
这篇文论文目的有两个
-
- 提出了一个新的数据集
- 2.提出了新的评价指标
并没有提出新的reid模型
3.3 疑问
①目前的研究现在都是基于跨域(跨场景之类的),GAN这种风格转换(PTGAN这种尽可能保持Person Id不变,背景转换)适合 我们这种跨视域的吗?
— 自答:确实背景都不一样,也可算作跨域 ^_^
,
②大视域下是不是应该将研究重点放在怎么提取两组图的共性特征上~,迷茫+1
③基于上复现 PTGAN = (GoogleNet 、PSPNet、Cycle-GAN) 有意义吗,还是当做学习了,毕竟最后做识别的还是GoogleNet(文中还提到了PDCNET,ResNet、GALDnet等,只是挑选了GoogleNet)
4 下一步
暂时还是复现PTGAN
第二周
数据集
一般以 目录名,文件名等作为标记方式,
5.0 分类,单帧和序列
5.1 清华大学Market-1501
2015年清华大学由郑良等人在论文《Scalable Person Re-identification: A Benchmark》(ICCV 2015)中提出。采集自6个摄像头(其中5个高清摄像头和1个低清摄像头)。Market1501包含了12,936张训练(train)图像,3,368张查询(query)图像,以及19,732张图库(gallery)图像,数据集包含1501个ID,其中训练集包含751个ID的图像,图库集包含750个ID的图像。
提出原因:
数据集与现有数据集有三点不同
提出这个数据集是为了一个提出一个方法——词袋模型?
此数据集适极适用于度量学习以及其他
评价协议推荐mAP
5.2 DukeMTMC-reID
原论文, 2017年Duke大学提出,采集自8个不同的摄像头,是DukeMTMC数据集的子集,DukeMTMC-reID包含了16,522张训练图像,2,228个查询图像,以及17,661张图库图像,数据集包含1404个ID,其中训练集包含702个ID的图像,图库集包含702个ID的图像。
提出原因:多目标,多摄像机跟踪,寻求一种新的评价指标
并提出一种新的目标跟踪模型
5.3 CUHK03
2014年香港中文大学大学提出,采集自10个不同的摄像头,CUHK03包含了13164 张图像,数据集包含1360个ID,其中有1160个ID属于训练集,100个ID属于验证集,100个ID属于测试集。
数据集:多个不相交的摄影机,非重叠相机视图
我们提出了一种滤波器配对神经网络(FPNN),以处理未对准,光度和几何变换,遮挡和背景等影响。
FPNN优点
5.4 MSMT17
数据集描述
新的更大的数据集,摄像头数更多,场景、照明变化、视点、姿势变化以及一个场景中的大量身份更加复杂。
提出了 PTGAN,解决域间差距
评价指标
第一周
一、传统行人重识别
1.1 基于人工特征设计(handcrafted features)
-
概念:其基本思路是通过设计鲁棒的特征来描述行人外观,减少光照变化、视角改变、姿态差异、遮挡等因素对
跨视域图像
的负面影响,并且对行人身份异同具有识别能力。 -
缺陷:在行人重识别过程中,如果直接利用提取到的特征计算两幅行人图像之间的距离或相似度,而不考虑样本分布特性,其判别能力必然受到这些因素的负面影响。
-
基本网络
1.1.1 低层视觉特征表达方法
一般为基于颜色、纹理、形状、边缘等行人表观特征的集成学习
。一般过程如下
另一个不同的是Liao 等人在 2015 年提出的基于局部最大出现频率的特征表达方法
(Local Maximal Occurrence,LOMO),其重点考虑解决行人重识别中的视角变化问题。利用多尺度视网膜皮层算法预处理行人图片,解决光线变化问题。在水平条带上提取最大出现频率的特征
作为条带特征,获得更鲁棒的跨视域
不变特性。(不需要再提取几十种特征再集成)
1.1.2 高层视觉特征表达方法
一般基于属性特征和显著性特征,在同一时间下,多个摄像头下,语义
(短裤、
短裙、外套、牛仔裤、头发长短、背包、性别、是否携带物品等)很少发生变化.
1.2 基于度量学习(distance metric learning)
1.2.1 对比损失(Contrastive loss)
对比损失用于训练孪生网络(Siamese network),其结构图如上图所示。孪生网络的输入为一对(两张)图片和,这两张图片可以为同一行人,也可以为不同行人。每一对训练图片都有一个标签,其中表示两张图片属于同一个行人(正样本对),反之表示它们属于不同行人(负样本对)。之后,对比损失函数写作:
其中表示 ,是根据实际需求设计的阈值参数。为了最小化损失函数,当网络输入一对正样本对,会逐渐变小,即相同ID的行人图片会逐渐在特征空间形成聚类。反之,当网络输入一对负样本对时,会逐渐变大直到超过设定的。通过最小化,最后可以使得正样本对之间的距离逐渐变小,负样本对之间的距离逐渐变大,从而满足行人重识别任务的需要。
1.2.2 三元组损失(Triplet loss)
三元组损失是一种被广泛应用的度量学习损失,之后的大量度量学习方法也是基于三元组损失演变而来。顾名思义,三元组损失需要三张输入图片。和对比损失不同,一个输入的三元组(Triplet)包括一对正样本对和一对负样本对。三张图片分别命名为固定图片(Anchor),正样本图片(Positive)和负样本图片(Negative)。图片和图片为一对正样本对,图片和图片为一对负样本对。则三元组损失表示为:
如下图所示,三元组可以拉近正样本对之间的距离,推开负样本对之间的距离,最后使得相同ID的行人图片在特征空间里形成聚类,达到行人重识别的目的。
1.2.3 四元组损失(Triplet loss)
四元组损失是三元组损失的另一个改进版本。顾名思义,四元组(Quadruplet)需要四张输入图片,和三元组不同的是多了一张负样本图片。即四张图片为固定图片(Anchor) ,正样本图片(Positive) ,负样本图片1(Negative1)和负样本图片2(Negative2)。其中和是两张不同行人ID的图片,其结构如上图所示。则四元组损失表示为:
其中和是手动设置的正常数,通常设置小于,前一项称为强推动,后一项称为弱推动。相比于三元组损失只考虑正负样本间的相对距离,四元组添加的第二项不共享ID,所以考虑的是正负样本间的绝对距离。因此,四元组损失通常能让模型学习到更好的表征。
二、基于深度学习
2.1 通过分类(classification)模型提取行人外观特征
训练网络时将属于同一身份(identity,ID)的所有行人图像作为一个类别,它们的行人身份作为类别标签,通过分类损失函数来训练网络。它没有直接提取判断两张图像是否属于同一行人身份的特征,而是通过对所有行人图像的身份类别进行分类,隐式地、间接地提取特征。
2.2 通过验证(verification)模型学习行人外观特征
基于深度学习直接进行行人重识别目的。
深度学习在Market-1501、MARS、DukeMTMC-reID 等大型行人重识别数据集上较优于传统识别方法。
三、基于无监督学习
3.1 基于跨域迁移的学习
基于跨域迁移的学习方法通过域自适应
进行无监督学习
,首先在源域数据集
中学习
用于行人匹配的具有识别力的特征空间
,再将学习到的特征空间迁移
到未标注的目标域数据集
,用于目标域数据集的行人匹配。源域和目标域分别来自不
同的行人重识别数据集
3.2 完全无监督
3.2.1 传统的基于特征设计的方法
一般通过对行人
图像的颜色、纹理、边缘和形状等各类特征
的经验分析
,设计出互补且鲁棒的特征组合
,使行人图像对能够对视角变化、姿态变化、光线变化、遮挡以及背景杂乱等干扰因素具有鲁棒性,同时对行人身份变化具有较强的识别能力。
3.2.2 利用局部显著性统计特征的方法
① 先采用无监督 K 近邻
方法检测显著图像块,然后采用单类支持向量机捕获特征分布的密度和模态,进行行人显著图像块的匹配
② 基于生成概率主题模型
的无监督方法,它学习一组潜在的与行人局部外观对应的主题(如蓝色牛仔裤和深色西装),从而发掘行人前景的显著图像块,同时排除了行人周围杂乱繁多的背景干扰。
3.2.3 基于字典学习的方法
① 基于字典学习
的稀疏编码框架
,通过引入跨视角的拉普拉斯正则项,学习一系列对应于行人属性的字典原子(dictionary atoms),从而实现从无标签的数据中学习到跨视角的鲁棒的行人外观特征。
② 基于图正则化
的鲁棒字典学习
,采用基于 L2范数的上限损失来解决传统的二次损失函数容易被异常值控制的问题,并将跨视角的图拉普拉斯正则项引入字典学习框架,实现将原始数据空间的有用识别信息保存到学习的特征子空间
四 另外参考方法
4.1 基于显著性区域检测与匹配的行人重识别方法
基本思路:学习与全局特征互补的局部特征,然后将两者的特征进行融合。这种模型的主要性能提升就来自于获取到的更好的局部特征表达。
特征提取
局部神经网络
六、跨域行人重识别
本周问题
- 跨大视域 、 跨视域和目前的跨域的定义不同点?
- 现阶段的跨域解决方法:伪标签和对抗生成网络