【技术短文】基于深度负相关学习的人群计数方法

简介:


SIGAI 特邀作者:cnns

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

8fb479819e33bafbd7beeee8f2d92bda8d6dc193

1.     人群计数

监控视频中的人群自动计数有着重要的社会意义和市场应用前景。充分利用兴趣区域的人数统计信息可以为一些人群密集的商场、车站、广场等公共场合的安全预警提供有效的指导。还可以带来经济效益,例如,提高服务质量、分析顾客行为、广告投放和优化资源配置等。因此,该问题已成为计算机视觉和智能视频监控领域的重要研究内容。

近年来,随着计算机视觉技术的持续发展,大量的人群计数方法被提出。基于人群特征回归人群人数的方法是当前的主流方法。此回归方法将人群视为一个整体,利用图像特征和人群人数之间的回归关系实现行人计数。这类方法能够有效地解决人群遮挡问题,具有大规模人群计数的能力。直接的回归一个图像中总的人数在实际中准确率不够理想,因为总人数所包含和表达的人群信息极其有限。近年来大多数基于回归的方法首先根据标注的人头位置和核密度估计生成每个人群图像所对应的人群密度图(如图1所示),然后基于人群特征回归人群密度图,最后计算人群密度图的数值总和作为最终的预测人数。人群密度图保留了人群的分布信息,因此包含了更多和更丰富的人群信息,这对于获得更准确的预测结果是非常关键的。

87bd9f9e4ac0c125eaec080075da7dc9c914808e

1 人群密度图

 

2. 深度人群计数模型

