[论文笔记 ECCV2020] Learning to Count in the Crowd from Limited Labeled Data

  • 摘要 Abstract
  • 贡献 Contributions
  • Model Architecture(GP-based iterative learning)
    • 整个训练过程分为两个阶段
      • 1. labeled training stage
      • 2. unlabeled training stage
    • Labeled Stage
    • Unlabeled Stage
    • 总的losslossloss
    • 实现细节 Implementation Details
    • 实验结果 Results&Ablation Study
      • 消融1:选择有标注数据的比例为5%,对比有无利用无标注样本及高斯过程的结果性能差异
      • 消融2:有标注样本的比例分别从5%到75%的性能差异
      • 效果图
      • 消融3:不同的网络结构作为encoder的性能对比
      • 伪标签分析:
      • 消融4:可迁移性

论文地址:https://arxiv.org/pdf/2007.03195.pdf

摘要 Abstract

最近的人群计数的方法取得了很好的性能,但是大多数的方法都是基于全监督式的学习同时需要依赖大量的标注。获取这些标注是非常耗时费力的,成本较高。因此本文提出一种从有限的标注样本中学习计数的网络(同时利用了大量的无标注的数据),旨在减少标注成本。使用基于高斯过程的迭代学习机制用于对无标注样本的伪标签进行评估,然后将其作为监督信息使用监督式的方法来训练网络。

首先用高斯过程来对带有gt的标注样本的隐空间向量和没有标注样本的隐空间向量建立关系得到没有标注样本的伪标签,然后对比一下上一轮GP建模的无标注输入的伪标签,之后就可以用这个伪标签来使用监督式的方法在没有标注的数据集上进行训练。

贡献 Contributions

  1. 我们提出了一个在训练过程中基于高斯过程的框架来有效地探索无标注的数据,用来提升整体性能。所提出的方法包括了迭代式地同时训练标注的和无标注的数据。对于无标注的数据,在标注阶段使用高斯过程来评估伪标签。

  2. 提出的框架在半监督和迁移学习表现有效,通过消融实验,证明了提出的模型是能够泛化到不同网络结构的。

Model Architecture(GP-based iterative learning)

网络是用一个encoder和decoder结构组成的,提出的框架与encoder网络无关,实验阶段表明其可以很好地泛化到像VGG16,ResNet50和ResNet101上去。decoder由一组两个conv-relu层组成。输入图片xxx经过encoder网络得到隐空间向量zzz,这个隐空间向量zzz经过decoder网络得到密度图输出yyy。

整个训练过程分为两个阶段

1. labeled training stage

在这一阶段,我们使用有标注的数据集,用监督损失函数(比如L2 loss)去学习网络模型的参数。

2. unlabeled training stage

在这一阶段,使用高斯过程对无标注的数据点生成伪标签,然后使用监督学习的方式进行训练。

Labeled Stage

使用L2 loss来训练网络,只训练有标注数据的那部分数据样本。
Ls=L2=∣∣ylpred−yl∣∣2L_s = L_2 = ||y^{pred}_l - y_l||_2 Ls​=L2​=∣∣ylpred​−yl​∣∣2​

ylpred=g(zl,ϕd)y^{pred}_l = g(z_l,\phi_d)ylpred​=g(zl​,ϕd​)表示的是模型的输出,yly_lyl​是ground truth,z=h(x,ϕe)z = h(x,\phi_e)z=h(x,ϕe​)是隐空间向量,值得注意的是,需要额外保存中间过程的隐空间向量矩阵Fzl={zji}i=1NlF_{z_l} = {\{z^i_j\}^{N_l}_{i=1}}Fzl​​={zji​}i=1Nl​​。这个矩阵用于后续计算无标注数据的伪标签。矩阵的维度是Nl×MN_l \times MNl​×M,这里MMM是隐空间向量zlz_lzl​的维度64×32×32=6553664 \times 32 \times 32 = 6553664×32×32=65536。

Unlabeled Stage

