面向密集人群计数的两列串行空洞卷积神经网络

2018-02-24 13:55赵传强尚永生
电脑知识与技术 2018年34期

赵传强 尚永生

摘要:提出了一种简称为DSDCNN的面向密集人群计数的两列串行空洞卷积神经网络。DSDCNN可以识别高度拥挤的场景,得到精确的人群估计数量和估计密度图。DSDCNN是由两列卷积神经网络构成,并通过使用空洞卷积,使得每列卷积具有不同大小视野域,可以输入不同尺寸和像素的图片,并通过空洞卷积代替了池化层。DSDCNN网络是由小卷积核滤波器构成,网络架构易于搭建和训练。实验结果表明,DSDCNN能够较精确得到人群计数和估计密度图,具有较好的平均绝对误差MAE。

关键词:人群计数;估计密度图;空洞卷积

中图分类号:TP311     文献标识码:A     文章编号:1009-3044(2018)34-0164-04

1引言

现在越来越多的人群计数模型已经被开发[1-7],为我们解决人群流量监测提供了解决方案。而人群流量监测是解决很多方面问题的关键,例如在安全监控、灾难管理、公共空间设计、情报的收集及分析等,而在不同的领域需要我们开发出各种各样的模型,如计算、密度估计、分割、行为分析、跟踪、场景理解和异常检测等。而人群计数和密度估计是最基本的任务,是之前所说的各种任务模型的基础,因此人群计数和密度估计仍需深入研究。

在过去的几年里研究人员通过各种方法来解决人群计数和密度估计的问题,而最近基于卷积神经网络(Convolutional Neuarl Network , CNN)的方法与传统的方法相比有了明显的改进,并在人群计数领域取得了很好的成绩,但是这些模型还存在一些不足的地方。

因此,本文通过对张[6]和李[7]模型的借鉴和优化,提出了一种新的网络模型:基于两列串行空洞卷积神经网络(double serial dilated convolutional neural network, DSDCNN)模型。DSDCNN模型是使用纯卷积层作为主干,并通过使用两列具有不同视野域的卷积层来保证可以输入不同分辨率的图像,同时为了限制网络复杂性,所有的卷积层都使用小尺寸的卷积滤波器,并通过空洞卷积扩展每列卷积的视野域[7]。

2 相关工作

遵循Loy等人[14]和Vishwanath A等人[16]的论述,人群计数模型可以根据网络的特性以及训练方法,将基于CNN的方法大致分为四类:基于CNNs模型、基于标度感知模型、基于上下文感知模型和基于多任务框架模型。基于CNNs的模型是指在网络中包含了基本的CNN的方法,这些方法是用于人群计数和密度估计的初始深度学习方法之一;基于标度感知模型是指在基于CNN方法之上形成的更复杂的模型,对于标度具有鲁棒性;基于上下文感知模型是指将图片中出现的ground truth和全局上下文信息合并到CNN框架中;基于多框架任务模型是指将人群计数和估计与其他人结合到一起。以下是近几年来基于CNN 的一些解方案大部分方法是2017年之后,2017年之前的方法可以参考文献[16]。

自2016年张[6]提出了经典的多列卷积神经网络(MCNN)架构以来,多列卷积神经网络被广泛应用。Nair, V等人[8]提出了一个简单到复杂框架,它使用初始DCNN作为分割网络进行训练,在基于初始DCNN以及图像级注释的简单图像的预测分割基础上,进行网络监督学习。Sindagil[5]提出了一种称为上下文金字塔CNN的方法,它使用CNN网络在不同级别估计上下文,以实现更低的计数误差和更好质量的估计密度图。

而Lokesh Boominathan等人[15]提出一种新颖的深度卷积神经网络结构,通过使用深度可分离卷积,在不增加容量的前提下,使得性能增益,更有效地使用模型参数。Fisher Yu等人[9]则是在深度卷积上使用分类网络来解决弱监督语义分割问题。[15]提出了一种深度学习框架,通过使用深度、浅度多尺度完全卷积的网络组合来预测给定人群图像的密度图,它即可以有效地捕获高级语义信息(面部/身体检测器),也可以捕获低级特征(斑点检测器)。李[7]则是在他们的基础上提出了CSRNet网络模型,它是通过使用卷积神经网络(CNN)进行特征提取,并作为深度卷积神经网络结构的前端,并使用空洞卷积来作为深度卷积神经网络结构的后端。

3 DSDCNN设计

