目标检测发展与综述

时间:2024-10-28 07:10:53

目标检测发展与综述

绪论

  • 在github上的githoya012整理了关于目标检测的相关论文,点击此处可获取原文链接GitHub - hoya012/deep_learning_object_detection: A paper list of object detection using deep learning.
  • 这里还有关于目标检测综述的相关论文链接
    • 链接1《Deep Learning for Generic Object Detection A Survey》
    • 来自 <目标检测算法综述(近20年)_Rock_Huang~的博客-****博客_目标检测算法综述>
    • 转载翻译博文链接 深度学习目标检测的论文集及概述_xiaobai_Ry的博客-****博客
    • 相关翻译的博客推荐 目标检测发展史_樨潮的博客-****博客_目标检测方法的发展历程和相关改进方法
    • 链接2《Object Detection in 20 Years: A Survey》
    • 来自 <目标检测算法综述(近20年)_Rock_Huang~的博客-****博客_目标检测算法综述>
    • 相关翻译的博客推荐
    • 深度学习目标检测综述 - 知乎
    • /qq_38906523/article/details/80507676?biz_id=102&spm=1018.2118.3001.4187
    • 继往开来!目标检测二十年技术综述_算法
    • 近20年最全目标检测综述(第二期)_计算机视觉研究院的博客-****博客

     

在下面的某些部分,我会引用上述提及的文献,这里先做一下声明。

一、目标检测的背景及意义

目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。因此,目标检测也就成为了近年来理论和应用的研究热点,它是图像处理和计算机视觉学科的重要分支,也是智能监控系统的核心部分,同时目标检测也是泛身份识别领域的一个基础性的算法,对后续的人脸识别、步态识别、人群计数、实例分割等任务起着至关重要的作用。

二、目标检测的定义

1.目标检测的任务:

找出图像中所有感兴趣的目标(物体),并获得这一目标的类别信息和位置信息【位置和大小】(classification + localization)。

目标检测=分类+定位

2,与分类的区别:

相比分类,检测给出的是对图片前景和背景的理解,我们需要从背景中分离出感兴趣的目标,并确定这一目标的描述(类别和位置),因此检测模型的输出是一个列表,列表的每一项使用一个数组给出检出目标的类别和位置(常用矩形检测框的坐标表示)。

3.与分割的区别:

分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。

4.目标检测要解决的核心问题是:

1.目标可能出现在图像的任何位置。

2.目标有各种不同的大小。

3.目标可能有各种不同的形状。

5.目标检测的过程:

传统的目标检测方法一般分为三个阶段:首先在给定的图像上选择一些候选区域,然后对这些区域提取特征,最后使用分类器进行分类

6.目标检测面临的难点:

图来源于

Deep Learning for Generic Object Detection: A Survey

  • 高准确度(Loc acc.+Reg acc.)
    • 对类内形变的鲁棒性
      • 同类物体有很多不同的实例(不同纹理/颜色/材质等)
      • 目标实例的多样性(姿态/非刚性形变等)
      • 采样过程的条件和环境的影响(光照/尺度/遮挡/阴影/污迹/角度/背景)
      • 图像噪声(采样过程的噪声/滤波器影响/压缩的噪声等)
    • 高的可区分性
      • 类间的相似性
      • 目标物体类别多样
  • 高效性(时间、内存效率)
    • 实际中目标类别成千上万
    • 需要定位并辨别目标类别
    • 目标的可能定位数量太多
    • 图像/视频数据太多

三、目标检测的发展

1.目标检测近20年的发展

以AlexNet为分界线,2012年之前为传统算法,2013年之后为深度学习算法。

图来源于《Object Detection in 20 Years: A Survey》

从上述可知,主要分为传统和深度两种情况:

  • 传统方法比如我们所熟知的V-J检测、HOG检测、DPM算法。
  • 深度学习方法截然不同的分为两条技术路径:单阶段检测算法与两阶段检测算法。

目标检测的相关里程碑

在《Deep Learning for Generic Object Detection: A Survey》中,作者罗列出相关网络及论文的进程,并表明红色加粗部分为必看论文。

图来源于《Deep Learning for Generic Object Detection: A Survey》

在过去的20年,相关的里程碑如下图所示:

图来源于《Deep Learning for Generic Object Detection: A Survey》

四、目标检测分类

综合看的博客和知乎,我觉得下面几个图概括得挺好的

简单来看

细分

图来源于基于深度学习的目标检测算法综述(一) - 知乎 基于深度学习的目标检测算法综述(一) - 知乎

比较推荐

图来源于目标检测——目标检测方法的综述_鬼刀-****博客_常用的目标检测方法/gaoyu1253401563/article/details/86477942?depth_1-

五、目标检测常见数据集及常见数据集格式

0.说明

有关更多数据集的介绍与格式转换,可参考我的另外两篇博客:

  • 目标检测的数据集格式说明总和
  •  VOC格式、Yolo格式、Coco格式的转换(实践篇)

1. 最常见的数据集

  • Pascal VOC
  • COCO

2. 常见的数据集格式

  • VOC格式(jpg+xml)
  • COCO格式(json)
  • Yolo格式(txt)

3. 常见数据集的概况

图来源于《Deep Learning for Generic Object Detection: A Survey》

4.数据集的区别展示

图来源于《Object Detection in 20 Years: A Survey》

六、目标检测常见评价指标

  1. 主要评价指标通常有三个:
    • MAP(平均准确度均值,精度评价)
    • 检测速度(FPS即每秒处理的图片数量或者处理每张图片所需的时间,当然必须在同一硬件条件下进行比较)
    • 召回率(Recall)=  (TP)/(TP+FN):每个类被正确分类的概率
  2. 其他性能指标
    • 准确率 (Accuracy)
    • 精确率(Precision)
    • 混淆矩阵 (Confusion Matrix)
    • precision-recall曲线
    • 平均正确率(AP)
    • ROC曲线(Receiver Operating Characteristic)
    • AUC曲线(Area Under Curve)即为ROC曲线下的面积。
    • 交除并IOU(Intersection Over Union):预测框A和真实框B的重叠程度
    • 非极大值抑制(NMS)

七、目标检测效果对比

在《Object Detection in 20 Years: A Survey》,作者指出相关网络在不同数据集上的map评价情况,如下图所示:

 

同样在《Deep Learning for Generic Object Detection: A Survey》,作者指出相关网络在不同数据集上的map评价情况,如下图所示: