Fork me on GitHub

基于深度负相关学习的人群计数方法

SIGAI特约作者
cnns . 阿姆斯特丹大学在读博士
研究方向:深度学习,计算机视觉

人群计数监控视频中的人群自动计数有着重要的社会意义和市场应用前景。充分利用兴趣区域的人数统计信息可以为一些人群密集的商场、车站、广场等公共场合的安全预警提供有效的指导。还可以带来经济效益,例如,提高服务质量、分析顾客行为、广告投放和优化资源配置等。因此,该问题已成为计算机视觉和智能视频监控领域的重要研究内容。
近年来,随着计算机视觉技术的持续发展,大量的人群计数方法被提出。基于人群特征回归人群人数的方法是当前的主流方法。此回归方法将人群视为一个整体,利用图像特征和人群人数之间的回归关系实现行人计数。这类方法能够有效地解决人群遮挡问题,具有大规模人群计数的能力。直接的回归一个图像中总的人数在实际中准确率不够理想,因为总人数所包含和表达的人群信息极其有限。近年来大多数基于回归的方法首先根据标注的人头位置和核密度估计生成每个人群图像所对应的人群密度图(如图1所示),然后基于人群特征回归人群密度图,最后计算人群密度图的数值总和作为最终的预测人数。人群密度图保留了人群的分布信息,因此包含了更多和更丰富的人群信息,这对于获得更准确的预测结果是非常关键的。

图1 人群密度图

深度人群计数模型深度学习通过多层结构将底层特征逐步转换为更加抽象的高层特征,具有优异的特征学习能力,学到的特征对数据有更本质的刻画。深度卷积神经网络(Convolutional neural network, CNN)是最成功的深度模型之一,在计算机视觉领域有着广泛的应用。CNN 凭借特有的卷积–池化 (Convolution-pooling) 结构获的特征对平移、缩放和旋转具有不变性,相比于底层特征,判别能力和鲁棒性更强。近年来很多深度人群计数模型被提出(如图2所示),这些方法主要关注如何获取更好的人群特征用于描述更复杂人群,例如多尺度、严重遮挡和不均匀分布的人群。文献[1]首次提出将深度卷积神经网络用于人群计数,该方法基于深度卷积特征同时回归总人数和人群密度图。这种端到端的多任务学习方法法相比于传统方法具有准确率高和鲁棒性好的优点,但是对于多尺度的行人和严重遮挡问题效果并不理想。针对这些复杂的问题,文献[2]提出一种多列的深度卷积神经网络模型(Multi-column Convolutional neural network, MCNN)。在MCNN中,不同列实际上是具有不同卷积核的子网络,理论上不同子网络可以处理不同尺度的行人。通过大量实验验证,MCNN在处理多尺度的行人和严重遮挡问题时具有更好的效果。文献[3]进一步提出一种转换网络(Switching Convolutional Neural Network, Switch-CNN),该网络使用了几个卷积核大小和深度不同的CNN。Switch-CNN首先将图像分成多个图像块,然后根据图像块的内容信息来选择合适的CNN网络进行人群密度估计。Switch-CNN。该方法进一步提升了人群计数的准确率和对多尺度、遮挡的鲁棒性。然而由于显存和人群数据集规模的限制,人群网络的宽度和深度的增加是有限度的。当人群数据集比较小时,很深或很宽的人群模型的训练变得极其困难,很容易过拟合。
集成学习模型的回归误差可以被分解成偏置(Bias)和方差(Variance)。当模型出现过拟合问题时一般伴随着低偏置和高方差现象。集成学习一般通过显著减小方差来提高单一模型的泛化能力。基于这个角度,我们提出利用深度集成学习来提高人群计数的性能。

图2 当前深度人群计数模型

本文旨在解决以下两个技术难点:1)如何训练一组有足够多样性(Diversity)的深度回归器。文献[4]证明, 好的集成学习系统往往有着很强的多样性。2)如何有效地训练深度集成学习系统。传统的集成学习一般会独立的训练多个分类或回归器。除了低效率的缺陷以外,由于不同的回归器彼此之间没有限制,产生的回归器之间会有很强的相关性,进而降低了模型整体的多样性,从而导致模型抑制过拟合的能力受限。

深度负相关学习我们首次提出将负相关学习的思想应用在深度学习模型中。由于深度学习模型的参数众多,

图3 传统集成学习和负相关学习