综合相关文献[6]、[7]、[14],基于卷积神经网络的人群计数的一般流程分为:原始图像经过CNN模型,得到其密度图,进行求和,得到人数。在整体流程中核心部分为CNN模型,因为CNN模型的性能直接决定了人群计数的性能;而不同的CNN模型是由不同的网络架构进行训练得到,因此网络结构的搭建至关重要。

3.1 网络架构

在构建网络架构时,本文借鉴了文献[6]的MCNN网络架构以及文献[7]的CRSCNN网络架构。选取MCNN中的多列分支架构,又通过选取CSRCNN网络中的小核卷积以及空洞卷积,搭建两列分支的串行空洞卷积神经网络架构(DSDCNN),具体架构如图1所示。图中卷积层的参数表示为Conv X-Y-Z, X是指卷积层的卷积核大小,都设置为3;Y是指每层卷积所学习的特征值的个数;Z是指空洞卷积的空洞率大小值。

DSDCNN是由两列卷积神经网络构成,又通过利用空洞卷积使得每一列卷积神经网络在保持小卷积核的前提下具有不同大小的感受域,因此可以输入任意大小或分辨率的图像,同时网络中所有的卷积层都是使用padding来维持输入和输出图片大小一致。

3.1.1 具体参数

本文所提出的网络架构如图1所示,大体可分为两部分,第一部分是由三个并列卷积层构成;在第一部分第一小模块中,包含了两个滤波器大小均为3×3,不过第一个滤波器的空洞率设置为1,第二个滤波器的空洞率设置为2,然后每一个卷积层将会产生64个特征映射,然后通过线性函数进行加权生成128个特征图;第二小部分开始时,每个卷积层将会输入128个特征映射,并经过两层映射后,经线性函数加权生成256个特征图;同样在第三小部分中,每層卷积会被输入256个特征映射,然后加权生成为512个特征图。在第二部分中,是由三个卷积层串行组成;第一小部分是由3X3的滤波器构成,其空洞率为2,具有512个特征图;第二小部分和第三小部分同第一部分构成是一样的,同样具有512个特征图,不过第三小部分具有256个特征图。最后,使用1×1滤波器生成单个特征图,即生成的密度图。在整体模型中,只有最后1×1卷积层没有应用激活函数(Relu)[8],其余卷积层都设置一个Relu层来作为激活函数。表1列出模型架构的详细参数设置。

3.1.2 空洞卷积

空洞卷积又可以称之为扩张卷积,是本文网络架构的关键部分之一。在本文中,我们通过使用空洞卷积代替了卷积层和pooling层,因为使用空洞卷积可以在不增加网络架构的卷积层层数或计算量的情况下扩大了感受野,这从根本上降低网络架构的复杂程度;同时空洞卷积允许灵活地聚合多尺度上下文信息,保持相同的分辨率[9,10,11],最重要的是,空洞卷积相对于Pooling和卷積层,它输出以及包含的信息更详细[7]。

空洞卷积是将具有k×k小卷积核的滤波器[7],扩大为KX×KX卷积核的滤波器,KX =k + (k-1)×(r-1),其中K为原滤波器的卷积核大小,r为空洞卷积的空洞率,KX为扩张之后滤波器的卷积核大小。

3.2 训练过程

在这一小节,我们阐述了具体的DSICNN训练细节,与常规的基于CNN的网络相比较,DSICNN是一种很方便搭建和能快速部署的网络结构。

4 实验结果以及分析

4.1条件环境平台

本文实验是在PC机上进行的,PC机的硬件包含了一个CPU(Intel i7-7700),一个GPU(4G显存NVIDIA GTX 1070Ti)和8G内存,DSICNN是基于Caffe平台[11]来训练的,PC机的操作系统是Ubuntu14.04。使用的随机梯度下降(SGD)优化训练网络,这个网络的学习率为10-7,momentum是0.9。

小为x,y,其中μx是x的平均值,μy是y的平均值,σ2x是x的方差,σ2y是y的方差,σxy是x和y的协方差,C1=(k1L)2,C2=(k2L)2,L为像素的动态范围,k1=0.01,k2=0.03。

4.4 实验结果

本文分别使用了Shanghaitech数据集中的PartA,PartB数据图像,得到相对应的密度图,图2中的a,b,c,e,f,g分别对应PartA,PartB中的原图、 ground truth对应的密度图以及网络模型训练得到的密度图。

