0%

物体识别 - 综述

名词解释

  • 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),包括

  1. 图像分类/识别: 识别图片里是猫是狗
  2. 物体定位/检测: 不仅可以告诉你分类,还可以告诉你目标物体的坐标(框)
  3. 目标识别
  4. 语义分割: 不仅需要把物体检测出来, 还要把它从图片中扣出来
  5. 实体分割
  6. 关键点检测

其他任务:以图搜图、图像生成、 图像风格迁移

再细分

  • 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网络包括两个步骤:

  1. 使用RPN(region proposal network)提取proposal信息
  2. 使用R-CNN对候选框位置进行预测和物体类别识别。
  3. Faster R‑CNN是首个利用CNN来完成proposals的预测的,之后的很多目标检测网络都是借助了
    Faster R‑CNN的思想

one stage

reference

  • History of Object Recognition | github
  • 基于深度学习的目标检测算法综述 | 知乎专栏 - 美图