目标检测——概述

学习视觉与深度学习有一年了,想把以前看到的文章和资料整理一下,不知道从哪些开始,这个暑假,趁着刚刚开完题,稍微闲一些,把目标检测相关的经典论文逐一记录一下,有时间跑一下作者的原码,水平有限,如涉及的内容有误,恳请大家指出。

前言

计算机视觉领域最基本的三个任务是:分类、目标定位、目标检测。分类的目标是要识别出给出一张图像是什么类别标签(在训练集中的所有类别标签中,给出的这张图属于那类标签的可能性最大);定位的目标不仅要识别出来是什么物体(类标签),还要给出物体的位置,位置一般用bounding box(边框)标记;目标检测是多个物体的定位,即要在一张图中定位出多个目标物体,目标检测任务包含分类和目标定位,学过计算机视觉相关课程的都应该知道,这三个视觉任务中,最基本最重要的是分类,其他的两个任务都是在解决分类任务的基础上,通过一些技术手段进行解决,比如在图片中随机加入很多窗口,提取每一个窗口的特征,然后预测分类,将分类一样并且相邻的窗口合并,就成了目标定位和目标检测。

                   

上图对应着分类、目标定位、目标检测:

  1. 分类任务:给图片预测一个类别标签:狗
  2. 目标定位任务:用边框物体圈出来,给出标签:狗(单个物体)
  3. 目标检测:用多个边框把分别把多个物体圈出来,并分别给出预测的类别标签(多个物体的定位任务)。

这些计算机视觉的任务,对于我们人来说很简单,只要见过这个物体或者类似的物体,基本上就可以给出一个类别预测,并且准确率超级高;但是在好多应用领域不能只靠人去识别图像中的物体,对于海量图像、视频数据,靠人去识别效率低、每一个人的知识认知不一样等原因,最终还是需要计算机去识别,对于计算机来说,识别一个图像中的物体,比较难。我们都知道,当一个技术应用到生活或者工业,基本上这个技术已经被研究烂了,比如人脸识别。上面三个计算机视觉任务,目标检测包含了前两个任务,解决目标检测以前都是用传统方法,核心的思路就是:窗口提取特征+分类器预测。

主要是三个操作:

  • 借助多尺度滑动窗口技术(Multiple-scale Sliding Window Method)等,圈出图中的某些部分作为候选区域;
  • 提取候选区域的视觉特征,比如HOG、GLOH等等;
  • 训练分类器,最经典最常用的SVM系列。

传统方法中有一些比较经典的方法:

1.尺度不变特征 (Scale invariant feature transform, SIFT),Lowe提出通过获取图像关键点附近的梯度信息来描述运动目

标;

2.梯度直方图特征 (Histogram of oriented gradient, HOG),Dalal 等人第一次提出并用于解决静态图像的行人检测问题;

3.可变形部件模型 (Deformable part model, DPM),Felzenszwalb等人将 HOG 与SVM相结合用于目标检测,这个方法在当时计算机视觉目标检测领域无人不晓(嗯,拿了好多奖)。

这个时候,其实也有很多研究者已经在使用深度学习的方法去解决目标检测问题,但是效果一直不好,比如OverFeat等。直到RCNN的横空出世,给深度学习解决目标检测问题重新注入活力,随后SPP-net、Fast R-CNN、YOLO、SSD等方法的提出.........(省略)。

深度学习用于目标检测主要分为两大类:

  • 基于区域提名方法,如R-CNN系列、SPP-net、R-FCN;
  • 基于端到端(End-to-End),如YOLO、SSD。

后续

1.即使应用深度学习方法解决目标检测问题,很多地方需要借助传统图像处理技术,比如图像金字塔(Pyramid)等,冈萨雷斯的《数字图像处理》值得细看;

2.RCNN是目标检测领域第一个工业级应用的解决方案,推动深度学习相关应用研究成为当今的研究最热点之一。

猜你喜欢

转载自blog.csdn.net/qq_27871973/article/details/80959479