名词解释
- detection: find all objects (bounding box)
- classification: classify objects
- recognition: whether one is object
- segmentation: cut all objects (pixel wise)
- localization: find certain object (bounding box)
任务
广义的识别(Object Recognition/visual recognition),包括
- 图像分类/识别: 识别图片里是猫是狗
- 物体定位/检测: 不仅可以告诉你分类,还可以告诉你目标物体的坐标(框)
- 目标识别
- 语义分割: 不仅需要把物体检测出来, 还要把它从图片中扣出来
- 实体分割
- 关键点检测
其他任务:以图搜图、图像生成、 图像风格迁移
再细分
- Scene categorization
- Image-level annotation: are there people?
主要模型发展历史:
<img “模型进化史,红色表示计算机视觉的基础模型,绿色表示目标检测的模型” src=”/images/raw/NN - object recognition - models.png”>
<img “目标检测模型汇总” src=”/images/raw/NN - object detection - models.jpg”>
从最初2013年提出的R-CNN、OverFeat,到后面的Fast/Faster R-CNN,SSD,YOLO系列,再到2018年最近的Pelee。短短不到五年时间,基于深度学习的目标检测技术,在网络结构上,从two stage到one stage,从bottom-up only到Top-Down,从single scale network到feature pyramid network,从面向PC端到面向手机端,都涌现出许多好的算法技术,这些算法在开放目标检测数据集上的检测效果和性能都很出色。
物体检测发展主要集中在两个方向:
two stage算法
- R-CNN系列
- FPN 最好的two-stage
one stage算法
- YOLO
- SSD
- RetinaNet 是最好的one stage
两者的主要区别在于two stage算法需要先生成proposal(一个有可能包含待检物体的预选框),然后进行细粒度的物体检测。而one stage算法会直接在网络中提取特征来预测物体分类和位置。
two stage
Faster R-CNN网络包括两个步骤:
- 使用RPN(region proposal network)提取proposal信息
- 使用R-CNN对候选框位置进行预测和物体类别识别。
- Faster R‑CNN是首个利用CNN来完成proposals的预测的,之后的很多目标检测网络都是借助了
Faster R‑CNN的思想
one stage
reference
- History of Object Recognition | github
- 基于深度学习的目标检测算法综述 | 知乎专栏 - 美图