Print

发布时间: 2018-08-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180017
2018 | Volume 23 | Number 8




    图像分析和识别    




  <<上一篇 




  下一篇>> 





多层次特征融合的人群密度估计
expand article info 陈朋1, 汤一平1,2, 王丽冉1, 何霞1
1. 浙江工业大学信息工程学院, 杭州 310023;
2. 银江股份有限公司, 杭州 310000

摘要

目的 人群数量和密度估计在视频监控、智能交通和公共安全等领域有着极其重要的应用价值。现有技术对人群数量大,复杂环境下人群密度的估计仍存在较大的改进空间。因此,针对密度大、分布不均匀、遮挡严重的人群密度视觉检测,提出一种基于多层次特征融合网络的人群密度估计方法,用来解决人群密度估计难的问题。方法 首先,利用多层次特征融合网络进行人群特征的提取、融合、生成人群密度图;然后,对人群密度图进行积分计算求出对应人群的数量;最后,通过还原密度图上人群空间位置信息并结合估算出的人群数量,对人群拥挤程度做出量化判断。结果 在Mall数据集上本文方法平均绝对误差(MAE)降至2.35,在ShanghaiTech数据集上MAE分别降至20.73和104.86,与现有的方法进行对比估计精度得到较大提升,尤其是在环境复杂、人数较多的场景下提升效果明显。结论 本文提出的多层次特征融合的人群密度估计方法能有效地对不同尺度的特征进行提取,具有受场景约束小,人群数量估计精度高,人群拥挤程度评估简单可靠等优点,实验的对比结果验证了本文方法的有效性。

关键词

人群密度估计; 拥挤程度评估; 层次特征融合; 卷积神经网络; 深度学习; 智能视频分析

Crowd density estimation based on multi-level feature fusion
expand article info Chen Peng1, Tang Yiping1,2, Wang Liran1, He Xia1
1. School of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China;
2. Enjoyor Co., Ltd, Hangzhou 310000, China
Supported by: National Natural Science Foundation of China (61070134, 61379078)

Abstract

Objective With the noticeable growth in population, large-scale collective activities have become increasingly frequent. In recent years, a series of social problems have become progressively prominent due to crowding of crowds. In particular, frequent accidents occur in densely populated areas, such as scenic spots, railway stations, and shopping malls. Crowd analysis has become an important research topic of intelligent video surveillance. Crowd density estimation has also become the focus of crowd safety control and management research. Crowd density estimation can help the staff to optimize the management of the statistics of the crowd in the current situation. Preventing overcrowding and detecting potential safety issues are important contributions of such a process. However, several of the available technologies are only applicable to a small number of people, and the environment is relatively static scene. Aiming at the visual detection of crowd density, uneven distribution, and occlusion crowd density, this study proposes a crowd density estimation method based on multi-level feature fusion network. Method First, we generate the feature map of each level using the convolutional pooling of the network. After five out of eight convolution layers are generated, a feature map that is 1/32 of the original size and 128 dimensions is generated and then perform three deconvolution operations. Thereafter, the convolutional layer features of the previous stage are fused together. Finally, the convolution layer is convoluted using a 1×1 volumetric kernel to form a density feature map of 1/4 of the original size. For the image, each convolution operation is an abstraction of the image features of the previous layer, and its different depths correspond to different levels of semantic features. Moreover, if convolution' shallow network resolution is high, the additional image details are found. However, if its deep network resolution is low, then deep semantic and some key features should be learned. Low-level features can be suitably used to extract small target features, whereas high-level features can be used to extract large target features. We solve the problem of inconsistent image scales by combining the feature information of different layers. Second, we use the public dataset to generate the corresponding density label map using our artificial calibration and then train the network to independently predict the density map of the test image. Finally, by integrating the density map, on the basis of the generated density map, we propose a quantitative method of crowd extent, and the crowd crowding is calculated through the reduction and combination of crowd spatial information on density map. Result The proposed method reduces the MAE to 2.35 on the mall dataset and reduces the MAE to 20.73 and 104.86 on the ShanghaiTech dataset. Compared with the existing methods, the crowd density estimation accuracy is improved, having a noticeable effect on the environment with complex number of scenes. In addition, the experimental results of different network structures show an improvement of the test results after adding the deconvolution layer compared with pure convolutional networks. Under the complex scene of ShanghaiTech dataset, after the feature fusion network, the performance has further improved, especially the integration of 1, 2 features, which generates a more prominent effect. When the integration of the characteristics of the three layer basically does not improve the effect, the main reason is the level is too high and contains additional details. Moreover, several redundant information affects the generalization of the network capacity. The effect of network improvements is also not noticeable for the mall dataset with the standard scenario. However, when we use a pure convolutional network, the result is noticeable. Conclusion This study proposes a crowd density estimation method based on multi-level feature fusion network. Through the extraction and fusion of the features of different semantic layers, the network can extract the features of people in different scales and sizes, which effectively improves the robustness of the algorithm. Using the complete picture as the input better preserves the overall picture information, the feature space location information is considered in network training. This algorithm is more scientific and efficient when using the density map generated by forecasting in combination with the spatial information in the estimation of the number of people and the degree of congestion. The algorithm also has the advantages in small scene constraints, high crowd estimation accuracy, and simple and reliable crowd congestion assessment. The effectiveness of the proposed multi-level feature fusion network and crowd congestion evaluation method is verified through experiments.

