Print

发布时间: 2019-03-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180401
2019 | Volume 24 | Number 3




    ChinaMM 2018    




  <<上一篇 




  下一篇>> 





基于对抗式扩张卷积的多尺度人群密度估计
expand article info 刘思琦, 郎丛妍, 冯松鹤
北京交通大学计算机与信息技术学院, 北京 100044

摘要

目的 人群密度估计任务是通过对人群特征的提取和分析,估算出密度分布情况和人群计数结果。现有技术运用的CNN网络中的下采样操作会丢失部分人群信息,且平均融合方式会使多尺度效应平均化,该策略并不一定能得到准确的估计结果。为了解决上述问题,提出一种新的基于对抗式扩张卷积的多尺度人群密度估计模型。方法 利用扩张卷积在不损失分辨率的情况下对输入图像进行特征提取,且不同的扩张系数可以聚集多尺度上下文信息。最后通过对抗式损失函数将网络中提取的不同尺度的特征信息以合作式的方式融合,得到准确的密度估计结果。结果 在4个主要的人群计数数据集上进行对比实验。在测试阶段,将测试图像输入训练好的生成器网络,输出预测密度图;将密度图积分求和得到总人数,并以平均绝对误差(MAE)和均方误差(MSE)作为评价指标进行结果对比。其中,在ShanghaiTech数据集上Part_A的MAE和MSE分别降至60.5和109.7,Part_B的MAE和MSE分别降至10.2和15.3,提升效果明显。结论 本文提出了一种新的基于对抗式扩张卷积的多尺度人群密度估计模型。实验结果表明,在人群分布差异较大的场景中构建的算法模型有较好的自适应性,能根据不同的场景提取特征估算密度分布,并对人群进行准确计数。

关键词

人群密度估计; 多尺度; 对抗式损失; 扩张卷积; 计算机视觉; 人群安全

Multi-scale crowd counting via adversarial dilated convolutions
expand article info Liu Siqi, Lang Congyan, Feng Songhe
Department of Computer and Information, Beijing Jiaotong University, Beijing 100044, China

Abstract

Objective Crowd counting is a task that estimates the counting results and density distribution of a crowd by extracting and analyzing the crowd features. A common strategy extracts the crowd features of different scales through multiscale convolutional neural networks (CNNs) and then fuses them to yield the final density estimation results. However, crowd information will be lost due to the downsampling operation in CNNs and the model averaging effects in the multi-scale CNNs induced by the fusion method. The strategy does not necessarily acquire accurate estimation results. Accordingly, this study proposes a novel model named multi-scale crowd counting via adversarial dilated convolutions. Method Our background modeling is based on a dilated convolution model proposed by solving the problem of image semantic segmentation. In the domain of image segmentation, the most common method is to use a CNN to solve the problem. We enter the images into the CNN, and the network performs the convolution operation to images and then the pooling operation. As a result, the image size is reduced, and the receptive field of the network is increased. However, the image segmentation is a pixel-wise problem, and the smaller image must be upsampled after pooling to the original image size for prediction (a deconvolution operation is generally used to realize upsampling). Therefore, two key points exist in image segmentation. One is that pooling reduces the image size and increases the receptive field, and the other is upsampling to enlarge the image size. Information may be lost in the processes of reducing and resizing. Dilated convolution, which can make the network scale consistent, is proposed to solve this issue. A specific principle is to remove the pooling layer in the network that reduces the resolution of the feature map. However, the model cannot learn the global vision of images. Increasing the convolution kernel scale will cause the computation to increase sharply and overload the memory. We can increase the original convolution kernel to a certain expansion coefficient and fill the empty position with 0 to enlarge the scale of the convolution kernel and increase the receptive field. In this way, the receptive field widens due to the expansion of the convolution kernel and the computation remains unchanged because the effective computation points in the convolution kernel remain unchanged. The scale of each feature is invariable, and thus the image information is also preserved. The proposed model is based on adversarial dilated convolutions. On the one hand, the dilated convolution can extract the features of input image without losing resolution and the module uses different dilated convolutions to aggregate multi-scale context information. On the other hand, the adversarial loss function improves the accuracy of estimation results in a collaborating manner to fuse different-scale information. Result The proposed method reduces the mean absolute error (MAE) and the mean squared error (MSE) to 60.5 and 109.7 on the Part_A of ShanghaiTech dataset and to 10.2 and 15.3 on the Part_B, respectively. Compared with existing methods, the proposed method shows improved MAEs by 7.7 and 0.4 in the two parts. A synthetic analysis of five sets of video sequences on the WorldExpo' 10 database demonstrates that the average prediction result increases by 0.66 compared with that of the classical algorithm. On the UCF_CC_50 dataset, MAE and MSE improve by 18.6 and 22.9, respectively, which proves that the estimation accuracy is enhanced because of the noticeable effect on the environment with a complex number of scenes. However, the MAE reduces to 1.02 on the UCSD database and the MSE does not improve. The adversarial loss function limits the robustness of crowd counting with a low-density environment. Conclusion A new learning strategy named multiscale crowd counting via adversarial dilated convolutions is proposed in this study. The network uses the dilated convolutions to save significant image information, and the dilated convolutions with dilated coefficients of different sizes aggregate multiscale contextual information, which solves the problem of counting the head of different scales in crowd scene images due to angle difference. The adversarial loss function utilizes the image feature extracted by the network to estimate crowd density. Experimental results show that the algorithm model constructed in the scene with large population distribution has good adaptability. The model can estimate the density distribution according to different scenes and count the population accurately.

