Learning from Synthetic Data for Crowd Counting in the Wild 论文阅读笔记


发表:CVPR 2019

人群计数任务在多变的环境,大范围的人群中导致现有的方法不能很好地发挥作用,而且由于数据集匮乏,很多方法都或多或少的过拟合了。为了解决这两个问题,这篇论文提出了一个数据收集器和标注器,能够基于GTA5生成人工合成的人群场景,并同时自动标注。基于此构建了一个大规模的,各种各样的人工合成数据集。其次,提出了两个利用合成数据集提升现实人群计数性能的方法:1.在合成数据集预训练,在现实数据集调优,显著的提升了模型的现实性能。2.提出了一种基于域自适应的人群计数方法,能从数据标注解放人力。实验表明,第一个方法在4个数据集上达到SOTA,第二个超越了自己的baseline。

一、介绍

目前,许多基于CNN 和 gan的方法在已有的数据集上取得了显著的性能。上述方法主要研究如何学习有效的、有区别的特征(如局部模式、全局信息、多尺度特征等)来提高模型的性能。同时,上述主流的深度学习方法需要大量准确标注、多样化的数据。目前现有的数据集不能完全满足需求,这也导致了极端条件下人群计数的两个棘手问题。

  1. 现有的方法无法处理一些极端情况(如多变的天气,变化的照明和大范围的人数);
  2. 由于标记数据较少,许多算法存在过拟合问题,导致在向其他极端场景转移时性能下降较大;
    此外,拥挤的人群数据集存在一个固有的问题:标签不是很准确。

为了解决上述问题,文章从数据和方法两个角度分析:

  1. 数据
    构建了一个大规模、多样化的人群计数数据集。数据来源于电子游戏《侠盗猎车手V》(GTA5),因此被命名为“GTA5 Crowd Counting”(简称GCC)数据集。
    与现有的真实数据集相比,如表1所示,有四个优点:
    1)免费收集和标注;
    2)数据量大,分辨率高;
    3)场景更丰富;
    4)标注更准确。
  2. 方法
    1)用大规模的合成数据来预训练一个人群计数器——空间全卷积网络(Spatial full Convolutional Network, SFCN)。然后利用实际数据对得到的计数器进行微调;

    2)提出了一种域自适应的人群计数方法,可以提高跨域迁移能力。在原 Cycle GAN基础上提出了一种SSIM Embedding (SE) Cycle GAN,引用结构相似度指数(SSIM)损失来有效地维护了局部模式和纹理信息,特别是在极端拥挤的人群区域和某些背景下。最后,将合成的数据转换成的图像并基于这些数据,训练了一个没有真实数据标签的人群计数器。

二、GCC数据集

作者在《GTA5》中开发了一款基于Script Hook V(一个用于开发游戏插件的c++库)的人群计数数据收集器和标签。数据收集器通过挖掘虚拟世界中的对象来构建复杂而拥挤的人群场景。然后,收集器从构建的场景中捕捉稳定的图像。最后,通过分析绘制模板的数据,自动标注出人物头部的准确位置。但是在《GTA5》中并没有拥堵的场景。因此,还需要设计一种构建人群场景的策略。

2.1 数据采集

  1. 场景筛选
    《GTA5》 中的虚拟世界是建立在一个虚构的城市之上的,这个城市占地252平方公里。在城市中选择了100个典型的地点,如海滩、体育场、商场、商店等。对于每一个位置,四个监控摄像头配备不同参数(位置、高度、旋转/俯仰角度)。建立400个不同的场景。在这些场景中,定义了放置人物的兴趣区域(ROI),并根据常识排除一些无效区域。

  2. 人员模型
    在GCC数据集中,采用GTA5中的265人模型:不同的人模型有不同的肤色、性别、形状等。此外,对于每个人模型,它有六种不同的外观,如服装,发型等。为了提高人模型的多样性,在稀疏的人群场景中,对每个模型进行随机动作。

  3. 拥挤人群的场景合成
    由于GTA5的限制,人数必须少于256人。所以作者采用分割几个不重叠的区域,然后在每个区域安置人员,然后将多个场景整合到一个场景中的方法。图3描述了主要的整合过程:将人员依次放置在红色和绿色区域。最后,将两幅图像合并成一幅。

    GTA5中数据采集视频: https://www.youtube.com/watch?v=Hvl7xWkIueo

2.2 GCC的属性

三、监督式人群计数

基于FCN的方法在人群计数中获得了良好的性能。文章设计了一个有效的空间全卷积网络(full Convolutional Network, SFCN)来直接回归密度图,该网络能够对全局上下文信息进行编码。

3.1 网络结构

文章设计了一个以VGG-16或ResnNet-101为主干的Spatial FCN (SFCN)来生成密度图。具体来说,空间编码器被添加到主干的顶部,在空间编码器之后,加入回归层,直接输出输入尺寸为1/8的密度图。

3.2 实验

3.2.1 在GCC数据集内进行训练和测试

  1. Random splitting
    数据随机分为两组,分别作为训练集(75%)和测试集(25%)

  2. Cross-camera splitting
    针对特定位置,随机选取一台监控摄像机进行测试,另一台摄像机进行训练。

  3. Cross-location splitting
    随机选择75/25个位置进行训练/测试。这些方案可以有效地评估GCC上的算法。
    表2表明了文章提出的SFCN和两种流行的方法(MCNN和CSRNe)在GCC数据集上的性能。

3.2.2 在GCC预训练和实际数据集的微调

对比实验结果如表3所示,SFCN采用VGG-16作为骨干,而SFCN†使用ResNet101骨干。

五、通过域适应进行人群计数

对于非常拥挤的场景,手动标注不仅费时费力,而且在标注中还存在标签错误。因此,文章提出一种基于域适应的人群计数方法,从合成数据中学习特定的模式或特征,并将其传输到现实世界中,但是生成的合成数据与真实数据有很大的不同(比如颜色样式、纹理等),这被视为“domain gap”。

即使是现实中,这一gap也很常见。例如Shanghai Tech Part B 和WorldExpo’10,从不同位置的不同摄像头采集的。因此有效的迁移是一个重要的任务,即“Domain Adaptation”(DA)问题。

本论文利用SE Cycle GAN进行迁移,再利用SFCN进行训练。图7是流程图



Learning from Synthetic Data for Crowd Counting in the Wild 论文阅读笔记相关推荐

  1. 《Learning from Synthetic Data for Crowd Counting in the Wild》阅读与调试

    1.方法简介 基于GTA5渲染人员密集的场景,从游戏数据中获取标注组成GTA5 Crowd Counting (GCC) Dataset.数据集使用方式有两种:(1)算法再GCC 中先训练再在真实数据 ...

  2. 《Learning from Synthetic Data for Crowd Counting in the Wild》论文笔记

    Learning from Synthetic Data for Crowd Counting in the Wild 论文翻译 Abstract 1. Introduction 2.Related ...

  3. 人群密度估计--Leveraging Unlabeled Data for Crowd Counting by Learning to Rank

    Leveraging Unlabeled Data for Crowd Counting by Learning to Rank CVPR2018 https://github.com/xialeil ...

  4. 论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning

    论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning 本文通过神经网络利用了减少轮数的 Speck 的差分性质.为此,作者对神经网络 ...

  5. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  6. 论文阅读笔记:SCAN: Learning to Classify Images without Labels

    论文阅读笔记:SCAN: Learning to Classify Images without Labels 摘要 简介和相关工作 方法 表征学习 语义聚类损失 2.3 通过自标记进行微调 3 实验 ...

  7. 【论文阅读笔记】Learning To Detect Unseen Object Classes by Between-Class Attribute Transfer

    摘要: 本文主要研究训练和测试类别不相交时(即没有目标类别的训练示例)的对象分类问题.在此之前并没有对于毫无关联的训练集和测试集进行对象检测的工作,只是对训练集所包含的样本进行分类.实验表明,通过使用 ...

  8. 论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering,SENet,用于大规模子空间聚类的自表达网络

    论文阅读笔记(2):Learning a Self-Expressive Network for Subspace Clustering. SENet--用于大规模子空间聚类的自表达网络 前言 摘要 ...

  9. Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 论文阅读笔记

    Are VQA Systems RAD? Measuring Robustness to Augmented Data with Focused Interventions 论文阅读笔记 一.Abst ...

最新文章

  1. Playmaker全面实践教程之Playmaker常用工具
  2. android自定义吐司通知,IOS 仿Android吐司提示框的实例(分享)
  3. div 高度等与html,html – 仅限CSS – 基于兄弟的div的高度
  4. Lisp入门(好文)
  5. POJ 1088 滑雪 (动规)
  6. 调用外部 DLL 中的函数(显示调用)
  7. 【Shell】按行读取文件内容
  8. 胡寿松《自动控制原理》第7版笔记和课后习题答案
  9. ADS1115(测量ADC)的使用教程(IIC)
  10. mac os X中关于dayone缓存的实际文件位置
  11. 怒怼|扎克伯格到底是个怎样的人
  12. 关于vivo手机拍照后无法跳转裁剪
  13. python中bytes的用法_Python bytes类型及用法详解
  14. 通信之道-傅立叶分析
  15. redis如何查看版本号?
  16. 2022年危险化学品经营单位主要负责人及危险化学品经营单位主要负责人模拟考试
  17. win7删除桌面计算机图标怎么删除,桌面无法删除的图标,详细教您win7桌面图标删不掉怎么办...
  18. 支付宝直付通管理系统,进件二级商户
  19. page cache
  20. 梦幻花-东野圭吾读书笔记

热门文章

  1. Python3+Selenium 实现自动登录淘宝+清空购物车
  2. 提高Alexa排名的八个实用方法
  3. DATEPART 的使用
  4. 间谍程序Exodus移植到iOS平台上 恐窃取用户信息
  5. 陪伴是最长情的告白,守护是最沉默的陪伴丨母亲节快乐!
  6. 银联国际开启欧洲业务,海外支付市场激战不断
  7. WAP---因特网上新生活(转)
  8. Sql Server的dateadd()函数和day()函数
  9. 软件系统设计-20-往年考试题
  10. 基础省选+NOI-第1部分 数据结构进阶(I)