Key words

crowd density estimation; crowded degree assessment; hierarchical feature fusion; convolutional neural network(CNN); deep learning; intelligent video analysis

0 引言

随着人口数量的急剧增长,大规模集体性活动日益频繁,近年来因人群密集带来一系列社会问题日益突出,尤其是在景点、车站、商场等人群密集区域事故频发。人群分析已经成为智能视频监控的一个重要研究课题,而人群密度估计也已经成为人群安全控制和管理研究的重点,它不但能对当前场景下进行人数的统计帮助工作人员优化管理;而且,它在预防过度拥挤和检测潜在安全问题上有着极其重要的价值。

人群图像的分析是一个复杂的问题,尤其是对人群密度大、背景区域复杂图像的分析更是一个挑战性的工作,其难点主要在于前景提取困难, 人群之间的相互遮挡以及相机透视效果的影响。目前对于这类问题的分析方法主要分为两大类:一是基于图像处理的传统方法;二是基于卷积神经网络(CNN)的方法。

良好前景的提取技术可以降低环境对结果分析的影响,前深度学习时代计算机视觉的解决思路多半是基于视频图像的分析方法,即通过帧差法提取出前景部分[1],但这种办法常受限于场景,实用性欠缺,而深度学习技术的出现无疑大大简化了这类问题的处理方法。

遮挡问题也是视觉检测里一个棘手的问题,在高密度人群下,单个个体的特征会完全被遮挡丢失。因而,以人群整体为对象进行特征的提取分析显得尤为重要。密集区域和稀疏区域的人群它们整体视觉上差异明显,而整体考虑的思想正是利用了这种视觉特征上的差异完成特征的提取与分析。

由于相机的透视成像原因,分布在图像中视野越远处,个体图像越小且图像越模糊,使得信息丢失严重;分布在图像中视野越近处,个体图像越大且越清晰,信息越丰富。因此,导致很难用一套标准人群密度估计方法来应对这种非统一的场景。相关研究为此提出了基于图像分块的方法和多尺度的方法。

图像分块的方法首先计算出图像的透视关系,然后将原图像分成多个具有相同透视范围的子区域并在各个子区域取图像块,从而建立图像的统一化[2-4];多尺度的方法主要利用不同大小的感受视野进行多尺度的采样,在神经网络中通常采用不同大小的卷积核对原图进行多尺度的卷积操作[5-7]

传统人群密度估计方法可分为检测法和回归法。检测法的思想就是通过检测出对应场景下单个个体,然后进行人数的统计,该方法的关键是如何精准地检测出场景下的每个个体。文献[8]提出了一种利用形状轮廓来进行人体的检测的方法,文献[9]提出了一种跟踪行人身上的兴趣点来检测每个个体的方法。这类方法在人群数量较少的情况下估计效果较好,但是在大场景高密度人群情况下,这种方法的可靠性欠缺。回归法的整体思想是将人群看成一个整体,通过对人群特征的提取建立回归模型,来估计人群的密度[10-11]。由于回归模型是从人群整体出发,因此对于遮挡、环境复杂的高密度人群仍具有很好的估计效果,其难点在于人群特征的描述和回归模型的建立。

随着深度学习的发展,以CNN为代表的神经网络方法在计算机视觉领域取得的成功,在图像的前景提取分割[12],目标的检测分类上表现出了惊人的能力[13],研究者开始使用非线性自主学习的方法解决复杂场景下的人群密度估计问题。

文献[14]针对高密度人群提出了一种端到端的CNN回归模型人数估计方法,其特点是受背景干扰影响小,在训练时引入负样本使得模型具有较高的鲁棒性;文献[2]提出了一种多目标优化方案将人群计数和人群密度估计分开优化,这种可切换的学习方法能够为这两个目标提供更好的局部最优解。文献[7]设计了一对不同深浅、不同卷积尺度并列的网络结构模型,该方法有效地考虑了高层次的细节信息和低层次特征点的信息。文献[6]同样设计了一种多列网络并联的网络模型,每列网络的卷积核大小各不相同,这种不同大小的感受视野能够适应由于图像透视带来人体区域尺度不一的影响。文献[7]提出一种混合神经网络模型,通过网络自适应的选择激活某个神经部分完成人群的计数统计,这种自主选择的学习方法,能够较好对原始图像的改变做出适应。文献[15]提出了一种深层次单列全卷积网络结构,使用多尺度平均步长进行人群密度的预测,一定程度上减少了输入图像分辨率不一致带来的影响。

综上所述,基于CNN的方法具有强大的非线性表征能力,通过自主学习能够很好地适应环境的干扰、遮挡等问题。但是,对于复杂场景下的人群密度估计,图像尺度不一致以及人群拥挤程度量化等问题仍有较大的改进空间。鉴于此,本文提出一种基于多层次特征融合网络的人群计数以及密度估计的解决方法。

