One stage与Two stage
- One-stage:
- 直接回归物体的类别概率和位置坐标值,没有生成Region Proposal(RP)的任务,整个训练过程只有一个Stage。
- 特点:速度相对较快,但是精度相对于Two-stage较低。
- Two-stage:
- 先由算法生成一系列作为样本的候选框(RP),再由卷积神经网络进行样本分类。训练两个部分,第一步是训练RP网络,第二步是训练目标区域检测的网络。因此有两个Stage。
- 特点:网络的精度相对较高,速度相对于One-stage较慢。
目标检测算法框架
一、传统检测方法
1.Viola Jones Detectors
结合了 “ 积分图像 ”、“ 特征选择 ” 和 “ 检测级联 ” 三种重要技术,大大提高了检测速度。
2.HOG Detector
尺度不变特征变换和形状上下文的重要改进,若要检测不同大小对象,需对输入图像重新标度。
3.Deformable Part-based Model
一个根过滤器(root-filter)和一些零件滤波器(part-filters)组成,开发了一种弱监督学习方法,所有零件滤波器的配置都可以作为潜在变量自动学习。
二、深度学习框架(Two stage)
1.RCNN
- 选择性搜索,提取一组对象建议,然后调整成相同图案大小,然后输入CNN模型提取特征,最后用线性SVM对每个区域目标进行预测
- 缺点:在大量重叠的提案上进行冗余的特征计算,导致检测速度极慢。
2.多尺度网络
- PSPNet,建立在FCN基础上的像素级分类网络。
- RefineNet,细化中间激活映射并将其分层连接,组合多尺度激活防止锐度损失。
3.SPPNet (空间金字塔池化网络)
- 能够生成固定长度的表示,而不需要重新缩放图像/感兴趣区域的大小。进行目标检测时只对整个图像进行一次特征映射计算,然后生成任意区域的定长表示,训练检测器,避免了卷积特征的重复计算。
- 缺点:训练仍然是多阶段的,只对其全连接层进行微调,而忽略了之前的所有层。
4.Fast RCNN
- 成功地融合了 R-CNN 和 SPPNet 的优点,能够在相同的网络配置下同时训练检测器和边界框回归器。
- 缺点:检测速度仍然受到提案/建议检测的限制。
5.Faster RCNN
- 引入了区域建议网络 ( RPN ),使几乎 cost-free 的区域建议成为可能,目标检测系统大部分独立块,如提案检测、特征提取、边界框回归等,都已经逐渐集成到一个统一的端到端学习框架中。
- 缺点:后续的检测阶段仍然存在计算冗余。
6.Feature Pyramid Networks(FPN)
- 开发了具有横向连接的自顶向下体系结构,用于在所有级别构建高级语义。在检测各种尺度的目标方面显示出了巨大的进步。
三、深度学习框架(One stage)
1.You Only Look Once (YOLO)
- 将单个神经网络应用于整个图像。该网络将图像分割成多个区域,同时预测每个区域的边界框和概率。
- 缺点:与两级探测器相比,它的探测速度有了很大的提高,但是YOLO的定位精度有所下降,特别是对于一些小目标。
2.Single Shot MultiBox Detector (SSD)
- 引入了多参考和多分辨率检测技术 ,在网络的不同层检测不同尺度的对象,大大提高了单级检测器的检测精度,特别是对于一些小目标。
3.RetinaNet
- 密集探测器训练过程中所遇到的极端的前景-背景阶层不平衡是单级检测器精度落后的主要原因。引入了一个新的损失函数 “ 焦损失(focal loss)”,通过对标准交叉熵损失的重构,使检测器在训练过程中更加关注难分类的样本。
思维导图如下所示
总结
本文基于目标检测综述文章,简单罗列了一部分应用较为广泛的框架。