一、行人检测常用方法

1、基于运动检测的方法

1) 思路
通过前面的帧学习得到一个背景模型,然后用当前帧与背景帧进行比较,得到运动的目标,即图像中变化的区域

2) 存在问题
只能检测运动的目标,对于静止的目标无法处理;受光照变化、阴影的影响很大;如果目标的颜色和背景很接近,会造成漏检和断裂;容易受到恶劣天气如雨雪,以及树叶晃动等干扰物的影响;如果多个目标粘连,重叠,则无法处理

3) 原因
只利用了像素级的信息,没有利用图像中更高层的语义信息

2、基于传统机器学习的方法
1) 思路
特征提取+分类器

2) 特征提取
a) 底层特征
优点:单一特征,计算速度快
缺点:只从某一方面描述行人特征,判别力较差

b) 基于学习的特征
优点:能从大量的样本中选择去判别能力较强的特征
缺点:特征的选择质量与训练样本密切相关,若训练集代表性差则很难选出好的特征

c) 混合特征
优点:从不同方向描述图像特征
缺点:特征维度增加,训练与预测的时间长,部分终端设备无法满足其算力要求


3) 分类器
在传统机器学习方法中使用最多的分类器就是SVM与AdaBoost
a) 朴素贝叶斯分类器
优点:算法开销小、稳定性强
缺点:如果不同类别之间存在关联或某些类间相似度较高,则朴素贝叶斯分类器分类效果较差。该分类器对于基本满足类间条件独立的数据样本分类效果好
b) 神经网络
优点:分类准确率高,且基于反向传播算法可以完成输入到输出的直接训练
缺点:可解释性差、要求的算力高(某些终端设备算力可能无法满足该方法)
c) AdaBoost
优点:可以利用不同算法的弱分类器进行级联,具有很高的精度
缺点:要求的算力高,数据不均衡容易导致分类准确度下降
d) 支持向量机(SVM)
优点:可以解决小样本机器学习问题、可以通过核函数对数据进行映射在更高维度将线性不可分的问题映射为线性可分的问题
缺点:核函数的高维映射解释力不强、缺失数据敏感、解决多分类问题较困难

3、基于深度学习的方法
除了常见的通用的目标检测框架如SSD、FPN、YOLO等外

  1. Cascade CNN:级联的卷积网络,借鉴AdaBoost分类器级联的思想。前面的卷积网络简单,可以快速排除掉大部分背景区域;后面的卷积网络更复杂,用于精确的判断一个候选窗口是否为行人
  2. JointDeep:用HOG+CSS+SVM作为第一级检测器,进行预过滤,把它的检测结果再使用卷积神经网络来进一步判断。卷积网络输入不是RGB通道的图像,而是作者实验给出的三个通道。并采用部件检测的策略。由于遮挡的存在,作者同时设计了几种遮挡的模式
  3. SA-FastRCNN:针对行人检测的特点对Fast R-CNN进行了改进,由于大尺寸和小尺寸行人提取的特征显示出显着差异,作者分别针对大尺寸和小尺寸行人设计了2个子网络分别进行检测。利用训练阶段得到的scale-aware权值将一个大尺度子网络和小尺度子网络合并到统一的框架中,利用候选区域高度估计这两个子网络的scale-aware权值
  4. RepLoss:由旷视科技提出。主要目标是解决遮挡问题,为此设计了一种称为RepLoss的损失函数
  5. HyperLearner:改进自Faster R-CNN。使用了一些额外的特征来解决“行人与背景的区分度低”的问题

二、行人检测常用数据集

  1. MIT行人数据集
    较早公开的行人数据集。包含正面和背面两个视角的彩色行人图像,数据库未划分训练集和测试集,且不包含负样本。目前较少使用
  2. INRIA行人数据集
    目前使用较多的静态行人数据集,包含训练集和测试集,且均包含正样本和负样本。该库行人所处背景复杂,人的姿态也较多,而且含有光照等环境因素的变化,更加符合实际场景
  3. Daimer行人数据集
    图像来源与车载摄像机,分为检测数据集与分类数据集,图片均是灰度图片。每个子数据集均由训练集和测试集组成。测试集是一段大约27分钟的视频,视频中包含完整的以及被部分遮挡的行人。数据库中还包含三个只有负样本的子数据库。但因为该库大量正样本由较少的正样本经过移位或镜像生成,所以重要特征会出现在相邻位置产生模糊效应,导致预测效果不佳
  4. Caltech行人数据集
    图像来源与车载摄像机,与现实中图像的实际遮挡率一致,其中包含一些质量不好的图像。数据集分为训练集和测试集,但测试集的标注信息尚未公开
  5. TUD行人数据集
    该数据集主要用于评估运动信息在行人检测中的作用,常用于行人检测及追踪中
  6. NICTA行人数据集
    规模较大的静态图像行人数据库,包含25551张单人图像和5207张高分辨率非行人图像,已划分好训练集与测试集
  7. ETH行人数据集
    基于双目视觉的行人数据集,采用一对车载摄像头拍摄获得。给出了标定信息和行人标注信息。该数据库主要用于多个行人的检测与跟踪研究
  8. CVC行人数据集
    目前包含三个数据集:CVC-01,CVC-02和CVC-Virtual。该数据库主要用于车辆辅助驾驶中的行人检测研究
  9. USC行人数据集
    大部分来自于监控视频,是一个比较小的行人数据库,包含3组数据集:USC-A,USC-B和USC-C。USC-A中包含正面或者背面拍摄的行人,行人之间无相互遮挡;USC-B中包含多个视角下且存在相互遮挡的行人;USC-C包含多视角下无相互遮挡的行人。该数据库主要用于存在遮挡和多视角情况下的行人检测研究

三、参考文献
[1] 【SIGAI综述】行人检测算法.(这篇综述写的比较详细,推荐看看)
[2] 苏松志, 李绍滋, 陈淑媛, 等. 行人检测技术综述[J]. 电子学报, 2012, 40(004):814-820.
[3] 蔡小路. 基于分类器算法的行人检测研究[D]. 成都: 电子科技大学, 2015.
[4] 张春凤, 宋加涛, 王万良. 行人检测技术研究综述[J]. 电视技术, 2014, 38(3).
[4] W. Ouyang, X. Wang, Joint Deep Learning for Pedestrian Detection[J]. CVPR, 2013: 2056-2063.
[5] Li J, Liang X, Shen S M, 等. Scale-aware Fast R-CNN for Pedestrian Detection[J]. IEEE Transactions on Multimedia, 2015: 1-1.
[6] Zhang L, Lin L , Liang X, 等. Is Faster R-CNN Doing Well for Pedestrian Detection?[J]. ECCV, 2016: 443-457.
[7] Wang X, Xiao T, Jiang Y, 等. Repulsion Loss: Detecting Pedestrians in a Crowd[J]. CVPR, 2017: 7774-7783.
[8] Mao J, Xiao T, Jiang Y, 等. What Can Help Pedestrian Detection?[C]. CVPR: IEEE, 2017.
————————————————