本文的主要贡献为:1)设计了一种新的网络结构,通过联系各个卷积层次间的信息增强了对不同尺度图像特征的表示能力,使得不同等级数量的人群图像在数量估计上都有了提高;2)结合预测生成密度图的内在空间信息提出了一种人群拥挤程度量化方法,弥补了仅依靠人群数量单个指标判断人群拥挤状况的不足,为后续视频图像中群体性事件的分析判断提供了切实可靠的基础;3)通过对训练样本的增强、均衡化丰富了样本的数量,降低了网络模型的训练难度,使得在人数估计和密度图的生成上更为精确可靠。

1 算法设计与实现

首先考虑如何能够避免复杂的前景提取,以及如何减小由于场景的透视、遮挡带来的影响;利用深度卷积神经网络虽然可以很大程度上简化前景提取的处理方法,但是同样存在训练难度大的问题。因此在方法的设计上除了考虑如何克服上述所提及的难点,同时还要保证网络容易训练,不易产生过拟合。

这里,首先利用卷积神经网络进行各层次特征的提取,然后逐步上采样并进行层次间的特征融合,通过不同层次间的特征信息来解决图像尺度不一致的问题;利用已有的数据集和对应的密度图标签对网络进行回归训练,使其能够自主地预测出测试图像对应的密度图;最后通过对密度图的积分实现对测试图像人群数量的预测;进一步,根据生成的密度图,提出一种人群拥挤程度的量化方法,通过对密度图上人群空间信息的还原计算出人群的拥挤状况,为基于视频图像处理中群体性事件的判断、预警和管控提供了直接可靠的依据。

1.1 网络结构的设计

网络结构的设计是整个方法的关键,它既要保证能完成有效特征的提取,同时还要保证简单易于训练。整个结构如图 1所示,先通过8个卷积层5个下采样层(池化层)生成1/32原图大小128维的特征图(feature map),然后对特征图进行3次反卷积操作,同时逐层融合上一阶段的卷积层特征,最后通过一个1×1的卷集核进行卷积,形成一个大小为1/4原图的密度特征图。由图 1可以看出,网络舍弃了常用的全连接层(FC);采用这样的设计主要是从以下两方面考虑:一方面可以减少训练的参数量从而能防止过拟合;另一方面,利用最后一层的卷积特征图作为最终输出的密度图,保存了更多的空间细节信息,实现了端到端(end to end)的人群密度特征提取过程。

图 1 多层次特征融合网络结构
Fig. 1 Multi-level feature fusion network structure

该网络结构的另一个特点是引入了反卷积层和特征融合层。反卷积的作用是将上一步卷积池化后高度抽象的特征图进行还原[12],经过3层反卷积最终输出的密度图大小变为原图的1/4,保存了人群分布的位置信息,为后面的人群拥挤程度评估提供了有效的信息。

特征融合的作用主要是为了解决图像透视效果的影响,正如前面的分析,同一幅图像中由于景深导致人体特征差异非常大,近处的人轮廓明显,而远处的人近乎只是一个点;目前的图像分块方法,一方面透视关系很难把握;另一方面,会破坏图像的完整性,造成大量空间细节信息的丢失。多尺度的方法采用不同大小的卷积核进行多种尺度特征的提取,但是参数量较大,庞大的计算量不利于网络模型的训练。因此,本文提出利用层次特征融合的方法来尝试解决这一棘手问题。

对于图像来说每一次的卷积操作都是对上一层图像特征的抽象,不同深度对应着不同层次的语义特征。浅层网络分辨率高,学到的更多的是细节特征;深层网络分辨率低,学到的更多的是深层次的语义特征和一些关键点特征[16-17]。低层次的特征可以很好地被用来进行小目标特征的提取,而高层次的特征则可以用来进行大目标特征的提取。

本文首先通过一个1×1的卷积核,对卷积3-2、4-2、5-2层进行降维操作[18],使其与反卷积3、反卷积2、反卷积1层的特征图维度相一致,最后通过对应相加的方法进行融合,从而实现了低分辨率高语义信息的高层特征和高分辨率低语义信息的低层特征自上而下的连接,使得所有尺度下的特征都有丰富的信息表达。

另外,本网络输入为一幅完整的图片,未进行任何的分块预处理,由于图像绝对的完整性,在信息的保存、处理上更为可靠。此外,网络舍弃了全连接层,因此可以接受输入任意尺寸的图像,这样极大方便了实际应用中的部署。

1.2 训练标签的制作

要使网络具备自主的学习判断不同层次间的特征信息,必须在制作人群密度标签图时除了考虑标记人体所在的位置外,还要能够反映出图像上人体视觉的大小、密集程度等信息。

在密度标签图的生成上本文采取了如下的标记方法:首先以人头为基准确定每个人所在的位置,然后手动地标出每幅图片中最远处人体身高长度${L_{\rm{p}}}$和最近处人体身高长度${L_{\rm{c}}}$,如图 2(a)所示。根据所在位置的行数${r_{\rm{p}}}, {r_{\rm{c}}}$以及${L_{\rm{p}}}, {L_{\rm{c}}}$的比例关系,计算整幅图像的透视系数