Key words

crowd counting; multi-scale; adversarial loss; dilated convolutions; computer vision; crowd safety

0 引言

公共场合中通过摄像机实现人群计数[1-2]具有重要的研究价值。该问题旨在分析人群密度分布和估计人数,实现高效、安全的人群管理。比如:候车大厅中人群计数的结果,可优化公共交通的调度;某区域中人数的急剧变化可能会导致意外事件的发生。因此,人群计数是计算机视觉和智能视频监控领域[3-5]的重要研究内容。但在人群密度估计工作中,由于人群的遮挡、人群分布的多样性、透视扭曲带来的尺度差异,使人群在图像场景中呈现出非常多样的表现(如图 1所示),从而给人群密度的准确估计带来巨大的挑战。因此,合理地解决实际场景下存在的上述问题,成为人群密度估计研究的首要内容。

图 1 人群场景图
Fig. 1 Crowd scene maps

近年来,随着卷积神经网络(CNN)在各个领域的成功运用,许多学者致力于深度学习框架下人群密度估计的研究,并提出了大量的学习算法[4, 6-7]。其中,一种常用的方法是利用多尺度的卷积神经网络结构,提取图像中不同尺度的人头描述信息,融合多尺度通道得到密度估计结果,生成密度图。该方法实现简单,并能够解决人群场景中的尺度变化问题。然而,在实际场景下,这样的解决方法存在以下缺陷:

1) 传统的网络会对输入图像向下采样,扩大卷积核的感受野,获取全局特征。然而对于人群量大的场景,如图 1所示,由于人与人之间存在严重的遮挡,部分人头所占的像素很少,下采样操作容易丢失部分人群分布信息,也会降低每个不同尺度通道输出的密度图分辨率,影响到最后的密度估计结果。

2) 密度图由多通道网络输出的密度估计结果平均融合而来,此种方式使得到的多尺度密度估计结果平均化,降低了人群计数的准确性。

为了解决上述问题,本文提出一种高效的基于对抗式扩张卷积的多尺度人群密度估计模型。该模型首次提出基于对抗式扩张卷积网络[8],在保持网络中参数量不变的情况下,将卷积核扩张,既扩大了卷积核的感受野,又可以保持网络中每层的特征图尺度不变,从而得到高分辨率的密度图。其次,本文参考文献[9]提出的基于合作方式的融合方法,采用对抗式训练输出密度图,有效地解决了传统的平均融合方式对最后结果的影响。最后,本文提出的模型采用不同大小的扩张系数,全面地提取图像中的多尺度上下文信息,提高了估计结果的准确率。另外,本文在主流的公开数据库中进行了丰富的对比实验,实验结果有力地证明了本文提出的网络框架明显优于现有的人群密度估计方法。

1 相关工作

现有的人群密度估计算法模型多种多样。早期的方法主要通过检测头部或身体来估计行人的数量[10-11]。然而这种方法受限于人流量大的实际场景,存在的人群遮挡问题使计数结果并不理想。基于特征的回归[12-14]来进行人群计数的方法建立图像特征和人数的回归模型,通过提取特征从而估计场景中的人数。一般分为3个步骤:1)前景分割,将人群从图像中分割出来;2)特征提取,从分割得到的前景提取各种不同的底层特征,常用的特征有:人群面积和周长、边缘信息、纹理特征、闵可夫斯基维度等;3)人数回归,将提取到的特征回归到图像中的人数。但这种方法并不能提供场景中的人群密度分布情况,所以实际应用限制较大。

