2017_Switching convolutional neural network for crowd counting

Switching convolutional neural network for crowd counting

说明

本文是对以下这篇文章的总结及部分翻译。
Sam D B, Surya S, Babu R V. Switching convolutional neural network for crowd counting[C]//CVPR. IEEE, 2017: 4031-4039.

概括

Sam等人提出切换卷积神经网络(switching convolutional neural network),利用图像中人群密度的变化来提高预测人群数量的准确性和定位。

基于训练期间建立的 CNN 的人群计数预测质量,来自人群场景中网格的补丁被传送到独立的 CNN 回归器。独立的 CNN 回归器具有不同感受野,并且训练开关分类器以将人群场景补丁传送到最佳 CNN 回归器。

一、Switch-CNN简介

Switch-CNN利用图像中人群密度的变化来提高预测人群数量的质量和定位。独立的CNN人群密度回归器是在给定的人群场景中从网格中采样的补丁上训练的。选择独立的 CNN 回归量,使它们具有不同的感受野和视野。这确保了每个 CNN 回归器学习的特征适应特定的规模。这使得 Switch-CNN 对在典型人群场景中观察到的人的大规模和视角变化具有鲁棒性。如果回归器在补丁上的性能最好,则特定的 CNN 回归器将在人群场景补丁上进行训练。 **一个切换分类器与多个CNN回归器交替训练,以正确地将一个patch传送到一个特定的回归器。**Switch和回归器的联合训练有助于提高Switch对差异训练阶段学习的人群场景复杂多切面空间的学习能力。

二、CrowdNet[2]和MCNN[3]

[2, 3]使用的multi-column CNN对不同CNN columns的特征进行后期融合,对人群场景的密度图进行回归。在[3]中,使用不同接受域的shallow CNN columns来捕捉人群场景中规模和视角的大变化情况。[2]使用VGG网络进行迁移学习,VGG网络采用dilated layers,并辅之以具有不同接受域和视场的浅层网络。*这两种模型通过1 1卷积层加权平均融合CNN columns的特征图来预测人群的密度图。然而,加权平均技术在本质上是全局的,没有考虑场景内密度的变化。
本文以multi-column CNN的性能为基础,并在我们提出的Switch-架构中加入一个基于patch的交换架构,switch-CNN探索在一个场景内的局部人群密度变化。然而switching architectures还没有被用于计数,[4] 已经使用expert classifiers使用基于描述风格的deep switching mechanism来改进跨描述风格的单个对象图像分类。然而,与[4]不同的是,我们没有标签(例如:“艺术”、“照片”等描述风格)训练switch classifier。为了克服这一挑战,我们提出了一种利用CNN回归器的结构差异的训练机制。

三、方法

本文考虑switching CNN 架构 (Switch-CNN),该架构将patches从人群场景中的网格传送到基于switch classifier的独立 CNN 回归器。独立的 CNN 回归器被选择为具有不同的感受野和视野,就像在multi-column CNN网络中一样,以增强对大尺度变化进行建模的能力。如果回归器在这个patch上的性能最好,则一个特定的 CNN 回归器将在人群场景patch上进行训练。 switch classifier与多个 CNN 回归器的训练交替训练,以正确地将patch传送到特定的回归器。使该模型非常适合人群分析的显着特性是:(1)建模大尺度变化的能力;(2)该设施在人群场景中利用了密度的局部变化。利用密度的局部变化的能力是重要的,因为在多列网络中使用加权平均技术来融合特征在本质上是全局的。

四、Switch-CNN

switch -CNN由三个不同结构的CNN回归器和一个分类器(switch)组成,分类器用于为输入的人群场景patch选择最优回归器。Figure 2显示了Switch-CNN的整体架构。将输入图像分成9个不重叠的patch,每个patch为图像的三分之一(?,九分之一吧)。对于这样的图像分割,可以假设在人群场景的给定patch中,人群特征(如密度、外观等)是一致的。将patch作为网络输入有助于通过最适合patch属性(如补丁中人群的密度、背景、比例和视角变化)的 CNN 回归器独立地回归图像的不同区域。
2017_Switching convolutional neural network for crowd counting
密度图Ground Truth生成方式:

通过模糊每个头部标注的高斯核归一化(Gaussian kernel normalized)生成一个密度图来生成Ground Truth。将合成的密度地图相加就得到了人群数量。**密度图降低了CNN回归的难度,因为预测头部标注的准确点的任务简化为预测一个粗糙的位置。**上述密度图中的高斯分布是固定的。然而,如果人群密度变化很大,由固定扩散高斯分布生成的密度图是不合适的。我们使用几何自适应核(geometry-adaptive kernels)[3]来根据局部人群密度改变高斯分布参数。它将 Gaussian 的传播与 k-最近相邻头部注释的平均距离成比例。**头间距离是透视图的一个很好的替代品,透视图难于生成,而且对每个数据集都不可用。**这就导致了在人群场景中,对于密集的人群,高斯模糊程度较低,而对于稀疏密度区域,高斯模糊程度较高。

五、预训练

未完待续

上一篇:利用LSTM+CNN+glove词向量预训练模型进行微博评论情感分析(二分类)


下一篇:机器学习之CNN记录(pytorch实现)