图 2 标签生成示例
Fig. 2 Example of label generation ((a) body position mark; (b) body size mark; (c) crowd density map)

$ k = \frac{{{L_{\rm{c}}}-{L_{\rm{p}}}}}{{{r_{\rm{p}}}-{r_{\rm{c}}}}} $ (1)

进而计算出其他个体在图像任意行数$x$处的身体长度

$ {L_x} = k(x-{r_{\rm{P}}}){\rm{ + }}{L_{\rm{p}}} $ (2)

依照正常人体长宽3 :1的比例确定人体的宽度,最终能得出一个包含空间位置信息和数量信息的标记图,如图 2(b)所示。

得到$N$个人体空间位置分布后,受文献[6]的启发,这里将${x_i}$处标记的人头表示为狄拉克(delta)函数$\delta (x-{x_i})$,整幅图像的人数可以表示为

$ H(x) = \sum\limits_{i = 1}^N {\delta (x-{x_i})} $ (3)

为了将标注后图像转化为连续的密度图,考虑将$H(x)$与高斯核函数进行卷积运算得到最后密度图

$ D(x) = H(x)*{G_\sigma }(x) $ (4)

式中,${G_\sigma }(x)$为高斯核函数,表示为

$ \begin{array}{l} \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{G_\sigma }(x) = \\ \frac{{\exp \left[{-\frac{1}{{2(1-{\rho ^2})}}\left( \begin{array}{l} \frac{{{{(x-{\mu _1})}^2}}}{{\sigma _1^2}} + \frac{{{{(x - {\mu _2})}^2}}}{{\sigma _2^2}} - \\ \frac{{2\rho (x - {\mu _1})(y - {\mu _2})}}{{{\sigma _1}{\sigma _2}}} \end{array} \right)} \right]}}{{2{\rm{ \mathit{ π} }}{\sigma _1}{\sigma _2}\sqrt {1 -{\rho ^2}} }} \end{array} $ (5)

式中,${\mu _1}, {\mu _2}$确定高斯核分布的位置,由人头标记点${x_i}$确定。

为了反映出不同位置个体大小的不同,进一步采用了几何自适应的高斯核函数,即在形态上采用了椭圆的形状来近似人体的形状,建立${L_x}$${\sigma _1}, {\sigma _2}$比例关系,使高斯核分布的大小与人体在图像中的大小成正比,即个体越小高斯核越小,能量越集中,区域内单个像素点数值越大,如图 2(c)所示。

图 2(c)中由于采用图片格式显示时作了归一化处理,信息损失较为严重;对于“能量”较低的区域直观上不够明显,实际训练时密度标签信息以浮点数据参与运算,可以明显减少损失的可能性。

经过上述处理后获得一个既能反映人群数量又能反映人群空间信息(高斯核的大小)的密度图,以此为标签从而完成网络的监督训练,使得最终生成的模型同时具备人群数量和空间分布的感知能力。

1.3 特征融合网络的训练

网络的训练是深度学习方法的重要组成部分,只有依靠一定量的数据,网络才能发挥出优异的性能。网络越深,需要的标签训练数据就越大,数据量过小容易造成网络的过拟合,导致模型的泛化能力变差。

在网络的结构设计上,全连接层是一个参数高度冗余区域,其参数量可以达到整个网络总参数的80%。文献[19]提出了一种丢弃(Dropout)的方法对全连接层的神经元进行随机丢弃,从而减小过拟合的可能性,一些性能优异的网络模型如ResNet[20]和GoogLeNet[21]等均用全局平均池化(GAP)取消全连接层来融合学到的深度特征。本文则摈弃了全连接层的结构,舍弃全连接层在很大程度上减少了需要拟合的参数量,降低了训练的难度。

另外,在数据方面,本文选择了不同人群等级的数据集进行训练和测试,其中Mall[22]公开数据集选自一段商场的视频,场景统一人数较少;而ShanghaiTech Part B[6]数据集场景较为复杂,人群密度比较大,ShanghaiTech Part A[6]数据集最为复杂,人群密度极大,详细情况如表 1所示,数据集的示例如图 3所示。

图 3 数据集示例
Fig. 3 Example of dataset ((a) Mall dataset; (b) Part B dataset; (c) Part A dataset)

表 1 数据集构成
Table 1 Dataset composition

下载CSV
数据集 图片数/幅 分辨率/像素 人数/个
最少 平均 最大 总体
Mall 2 000 640×480 13 31 53 62 325
ShanghaiTech Part B 716 768×1 024 9 123 578 88 488
ShanghaiTech Part A 482 非标准 33 501 3 139 241 667

一般来说,参与训练和学习的数据集越大越有利于网络参数的调优。为此,本文参考了文献[6]采取如下的做法进行数据增强。首先,将ShanghaiTech两部分的训练数据集进行网格化成16、9等分,由于数据集中图像的分辨率较高,即使16等分以后依然有较高的训练价值;然后对等分后的每幅图像作镜像处理生成更多的数据,如图 4。其中,将有人群的图像作为正样本参与训练,没人群的图像则作为负样本(仅仅是场景)参与训练,考虑到等分后的数据负样本较多;因此,这里作了均衡化剔除处理,即保持正负样本比例接近1 :1。