近年来,人群密度估计模型集中于深度学习方法。文献[15]介绍了一些基于CNN的人群计数方法。文献[16]提出了基于Alexnet类型的CNN人群计数模型。但这种方法不能提供人群分布情况的信息。文献[17]提出了一种深度卷积神经网络结构,采用两个相关的学习目标:人群总数和人群分布密度图交替回归训练得出结果。这种交替式的目标学习可以提高预测结果的准确度。但这种方法需要不同角度的透视图,在实际的训练和测试中很难实现。

最近,有人针对该问题提出多列卷积神经网络方法[6, 18]。该结构包括多列不同尺度大小的卷积核网络,分别提取输入图像中不同尺度的特征,最后采用一个1×1像素大小的滤波器卷积层代替了完全连接层,输出与原图对应的密度图,通过对密度图进行回归得到人群总数。Switch-CNN[7]受多列卷积神经网络[6]的启发,提出了一种根据图像块的内容信息来选择合适的CNN网络进行人群密度估计的方法。文献[6]中的方法选择整幅图像作为网络的输入,但并不是图像的所有区域都能在特定尺度的CNN网络上取得理想的预测结果。针对该问题,Switch-CNN选择先将图像分成9个图像块,并利用一个CNN网络对图像块进行分类,选择输出预测结果最准确的CNN网络来进行密度估计,最后将结果求和得到一幅图像的总人数。

这些方法都为人群密度估计的发展做出了重要贡献。然而利用深度学习对人群进行密度估计时,实验中会对输入图像向下采样,而且通常利用欧氏距离损失函数进行回归训练,降低了输出密度图的分辨率和准确度。这样得到的结果会影响其他更高层次的认知任务,如人群密度估计和人群场景分析。因此,本文借鉴图像语义分割课题提出的扩张卷积网络[8]和文献[9]采用的对抗式损失函数,对不同扩张系数聚集得到的不同尺度的上下文信息加以融合,得到高质量的密度图。

2 主要方法

图 2为本文提出的网络整体结构。训练图像的输入规格为240×240像素。生成器网络以人群场景图作为输入,学习端到端的映射,输出预测密度图,其网络的主要结构为扩张卷积[8]。扩张卷积初次提出于图像语义分割问题中,为了实现输出图像和输入图像尺度一致的要求,扩张卷积网络可以在不损失图像分辨率的情况下对图像提取特征,输出预测结果。故本文方法输出的是高质量的与输入图像尺度一致的密度图。判别器网络以生成器网络输出的密度图和真值图成对作为输入,目的是判别密度图与真值图的相似性,回归相似性概率的范围为[-1.0, 1.0],二者相似度越高,则概率越接近于1.0;反之,则越接近于-1.0。

图 2 网络整体结构
Fig. 2 Overall network structure

2.1 密度图

基于CNN的人群密度估计问题以密度图作为标签进行网络训练,所以密度图生成的质量好坏直接影响到实验效果。一般人群计数数据库会标注每一幅图像中所有人头部的物理坐标,前期工作需要将这些信息转化为密度图。若像素点${x_i}$被标记为一个人的头部,用函数$\mathit{\boldsymbol{\delta }}\left( {x - {x_i}} \right)$表示。因此拥有$N$个被标记头部的图像可以表示为

$ \mathit{\boldsymbol{H}}\left( x \right) = \sum\limits_{i = 1}^N {\mathit{\boldsymbol{\delta }}\left( {x - {x_i}} \right)} $ (1)

为了将被标记头部的图像函数转换为连续的密度函数,本文借助高斯核${\mathit{\boldsymbol{G}}_\sigma }$[19]将该函数卷积展开,因此密度函数被表示为$\mathit{\boldsymbol{F}}\left( x \right) = \mathit{\boldsymbol{H}}\left( x \right)*{\mathit{\boldsymbol{G}}_\sigma }\left( x \right)$。然而由于透视原理,在3维实际人群场景被2维彩色图像表示的过程中,每一个像素点${{x_i}}$所表示的人头所占面积会存在较大差异。

针对以上问题,本文根据人群分布情况利用几何自适应核[4]改变高斯分布参数。对于给定图像中每一个表示人头的像素点${{x_i}}$$\left\{ {d_1^i, d_2^i, d_k^i} \right\}$表示与其最近的$k$个人的距离,所以平均距离为${{\bar d}^i} = \frac{1}{m}\sum\limits_{j = 1}^m {d_j^i} $。像素点${{x_i}}$代表的人头在场景图像中所占面积越大,${{x_i}}$与周围人的平均距离越大,二者成正比关系。因此对于每一个$\mathit{\boldsymbol{\delta }}\left( {x - {x_i}} \right)$来说,将与${{\bar d}^i}$成正比的变量${\sigma _i}$卷积展开就可以得到正确的密度函数$F$,即

