当前位置: 代码网 > 科技>人工智能>数据分析 > 试读:目标检测定义及技术详解

试读:目标检测定义及技术详解

2024年08月04日 数据分析 我要评论
试读:目标检测定义及技术详解

1.通用目标检测generic object detection定义

目标检测旨在从图像、视频或者类似高维数据中定位大量预定义类别的物体实例,原始的图像、视频或类似数据经过数据预处理后,进入目标检测模型进行前向预测,最终得到数据中每个实例的位置以及该实例的对应类别。

2.目标检测实际效果案例

 

3.通用目标检测常用公开数据集

3.1 pascal voc

  • 20 classes
  • 11,530 images
  • 27,450 roi annotated objects
  • 6,929 segmentations

3.2 ms-coco

  • object segmentation
  • recognition in context
  • superpixel stuff segmentation
  • 330k images (>200k labeled)
  • 1.5 million object instances
  • 80 object categories
  • 91 stuff categories
  • 5 captions per image
  • 250,000 people with keypoints

4.目标检测算法归纳

4.1 基于深度学习的目标检测算法总结(2014-2019部分)

4.2 目标检测算法的常用分类方式

4.2.1 基于anchor使用分类

  • anchor based
  • anchor free

4.2.2 基于bbox refine的次数分类

  • 单阶段 one stage
  • 两阶段 two stage
  • 多阶段 multi stage

4.3 目标检测算法的通用结构

  • backbone
    • resnet
    • resnext
    • senet
    • hrnet
    • dcn
    • efficientnet
    • resnest
    • res2net
    • cbnet
    • nolocal
    • $...$
  • neck
    • fpn
    • panet
    • nas-fpn
    • bifpn
    • $...$
  • head
    • rcnn head
    • cascade head
    • double head
    • $...$
  • post-process
    • nms
    • soft-nms
    • $...$
  • loss
    • cls
      • cross entropy
    • regression
      • l1
      • iou
      • giou
      • diou
      • ciou
    • $...$

4.4 目标检测算法的常用评估指标 mean average precision(map)

  • map定义及相关概念:

    • map指的是各类别ap的平均值. ap指的是pr曲线下面积,下面会详细讲解

    • pr曲线precision-recall曲线

    • precision: tp / (tp + fp)

    • recall: tp / (tp + fn)

    • iou (交并比 - intersection over union (iou)):

      交并比(iou)是度量两个检测框(对于目标检测来说)的交叠程度,使用两个框相交的面积除上并集的面积公式如下:

      iou=aera(bp⋂bgt)aera(bp⋃bgt)iou=aera(bp⋂bgt)aera(bp⋃bgt)

    • tp: iou>指定阈值的检测框数量(同一ground truth只计算一次)

    • fp: iou<=指定阈值的检测框,或者是检测到同一个gt的多余检测框的数量

    • fn: 没有检测到的gt的数量

  • map的具体计算 计算map必须先绘出各个类别的pr曲线,计算出ap。一般有两种方式来采样pr曲线:(i)在voc2010以前,只需要选取当recall >= 0, 0.1, 0.2, ..., 1共11个点时的precision最大值,然后ap就是这11个precision的平均值;(ii)在voc2010及以后,需要针对每一个不同的recall值(包括0和1),选取其大于等于这些recall值时的precision最大值,然后计算pr曲线下面积作为ap值. 来看一个简单的例子:

    假设我们有 7 张图片(images1-image7),这些图片有 15 个目标(绿色的框,gt 的数量)以及 24 个预测边框(红色的框,a-y 编号表示,并且有一个置信度值)

根据上图以及说明,我们可以列出以下表格,其中 images 代表图片的编号,detections 代表预测边框的编号,confidences 代表预测边框的置信度,tp or fp 代表预测的边框是标记为 tp 还是 fp(认为预测边框与 gt 的 iou 值大于等于 0.3 就标记为 tp;若一个 gt 有多个预测边框,则认为 iou 最大且大于等于 0.3 的预测框标记为 tp,其他的标记为 fp,即一个 gt 只能有一个预测框标记为 tp),这里的 0.3 是按照实际评估需求取的阈值,实际应用中要结合业务需求来合理设置。

通过上表,我们可以绘制出 p-r 曲线(因为 ap 就是 p-r 曲线下面的面积。我们需要根据置信度从大到小排序所有的预测框计算出 p-r 曲线上各个点的坐标,然后就可以计算 precision 和 recall,见下表:

上图的计算方式可以这么理解:

  • 标号为 1 的 precision 和 recall 的计算方式:

    precision=tp/(tp+fp)=1/(1+0)=1

    recall=tp/(tp+fn)=tp/(all ground truths)=1/15=0.0666

  • 标号 2:

    precision=tp/(tp+fp)=1/(1+1)=0.5

    recall=tp/(tp+fn)=tp/(all ground truths)=1/15=0.0666

  • 标号 3:

    precision=tp/(tp+fp)=2/(2+1)=0.6666

    recall=tp/(tp+fn)=tp/(all ground truths)=2/15=0.1333

其他的依此类推。有了上面所有的成对的precision和recall的值,就可以用这些p-r成对值来绘制pr曲线:

得到 pr 曲线就可以使用计算 ap(pr 曲线下的面积),这里介绍11点插值法:

  • 11点插值法:令recall的值分别为 [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] 的插值所得
    计算ap值如下:那么最终 map的计算就是把把所有类别的 ap 计算出来,然后求取平均即可。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com