图 4 训练数据集的增强
Fig. 4 Training dataset enhancement((a) original image; (b) segmentation (c) mirror)

最终,获得了一个包含29 000幅左右的分块数据图像;接着以此数据作为训练集进行粗训练,获得基础的训练模型;后续用完整的图片进行精训练微调,这样能在很大程度上利用数据集,减小过拟合的可能性。

此外,要实现密度图的精确生成,必须能对预测密度图与实际密度每个像素之间距离进行衡量,因此考虑使用损失函数对预测密度上每个像素进行损失的计算,即

$ L(\theta ) = \frac{1}{N}\sum\limits_{i = 1}^N {{{\left\| {D({x_i};\theta )-{D_i}} \right\|}^2}} $ (6)

式中,$\theta $为一组从卷积神经网络中学到的参数,$N$为训练图像的数量,${x_i}$为输入网络的图像,${D({x_i}; \theta)}$为预测得到的密度图;${{D_i}}$为真实标注的密度图,$L(\theta)$为预测密度图和真实标注的密度图之间的损失值。训练阶段,通过衡量实际密度图与预测密度图上每一个像素之间的距离损失进行网络的反向传播,最终实现预测密度图上每个像素的优化。

1.4 人数估计与拥挤程度评估

测试时,利用训练好的模型对测试图进行卷积运算最终生成该图的预测密度图,理想情况下生成的密度图应该和前面制作的标签密度图类似,即实际中每个人体都会在密度图上对应一个高斯核,不同高斯核虽然大小分布不同,但是整个能量数值的积分都为1(用来表示一个人),这样整幅密度图就可以看做是不同大小高斯核之间的叠加,因此对整幅密度图的能量值进行积分就能求出所有高斯核的个数,也就是最终人体的数量。

在实际应用场景下,如景区、广场等场景,不仅仅需要可靠的人数估计,还需要对该场景下人群的拥挤程度进行评估,从而根据需要进行自动的预警。若仅仅依靠人群的数量进行拥挤程度的评判显然不够全面,在某些场景下,由于摄像头视野的不同,人群分布情况的不确定性,即使是同等数量的人群在拥挤程度上却有着本质的差别,如图 5所示。在人群数量上图 5(a)(b)两幅图分别为114人和125人,而实际拥挤情况却截然相反;图 5(a)明显比图 5(b)拥挤程度高。在实际预警中,图 5(a)更应该值得关注。

图 5 不同人群密度的对比
Fig. 5 Comparison of crowd density ((a) crowding; (b) not crowded)

之所以不能直接通过人数的多少进行拥挤程度的判定,主要原因是因为视场的不一致性。在场景统一固定的情况下,完全可以通过对比人数来进行拥挤程度的评估。

然而,对于非统一视场标准的图像来说,人群拥挤程度的评估必须结合人群数量和视场大小两方面因素进行综合考虑。根据前面的设计,预测出来的密度图除包含了人群数量信息外还包含了人群的空间信息,即在图像中个体越小(视场越大)人群越密集反映在特征图上的“能量”越高;反之,个体越大(视场越小)人群越稀疏,“能量”则越低。从而,借助每幅密度图上最大“能量点”的数值${x_i}$,就可以近似地还原出对应的视场系数$k$,即

$ k = \frac{{\sum\limits_{i = 1}^m {{x_i}} }}{m} $ (7)

式中,${x_i}, \cdots, {x_m}$表示密度图中“能量”值最大的前$m$个像素,求平均的目的是降低个别不合理像素值产生的影响。

根据前面的分析,拥挤程度$C_r$,人群数量$N$,视场系数$k$,近似满足

$ {C_r} = \lambda \frac{N}{k} $ (8)

即视场大小相同的情况下,人群的拥挤程度正比于人群数量;人群数量相同的情况下拥挤程度近似反比于视场大小,即视场越大人群分布的空间区域越大,拥挤程度小。$\lambda$为控制系数,在实际场景中可以根据需要通过对$\lambda $进行校准,以满足不同场景下对拥挤程度评估的不同标准。

2 实验分析

为了验证本文人群密度估计方法的估计精度以及对不同场景的适应性,利用深度学习框架搭建了一个多层次特征融合网络,通过公开的数据集与目前常用的几个人群估计方法进行比较分析。从受场景约束、人群数量估计精度和人群拥挤程度评估等维度客观评价本文提出的人群密度估计方法的性能指标。

2.1 实验环境

在深度学习框架的选择与搭建上,目前可选择的环境有Caffe、Torch、Theano和TensorFlow。考虑到TensorFlow环境与Python语言的良好兼容,便于配置易于修改等特点,最终选择了TensorFlow深度学习框架。实验环境如表 2所示。

表 2 实验环境
Table 2 Experimental environment

下载CSV
名称 参数
系统 LINUX64 Ubuntu14.04
框架 TensorFlow
语言 Python
CPU Intel®CoreTM i7-2600 3.4 GHz ×8
GPU TITAN X (Pascal)
RAM 8.00 GB

2.2 实验设计与结果分析

在实验结果的评价上,采用人群计数方面普遍使用的平均绝对误差(MAE)和均方误差(MSE)对预测的结果进行评价,即