在无标注数据的训练阶段,我们使用高斯过程来生成伪标签作为监督信息用于训练网络结构。在有标注数据的训练阶段,我们使用隐层空间向量FzlF_{z_l}Fzl​​来建模隐层空间向量与输出密度图之间的映射关系y=t(z)y=t(z)y=t(z)。
通过高斯过程,利用标注数据和无标注数据的隐空间向量来联合建模函数t(⋅)t(·)t(⋅)的分布。
P(t(z)∣DL,Fzl,Tyl)∼GP(μ,K(Fzl,Fzl)+σϵ2I)P(t(z)|D_L, F_{z_l},T_{y_l}) \sim GP(\mu, K(F_{z_l}, F_{z_l}) + \sigma_\epsilon^2I) P(t(z)∣DL​,Fzl​​,Tyl​​)∼GP(μ,K(Fzl​​,Fzl​​)+σϵ2​I)
这里μ\muμ是通过高斯过程计算出来的函数值,σϵ2\sigma_\epsilon^2σϵ2​设置成1,KKK是核函数,基于此,对于第kkk个无标注样本xukx_u^kxuk​的隐空间向量zukz_u^kzuk​的条件联合分布就可以表示如下:
P(t(zuk)∣DL,Fzl,Tzl)=N(μuk,Σuk)P(t(z_u^k)|D_L, F_{z_l}, T_{z_l}) = N(\mu_u^k, \Sigma_u^k) P(t(zuk​)∣DL​,Fzl​​,Tzl​​)=N(μuk​,Σuk​)
这里的μuk\mu_u^kμuk​和Σuk\Sigma_u^kΣuk​分别是:
μuk=K(zuk,Fzl)[K(Fzl,Fzl)+σϵ2I]−1Tyl\mu_u^k = K(z_u^k, F_{z_l}) [K(F_{z_l}, F_{z_l})+\sigma_\epsilon^2I]^{-1}T_{y_l} μuk​=K(zuk​,Fzl​​)[K(Fzl​​,Fzl​​)+σϵ2​I]−1Tyl​​
Σuk=K(zuk,zuk)−K(zuk,Fzl)[K(Fzl,Fzl)+σϵ2I]−1K(Fzl,zuk)+σϵ2\Sigma_u^k = K(z_u^k,z_u^k) - K(z_u^k, F_{z_l}) [K(F_{z_l},F_{z_l})+\sigma_\epsilon^2I]^{-1}K(F_{z_l},z_u^k)+\sigma_\epsilon^2 Σuk​=K(zuk​,zuk​)−K(zuk​,Fzl​​)[K(Fzl​​,Fzl​​)+σϵ2​I]−1K(Fzl​​,zuk​)+σϵ2​
K(Z,Z)k,i=K(zuk,zli)=<zuk,zli>∣zuk∣⋅∣zli∣K(Z,Z)_{k,i} = \mathcal{K}(z_u^k, z_l^i) = \frac{<z_u^k,z_l^i>} {|z_u^k| \cdot |z_l^i|} K(Z,Z)k,i​=K(zuk​,zli​)=∣zuk​∣⋅∣zli​∣<zuk​,zli​>​
考虑到随着有标注数据的样本NlN_lNl​慢慢地增大,对于K(Fzl,Fzl)K(F_{z_l},F_{z_l})K(Fzl​​,Fzl​​)的维度也会变得很大,对于计算和存储是一个挑战。因此不是所有的有标注样本的隐空间向量都要用,具体来说就是只选择与无标注样本的隐空间向量相似的且最近的NnN_nNn​个有标注样本的隐空间向量来计算那个矩阵Fzl,nF_{z_l,n}Fzl​,n​, 直接使用μuk\mu_u^kμuk​来作为第kkk个无标注样本的伪标签,即yu,pseudok=μuky_{u,pseudo}^k = \mu_u^kyu,pseudok​=μuk​,然后使用L2L_2L2​距离来优化模型,更新encoder和decoder的参数。
进一步,还要最小化使用高斯过程计算出来的zukz_u^kzuk​和其最近的NnN_nNn​隐空间向量之间的方差Σu,nk\Sigma_{u,n}^kΣu,nk​得到最终的损失loss=Lunloss = \mathcal{L}_{un}loss=Lun​。

Lun=1∣Σu,nk∣∣∣yu,predk−yu,pseudok∣∣2+logΣu,nk\mathcal{L}_{un} = \frac{1}{|\Sigma_{u,n}^k|} ||y_{u,pred}^k - y_{u,pseudo}^k||_2 +log\Sigma_{u,n}^k Lun​=∣Σu,nk​∣1​∣∣yu,predk​−yu,pseudok​∣∣2​+logΣu,nk​

总的losslossloss

Lf=Ls+λunLun\mathcal{L}_f = \mathcal{L}_s + \lambda_{un}\mathcal{L}_{un} Lf​=Ls​+λun​Lun​

实现细节 Implementation Details

使用Adam优化器,学习率为1e-5,momentum=0.9, batchsize=24,使用Nvidia Titan Xp GPU
training: random crop size = 256 ×\times× 256,
MAE和MSE作为评价指标。

实验结果 Results&Ablation Study

消融1:选择有标注数据的比例为5%,对比有无利用无标注样本及高斯过程的结果性能差异
  1. 100% labeled dataset
  2. 5% labeled
  3. 5% labeled + 95% unlabeled + Ranking Loss
  4. 5% labeled + 95% unlabeled + Gaussian Process

消融2:有标注样本的比例分别从5%到75%的性能差异
  1. No-GP(labeled dataset only)
  2. GP (labeled and unlabeled dataset)