为了评估所生成密度图的质量,使用A部分数据集将我们的方法与MCNN和CP-CNN生成的密度图通过PSNR和SSIM标准进行比较,结果如表3所示,表明DSDCNN实现了较高的SSIM和PSNR。

我们通过MAE和MSE对本文的方法进行评估,并通过与其他五个最近相似工作进行比较,其评估参数表4所示(其结果来自原始结果)。

4.5 实验分析

如表4所示,我们的网络结果略好于其他几个网络。通过查阅相关文献,可以得知在基于CNN的方法中,网络性能的改进主要通过网络结构的调整,以及改进密度图质量来实现。我们的网络架构是通过采用小核滤波器来限制网络的复杂程度,并通过空洞卷积从更多维度中提取多尺度特征信息,并不断对其进行整合,以获得新的尺寸特征信息,从而获得更好的实验结果。

5 结束语

在本文中,我们提出了一个新的架构,称之为DSDCNN,用于人群计数和生成密度图。与其他模型相比,我们是通过空洞卷积来聚合拥挤场景的多尺度上下文信息,并通过多列卷积来整合不同尺度和像素图片信息。我们将我们使用的方法与其他使用Shanghaitech数据集的方法进行比较。DSDCNN模型由于文献中的大部分模型,具有良好的性能。

参考文献:

[1] Beibei Zhan, Dorothy N Monekosso, Paolo Remagnino, Sergio A Velastin, and Li-Qun Xu[

j]. Crowd analysis: a survey.Machine Vision and Applications, 19(5-6):345–357, 2008.

[2] Teng Li, Huan Chang, Meng Wang, Bingbing Ni, Richang Hong, and Shuicheng Yan. Crowded scene analysis: A survey[J]. IEEE transactions on circuits and systems for video technology, 25(3):367–386, 2015.

[3] Cong Zhang, Hongsheng Li, Xiaogang Wang, and Xiaokang Yang. Cross-scene crowd counting via deep convolutional neural networks[C]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 833–841,2015.

[4] Deepak Babu Sam, Shiv Surya, and R Venkatesh Babu. Switching convolutional neural network for crowd counting[C]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, volume 1, page 6, 2017.

[5] Vishwanath A Sindagi and Vishal M Patel. Generating high quality crowd density maps using contextual pyramid CNNs[C]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1861–1870, 2017.

[6] Zhang, Y., Zhou, D., Chen, S., et al.: 'Single-image crowd counting via multi-column convolutional neural network'[C]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016, pp. 589–597

[7]Li Y, Zhang X, Chen D. CSRNet: Dilated Convolutional Neural Networks for Understanding the Highly Congested Scenes[J]. 2018.

[8] Nair V, Hinton G E. Rectified linear units improve restricted boltzmann machines[C]// International Conference on International Conference on Machine Learning. Omnipress, 2010:807-814.

[9] Fisher Yu and Vladlen Koltun. Multi-scale context aggregation by dilated convolutions. In ICLR, 2016.

[10] L. C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, PP(99):1–1, 2017.

[11] Liang-Chieh Chen, George Papandreou, Florian Schroff, and Hartwig Adam. Rethinking atrous convolution for semantic image segmentation. CoRR, abs/1706.05587, 2017.

[12] Mark Marsden, Kevin McGuiness, Suzanne Little, and Noel E OConnor. Fully convolutional crowd counting on highly congested scenes. arXiv preprint arXiv:1612.00220,2016.

[13] Vishwanath A Sindagi and Vishal M Patel. Cnn-based cascaded multi-task learning of high-level prior and density estimation for crowd counting[C]. In Advanced Video and Signal Based Surveillance (AVSS), 2017 14th IEEE International Conference on, pages 1–6. IEEE, 2017.

[14] Chen Change Loy, Ke Chen, Shaogang Gong, and Tao Xiang. Crowd counting and profiling: Methodology and evaluation[C]. In Modeling, Simulation and Visual Analysis of Crowds, pages 347–382. Springer, 2013.

[15] Lokesh Boominathan, Srinivas SS Kruthiventi, and R Venkatesh Babu. Crowdnet: a deep convolutional network for dense crowd counting[C]. In Proceedings of the 2016 ACM on Multimedia Conference, pages 640–644. ACM, 2016.

[16] Sindagi V A, Patel V M. A survey of recent advances in CNN-based single image crowd counting and density estimation[J]. Pattern Recognition Letters, 2017.

【通聯编辑:梁书】