同时训练多个深度学习模型往往需要很多工程技巧并且效率低下。因此,我们要解决的关键问题是如何在不增加模型参数规模的情况下得到深度负相关学习模型。我们想要达到两个目的:1)训练单个网络得到多个有足够多样性的输出。2)不增加网络的参数规模。我们提出的方案是对深度卷积模型最后一层的特征图进行分组,然后不同的输出连接不同的分组,这相当于同时训练了多个弱回归器,最终得到一个强的回归器。我们通过使用已有的组卷积(Group Convolution)实现提出的方案。提出的网络模型如图4所示。在我们设计的系统中,我们利用文献[5]的方式同时训练多个回归器并加入约束来减弱回归器之间的相关性。我们的方法有效的增强了模型整体的多样性,从而提高了模型抑制过拟合的能力。
实验及结果

图4 深度负相关学习模型

实验使用了三个标准人群计数数据集:UCF_CC_50、Shanghaitech和WorldExpo’10。实验结果表明提出的方法相比于已有的方法具有更高的准确率。

图5 定性实验结果

图6 定量实验结果参考文献

[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.
[3] Sam D B, Surya S, Babu R V. Switching convolutional neural network for crowd counting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017, 1(3): 6.
[4] Brown, Gavin, Jeremy L. Wyatt, and Peter Tiňo. "Managing diversity in regression ensembles." Journal of machine learning research 6.Sep (2005): 1621-1650.
[5] Liu Y, Yao X. Ensemble learning via negative correlation[J]. Neural networks, 1999, 12(10): 1399-1404.
[6] Shi Z, Zhang L, Liu Y, et al. Crowd Counting With Deep Negative Correlation Learning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 5382-5390.

推荐阅读:

``关注SIGAICN公众号,回复文章获取码,即可获得全文链接

[1] 机器学习-波澜壮阔40年 【获取码】SIGAI0413.

[2] 学好机器学习需要哪些数学知识?【获取码】SIGAI0417.

[3] 人脸识别算法演化史 【获取码】SIGAI0420.

[4] 基于深度学习的目标检测算法综述 【获取码】SIGAI0424.

[5] 卷积神经网络为什么能够称霸计算机视觉领域?【获取码】SIGAI0426.

[6] 用一张图理解SVM的脉络 【获取码】SIGAI0428.

[7] 人脸检测算法综述 【获取码】SIGAI0503.

[8] 理解神经网络的激活函数 【获取码】SIGAI0505.

[9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读 【获取码】SIGAI0508.

[10] 理解梯度下降法 【获取码】SIGAI0511.

[11] 循环神经网络综述—语音识别与自然语言处理的利器 【获取码】SIGAI0515.

[12] 理解凸优化 【获取码】SIGAI0518.

[13] 【实验】理解SVM的核函数和参数 【获取码】SIGAI0522.

[14] 【SIGAI综述】行人检测算法 【获取码】SIGAI0525.

[15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上)【获取码】SIGAI0529.

[16] 理解牛顿法 SIGAI 2018.5.31

[17] 【群话题精华】5月集锦—机器学习和深度学习中一些值得思考的问题 【获取码】SIGAI0601.

[18] 大话Adaboost算法 【获取码】SIGAI0602.

[19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法 【获取码】SIGAI0604.

[20] 理解主成分分析(PCA)【获取码】SIGAI0606.

[21] 人体骨骼关键点检测综述 【获取码】SIGAI0608.

[22] 理解决策树 【获取码】SIGAI0611.

[23] 用一句话总结常用的机器学习算法 【获取码】SIGAI0613.

[24] 目标检测算法之YOLO 【获取码】SIGAI0615.

[25] 理解过拟合 【获取码】SIGAI0618.

[26] 理解计算:从√2到AlphaGo ——第1季 从√2谈起 【获取码】SIGAI0620.

[27] 场景文本检测——CTPN算法介绍 【获取码】SIGAI0622.

[28] 卷积神经网络的压缩和加速 【获取码】SIGAI0625.

[29] k近邻算法 【获取码】SIGAI0627.

[30] 自然场景文本检测识别技术综述 【获取码】SIGAI0629.

[31] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 【获取码】SIGAI0702.

[32] 机器学习算法地图 【获取码】SIGAI0704.

[33] 反向传播算法推导-全连接神经网络 【获取码】SIGAI0706.

[34] 生成式对抗网络模型综述 【获取码】SIGAI0709.

[35] 怎样成为一名优秀的算法工程师【获取码】SIGAI0711.

[36] 理解计算:从√2到AlphaGo ——第3季 神经网络的数学模型【获取码】SIGAI0702.

[37] 人脸检测算法之S3FD

`` 原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。


本文地址:https://www.6aiq.com/article/1531972711127
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出