五、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
经过模型最后得到的