深度学习通过多层结构将底层特征逐步转换为更加抽象的高层特征,具有优异的特征学习能力,学到的特征对数据有更本质的刻画。深度卷积神经网络(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。该方法进一步提升了人群计数的准确率和对多尺度、遮挡的鲁棒性。然而由于显存和人群数据集规模的限制,人群网络的宽度和深度的增加是有限度的。当人群数据集比较小时,很深或很宽的人群模型的训练变得极其困难,很容易过拟合。

 

3. 集成学习

模型的回归误差可以被分解成偏置(Bias)和方差(Variance)。当模型出现过拟合问题时一般伴随着低偏置和高方差现象。集成学习一般通过显著减小方差来提高单一模型的泛化能力。基于这个角度,我们提出利用深度集成学习来提高人群计数的性能。

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



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

 

4. 深度负相关学习

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

 b10ff21c14ca66c1d4af1ebad27228c806454464

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

 

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

 

 

5. 实验及结果

f42483ec3804b72a80c6815b28de2c2d215f5501
4 深度负相关学习模型

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

c8e3405392229b3b7ecd3bf4ca06b967b001b0cf 
5 定性实验结果

 76f6ed640734cc41c5a463efd63f5c74fbc20e0d

6 定量实验结果



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.

 

推荐阅读

[1] 机器学习-波澜壮阔40 SIGAI 2018.4.13.

[2] 学好机器学习需要哪些数学知识?SIGAI 2018.4.17.

[3] 人脸识别算法演化史 SIGAI 2018.4.20.

[4] 基于深度学习的目标检测算法综述 SIGAI 2018.4.24.

[5] 卷积神经网络为什么能够称霸计算机视觉领域?  SIGAI 2018.4.26.

[6] 用一张图理解SVM的脉络  SIGAI 2018.4.28.

[7] 人脸检测算法综述  SIGAI 2018.5.3.

[8] 理解神经网络的激活函数 SIGAI 2018.5.5.

[9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读 SIGAI 2018.5.8.

[10] 理解梯度下降法 SIGAI 2018.5.11.

[11] 循环神经网络综述—语音识别与自然语言处理的利器 SIGAI 2018.5.15

[12] 理解凸优化  SIGAI 2018.5.18

[13] 【实验】理解SVM的核函数和参数 SIGAI 2018.5.22

[14] 【SIGAI综述】行人检测算法 SIGAI 2018.5.25

[15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上) SIGAI 2018.5.29

[16] 理解牛顿法 SIGAI 2018.5.31

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

[18] 大话Adaboost算法 SIGAI 2018.6.2

[19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法 SIGAI 2018.6.4

[20] 理解主成分分析(PCA) SIGAI 2018.6.6

[21] 人体骨骼关键点检测综述  SIGAI 2018.6.8

[22] 理解决策树 SIGAI 2018.6.11

[23] 用一句话总结常用的机器学习算法 SIGAI 2018.6.13

[24] 目标检测算法之YOLO SIGAI 2018.6.15

[25] 理解过拟合 SIGAI 2018.6.18

[26] 理解计算:从√2到AlphaGo ——第1 从√2谈起 SIGAI 2018.6.20

[27] 场景文本检测——CTPN算法介绍  SIGAI 2018.6.22

[28] 卷积神经网络的压缩和加速 SIGAI 2018.6.25

[29] k近邻算法 SIGAI 2018.6.27

[30] 自然场景文本检测识别技术综述 SIGAI 2018.6.27

[31] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 SIGAI 2018.7.4

[32] 机器学习算法地图 SIGAI2018.7.6

[33]  反向传播算法推导-全连接神经网络 SIGAI2018.7.9

[34]  生成式对抗网络模型综述 SIGAI0709.

[35]  怎样成为一名优秀的算法工程师SIGAI0711.

[36]. 理解计算:从根号2到AlphaGo——第三季 神经网络的数学模型 SIGAI0716

[37] 【技术短文】人脸检测算法之S3FD

 

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

 

 

 

 

相关文章
|
6月前
|
机器学习/深度学习 人工智能 算法
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
|
6月前
|
数据可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
R语言生态学进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
|
6月前
|
自然语言处理 JavaScript 数据可视化
数据代码分享|R语言基于逐步多元回归模型的天猫商品流行度预测
数据代码分享|R语言基于逐步多元回归模型的天猫商品流行度预测
|
6月前
|
机器学习/深度学习 数据采集 自然语言处理
【热门话题】常见分类算法解析
本文介绍了6种常见分类算法:逻辑回归、朴素贝叶斯、决策树、支持向量机、K近邻和神经网络。逻辑回归适用于线性问题,朴素贝叶斯在高维稀疏数据中有效,决策树适合规则性任务,SVM擅长小样本非线性问题,KNN对大规模数据效率低,神经网络能处理复杂任务。选择算法时需考虑数据特性、任务需求和计算资源。
97 0
|
6月前
|
自然语言处理 安全 算法
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
147 0
23REPEAT方法:软工顶会ICSE ‘23 大模型在代码智能领域持续学习 代表性样本重放(选择信息丰富且多样化的示例) + 基于可塑权重巩固EWC的自适应参数正则化 【网安AIGC专题11.22】
|
机器学习/深度学习 算法 大数据
深度学习入门笔记5 Facebook营销组合分类预测
深度学习入门笔记5 Facebook营销组合分类预测
|
人工智能 数据可视化 数据挖掘
IJCAI 2023 | 腾讯优图新作 CECNet: 提升小样本学习在分类、检测和分割任务上的性能
IJCAI 2023 | 腾讯优图新作 CECNet: 提升小样本学习在分类、检测和分割任务上的性能
273 0
|
机器学习/深度学习 人工智能 算法
如何用Transformer分清12位女排运动员?这个「时空双路」框架刷群体行为识别SOTA
如何用Transformer分清12位女排运动员?这个「时空双路」框架刷群体行为识别SOTA
107 0
|
机器学习/深度学习 算法 数据处理
一文囊括序列预测方法(源码)
时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。典型的时间序列问题,例如股价预测、制造业中的电力预测、传统消费品行业的销售预测、客户日活跃量预测等等,本文以客户日活跃量预测为例。
ICCV2021 |重新思考人群中的计数和定位:一个纯粹基于点的框架
在人群中定位个体更符合后续高级人群分析任务的实际需求,而不是简单地计数。然而,现有的基于定位的方法依赖于作为学习目标的中间表示(即密度图或伪框)是违反直觉和容易出错的。
ICCV2021 |重新思考人群中的计数和定位:一个纯粹基于点的框架