Introduction

(1)Motivation:

大量标记数据成本过高,采用半监督的方式只标注一部分的行人,且采用单样本学习,每个行人只标注一个数据。

(2)Method:

对没有标记的数据生成一个伪标签(pseudo labels),将标记的数据和部分伪标签的数据作为扩充数据集进行训练。

但这种方法引入了很多不可信的训练样本,制约了训练模型的性能。

(3)Contribution:

① 为了在单样本学习中更好的利用未标签数据,提出了步进学习方法EUG(Exploit the Unknown Gradually)。介绍如下:

  通过单样本数据集训练CNN模型;

  EUG迭代更新CNN模型,分为两步:

    标签估计:对未标记数据生成伪标签,根据预测的可信度选择伪标签数据训练,

    模型更新:使用扩充数据集对CNN重新训练。

② 采用基于距离的抽样准则进行标签估计和样本选择,显著提高了标签估计的性能。

The Progressive Model

(1)预备工作:

符号定义:

标记数据:L = {(x1, y1), ..., (xnl, ynl)}, |L| = nl

未标记数据:U = {(xnl+1), ..., (xnl+nu)}, |U| = nu

训练标记数据集的目标函数:

其中, Φ 表示一个嵌入函数,含有参数 θ,表示提取数据 xi 的特征(可视为CNN);

f 是一个含有参数 w 的函数,用于将 Φ 函数提取出的特征分类为 k 维的置信度估计(k表示行人的数量);

l 表示损失函数。

将未标记的数据考虑在内,单样本学习目标函数转为:

其中,yi^ 表示生成伪标签的第 i 个未标记数据;

si 属于 {0, 1},用于选择放进训练的未标记数据。

(2)框架:

提出一个步进学习方法来解决优化问题,即先优化 θ 和 w,再优化 y^ 和 s。

定义 S 为选择的伪标签的集合:

特征提取函数 Φ 采用一个带有时间平均池化的CNN模型ETAP-Net,该网络基于ResNet-50的架构,在分类层之前添加了全连接层和时间平均池化层。通过时间平均池化,每个tracklet包含的多个帧级特征转为tracklet级特征。在标签估计阶段,每个未标记的视频tracklet都会计算与已标记tracklet的距离,并将最近的数据进行伪标记。

(3)渐进式高效抽样策略:

① 抽样策略:如何保证抽选的伪标签样本的可靠性?

作者提出了一个动态的抽样策略,逐渐增加选择的伪标签样本数量。

② 抽样标准:对于单样本训练的行人重识别问题,什么才是一个高效的抽样标准?

作者提出了一个高效的抽样标准,采用了特征空间的距离度量(最近邻)来衡量可靠性。

具体策略如下:

对于每一个未标记数据,定义不相似度代价函数,其中 xi 属于 U:

设置第 t 次迭代的伪标签索引:

其中 mt 表示选择的伪标签集合的大小,迭代定义为:mt = mt-1 + p*nu,p为增量因子,属于(0, 1),控制伪标签集合的增长速度。

如何确定增量因子 p ?将 p 设置为一个很小的数值,使得 mt 在迭代中逐渐增大。

算法流程:

Experiments

(1)实验设置:

① 数据集:MARS和DukeMTMC

② 参数设置:momentum = 0.5,weight decay = 0.0005, batch size = 16, epochs = 70,lr = 0.1(前55个epochs),lr = 0.01(后15个epochs)

③ 数据处理:采用ImageNet进行预训练;每个tracklet选取16帧作为输入。

(2)实验结果:

其他读者的阅读笔记【传送门

论文阅读笔记(十二)【CVPR2018】:Exploit the Unknown Gradually: One-Shot Video-Based Person Re-Identification by Stepwise Learning的更多相关文章

  1. 论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)

    论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/ma ...

  2. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  3. 论文阅读笔记(二十二)【CVPR2017】:See the Forest for the Trees: Joint Spatial and Temporal Recurrent Neural Networks for Video-based Person Re-identification

    Introduction 在视频序列中,有些帧由于被严重遮挡,需要被尽可能的“忽略”掉,因此本文提出了时间注意力模型(temporal attention model,TAM),注重于更有相关性的帧. ...

  4. 论文阅读笔记(二十)【AAAI2019】:Spatial and Temporal Mutual Promotion for Video-Based Person Re-Identification

    Introduction (1)Motivation: 作者考虑到空间上的噪声可以通过时间信息进行弥补,其原因为:不同帧的相同区域可能是相似信息,当一帧的某个区域存在噪声或者缺失,可以用其它帧的相同区 ...

  5. 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)

    论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...

  6. 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)

    论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...

  7. 【学习笔记】Vins-Mono论文阅读笔记(二)

    估计器初始化简述 单目紧耦合VIO是一个高度非线性的系统,需要在一开始就进行准确的初始化估计.通过将IMU预积分与纯视觉结构进行松耦合对齐,我们得到了必要的初始值. 理解:这里初始化是指通过之前imu ...

  8. 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)

    论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...

  9. 论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)

    论文源址:https://arxiv.org/abs/1505.04366 tensorflow代码:https://github.com/fabianbormann/Tensorflow-Decon ...

  10. 论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)

    论文源址:https://arxiv.org/pdf/1612.01105.pdf tensorflow代码:https://github.com/hellochick/PSPNet-tensorfl ...

随机推荐

  1. 突破CRUD | 万能树工具类封装

    0.学完本文你或许可以收获 感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. ...

  2. php curl 检测网页是否被百度收录

    <?php /* * 检测百度是否收录网页 curl模式 * @ param string $url传入的url* return int (1 收录 0 不收录) */ function che ...

  3. php面试笔记(2)-php基础知识-常量和数据类型

    本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 面试是每一个PHP初学者到PHP程序员必不可少的一步,冷 ...

  4. 使用GitHub+Travis-CI+Docker打造自动化流水线

    全文采用的是阿里云的ESC服务器,系统是CentOS 7 示例项目是NodeJS编写,本文主要是Docker的使用,在文章前2/3都是Docker命令介绍,最后我们会完成一个自动化的示例. 准备 注册 ...

  5. saltstack集合

    saltstack集合 saltstack(一):   saltstack简介 saltstack(二):   saltstack安装及配置 saltstack(三):   saltstack远程执行 ...

  6. 兄弟连 企业shell笔试题 16-31

    企业实践题16:企业案例:写网络服务独立进程模式下rsync的系统启动脚本 例如:/etc/init.d/rsyncd{start|stop|restart} .要求:1.要使用系统函数库技巧.2.要 ...

  7. 兄弟连 企业shell笔试题 1-15

    这些题目收集自网络,对比原来的答案,又根据实际情况重新编写了自己的答案 企业实践题1: (生产实战案例):监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境 ...

  8. apache 负载均衡

    此次使用mod_proxy的方式来实现的,因为在Apache2以上的版本中已经集成了,因此不需要再另行安装和配置了. 只需要把注释去掉即可,去掉以下模块的注释: LoadModule proxy_mo ...

  9. Python编程:从入门到实践——【作业】——第六章(字典)

    第六章作业 6-1 人 : 使用一个字典来存储一个熟人的信息, 包括名. 姓. 年龄和居住的城市. 该字典应包含键first_name . last_name . age 和city . 将存储在该字 ...

  10. 《Java 8 in Action》Chapter 12:新的日期和时间API

    在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始. 在Java 1.1中,Date类中的很多 ...