$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{F}}\left( x \right) = \sum\limits_{i = 1}^N {\mathit{\boldsymbol{\delta }}\left( {x - {x_i}} \right) * {\mathit{\boldsymbol{G}}_{{\sigma _i}}}\left( x \right)} }\\ {{\sigma _i} = \beta {{\bar d}^i}} \end{array} $ (2)

通过大量实验总结可以得到,当$\beta = 0.3$时效果最好。图 3是本文通过基于几何自适应高斯核转换得到的密度图。

图 3 人群密度图
Fig. 3 Crowd density maps
((a) original images; (b) density maps)

2.2 扩张卷积

基于CNN的人群密度估计将表示实际场景的图像输入网络,通过对图像提取特征后与标签计算损失回归训练输出密度图。由于在人流量大的场景中,人与人之间的遮挡情况十分严重,所以CNN在对图像提取特征时,网络的池化层对图像的下采样操作就很容易丢失部分人群信息,降低特征图的分辨率,得到低质量的密度图,影响人群密度的分析和人群数量的计算。为了使网络输入输出尺度一致,本文去掉减小特征图分辨率的池化层,但这使得较小尺度的卷积核感受野就会变小,模型学习不到全局视野;增大卷积核尺度,计算量又会随之暴增,对内存的考验很大。扩张卷积[8]可以在保持计算量不变的前提下扩大卷积核尺度,增大感受野。其原理是将原本紧密贴着的卷积核按一定的扩张系数增大,用0去填充空出来的位置。这样,由于卷积核的扩张,感受野增大;又由于卷积核中的有效计算点不变,所以计算量不变。除此之外,每层的特征图尺度都不变,所有图像信息都保存了下来。图 4为扩张卷积的原理。

图 4 扩张卷积感受野变化
Fig. 4 Change of dilated convolution receptive field

人群密度估计问题最大的挑战在于尺度的巨大变化。采用单一的卷积核对图像进行操作时,无法准确地提取到每一个人头的特征信息。为了充分提取特征,扩张卷积在上下文模型中通过设置不同大小的扩张系数来聚合多尺度上下文信息,提高了密集预测框架的性能。该模块作为扩张卷积前端部分架构的补充,在结构上将前端部分的预测结果作为输入,进行不同尺度的特征提取,提高了最后密度估计的准确性。直观地说,该模块通过多个扩张层将提取到的特征进行计算预测,增加了特征映射的精度,从而揭示上下文(单张图的上下文)信息。

值得一提的是,文献[20]同样提出运用扩张卷积的思路来解决密集人群分布下的密度估计问题,而该网络最早是用于解决图像分割问题而提出的模型结构,本文与文献[20]同时借鉴了该模型,且本文提出的模型利用了对抗式损失函数来进行网络最后的优化训练,这是本文方法与文献[20]提出的方法的最大差别。关于这部分的讨论将在2.3节详细介绍。

2.3 基于对抗式损失的密度估计

2.3.1 对抗式损失

在第1节中回顾了最近对于人群密度估计的各种方法[4, 6-7, 17-18],其共同点都是选择欧氏距离损失函数作为网络训练的优化。在以往的经典方法[4, 6, 18, 21]中,为了解决人体尺度变化问题,一般采用具有不同尺度大小的卷积核多通道网络对图像进行特征的提取计算,最后将各个通道的输出结果平均融合得到预测的密度图。假设某尺度通道$i$的预测结果为${{S_i}}$,则最后的损失函数可以表示为

$ L = \min \left\| {\mathit{\boldsymbol{F}}\left( {{S_1},{S_2},{S_3}, \cdots } \right) - \mathit{\boldsymbol{M}}} \right\|_2^2 $ (3)

式中,$\mathit{\boldsymbol{M}}$代表真值密度图,$\mathit{\boldsymbol{F}}({S_1}, {S_2}, {S_3}, \ldots )$表示将多尺度通道得到的计算结果融合后输出的密度图。但这样的解决方案存在很大的弊端。虽然不同尺度大小的卷积核提取了多尺度特征[6, 21],但欧氏距离损失函数平均了每个通道各自的输出结果,反而降低了最后结果的准确性。实际上,对于尺度变化敏感的CNN来说,小尺度的滤波器对图像中高密度人群分布敏感,人数预测结果准确度高,其他部分的预测结果相对来说并不理想,反之,则相反,如图 5(a)所示。所以在对各个通道的结果平均融合后,就会出现图 5(b)中采用欧氏距离回归的情况,降低了人群计数的精确性。由此可见,以这种方式回归训练得到的是低质量且结果不准确的密度图。

图 5 不同回归方法的准确度比较
Fig. 5 Accuracy comparison of different regression methods
((a) three scale-sensitive models; (b) accuracy difference of different regression methods)