$ {R_{{\rm{MAE}}}} = \frac{1}{C}\sum\limits_{i = 1}^C {\left| {{T_i}-{E_i}} \right|} $ (9)

$ {R_{{\rm{MSE}}}}{\rm{ = }}\sqrt {\frac{1}{C}\sum\limits_{i = 1}^C {{{({T_i}-{E_i})}^2}} } $ (10)

式中,$C$表示待测图片的总数量;${T_i}$表示第$i$幅图片人数计数的真值,${{E_i}}$表示人群计数预测的估计值。MAE提供了一个在绝对误差方面有效性的度量,真值与预测值之间的绝对差值在所有测试图片的平均情况反映了预测的准确性,MSE反应了预测的鲁棒性。

本文的实验数据均来自公开数据集Mall、ShanghaiTech。首先,按照1.3节介绍的训练方法进行模型的基础训练,得到基础模型后分别对应到不同数据集上进行微调,为保证与对比方法实验的一致性,对Mall数据集前800幅图片进行训练,后1 200幅图片进行测试;对于ShanghaiTech数据集中测试集训练集的划分方法与其对比方法保持一致。如表 3所示。

表 3 数据集划分
Table 3 Dataset division

下载CSV
/幅
数据集 训练集 测试集
Mall 800 1 200
ShanghaiTech Part B 400 316
ShanghaiTech Part A 300 182

表 4给出了Mall数据集上的实验结果,文献[23-24]方法为传统的方法,文献[25, 7]方法为基于CNN的方法,由表 4中的实验结果可以看出,相比其他方法本文提出的多层次特征融合算法有了一定的改善,尤其是在均方误差上提升明显。另外,对比表 4中的传统方法和基于CNN的方法,两类方法实际效果相差并不大,CNN方法并没有太明显的优势,其原因主要因为Mall数据集人数少、场景固定,因此基于传统算法的方法仍然能表现出不错的性能。表 5给出了该数据集上偏差分布的情况,可以看出,多数图片人数估计误差分布在3以内。图 6展示了Mall数据集上1 200幅测试图片人数的真实值与估计值情况,可以发现虚线(估计值)基本上能够较好拟合实线(实际值)。

图 6 Mall数据集单张图片测试结果
Fig. 6 Single picture test results of mall dataset

表 4 Mall数据集实验结果
Table 4 Mall dataset experimental results

下载CSV
方法 MAE MSE
文献[23] 3.22 15.50
文献[24] 2.50 10.00
文献[25] 2.86 13.05
文献[7] 2.75 13.40
本文 2.35 3.00

表 5 Mall数据集偏差分布
Table 5 Mall dataset deviation interval distribution

下载CSV
偏差 < -3 -3-2 -2-1 -10 01 12 23 >3
图片数量/幅 162 102 150 148 162 161 126 189

表 6给出了在ShanghaiTech数据集上的实验结果。由于该数据集场景复杂、人数较多,基本上没有基于传统的方法在此数据集上做验证测试,表 6中文献[2, 6, 15]都是基于CNN的方法。可以看出本文提出的算法在人群密度较大情况下具有良好的人数估计性能。相比较其他的CNN方法,本文提出的算法能够更好地融合不同层次间的信息,使得对人群特征的提取鲁棒性增强,适应场景更灵活。图 7(a)(b)展示了对应测试集中每幅图片的测试情况,由图 7(b)可以看出,人数超过1 000人时整体估计难度增加,拟合程度有所下降;人数在1 000人以内时基本上可以保证很好的拟合效果。

图 7 ShanghaiTech数据集单幅图片测试结果
Fig. 7 Single picture test results of ShanghaiTechdataset ((a) Part B dataset; (b) Part A dataset)

表 6 ShanghaiTech数据集实验结果
Table 6 ShanghaiTech dataset experimental results

下载CSV
方法 ShanghaiTech Part B ShanghaiTech Part A
MAE MSE MAE MSE
文献[2] 32.00 49.80 181.80 277.70
文献[6] 26.40 41.30 110.20 173.2
文献[15] 23.76 33.12 126.50 173.50
本文 20.73 33.10 104.86 172.91

为了验证本文提出的网络的有效性,对不同的网络结构进行了实验对比。首先,去掉图 1中的反卷积层和特征融合层,即网络完全由卷积层和池化层组成,用${{\rm{C}}_{{\rm{net}}}}$表示该网络;接着去掉图 1中所有的特征融合层,即只包含卷积层、池化层、反卷积层,用${{\rm{DC}}_{{\rm{net}}}}$表示该网络;然后又分别由低到高融合1层特征、2层特征、3层特征的情况,分别用${\rm{DC\_}}{{\rm{1}}_{{\rm{net}}}}$${\rm{DC\_}}{{\rm{2}}_{{\rm{net}}}}$${\rm{DC\_}}{{\rm{3}}_{{\rm{net}}}}$表示对应的网络。其中,${\rm{DC\_}}{{\rm{3}}_{{\rm{net}}}}$即本文最终采用的完整方法,上诉实验结果都是在该网络结构下实验而来的。

