原文链接:https://www.52ml.net/20287.html
这篇博文主要讲了深度学习在目标检测中的发展。
博文首先介绍了传统的目标检测算法过程:
传统的目标检测一般使用滑动窗口的框架,主要包括三个步骤:
- 利用不同尺寸的滑动窗口框住图中的某一部分作为候选区域;
- 提取候选区域相关的视觉特征。比如人脸检测常用的Harr特征;行人检测和普通目标检测常用的HOG特征等;
- 利用分类器进行识别,比如常用的SVM模型。
基于深度学习的目标检测分为两派:
- 基于区域提名的,如R-CNN、SPP-net、Fast R-CNN、Faster R-CNN、R-FCN;
- 端到端(End-to-End),无需区域提名的,如YOLO、SSD。
目前来说,基于区域提名的方法依然占据上风,但端到端的方法速度上优势明显,后续的发展拭目以待。
接下来是对相关研究的详细介绍。
1、首先介绍的是区域提名--选择性搜索,以及用深度学习做目标检测的早期工作--Overfeat。
选择性搜索:不断迭代合并候选区域,已被弃用。
OverFeat: 用CNN做分类、定位和检测的经典之作(马克一记)。
2、基于区域提名的方法:主要介绍R-CNN系列
R-CNN:之前的工作都是用滑动窗口的方式,速度很慢,R-CNN采用的是selective search。
它和OverFeat类似,但缺点是速度慢。
SPP-net:针对剪裁技术可能出现的问题,SPP不管是对整副图像还是裁剪后的图像,都提取
相同维度的特征,这样可以统一送至全连接层。
FAST R-CNN:主要解决2000个候选框带来的重复计算问题。
FASTER R-CNN:抛弃了selective search,引入了RPN网格。
R-FCN:将最后的全连接层换为了卷积层。
3、端到端(end-to-end):无需区域提名
YOLO:将448*448的图像分成S*S的网络,简化目标检测流程;
SSD: YOLO的改进,分为两部分:图像分类的网络和多尺度特征映射网络。
目标检测还存在一些问题,比如小目标检测问题。