效果图

消融3:不同的网络结构作为encoder的性能对比

伪标签分析:

It can be observed that the pseudo-GT errors are concentrated in the lower end of the error region as compared to the prediction errors. This implies that the pseudo-GTs are more closer to the GTs than the predictions. Hence, the pseudo-GTs obtained using the proposed method are able to provide good quality supervision on the unlabeled data.

大致意思就是说这个用高斯过程生成的伪标签是有效的,能够提供好的监督信息来训练网络。

消融4:可迁移性
  1. No Adapt
  2. Cycle GAN
  3. SE Cycle GAN
  4. Proposed Method


[论文笔记 ECCV2020] Learning to Count in the Crowd from Limited Labeled Data相关推荐

  1. 【论文笔记】Learning to Count in the Crowd from Limited Labeled Data

    文章目录 Abstract 1 Introduction 3 Preliminaries 4 GP-based iterative learning 4.1 Labeled stage 4.2 Unl ...

  2. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

    CLIP论文笔记--<Learning Transferable Visual Models From Natural Language Supervision> 1.Introducti ...

  3. [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation

    [深度学习论文笔记]Pairwise Learning for Medical Image Segmentation 医学图像分割的成对学习 Published: October 2020 Publi ...

  4. [论文笔记]AAAI-2021-Continual Learning for Named Entity Recognition

    [论文笔记] 2021-AAAI-Continual Learning for Named Entity Recognition 0 写在前面 什么是持续学习? 我们人类有能够将一个任务的知识用到另一 ...

  5. 【论文笔记】Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement Learn

    文章目录 [论文笔记] Learning Synergies between Pushing and Grasping with Self-supervised Deep Reinforcement ...

  6. 论文笔记:DLWL: Improving Detection for Lowshot classes with Weakly Labelled data

    论文笔记:DLWL: Improving Detection for Lowshot classes with Weakly Labelled data 使用弱标签数据改进对Lowshot类的检测 1 ...

  7. AI医药论文笔记--Deep learning improves prediction of drug–drug and drug–food interactions

    深度学习用于提高对药物-药物相互作用和药物-食物相互作用的预测 论文题目 Deep learning improves prediction of drug–drug and drug–food in ...

  8. 【论文笔记】Learning Enriched Features for Real Image Restoration and Enhancement

    Learning Enriched Features for Real Image Restoration and Enhancement Abstract Contribution Method(M ...

  9. 【论文笔记】Learning from Multiple Cities: A Meta-Learning Approach for Spatial-Temporal Prediction

    论文学习心得 前言 应用场景 基础概念 什么是元学习 元学习的分类 MAML 基本概念理解 MAML中的Task MAML算法详解 摘要 本文贡献 利用来自多个城市的信息来提高迁移的稳定性 元学习时空 ...

最新文章

  1. #论文 《Towards Binary-Valued Gates for Robust LSTM Training》
  2. 成功解决gensim\utils.py:1209: UserWarning: detected Windows; aliasing chunkize to chunkize_serial warn
  3. nhibernate之many-to-many的性能
  4. 解决:Changes not staged for commit:
  5. oracle r11,Oracle XML Publisher在Oracle R11i中的实际运用
  6. 当产品部署出现问题时
  7. 前后端分离项目,标准json协议格式参考
  8. golangd 报错信息梳理
  9. 怒:排序这样的最基本功能都错了,你们竟然不感到羞耻?不反思工作?
  10. Tomcat 8 和 JDK11 安装记录
  11. 计算机设备维护保养和网络巡检,数据中心机房供电系统的日常巡检和保养?
  12. map和object对象互转
  13. 美柚:女性移动APP安全攻防战
  14. Mate50落后又贵,iPhone性能超强更便宜,消费者还期待华为?
  15. 新锐房地产销售管理系统(部分流程)技术解析(七) 销售管理_认筹管理
  16. mysql 日期查询 今天、明天、本周、七天内、本月、后一个月
  17. 华为手机如何用微信与电脑连接服务器,华为手机也能连接苹果电脑,只需这样做...
  18. 一、什么是JavaWeb?
  19. 22.Odoo产品分析 (三) – 人力资源板块(3) – 休假管理(1)
  20. 未能找到路径“\bin\roslyn\csc.exe”的一部分 的解决办法

热门文章

  1. 涉及gcc wrap的一个问题的探索
  2. jenkins 布署镜像
  3. Built-in Functions - 内置函数 - print()
  4. MVDR频率估计方法及其Matlab代码实现
  5. Android tombstone 分析案例
  6. Graphical Models学习
  7. 大大维的游戏机计划2--一个自制的类似2048的小游戏
  8. 第十二篇:python中的面向对象
  9. Java基础知识(十一)(面向对象--2)
  10. sssssssssss