为了解决这个问题,本文参考文献[9]提出的方法,如图 5(b)中采用对抗式损失进行回归训练,充分将不同尺度得到的计算结果以合作的方式进行融合,取长补短,输出高质量的密度图。

2.3.2 目标函数

文献[9]由生成式对抗网络(GANs)[22-24]在各个领域所取得的良好效果得到启发,将对抗式损失函数应用在人群密度估计方向。GANs一般包括一个生成模型$G$和一个判别模型$D$。以图片问题举例,可以简单地理解为生成模型生成与真值图相似的图像,判别模型努力去分辨给定的图片是否为真实的图片。两个模型一起对抗训练,生成模型产生一张图片去欺骗判别模型,然后判别模型去判断这张图片的真实性,在训练的过程中,两个模型的能力越来越强,最终达到稳态。假设本文的生成模型是$g\left( \mathit{\boldsymbol{z}} \right)$,其中$\mathit{\boldsymbol{z}}$是一个随机噪声,而$g$将这个随机噪声转化为数据类型$\mathit{\boldsymbol{z}}$,仍然以图片问题举例,这里$g$的输出就是一张图片。$D$是一个判别模型,对任何输入$i$$D\left( i \right)$的输出是[-1.0, 1.0]范围内的一个实数,用来判断这个图片是真实图片的概率。令${P_{\rm{r}}}$${P_{\rm{g}}}$分别代表真实图像的分布与生成图像的分布,则判别模型的目标函数为

$ \mathop {\max }\limits_D {E_{x \sim {P_{\rm{r}}}}}\left[ {{{\log }_2}D\left( i \right)} \right] + {E_{x \sim {P_{\rm{g}}}}}\left[ {{{\log }_2}\left( {1 - D\left( i \right)} \right)} \right] $ (4)

而生成模型的目标是让判别模型无法区分真实图片与生成图片,那么优化目标函数为

$ \mathop {\min }\limits_G \mathop {\max }\limits_D {E_{x \sim {P_{\rm{r}}}}}\left[ {{{\log }_2}D\left( i \right)} \right] + {E_{x \sim {P_{\rm{g}}}}}\left[ {{{\log }_2}\left( {1 - D\left( i \right)} \right)} \right] $ (5)

在这里,人群场景图通过CNN生成密度图的对抗损失目标函数表示为

$ \begin{array}{*{20}{c}} {{L_A}\left( {G,D} \right) = {E_{x,y \sim {p_{{\rm{data}}}}\left( {x,y} \right)}}\left[ {{{\log }_2}D\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{y}}} \right)} \right] + }\\ {{E_{x \sim {p_{{\rm{data}}}}\left( x \right)}}\left[ {{{\log }_2}\left( {1 - D\left( {\mathit{\boldsymbol{x}},G\left( \mathit{\boldsymbol{x}} \right)} \right)} \right)} \right]} \end{array} $ (6)

其中,$\mathit{\boldsymbol{x}}$表示训练图像,$\mathit{\boldsymbol{y}}$表示与之对应的真值密度图。生成模型努力最小化目标函数,判别模型努力最大化目标函数。

由于对抗式损失函数缺乏真值密度图和预测密度数值上的比较计算,网络使用单一的回归方式可能会造成结果异常,甚至生成的密度结果根本不存在于原有的标签文件中,文献[22, 24]就提到了这个问题。根据以往的工作[24-26],本文添加传统的欧氏距离损失来平滑预测结果。在本文的模型中,生成器网络的生成结果不仅要努力混淆判别器网络,还要在欧氏距离上尽力接近密度图真值。具有$C$个通道的人群场景图像规格为$W \times H$,则生成器$G$的欧氏距离损失函数为

$ {L_{\rm{E}}}\left( G \right) = \frac{1}{C}\sum\limits_{c = 1}^C {\left\| {{\mathit{\boldsymbol{p}}^G}\left( c \right) - {\mathit{\boldsymbol{p}}^{{\rm{GT}}}}\left( c \right)} \right\|_2^2} $ (7)

式中,${\mathit{\boldsymbol{p}}^G}\left( c \right)$表示生成模型$G$预测的密度图像素值,${\mathit{\boldsymbol{p}}^{{\rm{GT}}}}\left( c \right)$表示真值密度图(ground truth)像素值,$C = 3$。因此,最终的损失函数表示为

$ L = \arg \mathop {\min }\limits_G \mathop {\max }\limits_{\rm{D}} {L_{\rm{A}}}\left( {G,D} \right) + {\lambda _{\rm{E}}}{L_{\rm{E}}}\left( G \right) $ (8)

