参考资料:

http://www.sohu.com/a/338406719_823210

https://blog.csdn.net/wgc0802402/article/details/97293852

https://zhuanlan.zhihu.com/p/65650998

参考代码:

https://github.com/gjy3035/C-3-Framework

论文

2019年:

1、论文:DSSInet Crowd Counting with Deep Structured Scale Integration Network

论文地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Liu_Crowd_Counting_With_Deep_Structured_Scale_Integration_Network_ICCV_2019_paper.pdf

代码: https://github.com/Legion56/Counting-ICCV-DSSINet

2。2019.3 Crowd Counting Using Scale-Aware Attention Networks

https://arxiv.org/pdf/1903.02025.pdf

代码:暂无

3. 2019.8,28 Multi-Level Bottom-Top and Top-Bottom Feature Fusion for Crowd Counting

网址: https://arxiv.org/pdf/1908.10937.pdf

4。cvpr 2019 论文:Context-Aware Crowd Counting,

论文地址:http://openaccess.thecvf.com/content_CVPR_2019/papers/Liu_Context-Aware_Crowd_Counting_CVPR_2019_paper.pdf

代码: https://github.com/weizheliu/Context-Aware-Crowd-Counting

2017年

1、2017.2.8 MULTI-SCALE CONVOLUTIONAL NEURAL NETWORKS FOR CROWD COUNTING

https://arxiv.org/pdf/1702.02359.pdf

代码:https://github.com/Ling-Bao/mscnn (tensorflow, 含训练,测试)

2016年

1、 CVPR 2016, Single-Image Crowd Counting via Multi-Column Convolutional Neural Network

论文网址:http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhang_Single-Image_Crowd_Counting_CVPR_2016_paper.pdf

代码实现:https://github.com/svishwa/crowdcount-mcnn (非官方实现)pytorch(含预训练模型,训练,测试)

2、AVSS 2017 CNN-based Cascaded Multi-task Learning of High-level Prior and Density Estimation for Crowd Counting (Single Image Crowd Counting)

论文网址:https://arxiv.org/pdf/1707.09605.pdf

代码实现:https://github.com/svishwa/crowdcount-cascaded-mtl  pytorch(含预训练模型,训练,测试)

6CrowdNet: A Deep Convolutional Network for Dense Crowd Counting

论文网址:https://arxiv.org/pdf/1608.06197.pdf

 

 

开源数据集

现有开源数据集数据比较

Table 1: Comparison of dataset statistics
DatasetNumber of
Images
Number of
Annotations
Average CountMaximum CountAverage ResolutionAverage Density
UCF_CC_505063,974127946332101 x 28882.02 x 10^-4
WorldExpo103980225,21656334576 x 7201.36 x 10^-4
ShanghaiTech_PartA482241,6775013139589 x 8689.33 x 10^-4
UCF-QNRF15351,251,642815128652013 x 29021.12 x 10^-4

比较全的一个git链接: https://github.com/gjy3035/Awesome-Crowd-Counting

1。ShanghaiTect A/B

获取方式1:https://pan.baidu.com/s/1nuAYslz

获取方式2:https://www.dropbox.com/s/fipgjqxl7uj8hd5/ShanghaiTech.zip?dl=0

共有1198张图片,330165个人,分为part A(300trian+182 test=482)和part B(400trian+316 test=716),图片格式:jpg,图片尺寸:数据A:不定,数据B:1024*768

 

2、UCSDhttp://www.svcl.ucsd.edu/projects/anomaly/dataset.htm

是为人数统计而创建的第一批数据集,数据集是从人形道上的摄像机收集的,该数据集由来自视频序列的2000帧大小238×158,该数据集中包含总共49885个行人实例,并将其分为训练和测试集,具有相对低密度的人群,一帧中平均15人,并且由于数据集是从单个位置收集的,因此图像中的场景透视图没有变化。

备注:这个数据集将标注基本都放到了人的身体中央

3、Mall: http://personal.ie.cuhk.edu.hk/~ccloy/downloads_mall_dataset.html

考虑到ucsd数据集中场景类型的微小变化,chen等收集了一个具有不同光照条件和人群密度的新mall数据集,使用安装在购物中心中的监视摄像机收集数据集。除了具有各种密度水平外,它还具有不同的活动模式(静止和移动的人群)。另外,数据集中包含的场景具有严重的透视畸变,导致对象的大小和外观的大的变化。数据集具有相对较高的人群密度凸显个,但是两个数据集在图像的场景透视图中没有任何变化,因为它们是单个连续视频序列的一部分。数据集中共有2000张图片,图片尺寸640×480

备注:这个数据集的标注不太规范,有的标注在头上,有的标注在身体中央,有的标的位置偏差很大,我自己给调整了下,都把标注调整到了头上。

备注:啥是透视畸变?

比如常见的用广角镜头拍摄的特写肖像,其中被拍摄对象的鼻子与面部的其他器官相比会显得出奇的大,这就是用广角镜头拍摄的很多照片所具有的一种透视畸变形式的特征。

4、UCF-CC-50

这是第一个真正具有挑战性的数据集(Multi-source multi-scale counting in extremely dense crowd images),包括各种密度和不同的视角失真的不同场景。数据集是从公共可用的web图像创建的。为了捕捉场景类型的多样性,作者收集了不同标签的图像,如音乐会,抗议,体育场馆和马拉松。它包含总共50个不同分辨率的图像,每个图像平均有1280个人,在真个个数据集中共标记了63075个人,个人数量从94到4543不等,表明图像之间存在很大差异。该数据集的唯一缺点是只有有限数量的图像可用于培训和评估。考虑到图像数量少,作者定义了一种交叉验证协议,用于培训和测试他们的方法,其中数据集被分成10组,并进行5次交叉验证。该数据集带来的挑战是如此巨大,以至于即使最近基于CNN的最先进的方法对该数据集的结果也远非最优。

