基于卷积神经网络人群计数的研究与实现

2017-11-17 20:47吴淑窈刘希庚胡昌振王忠策
科教导刊 2017年25期

吴淑窈 刘希庚 胡昌振 王忠策

摘 要 本文的目的是尝试一种方法,可以准确地估计从任意图像与任意人群密度和任意角度人群计数。为此,我们应用简单而有效的多列卷积神经网络(MCNN)架构,将图像映射到它的人群密度图。允许在任意大小或分辨率模式下输入图像。通过利用不同大小感受野的过滤器,每列卷积神经网络学习特点是自适应人/头尺寸对应透视效果或图像分辨率变化。针对这具有挑战性的任务,我们进行了大量的实验,以验证所应用模型和方法的有效性。此外,实验表明,这个模型一旦训练另一个目标数据集,可以很容易地转移到一个模式相近的新应用领域。

关键词 MCNN 人群计数 人群密度图

Abstract The purpose of this paper is to try a method that can accurately estimate population counts from arbitrary images with arbitrary population densities and arbitrary angles. To this end, we apply simple but effective multiple row convolutional neural network (MCNN) architecture to map the image to its population density map. Allows images to be entered in any size or resolution mode. By using filters of different size receptive fields, each column convolutional neural network learning feature is adaptive human / head size corresponding to perspective effect or image resolution change. In response to this challenging task, we conducted extensive experiments to validate the effectiveness of the model and method applied. Moreover, experiments show that once the model is trained, another target data set can easily be transferred to a new application field with similar patterns.

Keywords MCNN; population count; population density map

0 引言

在一些情況下,如景区、公众集会和体育赛事,人数或参与人密度是一个重要的信息,为今后的事件规划和空间设计提供参考。良好的人群计数方法也可以扩展到其他领域,例如,计数癌细胞或血液细胞的微观图像,野生动物种群估计,估计交通枢纽或交通堵塞等车辆的数量等等。

在本文中,我们的目标是从任意静止图像进行准确的人群计数,任意相机角度和人群密度。这似乎是一项相当艰巨的任务,因为我们需要克服一系列的挑战:

(1)在我们的任务(或数据集)的人群密度和分布有显着差异,通常有巨大的困难,因此,传统的基于检测的方法不能很好地应用于这样的图像和情况。

(2)由于在图像中人的规模可能有显著的变化,我们需要兼容不同尺度的功能,以准确地估计人群计数不同的图像。因为我们对跟踪的特征很难应用手工特点来适应所有不同的尺度,我们必须采取可以自动学习的有效特征方法。

为了克服上述挑战,在这项工作中,我们应用一个兼顾不同尺度人群密度的卷积神经网络在静止图像进行人群计数。更具体地说,我们借鉴一个多列卷积神经网络(MCNN)的思想来处理本工作,应用多列深度神经网络图像分类。在此模型中,任意数量的列可以不同的方式进行输入预处理。最后的预测是通过平均每个预测的所有深度神经网络输出结果。

此方案包含有不同尺寸三列卷积神经网络的过滤器,输入一个图像,其输出是给出总体人群计数的人群密度图积分。具体概括如下:

采用多列CNN:三列对应不同大小的感受野(大、中、小型过滤器),每列CNN学到的特点是自适应的(因此确保由于视角影响或在不同的图像分辨率的大小大变化的人/头整体网络鲁棒性)。

在输出端,替换卷积过滤器大小为1€?代替全连接层。因此,我们模型的输入图像可以任意大小,以防失真。网络直接输出是一个人群估计密度图,通过积分得到整体计数。

1 基于多列CNN的人群计数

1.1 基于密度图的人群计数[1]

在一个给定的图像进行卷积神经网络(CNN)操作而估计人数,有两个配置方案。一个是基于CNN网络,其输入是图像,输出是估计的头数;另一个是输出一个人群密度图(对应每平方米多少人),然后获得头部计数的整合。在本文中,我们选择第二方案,有以下原因:

(1)密度图保留更多信息。与总人数的人群,密度图给出了在给定的图像中人群的空间分布,以及在许多应用中,这样的分布信息是有用的。例如,如果一个小区域的密度远高于其他区域的密度,则可能会出现一些异常现象。