式中,${\lambda _{\rm{E}}}$表示欧氏距离损失的权值。根据以往的经验[26],本文将${\lambda _{\rm{E}}}$设置为150。

3 实验结果与分析

本文在4个主要的人群计数数据集上进行了比较实验。在测试阶段,将测试图像输入训练好的生成器网络,输出预测密度图;将密度图积分求和得到总人数,并以一定的评价指标进行结果对比。该模型在Caffe框架[20]上实现和训练。

3.1 评价指标

本文使用平均绝对误差(MAE)和均方误差(MSE)作为评价指标。假设存在$N$幅测试图像,MAE定义为

$ {f_{{\rm{MAE}}}} = \frac{1}{N}\sum\limits_{}^N {\left| {{C_i} - C_i^{{\rm{GT}}}} \right|} $ (9)

式中,${C_i}$是模型预测输出的密度图积分求和后的总人数,$C_i^{{\rm{GT}}}$为测试图像的真实人数。MSE表示网络预测结果的准确性,其定义为

$ {f_{{\rm{MSE}}}} = \sqrt {\frac{1}{N}\sum\limits_{i = 1}^N {{{\left( {{C_i} - C_i^{{\rm{GT}}}} \right)}^2}} } $ (10)

MSE是反映估计量与被估计量之间差异程度的一个评价指标,表现了方法的鲁棒性。

3.2 ShanghaiTech数据库

ShanghaiTech数据库首次出现于文献[6]中,整个数据库共包含1 198幅图像,共计330 165个已标记人头,是目前已知标记人数最多的数据库。数据库共分为两部分:Part_A包含482幅图像,来源于互联网;Part_B包含716幅图像,来源于上海的街道。将Part_A和Part_B分为训练集和测试集:Part_A有300张训练图片,剩余的182张图片用于测试;Part_B的训练集有400张图片而测试集有316张,本文根据文献[6]对数据集的划分进行网络的训练和测试。图 6为该方法在ShanghaiTech数据库Part_A上生成的密度图与真值图的比较结果。

图 6 结果比较
Fig. 6 Result comparison
((a) original images; (b) ground truth; (c) estimate maps)

表 1为本文方法对测试集的预测结果与目前该领域中最先进的算法得到的计数结果比较。

表 1 在ShanghaiTech数据库上的计数结果比较
Table 1 Comparing results on ShanghaiTech database

下载CSV
方法Part_APart_B
MAEMSEMAEMSE
文献[17]181.8277.732.049.8
MCNN[6]110.2173.226.441.3
Switch-CNN[7]90.4135.021.633.4
CSRNet[20]68.2115.010.616.0
本文60.5109.710.215.3

表 1可以得到,在Part_A中,该模型的MAE有了7.7的提升,而在Part_B中则有了0.4的提升,提高了人群计数预测结果的准确性。同时该模型在MSE上优于经典算法,证明了本文算法具有较高的鲁棒性。

3.3 WorldExpo′10数据库

WorldExpo′10数据库首次出现于文献[17],包含了被108个监控摄像头捕捉到的1 132个标注的视频时间序列,图像资料均来自于2010年上海世博会。文献[17]提供了3 980幅图像,包含了199 923个头部被标注的行人,将其中3 380幅图像作为训练数据。测试数据包含5组视频序列,每一组视频序列包含120幅被标注的图像,分别用S1到S5表示。文献[17]中提到的密度图的生成方法与文献[6]有所不同,文献[17]提供了每一幅实际场景的视角图,并计算了人群密度分布核,在测试时只考虑图像的感兴趣区域(ROI)。本文利用评价指标MAE来进行不同方法的性能比较。表 2为比较结果,分别对5组视频序列进行统一的结果比较并求出了多组预测结果的平均值。虽然本文在S1中的准确度低于文献[20]提出的方法,但平均预测结果相比于CSRNet有了0.66的提升,准确度有所提高。

表 2 在WorldExpo′10数据库上的计数结果比较
Table 2 Comparing results on WorldExpo′10 database

下载CSV
方法S1S2S3S4S5平均
文献[17]9.814.114.322.23.712.9
MCNN[6]3.420.612.913.08.111.6
Switch-CNN[7]4.415.710.011.05.99.4
CSRNet[20]2.914.710.510.45.88.86
本文3.213.49.610.04.68.2

3.4 UCF_CC_50数据库

