日萌社

人工智能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个预测值, (

目标检测:YOLO V1、YOLO V2、YOLO V3 算法相关推荐

  1. YOLO V1,V2, V3的记录

    YOLO V1写的比较好的 https://zhuanlan.zhihu.com/p/378508 模型的输出需要固度维度,看模型的网络结构,可以知道固定维度是. 具体的方法是将输入图像按照模型的输出 ...

  2. 计算机视觉——YOLO(v1,v2,v3)

    计算机视觉--YOLO(v1,v2,v3) 1.YOLO V1 1.1论文思想 1.2.YOLO V1 网络结构 1.3.YOLO V1 损失函数 1.4.YOLO V1 存在的问题 2.YOLO V ...

  3. 面试:Android 签名校验机制 v1、v2、v3

    探究 Android 签名机制和原理 - 腾讯云开发者社区-腾讯云 一.APK签名可以带来以下好处 应用程序升级 如果想无缝升级一个应用,Android系统要求应用程序的新版本与老版本具有相同的签名与 ...

  4. Android v1、v2、v3签名原理

    Android签名机制 什么是Android签名 了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改. 同理,在安装 apk ...

  5. Googlenet v1、v2、v3、v4区别

    Googlenet v1.v2.v3.v4区别 Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面增加 ...

  6. 目标检测 | YOLO系列超全讲解v1,v2,v3

    前言 一.YOLOv1 1. 网络结构 2. 实现方法 3. 损失函数 4. 缺点 二.YOLOv2 1. 网络结构 2. 改进方法 3. YOLO9000 4. 网络训练细节 三.YOLOv3 1. ...

  7. 目标检测模型——One stage(YOLO v5的模型解析及应用)

    1. 简介 目标检测分为Two stage和One stage,只使用一个网络同时产生候选区域并预测出物体的类别和位置,所以它们通常被叫做单阶段检测算法(One stage).本篇文章只讲One st ...

  8. 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快

    机器之心报道,项目作者:RangiLyu 目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别.目标检测中的深度学习方法已经发展了很多年,并出现了不同 ...

  9. 目标检测实战:4种YOLO目标检测的C++和Python两种版本实现

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨nihate 审稿丨邓富城 编辑丨极市平台 导读 本文作者使用C++编写一套基于OpenCV的Y ...

  10. windows缩放200模糊_1.8M超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200...

    机器之心报道 项目作者:RangiLyu 如何把 anchor-free 模型移植到移动端或嵌入式设备?这个项目对单阶段检测模型三大模块(Head.Neck.Backbone)进行轻量化,得到模型大小 ...

最新文章

  1. 聊聊Service Mesh:linkerd
  2. Spark ShuffleManager内存缓冲器SortShuffleWriter设计思路剖析-Spark商业环境实战
  3. Leetcode PHP题解--D49 821. Shortest Distance to a Character
  4. TLS实现代码段加密
  5. Android 过滤无效录音数据,android – MediaRecorder类记录音频的问题 – prepare()给出异常 – 权限被拒绝...
  6. SAP WebIDE里的JavaScript代码检查code check
  7. Java后端学习路线(校招前准备)
  8. 下列属于usb转串口的芯片是_USB转串口常用芯片
  9. [深度学习] Python人脸识别库face_recognition使用教程
  10. 什么是Alpha通道?
  11. NEXMO 发送国际短信,遇到的问题
  12. 【Python 爬虫实践】:《战狼2》豆瓣影评分析
  13. Oracle:sqlplus命令行登录方法 as sysdba
  14. 杰理之SRRC认证杂散超标【篇】
  15. java控制热敏打印机的例子.rar_stm32控制热敏打印机
  16. 实验三 基本IO口扩展实验
  17. Apache Kafka - ConsumerInterceptor 实战 (1)
  18. windows 环境下node开发环境搭配问题
  19. XSS漏洞利用——键盘记录
  20. 父亲儿子计算机语言的书,关于父亲的作文500字5篇

热门文章

  1. 在Ubuntu16.04.1上安装、配置、使用Nginx
  2. 元学习—关系网络和匹配网络
  3. AnatomyNet: Deep Learning for Fast and Fully Automated Whole-volume Segmentation of Head and Neck An
  4. android qq1像素页面,Android QQ空间1.2体验
  5. Mybatis的5种分页方式
  6. Linux服务器下Matlab的安装
  7. PMOS管/NMOS管控制供电电路
  8. 期望、方差、标准差、协方差、相关系数、协方差矩阵、残差、残差平方和(SSE)、标准化残差,残差分析
  9. matplotlib完美论文画图
  10. 虚拟机打电话发短信方法