最近看了十来二十篇的目标检测方面的论文,看的时候倒是全部看懂了,但是过了一阵时间之后发现很多细节都记得不是很清楚了,可能是好多都没有上手跑过代码的原因吧。所以在这篇文章做一个杂记,记录下目标检测发展的历程和一些里程碑文章中的特色和重点。
文章所写均为个人拙见,如有谬误,请多海涵。
Object detection
目标检测简单来说就是要从图像中找到所有对象的位置并且对其进行正确的分类,最终的结果就是在图像中标记出很多个矩形框(box),并且每个框标记了框中所含对象所属的类。
比如这样:
Recommended papers
首先推荐一篇综述文章:Object Detection in 20 Years: A Survey。 这篇文章从几个方面介绍了目标检测的进展,从传统方法到深度学习方法都有涉猎。
这篇文章里主要还是对目标检测深度学习的方法从时间上进行一个梳理。
下面以时间顺序开始列出目标检测的深度学习方法中里程碑式的文章:
-
Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation 2013-11-11
R-CNN: Two-stage object detection的开山之作 -
OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 2013-12-21
OverFeat: 首个使用回归问题来生成候选框的网络,通过合并生成的多个候选框来得到最终的少数候选框,可以看作是首个end-to-end的目标检测网络 -
Spatial pyramid pooling in deep convolutional networks for visual recognition 2014-6-18
SPP-Net: 输入不同尺度图像,输出统一维度特征 -
Fast R-CNN 2015-4-30
Fast-RCNN: 提出了Region Proposal Network(RPN)来产生候选框,再用分类网络对候选框进行分类 -
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 2015-6-4
Faster R-CNN: 使用了Region of Interest(ROI) Pooling来提取一张特征图中对应候选框的部分,使用SPP统一了候选框的特征大小,相当于RPN和R-CNN使用同一个权重,并且所有候选框只使用了一种特征图中的特征,大大减少了网络参数,加快了训练和推理的时间 -
You Only Look Once: Unified, Real-Time Object Detection 2015-6-8
YOLO: 第一个出现的One-stage object detection网络(特性搞忘了,yolov5都看完了,v1反而记不清楚了) -
SSD: Single Shot MultiBox Detector 2015-11-8
SSD: 晚YOLO几个月出现的第二个One-stage object detection网络,使用了多尺度的特征图来提高性能 -
Training Region-based Object Detectors with Online Hard Example Mining 2016-4-20
OHEM: 通过筛选产生的大量候选框中有用的或者说较难的候选框来帮助网络更好地训练 -
R-FCN: Object Detection via Region-based Fully Convolutional Networks 2016-5-20
R-FCN: 使用全卷积网络替代了Faster R-CNN中最后几层中的全连接层(有些记不清了) -
YOLO9000: Better, Faster, Stronger 2016-12-25
YOLOv2 & YOLO9000: YOLO9000使用了层次分类的结构完成了类别更加细致的分类(比如能够识别为哈士奇而不仅仅是条狗) -
Mask R-CNN 2017-3-20
Mask R-CNN: 主要介绍了图像分割的新方法,但是其中介绍了RoI Align,得出的特征向量比RoI Pooling质量更高(提取的范围更加对准了RoI) -
Focal Loss for Dense Object Detection 2017-8-7
Focal Loss: One-stage检测方法中生成了大量的无用候选框,这些框对于网络来说能够很容易地识别出来,产生大量的小值的loss,这些loss汇聚起来不小却不能更好地帮助训练网络,Focal Loss能够给这些loss加权来抑制这些简单负样本 -
Light-Head R-CNN: In Defense of Two-Stage Object Detector 2017-11-20
Light-Head R-CNN: 相比于其他文章显得不是那么有分量,主要是使用了可分离卷积的思想来减小了R-FCN的卷积层参数 -
YOLOv3: An Incremental Improvement 2018-4-8
YOLOv3: 隔段时间填坑 -
End-to-End Object Detection with Transformers 2020-5-26
DETR: 使用transformer完成了目标识别任务,并且没有使用锚框和NMS,就是非常难训练,使用了16块V-100训练3天…… -
Deformable DETR: Deformable Transformers for End-to-End Object Detection 2020-10-8
Deformable DETR: 还没有看,听说极大简化了训练,使得transformer在一般炼丹师中也能够得到使用了……