UCF_CC_50数据库由Idrees等人[27]在研究人群密度估计问题时制作,包含了50幅从互联网上搜集而来的图像。这是非常极具挑战性的一个人群计数数据库,不仅是因为数据库中包含的图像数量过少,且图像中人群的数量差异非常大:最少只有9个人,最多却可达4 543个人,平均每幅图像包含1 280个人。作者提供了63 974个标注数据。本文依据文献[27]中提到的方法,使用五倍交叉验证法来评价所提出的算法。表 3为不同方法得到的结果比较。由表 3可以看到,本文方法相比以往的经典算法均有了较大的提升。在MAE中相比文献[20]提出的算法有了18.6的提升,在MSE中有了22.9的提升。UCF_CC_50数据库主要考察的是密集场景下算法对人群数量的预测能力。实验结果表明,基于对抗式扩张卷积的网络模型在密集场景下仍具有优越的人群计数预测能力和鲁棒性。

表 3 在UCF_CC_50数据库上的计数结果比较
Table 3 Comparing results on UCF_CC_50 database

下载CSV
方法MAEMSE
文献[27]419.5487.1
文献[17]467.0498.5
MCNN[6]377.6509.1
Switch-CNN[7]318.1439.2
CSRNet[20]266.1397.5
本文247.5374.6

3.5 UCSD数据库

同样在UCSD数据库[28]上进行实验。这个数据库由2 000个被标记头部中心位置且规格为158×238像素的图像构成。其中,单幅图像人群数量最多不超过46人,场景人数较为稀少,可用来考察不同方法在稀疏场景下的预测能力。文献[28]的作者提供了ROI图和视角图,并选择状似椭圆形的二元归一化分布核来产生密度图,使行人轮廓被完全覆盖。根据文献[28]中的划分,本文将601~1 400共800幅图像作为训练集,剩余的1 200幅图像作为测试集。表 4是不同方法的比较结果,可以看到,本文算法在稀疏场景下对人群的预测准确性有较小幅度的提升,但对抗式的损失函数限制了低密度下人群计数预测结果的稳定性。

表 4 在UCSD数据库上的计数结果比较
Table 4 Comparing results on UCSD database

下载CSV
方法MAEMSE
Kernel Ridge Regression[12]2.167.45
Cumulative Attributes[13]2.076.86
文献[17]1.603.31
MCNN[6]1.071.35
Switch-CNN[7]1.622.10
CSRNet[20]1.071.35
本文1.021.75

4 结论

本文提出了基于对抗式扩张卷积的多尺度人群密度估计网络模型。首先,利用扩张卷积在保证计算量不变的前提下扩大感受野,提取全局信息;同时利用不同大小的扩张系数聚集不同尺度的上下文信息,得到高分辨率的密度图。其次,利用对抗式损失训练模型将网络提取到的不同尺度的特征充分融合,得到准确的密度分布。大量的对比实验证明,本文方法在主流人群计数数据库上表现出了优越的性能。

然而,对抗式扩张卷积的算法模型虽然提高了计数精度,但在训练过程中,过于复杂的网络结构需要较大的内存空间做支撑;而且为了追求准确度,网络需要经过长时间不断地训练,十分消耗时间。对此,后续的研究将着重于改善网络结构,在保持算法思路不变的前提下,精简网络架构,去除冗余部分。同时修改训练参数,争取以最高的精度为目标实现较少的训练次数,解决方法中存在的时间复杂度和空间复杂度差的问题。