UCF-QNRFhttps://www.crcv.ucf.edu/data/ucf-qnrf/

 

Expo2010:http://www.ee.cuhk.edu.hk/~xgwang/expo.html(这个只是论文地址,数据还需要发邮件向上海交大的某位老师索取,我发了邮件,大概一个月后,收到了下载地址)

由于一些较早的方法和数据集主要关注单场景计数,Zhang等人引入了一个数据集(cross-scene crowd counting via deep convoulutional neural networks),用于跨场景人群计数。作者试图进行数据驱动的跨场景人群计数,他们收集了一个新的大型数据集,其中包括108个监控摄像头捕获的1132个带注释的视频序列,全部来自2010年的上海世博会。通过从具有不想交的鸟瞰图的相机收集视频来确保场景类型的多样性。该数据集包括来自103个大小为576×720的帧,其中,199923个标记为行人。数据集分为两部分:训练集包括来自103个场景的1127个一分钟长的视频序列和包含来自5个不同场景的5个1小时长视频序列的测试集。每个测试场景由120个标记的帧组成,人群数从1到220不等。

图片格式:jpg

图片尺寸:720×576

 

检测方法:

传统方法:

1。基于回归,主要思想是通过学习一种特征到人群数量的映射,这类方法步骤主要分为两步,第一步提取低级的特征,例如前景特征,边缘特征纹理特征和梯度特征;第二步是学习一个回归模型,例如线性回归,分段线性回归,岭回归和高斯过程回归等放学学习到一个低级特征到人群数的映射关系。

深度学习方法

不同于传统的基于检测和回归的方法,对于图像中密集人群区域,利用预测密度图(density map)的方法得到了更好的预测结果。由于图像中人群密度分布极不均匀,研究人员利用多阵列multi-column的卷积神经网络(convolutional neural network,cnn)来实现提取不同尺度的人头特征。

MCNN(CVPR2016)如图2所示,利用3个具有不同卷积核大小的网络来分别提取人群图像的特征,最后将3个尺度的特征通过1×1卷积来融合。这类利用多个网络的模型具有较大的参数,计算量大,无法进行实时的人群计数预测,而且多阵列的网络并不能如所描述的一般,提取不同的人头特征,有很多低效的分支机构。

cp-cnn(cvpr2017),通过提取图像的全局和局部语义信息来加强对密度图的约束。初衷是为了考虑一幅图像中人群的全局密度和局部密度信息,最后对整个特征做约束,使得网络对任何一张图像都自适应的学到相应密度等级的特征。

switch-cnn(cvpr2017)同样使用了3个子网络和分类的思想,让不同等级的patch通过相应的子网络,则所有patch被更准确的预测,最终,所有patch准确预测构成了原图准确的人群估计。作者在训练过程中用到了预训练的技术,首先使用所有训练数据对所有网络做了预训练,然后将每个patch通过分类网络决定进一步输入到哪个子网络。该模型存在与mcnn同样的问题,即“到底应该选择几个子网络?”,但该方法通过网络学习来确定patch输入的路径,给patch做分类还是比较新颖的idea.

一种现在比较流行的方法是生成人群heat map(热力图),人群计数就变成对热力图的积分计算,还可以计算每平方米的行人密度与聚集程度。

为什么不基于深度学习的对象检测,原因是对象检测对于密度对象与超小目标对象很难正确识别与准确计数。无法正确给出密集人群的模型与聚集程度。

CSRNet(cvpr2018),摒弃了multi-column框架,并在其论文中说明了multi-column相对于single-column的优势并不大,csrnet利用预训练的vgg16网络,后接空洞卷积(dilated convolution)得到了state-of-the-art的结果。文章中对比了空洞卷积和非空洞卷积的区别,空洞卷积更容易得到人头的边缘信息,这也是该模型能得到较高精度的重要原因。

ic-cnn(eccv2018),这个模型采取的思路是将得到的密度图由低分辨率(low resolution lr)密度图逐步细化到高分辨率密度图,网络结构比较清晰,这是个可扩展的模型,即根据需要,网络可以随分辨率的提高而扩展。有人认为,该方法的灵感来自于图像生成领域,这种由低分辨率到高分辨率的逐步生成,在图像生成领域相当常见。

sanet(eccv2018),该方法同样考虑要提取每个图像的多个尺度的人头信息,但并不采取类似mcnn的多阵列网络结构,其使用了类似于inceptiion架构的模块,在每个卷积层都同时使用不同大小的卷积核,最后通过反卷积得到最终的密度图。

基于深度学习的人群计数方法还有研究者加入了景深信息(在聚焦完成后,焦点前后的范围内所呈现的清晰图像,这一前一后的距离范围,便叫做景深),人体结构信息,提供了很多新颖的思路。笔者认为,无论是提取多尺度特征还是逐步细化密度图,目前最困难的问题仍然是

1):在人群密集的区域,如何让模型更精细的区分出人的特征(如人头重叠);

2)如何教会模型“聚焦”,即在一副人群密度分布广泛的图像中对较小尺度的局部特征能“看的”更清晰。

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