目标检测基础初步学习

目标检测基础初步学习

码农世界 2024-06-04 前端 81 次浏览 0个评论

目标检测(Object Detection)

目标检测任务说明

在动手学习深度学习中对目标检测任务有如下的描述。

图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别。 然而,很多时候图像里有多个我们感兴趣的目标,我们不仅想知道它们的类别,还想得到它们在图像中的具体位置。 在计算机视觉里,我们将这类任务称为目标检测(object detection)或目标识别(object recognition)

在给定的一张目标检测的图片中,我们可以看到几个重要的元素,彩色的框,类别标签,及其它的预测值。从而引出了目标检测中几个重要的概念信息的说明

  1. 类别标签( Category label):在图中指的是car person dog horse等几个类别的说明。
  2. 置信度得分 (Confidence score):在图中指的是对于每个类别标签的预测分数。
  3. 边界框(Bounding box):是指对于每个类别的物体所框选的位置。

通过边界框给出了物体的相关位置信息

我们通常使用边界框(bounding box)来描述对象的空间位置。 边界框是矩形的,由矩形左上角的以及右下角的x和y坐标决定。 另一种常用的边界框表示方法是边界框中心的轴坐标(x,y)以及框的宽度和高度。

一个边缘框可以通过4个数字定义

  • (左上x, 左上y,右下x,右下y)
  • (左上x, 左上y,宽,高)

    (60,65,378,579):在图中对应向右为x轴正方向,向下为y轴正方向

    下面的四个图依次介绍了计算机视觉中常见的四个任务,依次包括了

    • Classification
    • Classification+ Localization
    • Object Detection
    • instance segmetation(实例分割)

      定位和检测:

      • 定位是找到检测图像中带有一个给定标签的单个目标
      • 检测是找到图像中带有给定标签的所有目标

        目标检测常用数据集

        PASCAL VOC数据集

        PASCALVOC挑战赛在2005年至2012年间展开。

        PASCAL VOC 2007:9963张图像, 24640个标注; PASCAL VOC 2012:11530 张图像,27450个标注。

        该数据集有20个分类:

        • Person: person

        • Animal: bird, cat, cow, dog,horse, sheep

        • Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train

        • Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor

          官网地址:http://host.robots.ox.ac.uk/pascal/VOC/

          MS COCO数据集

          MS COCO的全称是Microsoft Common Objects in Context,起源于是微软于2014年出资标注的MicrosoftCOcO数据集,与lmageNet 竞赛一样,被视为是计算机视觉领域最受关注和最权威的比赛之一。

          在lmageNet竞赛停办后,COcO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软 Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。

          COCO ( Common Objects in Context) 数据集包含20万个图像: 11.5万多张训练集图像,5千张验证集图像,2万多张测试集图像,80个类别中有超过50方个自标标注。平均每个图像的目标数为7.2

          官网地址:https://cocodataset.org/#home

          目标检测的性能指标

          检测精度

          • Precision,Recall,F1score
          • loU (Intersection over Union)
          • P-R curve (Precison-Recall curve)
          • AP(AveragePrecision)
          • mAp(mean Average Precision)

            在引入检测精度相关的概念的时候,首先引入混淆矩阵(confusion matrix)的概念

            • 第一位T/F:表示预测的对错
            • 第二位P/N:表示预测的结果

              同时结合给定的示意图进行更好的理解

              Precision:精度Precision(查准率)是评估预测的准不准(看预测列)

               precision  = T P T P + F P \text { precision }=\frac{T P}{T P+F P}  precision =TP+FPTP​

              召回率Recall(查全率)是评估找的全不全(看实际行)

               recall  = T P T P + F N \text { recall }=\frac{T P}{T P+F N}  recall =TP+FNTP​

              Accuracy: 精准度,划分正确的所占的比例

               Accuracy  = T P + T N T P + F P + F N + T N \text { Accuracy }=\frac{T P+T N}{T P+F P+F N+T N}  Accuracy =TP+FP+FN+TNTP+TN​

              F1 score:

              F 1 s c o r e = 2 ×  Precision  ×  Recall   Precision  +  Recall  { F1 score }=\frac{2 \times \text { Precision } \times \text { Recall }}{\text { Precision }+ \text { Recall }} F1score= Precision + Recall 2× Precision × Recall ​

              loU (lntersection over Union ):交并比

              在说明交并比的概念之前首先要先说明两个概念:Ground truth(真实的框) Prediction(模型预测的框)

              通俗的说两个概念的比即为交并比(确定一个IOU假设为0.5根据IOU的值来进行划分,从而确定划分的是否正确)

              AP衡量的是学习出来的模型在每个类别上的好坏(Average Precision)

              举一个简单的例子:在图中Ap是指人,羊等每个类别的值,而Map是综合去平均值

              下面说明Ap的计算方法:

              AP (Average Precision) in PAsCAL VOC challenge

              对于PASCALVOC挑战,如果IoU>O.5,则预测为正样本(TP)。但是,如果检测到同一目标的多个检测,则视第一个检测为正样本(TP),而视其余检测为负样本(FP)。

              mAP衡量的是学出的模型在所有类别上的好坏。是去所有类别上AP的均值

              检测速度

              • 前传耗时
              • 每秒帧数FPS(FramesPerSecond)
              • 浮点运算量(FLOPS)

转载请注明来自码农世界,本文标题:《目标检测基础初步学习》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,81人围观)参与讨论

还没有评论,来说两句吧...

Top