表 7给出了不同网络结构对应的MAE,从表 7所示的实验结果可以看出,相比较单纯的卷积网络${{\rm{C}}_{{\rm{net}}}}$,增加反卷积层后,测试结果有了较大的改进;尤其是在复杂场景ShanghaiTech数据集下,通过比较${{\rm{DC}}_{{\rm{net}}}}$${\rm{DC\_}}{{\rm{1}}_{{\rm{net}}}}$${\rm{DC\_}}{{\rm{2}}_{{\rm{net}}}}$,经过特征融合后网络性能有了进一步的提升;尤其是融合1层、2层特征时效果比较突出,当进行3层特征融合时效果基本上没有太大提升,主要因为层次太高,其包含更多细节信息的同时也必然会有更多的冗余信息,过多的冗余信息会影响到网络的泛化能力。另外,还可以得出如下结论,对于场景标准的Mall数据集来说,网络改进带来的效果提升并不是很明显,使用单纯的卷积网络已经能达到不错的效果。

表 7 不同网络结构实验结果对比
Table 7 Comparison of experimental results of different network structures

下载CSV
网络结构 Mall ShanghaiTech
Part B Part A
${{\rm{C}}_{{\rm{net}}}}$ 2.43 26.4 165.78
${{\rm{DC}}_{{\rm{net}}}}$ 2.45 24.6 143.35
${\rm{DC\_}}{{\rm{1}}_{{\rm{net}}}}$ 2.32 21.3 120.25
${\rm{DC\_}}{{\rm{2}}_{{\rm{net}}}}$ 2.41 20.65 108.39
${\rm{DC\_}}{{\rm{3}}_{{\rm{net}}}}$ 2.35 20.73 104.86

为了实际验证模型对人群的估计效果,分别从对应的测试数据集中选取了部分图像进行定量的效果分析,如图 8所示。实际人数为对应图片上的真实人数,人数估计值是根据生成的密度图预测而来的结果,拥挤度则是根据式(7)(8)计算而来。由图 8可以看出,本文提出的拥挤程度评估方法,基本能够对应图片的实际拥堵情况,在场景、人数不同的情况下同样能够根据估计出的密度图对人群拥挤程度作出相对合理准确的评估。

图 8 实际图片整体测试结果
Fig. 8 Actual picture of the overall test results ((a) test images; (b) real maps; (c) estimate maps)

综上所述,本文利用多层次特征融合的方法在几个公开数据集的人群数量估计MAE值均有明显下降,尤其是在场景复杂的ShanghaiTech数据集上效果明显,最大MAE下降了6左右。这种较高的估计精度、较强的场景适应能力,一方面得益于本文在网络设计时考虑了不同层次特征的融合,另一方面也得益于对数据增强、网络训练的精心设计;通过对不同网络结构进行的对比实验,证明了本文网络结构(${\rm{DC\_}}{{\rm{3}}_{{\rm{net}}}}$)设计的有效性;在此基础上提出的一种拥挤程度的判断方法也达到了对人群拥挤度较为全面准确的评估。

3 结论

本文首先提出了一种基于多层次特征融合网络的人群密度估计方法。通过对不同语义层次特征的提取融合使得网络能够进行不同尺度大小人群特征的提取,有效地提高了算法的鲁棒性;使用完整的图片作为输入更好地保存了图片整体信息,使得特征的空间位置信息同样被考虑到了网络的训练中;利用预测生成的密度图结合空间信息在人数估计和拥挤程度的判断上更为科学高效,具有较高的实用价值。最后通过实验验证了本文提出的多层次特征融合网络的有效性以及人群拥挤程度评估方法的科学性。

本文方法虽然较现有方法有了改善和提升,尤其是针对一些复杂场景,本文方法具有良好的通用性。但是在一些极端人数的情况下,人数预测仍存在一些瑕疵,具体表现为实际人数过少时估计值往往偏大,实际人数过大时估计值又往往表现为过小,主要是因为本文的训练数据有限,单张图像的人数与训练图片数量呈正态分布,即中等数量的训练数据图片张数较多而两端数量的训练数据较少,因此对训练的平衡性造成了一定的影响。对此,后续的研究会针对性地扩充训练数据尤其是增加一些高密度人群的训练数据,降低训练不平衡的影响,强化模型的鲁棒性。另外,后续工作中准备将本文方法应用到实时视频图像的分析中,通过对每一帧密度图信息的处理分析,实时地对人群的流动状态、流动方向和持续时间作出综合动态预估,并根据这些指标数据的不同组合来识别和判定各种人群行为异常,解决智能视频分析中群体性异常事件分析难的问题。

