【行人检测】行人检测综述
1. pipeline
Proposal generation:滑窗,粒子窗(particle-window),对象性方法(objectness method),区域建议网络(region proposal networks)
Proposal classification
Post processing:基于启发式的方法----NMS及其扩展,基于学习的方法----Gnet、Relation Network
2. 单光谱检测
只用一个传感器检测
2.1 基于手工制作的特征
基于通道的方法
大多数基于通道特征的方法从不同类型的通道(如颜色和梯度通道)中提取各种局部特征来代表图像中的每个检测窗口(proposal),然后选择一组最具鉴别力的特征来训练行人检测器。
可变性组件模型(DPM)
由一个** 根模型(关注整个人的)和一组可变形部件模型(头/手/大腿/小腿等)**组成,最终得分等于根模型的得分加上部件得分的最大值减去变形成本的部分之和,使用定向梯度直方图(HOG)提取特征。
21种典型的基于手工制作特征的行人检测方法的总结。一个浅层分类器用来学习行人检测器,CF 表示基于通道特征的方法,DPM 表示基于可变形部件模型的方法,SW 表示滑动窗口策略。
2.2 基于深度特征
2.2.1 混合检测方法
- CNN特征生成proposal,浅层分类器给proposal分类
- 手工特征生成proposal,CNN给proposal分类
2.2.2 基于纯CNN的方法
1. 规模感知方法
使用不同的网络内层来检测不同规模的对象。比如从较早的层中提取较小尺度对象的RoI特征,从较后的层中提取较大尺度对象的RoI特征。
2. 基于部位的方法
处理遮挡行人检测问题
基于部位检测器的方法
通过已训练好的人体关键点或部位检测网络识别遮挡行人可见身体部位
基于统计的部位模型与卷积神经网络特征相结合
数值表示该区域为行人部位的概率值(部位模型),卷积神经网络度量各个部位可见度,最后综合所有部位的可见得分,得到整体行人的检测结果。
基于注意力机制的方法
自适应地引导行人检测网络更多地关注遮挡行人的可见部位,遮挡行人可见身体部位获得更高的权重,被遮挡部分权重更少。
3. 基于行人整体与部位加权的方法
同一网络中设计并行的两条分支,分别输出两组预测框用以表征整体行人目标以及行人可见部分。
4. 基于级联的方法
设置多种 IoU 阈值的检测方法
基于两阶段检测器的级联方法
两阶段的检测器是指检测算法包含候选框产生和候选框修正两个阶段。
Cascade R-CNN 级联方法:
H 表示检测模块, B 表示检测框回归结果, C 表示检测框分类得分;
将检测结果迭代式地回归,前一级检测模型的输出作为下一级检测模型的输入,并逐步提高正负样本分类时的交并比阈值。
基于单阶段检测器的级联方法
无需经过候选框生成,可以通过锚点框直接预测分类结果和边界框的回归位置。
ALFNet:
多级渐进定位,使用较高IoU阈值筛选第 1 级的检测框作为第 2 级检测框的输入,之后逐步提高网络的IoU阈值,从而训练更精确的行人检测器。
多步预测是提升行人检测器定位精度的关键所在
**5. 基于尺度的方法 **
解决大小尺度行人检测的问题
基于特征融合的方法
小尺度目标往往在图像中呈现轮廓特征模糊、细节纹理不清晰等特点,如何捕获高质量的特征是提高小目标行人检测性能的关键;
顶层特征具有较为清晰的语义特征,同时底层特征具有更丰富的细节信息,包括图像边缘、轮廓和纹理等,通过顶层与底层特征融合互补的方法可以构建更加鲁棒的特征表达。
基于尺度自适应的方法
SAF R-CNN:
该框架包括多个单一模型,每个模型专门通过捕获尺度特定的视觉特征来检测特定范围尺度的行人目标;通过门函数加以控制,
当输入大尺度目标时,为大尺度分支分配较高的权重;反之,赋予小尺度分支的权重更大。
6. 无锚点方法
- 基于点的方法
基于点的行人检测方法的出发点是认为行人目标可以用含有特定语义信息的点表示,例如角点、中心点等。
CSP:
通过卷积神经网络直接预测行人目标中心点热力图,热力图上响应较大的点即为行人目标置信度较高的位置;通过卷积及全连接层预测相应的行人检测框高度。
- 基于线的方法
TLL:
基于垂直线的行人检测网络,分为 3 个子任务,分别是行人目标上顶点预测、行人目标下顶点预测以及行人目标中轴线预测。
7. 基于数据增强的方法
生成更多的行人或图像(数据生成),充分利用处理改变当前数据(数据处理)。
8. 损失驱动的方法
使用新的损失函数或者增加额外的损失函数来检测行人。
9. 后处理方法
主要是改进NMS。
10. 多任务方法
利用语义信息帮助行人检测,利用多任务学习网络研究聚合额外特征帮助行人检测。
11. 其他方法
上述大多数方法集中在彩色图像中的行人识别,可以利用其他图像例如热图像和鱼眼图像用于行人检测。
45种典型的基于深度特征的行人检测方法的总结。P-CNN 指纯CNN方法,Hybrid 指混合方法,SW 指滑动窗口策略。R-CNN 是指R-CNN系列中的特征提取方式,包括R-CNN、Fast R-CNN和Faster R-CNN:
3. 多光谱检测
采用多个不同类型的传感器
4. 数据集
上面是早期的行人数据集,中间是现代的行人数据集,下面是多光谱行人数据集。full 是指完全的身体边界盒,visible 是指可见的身体边界盒,head 是指头部边界框。
5. 评价指标与性能比较
MR,AP,JI(拥挤行人检测),MR-2
以 MR-2 为评价指标:
MR(missing rate),漏检率;FPPI(false positive per image),每张图片的平均误检率。
MR-2 采用 FPPI 为横坐标, log(MR) 为纵坐标的曲线。均匀选取 [0.01,1] 范围内的9个FPPI,得到他们对应的9个log(MR)值,并对这几个纵坐标值进行平均,最后通过指数运算上述平均值恢复为MR的百分比形式,就获得了用来量化MR-FPPI曲线的 MR-2 指标,该指标越小代表检测器性能越高。
6. 挑战
- 尺度变化
- 遮挡问题
- 领域适应性:大多数现有的方法都集中在某个特定的行人数据集上,不能保证有良好的领域适应能力。
- 多传感器融合
- 实时检测
参考文献:From Handcrafted to Deep Features for Pedestrian Detection: A Survey;深度学习行人检测方法综述
【行人检测】行人检测综述相关推荐
- 行人检测 读书笔记 综述
行人检测 读书笔记 综述(1) 朱文佳-基于机器学习的行人检测关键技术研究 本文是博主对上海交通大学的朱文佳的硕士毕业论文的学习笔记,如果不当或理解错误之处,敬请指导,不胜感激. 绪论 1.1 典型应 ...
- 行人检测/人体检测综述
行人检测/人体检测综述 更详细的资料整理到了个人的github上,地址为 https://github.com/whitenightwu/11-Algorithm_and_Data\11-Paper ...
- 基于yolov5和deepsort的行人车辆的检测、跟踪和计数(课程设计)
- 实现了行人出入分别计数,沿着图像上下方向检测. - 检测类别:行人.自行车.小汽车.摩托车.公交车.卡车. -支持yolov5s.pt yolov5x.pt yolov5m.pt yolov5l. ...
- 加州大学新算法:让智能汽车更精准检测行人
加州大学新算法:让智能汽车更精准检测行人 2016-02-16 00:01:00 [ Leiphone 转载 ] 作者:雷锋网 收藏文章 分享到 暂无评论 「目前国内 ADAS (高级驾驶辅助系统) ...
- 固定摄像头检测行人投射到gps坐标
场景是在2楼我们固定了一个摄像头,然后实现yolo检测行人,并把行人的gps坐标试试显示出来 下面附上部分代码: import math,osm_nScreenResolution_l = 640; ...
- java 斑马线检测,行人过斑马线监测预警系统解决方案
一.应用背景 •日常生活中经常能够见到如下场景: •机动车不礼让斑马线上的行人: •行人无视交通信号灯而任性的与机动车抢道: •中国式过马路: •低头族过马路: •儿童在斑马线上玩耍: •残障人士通过 ...
- 行人检测系统中的行人特征及检测方法
http://blog.csdn.net/perry_pku/article/details/52370519 1.行人特征 行人特征描述子可以分为三类:底层特征,混合特征和基于学习的特征.底层特征指 ...
- 行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码)
行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 目录 行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 1. 前言 2. 人体检测数据集说 ...
- pythonopencv检测行人_行人检测 基于 OpenCV 的人体检测
原文链接行人检测 基于 OpenCV 的人体检测 - 热分享hotdog29.com 行人检测 基于 OpenCV 的人体检测 我们都知道,无论性别,种族或种族如何,我们的身体都具有相同的基本结构. ...
- 基于YOLOv5行人车辆跟踪检测识别计数系统源码+数据集,实现出/入分别计数
yolov5 deepsort 行人 车辆 跟踪 检测 计数 下载地址:基于YOLOv5行人车辆跟踪检测识别计数系统源码+数据集 实现了 出/入 分别计数. 默认是 南/北 方向检测,若要检测不同位置 ...
最新文章
- WPF怎么寻找在ItemTemplate内部的各种控件
- 通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件
- C++智能指针剖析(上)std::auto_ptr与boost::scoped_ptr
- 高级系统项目管理师笔记1
- CRT 入口函数 CRTStartup
- python控制语句实验报告,python流程控制语句案例练习
- 10-关于DOM的事件操作
- Tun/Tap接口教材-[翻译:Tun/Tap interface tutorial]
- mysql一对一关系_sql-MySQL-一对一关系?
- Raki的读paper小记:Sources of Transfer in Multilingual Named Entity Recognition
- ubuntu安装nvidia显卡驱动
- Java判断是移动端还是PC端请求
- python正负数转换_python – 将正/负数舍入到最接近的“整数”
- 2019中南大学考研计算机考试,2019年中南大学计算机考研经验分享(复试+真题)...
- AtCoder Beginner Contest 164 E - Two Currencies
- actions vuex 请求_vue中在vuex的actions中请求数据实例
- Matlab--基于前馈补偿的PID控制算法及其仿真
- 2022/1/12(自闭半日游)
- (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]
- 软件工程技术--第一章 概述