本论文来自CVPR2018, 读于20190409。
Abstract
我们提出的Congested Scene Recognition(CSRNet)包含了两个部分,一个是获得二维特征的前端,一个是使用膨胀CNN(dilated CNN)的后端。
我们在最常用的那四个数据集((ShanghaiTech dataset, the UCF CC 50 dataset, the WorldEXPO’10 dataset, and the UCSD dataset)都比之前的方法表现都好,而且用在TRANCOS这个数据集去识别车辆的数量,表现也优于之前的算法。
1 Introduction
之前关于拥堵场景的人群计算一般都是基于multi-scale architecture,例如CVPR16年的一篇论文《Single-Image Crowd Counting via Multi-Column Convolutional Neural Network》(MCNN)。
16年到17年的论文基本上都是基于MCNN的。本文将MCNN和一个简单的深度CNN作对比,发现一个单独的deeper CNN甚至比MCNN效果更好,如表1所示:
选择MCNN这个算法的主要原因是可以根据不同的尺寸灵活改变receptive fields,在不同尺寸下得到的特征不一样。但是通过separated colunmns(分为large、medium和small receptive fields)去学习不同的特征,发现学习到的特征是相似的。如图2所示。所以其实是没有达到提出MCNN这个算法的初衷的。
采用MCNN存在以下四个问题:
- MCNN比较难训练,要花费一定的时间;
- 如表1所示,MCNN引入了冗余的网络结构;
- 需要密度分类器(density level classifier),提高了计算量;
- 网络很大一部分的参数都是来自密度分类器(density level classifier),而用于估计density map的参数只占所有参数很小的一部分。
在我们的论文中,我们设计了一个深度的网络称为CSRNet。为了限制网络的复杂度,我们在所有层都使用最小尺寸的卷积过滤器(3x3)。我们利用VGG16的前十层作为我们的前端,利用膨胀卷积层(dilated convolution layers)作为后端来扩大receptive fields和在不丢失分辨率的情况下提取更深的特征(因为没有用池化层)。
3. Proposed Solution
有效的利用deeper CNN通过larger receptive fields捕获high-level特征,也不通