(2)在通过CNN学习密度图,学到的过滤器更适合不同尺寸的头,因此更适合于任意输入的透视效果变化显着。因此,过滤器更有语义意义,从而提高了人群计数的准确性。

1.2 几何自适应核密度图

由于CNN需要进行训练,以估计从输入图像得到的人群密度图,在训练数据中给出的密度的质量决定此方法的性能。首先,我们描述了如何转换图像与标记的人头的人群密度图。endprint

如果像素xi处有一个人头,我们表示为冲击函数。因此,具有n个头部标记的图像可以表示为一个函数 ,将其转换为连续密度函数,我们可以使用这个函数与高斯核G €%l卷积得到密度F(x) = H(x) * G €%l (x)。我们应该根据每个人的头部大小的图像内的扩散参数€%l。然而,在实践中,几乎是不可能准确地得到受遮挡头部的大小,在许多情况下,并且也很难找到头部密度图之间的基本关系。不过,我们发现,通常与场景头部大小有关的两个相邻的人在拥挤的场景中心之间的距离与人头大小成一定比例关系。作为折中,这些拥挤场景的密度图,建议数据在每个人的传播参数的基础上自适应地确定其到它的邻居平均距离。, ,此处,为特定人头距周围周围人头的平均距离。

1.3 用于密度图估计的CNN

由于透视失真,图像通常包含非常不同大小的头部,因此过滤器的接收相同字段大小的不太可能捕捉到在不同的尺度人群密度的特点。因此,它更自然地使用过滤器与不同尺寸本地感受野学习的来自原始像素的密度图。出于多列深度神经网络优势,[2]我们使用多列CNN学习目标密度图。在这里,每一列,我们使用不同尺寸的过滤器模型对应于不同尺度的人群密度图。例如,具有较大的感受野的过滤器对应于较大的头部密度图的建模。

整体结构包含三个并行神经网络的过滤器是用来对应不同大小的局部感受野。为了简化,我们除了大小和数字滤波器使用相同的网络结构的所有列(即转换-池化–转换–池化),借助最大池化所表现出的良好性能,并用修正线性单元ReLU作为激活函数。为了减少计算复杂度(待优化参数的数目),我们使用的过滤器与过滤器CNN大多数量少。我们所有的卷积神经网络的输出对应到密度图。Euclidean距离被用来测量估计密度图和真实参考之间差异。损失函数定义: ,在是一套可学习参数。N是训练图像的数目。 和 是输入图像与数据库图像 实密度图 代表估计密度图,这是参数化样本产生 。是估计密度图和标准密度图之间的损失。

注:由于我们使用两层最大池化,空间分辨率为每个图像降低了1/4。因此,在训练阶段,我们也降低了每个训练样本1/4,然后生成其密度图。

2 测试

2.1 评价指标

所用评价指标为,其中N是测试图像数量,是在图像的实际人口数,是在图像的估计人数。粗略地说,MAE表示估计的准确性,和MSE表示估计的鲁棒性。

2.2 所用数据集

我们应用ShanghaiTech和mall_dataset数据集作为基础数据。如表1所示。

标准标注mall_dataset数据:超过60000行人被标注在2000个视频帧。在帧上每个行人注释数据详尽标记头部位置。

2.3 实验仿真

在mall_dataset数据集上进行测试,单张图片测试结果如下(依次为原图像,ground truth,estimated density map)(见图1)。

3 结论

在本文中,我们验证了多列卷积神经网络可以准确地估计人群数量,并且适用于在单一图像的几乎任何角度。此模型在稠密人群计数识别平均绝对误差约为116.2人,較稀疏人群计数识别平均绝对误差约为29.7人,具有实用价值。此外,此模型应用领域可以很容易地转移到其他目标域,只需微调最后几层受过训练的模型,这表明该模型的良好的普遍性。

参考文献

[1] Zhang C, Li H, Wang X, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015: 833-841.

[2] Zhang Y, Zhou D, Chen S, et al. Single-Image Crowd Counting via Multi-Column Convolutional Neural Network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2016:589-597.endprint