人群计数(Crowd Counting)研究综述
52CV曾经报道过两篇关于人群计数的新出论文(可在精华文章汇总中找到),皆获得不少关注,今天的文章来自复旦大学计算机的在读博士老田和电闪雷鸣为我们介绍人群计数的相关技术和进展,想对此方向有更全面把握的朋友不容错过。
前言
国内外的大型活动中频发踩踏事件,已经造成了不小的伤亡,如2015年上海外滩踩踏事件,已达到了我国规定的重大伤亡事故级别。因此,人群计数问题的研究也越来越火热,若能通过准确估计当前场景的人群密度,并安排相应的安保措施,则可以有效减少或避免此类事件的发生。
1.传统人群计数方法
传统的人群计数算法主要分类两大类:
1)基于检测的方法。早期的人群研究主要聚焦于基于检测的方法。[1] 使用一个滑动窗口检测器来检测场景中人群,并统计相应的人数。基于检测的方法主要分为两大类,一种是基于整体的检测,另一种是基于部分身体的检测。基于整体的检测方法,例如 [2,3,4,5],典型的传统方法,主要训练一个分类器,利用从行人全身提取的小波,HOG,边缘等特征去检测行人。学习算法主要有SVM, boosting 和 随机森林等方法。基于整体检测的方法主要适用于稀疏的人群计数,随着人群密度的提升,人与人之间的遮挡变得越来越严重。所以基于部分身体检测的方法,被用来处理人群计数问题。[6, 7]主要通过检测身体的部分结构,例如头,肩膀等去统计人群的数量。这种方法比之基于整体的检测,在效果上有略微的提升。
2)基于回归的方法。无论何种基于检测的方法,都很难处理人群之间严重的遮挡问题。所以,基于回归的方法逐渐被用来解决人群计数的问题。基于回归的方法,主要思想是通过学习一种特征到人群数量的映射[8, 9, 10]。这类方法步骤主要分为两步,第一步提取低级的特征,例如前景特征,边缘特征,纹理和梯度特征;第二步是学习一个回归模型,例如线性回归,分段线性回归,岭回归和高斯过程回归等方法学习一个低级特征到人群数的映射关系。
2. 深度学习驱动的人群计数
深度学习(Deep Learning,DL)技术始于2006年Hinton等人在Science发表的文章”Reducing the Dimensionality of Data with Neural Networks”,正式在学界井喷是在2012年”Alexnet”提出后。近些年来,DL被广泛应用于各个研究领域(计算机视觉,自然语言处理等)。DL凭借其出色的特征学习能力,同样被研究人员用于人群计数的研究中,相应的数据集也接踵而至,如ShanghaiTect A/B,UCSD,Expo2010,Mall,UCF-CC-50和UCF-QNRF。
图1 从左到右依次为:原图,密度图Ground Truth,CSRNet预测结果,我们的方法预测结果
不同于传统的基于检测和回归的方法,对于图像中密集人群区域,利用预测密度图(Density Map)的方法得到了更好的预测结果。由于图像中人群密度分布极不均匀,研究人员利用多阵列(Multi-Column)的卷积神经网络(Convolutional Neural Network,CNN)来实现提取不同尺度的人头特征。
MCNN(CVPR 2016)如图2所示,利用3个具有不同卷积核大小的网络来分别提取人群图像的特征,最后将3个尺度的特征通过1×1卷积来融合。这类利用多个网络的模型具有较多的参数,计算量大,无法进行实时的人群计数预测。而且多阵列的网络并不能如所描述的一般,提取不同的人头特征。有很多低效的分支结构。
图2 MCNN
CP-CNN(CVPR 2017)如图3所示,通过提取图像的全局和局部语义信息来加强对密度图对约束。图3中绿色子网络表示对整张输入图像做特征提取并分类(类别为作者分好的密度等级,即当前输入图像属于哪个密度等级),并将分类结果张成一个与密度特征具有相同高和宽的图像(全局上下文);蓝色子网络对原图中割出的patch做同样的操作,得到局部上下文。最终将全局和局部上下文特征与原图产生的密度图(黄色部分)在通道维度拼接(concate)。该方法的初衷是为了考虑一幅图像中人群的全局密度和局部密度信息,最后对整个特征做约束,使得网络对任何一张图像都自适应的学到相应密度等级的特征。
图3 CP-CNN
Switch-CNN(CVPR 2017)同样使用了三个子网络和分类的思想,让不同密度等级的patch通过相应的子网络,则所有patch被更准确地预测,最终,所有patch的准确预测构成了原图准确的人群估计。作者在训练过程中用到了预训练的技术,首先使用所有训练数据对所有网络做了预训练,然后将每个patch通过分类网络决定进一步输入到哪个子网络。该模型存在与MCNN同样的问题,即“到底应该选择几个子网络?”。但该方法通过网络学习来确定patch输入的路径,给patch做分类还是比较新颖的idea。
图4 Switch-CNN
CSRNet(CVPR2018)如图5所示,摒弃了Multi-Column框架,并在其论文中说明了Multi-Column相对于Single-Column的优势并不大。CSRNet利用预训练的VGG16网络,后接空洞卷积(Dilated Convolution)得到了state-of-the-art的结果。文章中对比了空洞卷积和非空洞卷积的区别(图4 右),空洞卷积更容易得到人头的边缘信息,这也是该模型能得到较高精度的重要原因。
图5 CSRNet网络结构及Dilated Filter
ic-CNN(ECC V2018)如图6所示,这个模型采取的思路是将得到的密度图由低分辨率(Low Resolution, LR)密度图逐步细化到高分辨率(High Resolution, HR)密度图,网络结构比较清晰,这是个可扩展到模型,即根据需要,网络可以随分辨率到提高而扩展。笔者认为,本方法的灵感来自于图像生成领域,这种由低分辨率到高分辨率的逐步生成,在图像生成领域相当常见。
图6 ic-CNN
SANet(ECCV 2018)如图7所示,该方法同样考虑要提取每个图像的多个尺度的人头信息,但并不采取类似MCNN的多阵列网络结构,其使用了类似于Inception架构的模块,在每个卷积层都同时使用不同大小的卷积核,最后通过反卷积得到最终的密度图。
图7 SANet
基于深度学习的人群计数方法还有研究者加入了景深信息(在聚焦完成后,焦点前后的范围内所呈现的清晰图像,这一前一后的距离范围,便叫做景深)、人体结构信息,提供了很多新颖的思路。笔者认为,无论是提取多尺度特征还是逐步细化密度图,目前最困难的问题仍然是1)在人群密集的区域,如何让模型更精细的区分出人的特征(如人头重叠);2)如何教会模型“聚焦”,即在一幅人群密度分布广泛的图像中对较小尺度的局部特征能“看”得更清晰。
参考文献
[1] Pedestrian detection:An evaluation of the state of the art.
[2] Histograms of oriented gradients for humandetection,
[3] Pedestrian detection incrowded scenes
[4] Monocular pedestrian detection: Survey and experiments.
[5] Pedestrian detection via classification on riemannian manifolds.
[6] Object detection with discriminatively trained part-based models.
[7] Detection and tracking of multiple, partially occluded humans by bayesian combination of edgelet based part detectors.
[8] Bayesian poisson regression for crowd counting
[9] Crowd counting using multiple local features
[10] Feature mining for localized crowd counti
人群计数(Crowd Counting)研究综述相关推荐
- 人群计数Crowd counting 和 Swin Transformer
文章题目:CCST: crowd counting with swin transformer 文章链接:https://link.springer.com/article/10.1007/s0037 ...
- 《人群计数和密度估计方法综述》(阅读笔记20220315)
Approaches on crowd counting and density estimation: a review 人群计数和密度估计方法综述 人群计数最新综述(2021)_目睹闰土刺猹的瓜的 ...
- 人群密度估计--Crowd Counting Via Scale-adaptive Convolutional Nerual Network
Crowd Counting Via Scale-adaptive Convolutional Nerual Network https://arxiv.org/abs/1711.04433v2 Co ...
- 人群计数最全代码、数据、论文合集
2021.11.19更新: 人群计数 /Crowd Counting Rethinking Counting and Localization in Crowds:A Purely Point-Bas ...
- CVPR 2022 57 篇论文分方向整理 + 打包下载|涵盖目标检测、语义分割、人群计数、异常检测等方向
CVPR2022论文速递系列: CVPR 2022 3月3日论文速递(22 篇打包下载)涵盖网络架构设计.姿态估计.三维视觉.动作检测.语义分割等方向 CVPR 2022 3月4日论文速递(29 篇打 ...
- 图片人群计数模型代码运行指南
PaperWithCode 八大数据集模型排名:https://paperswithcode.com/task/crowd-counting 搜索关键词 "人群计数"(crowd ...
- 人群计数数据集汇总和详细介绍,全网最全,crowd counting datasets
Crowd Counting数据集汇总 视频监控=video surveillance https://github.com/gjy3035/Awesome-Crowd-Counting/blob/m ...
- 人群计数之生成密度图
一.概述 在近几年人群计数领域的研究中,大多数论文都沿用了MCNN( Multi-column Convolutional Neural Network )中提出的生成密度图的方法,本文将通过代码和C ...
- 人群计数北航最新综述论文阅读:CNN-based Density Estimation and Crowd Counting: A Survey
针对220项工作,讨论了现有主流方法(主要基于CNN)在各任务中有效的原因,对基本开放问题.挑战和未来方向的见解. 对模型设计.数据集收集以及一些推广到其他领域的重要问题进行了展望,包括领域适应或迁移 ...
最新文章
- golang learning
- CSS魔法堂:更丰富的前端动效by CSS Animation
- LTE: UE特定的参考信号
- 垃圾收集算法,垃圾收集器_垃圾收集器准则和提示
- 用Jenkins自动化搭建测试环境_入门试炼06
- html div bgcolor,HTML body bgcolor transparent
- java:数字转string 报空指针_超干货详解:kotlin(4) java转kotlin潜规则
- 应用机器学习(八):线性模型
- 6款主流PDF编辑器测试,快来看看哪一款最适合你吧
- 计算机和游戏建立不了连接,如何建立局域网我们寝室的电脑想连接起来玩游戏我们每个人都有网号我 爱问知识人...
- 谁说大专生不能够学好Java呢?照着这个路线走,高中生都可以!
- Ubuntu Server 12.04 搭建 hadoop 集群版环境——基于VirtualBox
- 白加黑加载方式_基层干部白加黑的工作方式不可取
- 1.1到底什么是云计算
- TOPCON/拓普康 SR-3AR分光辐射计
- 68.深度解密网络项目六:经久不衰的互联网“软件”项目
- 用计算机测出人家的信息,NCAE 信息化办公模拟题 含答案
- 联想x3850x6从u盘引导_联想扬天T4900v进入bios中设置legacy和uefi两种引导模式U盘启动教程...
- 如何安全的修改win11用户名(微软账号登录,用户名会变成纯数字,好丑)
- IMDB的数据库结构
热门文章
- ug中模型不见了怎么办_关于UG参数化建模的定义
- .net winform panel 不刷新_【扫盲篇】visual studio2019(C#/.NET)安装教程
- linux 卸载 patch,Oracle RAC 平台下 Patch 安装与卸载 步骤 收藏
- python list合并_python基础===两个list合并成一个dict的方法
- phpstudy的php fpm,PHP_php-fpm配置详解,php5.3自带php-fpm复制代码 代码 - phpStudy
- 【生活资讯】5款好用的生活学习类APP
- python直方图与x轴对应不起来_Python Matplotlib绘图与x轴标签正确对齐并匹配系列和错误的颜色...
- python 延时_理解Python多线程5:加锁解决问题,但又带来麻烦!
- 搜狗输入法电脑版_四款“真·无广告”的良心靠谱输入法推荐 2020
- clistctrl 列不可按 -baijiahao_好吃到让人尖叫的日本人气美食 | 不可错过的京都吃喝地图...