跳至主要內容

基础知识/领域常识

高礼彬大约 2 分钟深度学习目标检测

本文主要介绍目标检测中的基本概念以及公用的一些知识点。

基本概念

目标检测中,模型一般有哪几种类型?

  • one-stage
    • 单阶段任务,以YOLO系列为主
    • 核心优势:速度非常快,适合做实时检测任务
  • two-stage
    • 两阶段任务,以RCNN系列为主
    • 核心优势:准确率高,适合做离线或实时性要求不高的任务

目标检测中的有哪些指标概念?

  • 二分类指标

    • TP/TN/FP/FN:这块完全与二分类任务相同。 需要注意的是:目标检测是基于置信度阈值来计算,例如分别计算 0.9; 0.8; 0.7
  • mAP(平均精度):在不同的置信度阈值中,绘画出Precision(y)Recall(x) 的曲线图, 并计算出(y取最大值)的面积

    • RecallRecall=TPTP+FP
    • PrecisionPrecision=TPTP+FN
  • IOUIOU=

什么是NMS非极大值抑制?

非极大值抑制(Non-maximum supression)简称NMS,其作用是去除冗余的检测框,去冗余手段是剔除与极大值重叠较多的检测框结果。

思路

核心思想是搜索目标局部范围内的边界框置信度最大的这个最优值,去除目标邻域内的冗余边界框。

具体步骤

一般NMS后处理算法需要经历以下步骤(不含背景类,背景类无需NMS):

  1. 先将所有的边界框按照类别进行区分;
  2. 把每个类别中的边界框,按照置信度从高到低进行降序排列;
  3. 选择某类别所有边界框中置信度最高的边界框 bbox1, 然后从该类别的所有边界框列表中将该置信度最高的边界框 bbox1 移除并同时添加到输出列表中;
  4. 依次计算该 bbox1 和该类别边界框列表中剩余的 bbox 计算IOU;
  5. 将IOU与NMS预设阈值 Thre 进行比较,若某 bboxbbox1 的IOU大于 Thre , 即视为 bbox1 的“邻域”,则在该类别边界框列表中移除该bbox,即去除冗余边界框;
  6. 重复 3~5 ,直至该类别的所有边界框列表为空,此时即为完成了一个物体类别的遍历;
  7. 重复 2~6 ,依次完成所有物体类别的NMS后处理过程;
  8. 输出列表即为想要输出的检测框,NMS流程结束。
上次编辑于: