人群计数--Cross-scene Crowd Counting via Deep Convolutional Neural Networks

Cross-scene Crowd Counting via Deep Convolutional Neural Networks CVPR2015

本文主要使用深度学习来完成跨场景人群计数 cross-scene crowd counting,简单的说就是在多个场景训练,在没有训练过的场景测试。 我们建立了一个新的人群计数方面的数据库 http://www.ee.cuhk.edu.hk/~xgwang/expo.html

3 Method 3.1. Normalized crowd density map for training 我们的人群CNN模型主要目标是学习一个映射 F: X-> D,其中 X 是一组从训练图像中提取的 low-level 特征, D 是图像对应的人群密度图。假定每个人的位置被标记,密度图的创建基于 人的空间位置、人体形状、图像的视角变形。从训练图像中随机的选择图像块作为训练样本,图像块对应的密度图作为 CNN模型的真值。 作为一个附带的目标,所选图像块中总的人数通过对密度图积分计算得到。注意这里得到的总人数是一个小数,不是整数。

大多数研究按照文献【12】定义密度图真值为 物体位置上的一组高斯核的和。 这种类型的密度图适用于圆形的物体如 cells and bacteria。但是将他用于人群则不是很合适,因为这种监控相机不是 bird-view,下图就是监控相机拍摄到的一张图像:

从上图我们可以看到三个特征: 1)因为视角原因,图像中的人是多尺度的。 2)人的形状更符合椭圆 3)因为严重的遮挡,人的头和肩膀是主要信息用于判断某个位置是否有人存在,人的躯干不是很稳定的信息 综上所述, the crowd density map is created by the combination of several distributions with perspective normalization

Perspective normalization 是怎么做的了? 受文献【4】启发,对每个场景,我们随机的选择几个成年人,从头到脚标记,假定成年人的平均身高为 175cm。 perspective map M 可以通过线性回归近似,如上图 a 所示, perspective map M(p) 像素值表示 在位置 p 实际场景一米对应的图像有多少个像素个数 The pixel value in the perspective map M(p) denotes that the number of pixels in the image representing one meter at that location in the actual scene

有了 perspective map 和人头的位置信息,我们可以用下面的公式创建 人群密度图

crowd density distribution kernel 包含两个部分,一个对应头部 normalized 2D Gaussian kernel ,一个对应躯干 body part bivariate normal distribution

3.2. Crowd CNN model

网络的输入是从训练图像中随机裁的图像块,为了获得行人的相同尺度,根据图像块中心点对应的 perspective value 来 选出的 图像块位置。这里我们约束我们的每个图像块覆盖的实际尺寸为 3m*3m ,然后图像块被缩放到 72*72 像素大小 输入 CNN 模型。

我们的 CNN 网络结构如下

3个卷积层 3个全连接层。第一个卷积层有 32个 7×7×3 滤波器,第二个卷积层 32个 7×7×32 滤波器,第三个卷积层有64个 5 × 5 × 32 滤波器。第一第二卷积层后面各用一个 2 × 2 最大池化,卷积和全连接层都使用 Rectified linear unit (ReLU) 激活响应函数。

这里我们交替优化 密度图估计任务和人数估计任务,我们的损失函数定义如下:

switchable training procedure

4 Nonparametric fine-tuning for target scene 我们需要在目标场景上进行微调,因为每个场景都有其特有的属性 bridge the distribution gap between the training and test scenes

a data-driven method is proposed to select samples from the training data to fine-tune the pre-trained CNN model adapting to the unseen target scene 这里我们根据使用数据驱动的方法从训练数据中选择一些样本来微调用于目标场景检测的 CNN模型,挑出和 test scene 相似的 图像块来微调 CNN模型。主要通过下面两个步骤来完成: candidate scenes retrieval and local patch retrieval

4.1. Candidate scene retrieval 场景中的 视角和尺度是影响人群外观的主要因素。 perspective map 可以同时表征 view angle and the scale,为了克服不同场景对应不同的尺度,每个图像块被归一化到同一个尺度,根据 perspective map 图像块 覆盖实际场景中的 3m*3m 正方形区域。所以微调的第一步就是从 训练图像中选择与 target scene 类似的 perspective map 的图像块作为微调用的训练数据,这些选出来的scenes叫做 candidate fine-tuning scenes。我们设计了一个 perspective descriptor 来表征每个场景的视角。因为 perspective map 和 y 轴是线性关系的,我们使用 垂直梯度 做为 perspective descriptor。

基于这个 perspective descriptor,对于每个unseen的目标场景, 从整个训练数据库中挑出 perspective-map 最相似的前20个 scenes, 这些 scenes作为 candidate scenes 用于图像块提取。

4.2. Local patch retrieval 第二步是从 candidate scenes 挑选出 和 test scene 有类似的 人群密度分布的图像块,除了视角和尺度,人群密度分布同样影响人群的外观显示。高密度的人群对应更严重的遮挡,而稀疏密度的人群,可以看到行人的完整躯干。所以我们尝试去预测 目标场景的密度分布,从candidate scenes 提取有类似密度分布的图像。例如一个高密度人群的场景,有密集人群的图像块应该被用于微调CNN网络。

这里我们使用 预训练的CNN模型来对目标场景图像的每个图像块进行预测密度和人数估计。这里假定经过预训练模型,有相似密度的图像块的人数也是大致一样的。有了这个预测结果,我们可以计算 目标场景的密度分布直方图。有了目标场景密度分布直方图,我们可以从retrieved training scenes 选择图像块使其具有类似的密度分布直方图,那么用这些图像块微调CNN模型 就可以模拟使用目标场景的图像进行训练了。

patches are randomly selected from the retrieved training scenes and the number of patches with different densities are controlled to match the density distribution of the target scene

5 Experiment Statistics of three datasets

Mean absolute errors of the WorldExpo’10 crowd counting dataset

UCSD dataset

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

【独家】深度学习论文阅读路线图

翻译:王军福 原文链接:https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap ...

20810
来自专栏专知

【AAAI 2018】多种注意力机制互补完成VQA(视觉问答),清华大学、香港中文大学等团队最新工作

【导读】近日,针对VQA领域中不同注意力机制(如基于自由区域的注意力和基于检测的注意力)各有利弊的现状,来自清华大学、香港中文大学和华东师范大学的学者发表论文提...

3504
来自专栏有趣的Python

0-机器学习启蒙-导学机器学习-导学

机器学习-导学 机器学习工资高。 教学方法: 理论结合实际。 回归模型 分类模型 聚类模型 推荐系统 在大家把理论了解清楚之后, 对于每一个模块进行实践。 ...

2606
来自专栏人工智能头条

机器学习和统计模型的差异

1592
来自专栏数据派THU

从起源到具体算法,这篇深度学习综述论文送给你

来源:机器之心 本文为大家从最基础的角度来为大家解读什么是深度学习,以及深度学习的一些前沿发展。 自 2012 年多伦多大学 Alex Krizhevsky ...

4094
来自专栏人工智能

机器学习系统性能不尽人意?吴恩达教你如何选择改进策略

选自towardsdatascience 作者:Kritika Jalan 机器之心编译 参与:陈韵竹、路雪 搭建机器学习系统好几周,性能却不尽如人意?Krit...

1847
来自专栏机器之心

学界 | DeepMind提出架构搜索新方法:使用分层表示,时间短精度高

2836
来自专栏机器学习算法与Python学习

从0到1,这篇深度学习综述送给你!

1357
来自专栏量子位

深度学习中,还有这15个未解难题

王小新 编译自 Bharath Ramsunder博客 量子位 出品 | 公众号 QbitAI 认脸、翻译、合成语音……深度学习在很多问题上都取得了非常好的成绩...

2847
来自专栏CSDN技术头条

Netflix工程总监眼中的分类算法:深度学习优先级最低

【编者按】针对Quora上的一个老问题:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain近日给出新的解答,他根据奥卡姆剃刀原...

1905

扫码关注云+社区