当前位置:   article > 正文

目标检测:YOLO V1、YOLO V2、YOLO V3 算法_yolov

yolov

日萌社

人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)


yoloV3模型

目标检测:YOLO V1、YOLO V2、YOLO V3 算法

KITTI自动驾驶数据集的训练和检测过程(人、车检测案例)、KITTI数据集的TFRecord格式存储、YOLO V3/Yolo V3 Tiny 迁移学习

使用OpenCV进行深度学习:YOLO、SSD


5.7 YOLO算法

学习目标

  • 目标
    • 掌握YOLO算法原理以及训练损失计算公式
  • 应用

在正式介绍YOLO之前,我们来看一张图:

可以看出YOLO的最大特点是速度快。YOLO在精度上仍然落后于目前最先进的检测系统。虽然它可以快速识别图像中的目标,但它在定位某些物体尤其是小的物体上精度不高。论文中做了精度/时间的权衡。接着之前在概述中所介绍的,进入到真正端到端的目标检测:直接在网络中提取特征来预测物体分类和位置。

YOLO算法系列的演变过程:YOLO->YOLO9000->YOLOv2->YOLOv3

5.7.1 YOLO介绍

YOLO是一种新的目标检测方法。以前的目标检测方法通过重新利用分类器来执行检测。与先前的方案不同,将目标检测看作回归问题从空间上定位边界框(bounding box)并预测该框的类别概率。使用单个神经网络,在一次评估中直接从完整图像上预测边界框和类别概率。由于整个检测流程仅用一个网络,所以可以直接对检测性能进行端到端的优化。

5.7.1.1 YOLO结构

YOLO是很简单直观的图像处理系统,整个过程分为三步:

  • 1、把图像缩放到448X448

  • 2、在图上运行卷积网络

  • 3、根据模型的置信度对检测结果进行阈值处理

一个网络搞定一切,网络结构如下:

论文中的网络架构受GoogleNet的启发,使用网络有24个卷积层,后面是2个全连接层。只使用1×1降维层,后面是3×3卷积层。没有使用Inception模块。

论文还使用训练了一个快速版本的YOLO,旨在推动快速目标检测的界限。快速YOLO使用具有较少卷积层(9层而不是24层)的神经网络,在这些层中使用较少的滤波器。基本版YOLO和快速YOLO网络的最终输出是7×7×30的预测张量。

5.7.1.2 统一检测过程理解

  • 1、原始图片resize到448x448,经过前面卷积网络之后,将图片输出成了一个7 x 7 x 30的结构

怎么理解这个过程?系统将输入图像分成S×S的网格。如果目标的中心落入某个网格单元中,那么该网格单元就负责检测该目标。

以图示的方式演示,默认7 x 7个单元格,这里用3 x 3的单元格图演示

2、每个网格单元都会预测B个边界框和这些框的置信度分数(confidence scores)

3、进行NMS筛选,筛选概率以及IoU

5.7.1.3 单元格(grid cell)

上面第二步是理解YOLO网络的关键。图片输入到YOLO之后只会得到7 x 7 x 30的输出结果。每个网格单元都会预测B个边界框和这些框的置信度分数(confidence scores),这些置信度分数反映了该模型对那个框内是否包含目标的信心,以及它对自己的预测的准确度的估量。

置信度与边界框

最后网络输出的7 x 7 x 30的特征图怎么理解?7 x 7=49个像素值,理解成49个单元格,每个单元格可以代表原图的一个方块。单元格需要做的两件事:

  • 每个边界框包含两个目标预测,每个目标包括5个预测值:x,y,w,h和置信度

  • 每个单元格预测两个(默认)bbox位置,两个bbox置信度(confidence) : 7 x 7 x 2=98个bbox

    • 30=(4+1+4+1+20), 4个坐标信息,1个置信度(confidence)代表一个bbox的结果, 20代表 20类的预测概率结果

5.7.1.4 网格输出筛选

1、置信度比较

Pascal VOC上评估YOLO,使用最终大小S=7,预测数量B=2。

  • 一个网格会预测两个Bbox,在训练时我们只有一个Bbox专门负责(一个Object 一个Bbox)

那么如何对每个位置预测的两个bbox进行筛选?

  • 通过置信度大小比较

注:所以如何判断一个grid cell中是否包含object呢?如果一个图片中真实的object的ground truth的中心点坐标在一个grid cell中,那么这个grid cell就是包含这个object,也就是说这个object的预测就由该grid cell负责。

2、预测位置大小-回归offset代替直接回归坐标

每个 bbox 包含5个预测值, (声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签