论文名:Object Detection in 20 Years: A Survey
PDF连接
目录: 1、传统和深度学习的目标检测的方法 2、多种数据集及链接 3、目标检测的发展历史 4、加速检测的手段 5、近几年目标检测的最新技术 6、目标检测的应用
目标检测的难点和挑战
随着任务的不同而不同。
常见的挑战:不同视角下物体、照明对于分类的影响
其他的挑战:物体的旋转和尺度变化,精准的目标定位,密集和遮挡的目标检测,检测速度的提升。
等等不一而足
目标检测任务的完成常常需要多种技术的结合
常用的技术有:多尺度检测、包围盒、硬负挖掘
加速技术分类:检测管道加速、检测引擎加速、数字计算
一、传统检测
1、VJ人脸检测器
方法(滑动窗口):遍历图像中所有可能的位置和比例
加速:积分图像、特征选择、检测级联
积分图像:一种加速盒滤波或卷积的计算过程,使得每个窗口的计算复杂读与窗口大小无关。
特征选择:选择对目标检测任务最有利的特征。
检测级连:多阶段,在背景上减少时间,在目标上增加检测时间。
2、HOG(定向梯度直方图) CV的重要基础,在尺度不变特征变换与形状上下文的重要改进方法。 HOG检测器会多次重新缩放输入图像同时保持检测窗口大小不变。
方法:描述子被设计成等间距单元的密集网格,在上面进项计算,并使用重叠局部对比规范化来提高精度。
3、DPM(基于可变形零件模型) 传统目标检测的巅峰。
思路:分而治之的原理。训练看作是学习一种对象的分解。推理看作是不同对象部分的检测集合。
典型的DPM检测器:根过滤器和部分过滤器组成。零件过滤器所有的配置可以自动学习,属于弱监督学习。
二、深度学习检测方法
A、两阶段(CNN两阶段)
1、RCNN 在voc07上mAP优于DPM
思想:
1)选择性搜索对象提议框
2)resize对象提议框为固定大小
3)将固定大小馈入训练好的模型中(此处使用ImageNet训练得到)
4)使用SVM分类器,识别区域内有无对象及其类别。
缺点:大量重叠的提议框
2、SPPNet(速度50倍于RCNN) 克服了RCNN大量重叠提议框的问题。
贡献:引入SPP层(空间金字塔池)使CNN能生成固定尺寸的表示。无需再进行resize操作。
思想:检测时
1)只从整个图像中计算一次特征图。
2)生成任意区域的固定尺寸表示。
优势:避免的大量重叠的卷积计算。
3、Fast RCNN(15’ 基于RCNN和SPPNet的改进,速度200倍数于RCNN)
思想:同一网络配置下同时训练检测器和包围盒回归器。
缺点:仍受提案检测的限制。
4、Faster RCNN(近乎实时)
贡献:引入了RPN(区域提案网络)将提议检测、特征提取、边界框回归集成到端到端的网络之中。
缺点:检测阶段仍然冗余。
5、FPN(特征金字塔网络)
背景:FPN之前,基于深度学习的检测器仅在网络的顶层进行检测。
较深的网络层特征有利于完成分类任务,较浅的有利于定位。
贡献:FPN开发出一种横向结构。
优势:根据CNN在前向传播工程中的特征金字塔,FPN的横向结构使得其在检测多尺度物体方面有了巨大进步,
B、单阶段(CNN单阶段)
1、YOLO(15’ 第一个DL one-stage)
思想:单个网络将图像划分为多个区域,同时预测每个区域边界框与概率。
缺点:v1对于小物体定位精度较差。
2、SSD(15’)
贡献:引入了多参考与多分辨率检测技术,提高了对小物体的检测精度。
特点:SSD在网络的不同层上检测5个不同比例的对象。
3、RetinaNet(17’ 视网膜网络)
背景:单阶段检测器的精度差于两阶段。
原因:密集检测器训练过程中极端的前景背景类别失衡造成的检测精度的下降。
贡献:提出了“焦点损失”的新的损失函数,使得检测器在训练过程中将注意力更多的放在困难的分类和错误的分类上面。
优势:焦点损失的应用使单阶段保有原有速度的情况下,精度与当时两阶段的相当。
三、数据集与检测器度量标准
A、数据集 数据集比较庞杂,见论文,文中有其链接。
B、目标检测的历史
i、基于机器学习的检测 1)外观的统计学模型(98’以前) 2)小波特征表示(95-05’) 3)基于梯度的表示(05-12’)
ii、使用CNN的目标检测(90’年左右) 使用共享权重和空间移位网络
C、目标检测度量标准
1、AP(平均精度)
定义:不同召回率下的平均检测精度
对于所有对象类别上的性能,常用mAP
2、IOU(联合交叉点)
定义:预测框与真值框之间的重合度。
用途:IOU设置阙值,用于本地化准确性检测。
常常使用0.5-IOU mAP作为实际指标
A、多尺度检测技术 1)特征金字塔与滑动窗口(14’以前,HOG,DPM,overfeat)
VJ人脸检测与HOG检测器,用于检测固定长宽比的对象。
混合模型(训练多个模型)用于检测不同长宽比的对象。
基于示例的检测:针对训练中每个对象示例。
2)检测对象建议(10-15’) one-stage和深度回归出现后该方法消失
满足条件:
1)高召回率
2)高定位精度
3)满足1,2下,提高精度,减少时间
现代提案分类:
1)分段分组的方法
2)窗口评分方法
3)基于神经网络的方法
3)深度回归(13-16’)
思想:根据深度学习功能直接检测,边界框坐标。
缺点:定位不准,尤其对于小物体。
4)多参考检测(15’以后) 多尺度目标检测最流行框架
思想:在图像不同位置预定义一组具有不同大小和纵横比参考框(锚框),根据这些参考来预测检测框。
5)多分辨率检测(16’以后)
思想:检测不同网络层上不同比例的对象。
B、边界框回归技术 1)无BB(08’之前)
早期检测,用于滑动窗口作为检测结果,定位采用密集金字塔。
2)从BB到BB(08-13’)
第一次应用在DPM中,充当后处理块。
3)从特征到BB(13年以后)
BB回归与已有的检测器集成,以端到端的方式训练。即基于CNN预测BB。
C 上下文检测
用途:改善检测。 常见方法: 1)局部上下文
1)结合少量的背景信息,可以提高步行者检测的准确性
2)扩大网络接收范围或RPN大小
2)全局上下文
将场景配置作为对象控制检测的附加信息源
基于深度学习有两种方式完成该任务:
1)较大接收场
2)将全局上下文视为一种顺序信息,递归神经网络
3)上下文交互
1)探索单个对象之间的关系
2)对象与场景依赖关系建模
D、NMS(非极大抑制) 用于后处理 作用:消除多余检测框 分类: 1)贪婪选择
1)最大检测分数
2)使用阙值,删除其相邻框
2)边界框聚合
思想:将多个重叠的边界框组合或聚类为一个最终检测。
优点:充分考虑对象关系及其空间布局。
3)学习NMS
思想:将NMS视为一组过滤器,以端到端方式,对原始检测重新评分,并将NMS训练为网络的一部分。
优势:改善遮挡与密集度方面
E、硬负开采(HNM) 用途:解决训练期间数据不平衡问题,即解决背景不利于训练的问题。 1)BootStrap(引导程序) DPM和HOG标准解决不平衡问题
思想:训练从一小部分背景样本开始,训练过程中迭代添加新的未分类背景
2)HNM in DL
bootStrap引入DL检测器
例:SSD中仅反向传播极小部分样本,(那些损失值最大的样本)
四、加速检测 1)检测管道加速 2)检测引擎加速 3)数值计算加速