参考文献

  • [1] Junior J C S J, Musse S R, Jung C R. Crowd analysis using computer vision techniques[J]. IEEE Signal Processing Magazine, 2010, 27(5): 66–77. [DOI:10.1109/MSP.2010.937394]
  • [2] Zhan B B, Monekosso D N, Remagnino P, et al. Crowd analysis:a survey[J]. Machine Vision and Applications, 2008, 19(5-6): 345–357. [DOI:10.1007/s00138-008-0132-4]
  • [3] Li T, Chang H, Wang M, et al. Crowded scene analysis:a survey[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2015, 25(3): 367–386. [DOI:10.1109/TCSVT.2014.2358029]
  • [4] Oñoro-Rubio D, López-Sastre R J. Towards perspective-free object counting with deep learning[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands: Spinger, 2016: 615-629.[DOI: 10.1007/978-3-319-46478-7_38]
  • [5] Zhang S H, Wu G H, Costeira J P, et al. Understanding traffic density from large-scale web camera data[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE, 2017: 4264-4273.[DOI: 10.1109/CVPR.2017.454]
  • [6] Zhang Y Y, Zhou D S, Chen S Q, et al. Single-image crowd counting via multi-column convolutional neural network[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 589-597.[DOI: 10.1109/CVPR.2016.70]
  • [7] Sam D B, Surya S, Babu R V. Switching convolutional neural network for crowd counting[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE, 2017: 4031-4039.[DOI: 10.1109/CVPR.2017.429]
  • [8] Yu F, Koltun V. Multi-scale context aggregation by dilated convolutions[EB/OL] [2018-06-15]. https://arxiv.org/pdf/1511.07122V2.pdf.
  • [9] Shen Z, Xu Y, Ni B B, et al. Crowd counting via adversarial cross-scale consistency pursuit[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City, Utah, USA: CVPR, 2018: 5245-5254.
  • [10] Lin Z, Davis L S. Shape-based human detection and segmentation via hierarchical part-template matching[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(4): 604–618. [DOI:10.1109/TPAMI.2009.204]
  • [11] Wang M, Wang X G. Automatic adaptation of a generic pedestrian detector to a specific traffic scene[C]//Proceedings of the CVPR 2011. Colorado Springs, CO, USA: IEEE, 2011: 3401-3408.[DOI: 10.1109/CVPR.2011.5995698]
  • [12] An S J, Liu W Q, Venkatesh S. Face recognition using kernel ridge regression[C]//Proceedings of 2007 IEEE Conference on Computer Vision and Pattern Recognition. Minneapolis, MN, USA: IEEE, 2007: 1-7.[DOI: 10.1109/CVPR.2007.383105]
  • [13] Chen K, Loy C C, Gong S G, et al. Feature mining for localised crowd counting[C]//Proceedings of the British Machine Vision Conference. Newcastle, UK: Northumbria University, 2012: 21.1-21.11.
  • [14] Bansal A, Venkatesh K S. People counting in high density crowds from still images[EB/OL].[2018-06-15]. https: //arxiv.org/pdf/1507.08445.pdf.
  • [15] 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, 2018, 107: 3–16. [DOI:10.1016/j.patrec.2017.07.007]
  • [16] Wang C, Zhang H, Yang L, et al. Deep people counting in extremely dense crowds[C]//Proceedings of the 23rd ACM International Conference on Multimedia. Brisbane, Australia: ACM, 2015: 1299-1302.[DOI: 10.1145/2733373.2806337]
  • [17] Zhang C, Li H S, Wang X G, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA: IEEE, 2015: 833-841.[DOI: 10.1109/CVPR.2015.7298684]
  • [18] Boominathan L, Kruthiventi S S S, Babu R V. Crowdnet: a deep convolutional network for dense crowd counting[C]//Proceedings of 2016 ACM International Conference on Multimedia. Amsterdam, The Netherlands: ACM, 2016: 640-644.[DOI: 10.1145/2964284.2967300]
  • [19] Lempitsky V, Zisserman A. Learning to count objects in images[C]//Proceedings of the 23rd International Conference on Neural Information Processing Systems. Vancouver, British Columbia, Canada: Curran Associates Inc., 2010: 1324-1332.
  • [20] Li Y H, Zhang X F, Chen D M. CSRNet: dilated convolutional neural networks for understanding the highly congested scenes[EB/OL]. 2018-02-27[2018-06-15]. https://arxiv.org/pdf/1802.10062.pdf.
  • [21] Sindagi V A, Patel V M. Generating high-quality crowd density maps using contextual pyramid CNNs[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy: IEEE, 2017: 1861-1870.[DOI: 10.1109/ICCV.2017.206]
  • [22] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[EB/OL]. 2015-11-19[2018-06-15]. https://arxiv.org/pdf/1511.06434.pdf.
  • [23] Li Y J, Liu S F, Yang J M, et al. Generative face completion[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE, 2017: 5892-5900.[DOI: 10.1109/CVPR.2017.624]
  • [24] Isola P, Zhu J Y, Zhou T, et al. Image-to-image translation with conditional adversarial networks[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE, 2017: 5967-5976.[DOI: 10.1109/CVPR.2017.632]
  • [25] Pathak D, Krähenbühl P, Donahue J, et al. Context encoders: feature learning by inpainting[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 2536-2544.[DOI: 10.1109/CVPR.2016.278]
  • [26] Zhang H, Sindagi V, Patel V M. Image de-raining using a conditional generative adversarial network[EB/OL]. 2017-01-21[2018-06-15]. https://arxiv.org/pdf/1701.05957.pdf.
  • [27] Idrees H, Saleemi I, Seibert C, et al. Multi-source multi-scale counting in extremely dense crowd images[C]//Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition. Portland, OR, USA: IEEE, 2013: 2547-2554.[DOI: 10.1109/CVPR.2013.329]
  • [28] Chan A B, Liang Z S J, Vasconcelos N. Privacy preserving crowd monitoring: counting people without people models or tracking[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, AK, USA: IEEE, 2008: 1-7.[DOI: 10.1109/CVPR.2008.4587569]