参考文献

  • [1] Wen J J, Xu Y, Zhan Y W. People counting based on AdaBoost and inter-frame features[J]. Journal of Image and Graphics, 2011, 16(9): 1729–1735. [文嘉俊, 徐勇, 战荫伟. 基于AdaBoost和帧间特征的人数统计[J]. 中国图象图形学报, 2011, 16(9): 1729–1735. ] [DOI:10.11834/jig.20110924]
  • [2] 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] https://www.computer.org/csdl/proceedings/cvpr/2015/6964/00/index.html
  • [3] Shi Z L, Ye Y D, Wu Y P, et al. Crowd counting using rank-based spatial pyramid pooling network[J]. Acta Automatica Sinica, 2016, 42(6): 866–874. [时增林, 叶阳东, 吴云鹏, 等. 基于序的空间金字塔池化网络的人群计数方法[J]. 自动化学报, 2016, 42(6): 866–874. ] [DOI:10.16383/j.aas.2016.c150663]
  • [4] Zhang D M, Zheng H, Zhang L. Density estimation of scenic spots based on multi features ensemble learning[J]. Science Technology and Engineering, 2017, 17(5): 74–81. [张洞明, 郑宏, 张力. 基于多特征集成学习的景区人群密度估计[J]. 科学技术与工程, 2017, 17(5): 74–81. ] [DOI:10.3969/j.issn.1671-1815.2017.05.013]
  • [5] Boominathan L, Kruthiventi S S S, Babu R V. Crowdnet: a deep convolutional network for dense crowd counting[C]//Proceedings of 2016 ACM on Multimedia Conference. Amsterdam, The Netherlands: ACM, 2016: 640-644. [DOI: 10.1145/2964284.2967300] http://eprints.library.iisc.ernet.in/view/year/2016.type.html
  • [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] https://www.computer.org/csdl/proceedings/cvpr/2016/8851/00/8851a589-abs.html
  • [7] Kumagai S, Hotta K, Kurita T. Mixture of counting CNNs: adaptive integration of CNNs specialized to specific appearance for crowd counting[J]. arXiv: 1703. 09393, 2017. http://arxiv.org/abs/1703.09393
  • [8] Gardziński P, Kowalak K, Kamiński Ł, et al. Crowd density estimation based on voxel model in multi-view surveillance systems[C]//Proceedings of 2015 International Conference on Systems, Signals and Image Processing. London, UK: IEEE, 2015: 216-219. [DOI: 10.1109/IWSSIP.2015.7314215]
  • [9] Rao A S, Gubbi J, Marusic S, et al. Estimation of crowd density by clustering motion cues[J]. The Visual Computer, 2015, 31(11): 1533–1552. [DOI:10.1007/s00371-014-1032-4]
  • [10] Ryan D, Denman S, Sridharan S, et al. An evaluation of crowd counting methods, features and regression models[J]. Computer Vision and Image Understanding, 2015, 130: 1–17. [DOI:10.1016/j.cviu.2014.07.008]
  • [11] Liang R H, Zhu Y G, Wang H X. Counting crowd flow based on feature points[J]. Neurocomputing, 2014, 133: 377–384. [DOI:10.1016/j.neucom.2013.12.040]
  • [12] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA: IEEE, 2015: 3431-3440. [DOI: 10.1109/CVPR.2015.7298965]
  • [13] Ren S Q, He K M, Girshick R, et al. Faster R-CNN:towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137–1149. [DOI:10.1109/TPAMI.2016.2577031]
  • [14] 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] http://dl.acm.org/citation.cfm?id=2806337
  • [15] Marsden M, McGuinness K, Little S, et al. Fully convolutional crowd counting on highly congested scenes[J]. arXiv: 1612. 00220, 2016. http://arxiv.org/abs/1612.00220
  • [16] Liu W, Anguelov D, Erhan D, et al. SSD: single shot multibox detector[C]//Proceedings of the 14th European Conference on Computer Vision. Amsterdam, The Netherlands: Springer, 2016: 21-37.
  • [17] Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[J]. arXiv: 1612. 03144, 2016. https://www.computer.org/csdl/proceedings/cvpr/2017/0457/00/0457a936-abs.html
  • [18] Lin M, Chen Q, Yan S. Network in network[J]. arXiv: 1312. 4400, 2013. http://arxiv.org/abs/1312.4400
  • [19] Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. arXiv: 1207. 0580, 2012.
  • [20] He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 770-778. [DOI: 10.1109/CVPR.2016.90]
  • [21] Szegedy C, Liu W, Jia Y Q, et al. Going deeper with convolutions[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition. Boston, MA, USA: IEEE, 2015: 1-9. [DOI: 10.1109/CVPR.2015.7298594]
  • [22] Chen K, Loy C C, Gong S G, et al. Feature mining for localised crowd counting[C]//Proceedings of British Machine Vision Conference. BMVA Press, UK: IEEE, 2012: 3. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.309.5076&rank=50
  • [23] Xu B L, Qiu G P. Crowd density estimation based on rich features and random projection forest[C]//Proceedings of 2016 IEEE Winter Conference on Applications of Computer Vision. Lake Placid, NY, USA: IEEE, 2016: 1-8. [DOI: 10.1109/WACV.2016.7477682]
  • [24] Pham V Q, Kozakaya T, Yamaguchi O, et al. Count forest: Co-voting uncertain number of targets using random forest for crowd density estimation[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015: 3253-3261. [DOI: 10.1109/ICCV.2015.372]
  • [25] Sheng B Y, Shen C H, Lin G S, et al. Crowd counting via weighted VLAD on dense attribute feature maps[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2016. [DOI:10.1109/TCSVT.2016.2637379D]