【Re-ID项目实践】基于表征学习的行人ReID方法实践(一)

简介: 【Re-ID项目实践】基于表征学习的行人ReID方法实践(一)

1、论文内容概要


   行人重新识别给深度学习抛出一个很大的挑战;如何学习一个有百万参数的深度模型,只需要很少的训练,甚至不需要。针对数据稀疏性问题,这篇论文提出了一系列的方法。


   第一、基于现有的ReID研究问题设计了全新的深度网络架构,其不同之处在于:

   (a)可以从大的数据集的模型中进行迁移学习;

   (b)分类损失和验证对损失相结合,分别采用不同的训练的策略。


   第二、提出了一种两步微调策略来迁移辅助数据集的权重;


   第三、针对未标记的ReID数据集,提出了一个基于联合训练的无监督迁移学习方法(本文不进行阐述)。


   所提出的模型比以往的方法:实现了Rank-1的精度分别在不同的数据集为:CUHK03=85.4%、Market1501=83.7%和VIPeR=56.3%。无监督模式Rank-1的精度为(VIPeR=45.1%),比大多数的监督模式要好一些。


2、相关工作说明


2.1、Deep Re-ID model

   大多数集中在deep metric learning,使用pairwise verification loss或者triplet ranking loss,通常有两个或三个分支。在人脸识别中也有类似本文结合分类损失和验证损失的做法,可以将不同类分开以及将同类距离减小。


   现在的方法网络都是专门针对Re-ID设计的,结构各不相同,通常有较小的输入尺寸和不同的长宽比,卷积核的尺寸也较小,池化层较少。难以学到足够泛化的特征。


2.2、Dropout strategy

   通常用来降低过拟合问题,尤其在数据量较小的,本文针对两种损失函数提出了两种类型的Dropout:

   针对分类损失的standard random dropout

   针对验证损失的pairwise-consistent dropout


2.3、Deep transfer learning

   因为ImageNet与Re-ID任务之间有巨大的domain差异性,传统的one stepped strategy是不足够的,本文提出了two stepped strategy:先只微调分类损失,然后一起微调验证与分类损失;


   multi-task joint training approach:目的在于减少源数据与目标数据的边缘分布或联合分布的差异性,通常要求两个任务有相似domain;


2.4、Deep unsupervised domain adaptation

   字典学习、自编码器:难以学到具有判别力的特征soft-label self-training


3、模型原理


模型结构如下:

3.1、网络可以总结

1、Base network相当于一个特征提取器,是一个在ImageNet上预训练过的GoogLeNet的特征提取部分(本文项目实践部分对应的是ResNet50网络模型);


2、添加了两种Subnet来充分利用ID信息,对输入的图片不仅进行ID分类,还进行照片对的验证;


3、利用一个Dropout选择器,首要的当然是防止过拟合,至于为什么要搞一个选择器,也很好理解,Classification部分图片对随机Dropout互不影响,而在Verification部分,需要对图片对的Dropout进行统一,也是为了排除Dropout对核实的影响;


4、两个部分都采用Cross-Entropy Loss。


3.2、模型组件

Base Network:为了利用ImageNet数据集上的特征,选取了在ImageNet上表现较好且参数较少的GoogleNet;


Loss specific dropout unit:对于Base network产生的D维向量y:若是分类Subnet则使用标准的Dropout操作:y˜=r*y,r中的每一个元素都是随机采样于Bernoulli process。若是验证Subnet,因为有一个元素之间的Subtract操作,标准的Dropout并不适合,采用了Pairwise-Consistent Dropout,产生两个Dropout masks ri、rj,同时ri=rj;


Person ID classification subnet:标准的分类网络:Basenet –> Dropout –> softmax(cross-entropy)


Pairwise verification subnet:两个y˜i与y˜j --> 元素间的Subtraction --> Relu --> FC --> 两个节点的Softmax对比损失在本文的模型中效果不是很好,由于使用了Pre-trained GoogleNet,对于非对齐的图片不能在中间加层进行处理,Mahalanobis metric learning Loss测试效率太低。


3.3、提出了关于two-step fine tuning的创新点

1、将softmax层替换成target域的ID数量,固定前面所有参数,进行一步fine tuning(固定base/verification network);


2、待softmax收敛或者达到一定轮数后,接触限制,对整个网络进行fine tuning。


3.4、训练方法

   在监督学习场景下,数据库中的每个样本标定的人员身份。初始化时,提取特征网络使用GoogleNet参数,softmax部分随机初始化。


训练分为两步完成:

   1、固定其他参数,只训练softmax层;

   2、训练所有层参数。

一个特别一点的情况是,用于训练的行人数据库有两个,一个包含N1的较大的库作为辅助,一个包含N2的较小的库为目标。


具体训练分为三步:

   1、固定其他参数,在大库上训练输出为N1N1的softmax层

   2、固定其他参数,在小库上训练输出为N2N2的softmax层

   3、在小库上训练所有层参数


3.5、测试方法

测试过程:

cross image representation(CIR):将图像对送入网络,通过验证网络的fc层以及softmax得到匹配分数;


single image representation(SIR):预先对gallery中的图片计算basenet的输出y,与probe得到的特征计算欧式距离,比CIR快三个数量级。

相关文章
|
数据库 计算机视觉
【Re-ID项目实践】基于表征学习的行人ReID方法实践(二)
【Re-ID项目实践】基于表征学习的行人ReID方法实践(二)
110 0
|
算法 计算机视觉
阿里行人重识别(ReID)算法效果取得世界第一
阿里巴巴机器智能技术实验室在行人重识别(Person Re-identification)算法上获得突破性成果。
2109 0
nrm —— 快速切换 NPM 源 (附带测速功能)
以前我们介绍过cnpmjs.org和最近推出的淘宝 npm 两个 NPM 镜像。除此之外,还有一些国外的 NPM 镜像。不同地区访问不同的镜像速度可能有差异,然后各个镜像各自都可能有少数包暂时没有同步,因此,有时候需要切换 NPM 镜像。相比每次切换时都手动指定相应参数,使用nrm 要方便的多。
904 0
|
数据采集 机器学习/深度学习 人工智能
【项目实践】多粒度网络MGN-ReID之跨境追踪实践(一)
【项目实践】多粒度网络MGN-ReID之跨境追踪实践(一)
1328 0
|
开发工具 git
【教程】git代码仓库迁移的详细步骤
嗨喽!各位小伙伴们,由于公众号做了乱序推送改版,为了保证公众号的推送,能够第一时间及时送达到大家手上,大家记得将我的公众号 加星标置顶 ,公众号每天会送上IT圈独有的资源 !
4233 0
【教程】git代码仓库迁移的详细步骤
|
XML JSON 监控
应用程序接口(API)安全的入门指南
对于初学者来说,API 是指为两个不同的应用之间实现流畅通信,而设计的应用程序编程接口。它通常被称为应用程序的“中间人”。由于我们需要保护用户的持有数据、以及应用本身的完整性,因此 API 的安全性是一种“刚需”。 而对于开发人员而言,API 是一个非常好的工具。它可以在微服务和容器之间交换信息,并实现快节奏的通信交流。正如集成和互连对于应用开发的重要性那样,API 在某种程度上,驱动并增强了应用程序的设计
|
8月前
|
机器学习/深度学习 存储 算法
真是太强大了!YOLO-World检测一切的任务框架使用指南,支持开放词汇检测任务
真是太强大了!YOLO-World检测一切的任务框架使用指南,支持开放词汇检测任务
|
机器学习/深度学习 并行计算 计算机视觉
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
7919 1
|
机器学习/深度学习 人工智能 自然语言处理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理

热门文章

最新文章