上期给大家展示了用VisDrone数据集训练pytorch版YOLOV3模型的效果,介绍了什么是目标检测、目标检测目前比较流行的检测算法和效果比较以及YOLO的进化史,这期我们来讲解YOLO最原始V1版本的算法原理以及其实现,话不多说马上开始。

YOLO检测系统

如图所示:当我们送一张图片给YOLO进行检测时,首先要将图片的大小调整位448*448,然后再在图像上运行单个卷积神经网络CNN,最后利用非最大值抑制算法对网络检测结果进行相关处理,设置阈值处理网络预测结果得到检测的目标,这个图像只经过一个单独的CNN模型就可以直接得到检测结果的过程又称为end-to-end(端到端)的目标检测。

YOLO具体实现

首先YOLO检测系统会将输入图像划分为S×S网格,也就是S×S个单元格,如果对象边界框的中心,也就是红色边界框的中心落入该网格单元,则该网格单元负责检测该对象,如图中红色的点就是对象狗的中心,就由这个点所处的绿色网格负责预测狗这一个目标,并得到这个狗目标的边界框以及种类。

怎么样用参数去表示上述的过程呢?为什么就可以知道这个中心点所对应的目标就是狗呢?

目标定位

上面对目标进行定位,那么如何进行目标分类呢?

目标分类

总结:

上述所讲解的所有过程如上图:也就是说我们的输入图片首先被分成S*S个网格,每个网格会预测B个边界框,这B个边界框来定位目标,预测的(x,y)实际上是由B个边界框中框住目标的那个边界框的中心,再判断该边界框的中心属于那一个网格,当网格定位好之后,再由该网格这个区域对目标进行分类。

YOLO模型架构

那么如何对这个模型最后的输出7*7*30的output进行解析,来获取我们想要的检测信息呢,即这张图片上有多少个目标,以及每个目标所对应的目标框的大小和位置信息呢?

以下面图中模型输出的7*7个网格中的其中一个网格,也就是用红色和绿色长条形进行标注的网格,大小为1*1*30为例进行讲解,其对应于输入图片中的红色网格:

最后:附上YOLOv1的原论文地址:https://arxiv.org/pdf/1506.02640.pdf,下载速度过慢的同学,后天回复关键字:YOLO,即可获取。

YOLO官网:https://pjreddie.com/darknet/yolo/

参考:https://zhuanlan.zhihu.com/p/32525231

这期给大家讲解了YOLOv1网络模型的架构,以及如何实现目标分类和定位,下期会给大家讲解YOLO模型是如何进行进行网络训练的,觉得还不错的话,请点赞、收藏、在看哦,你们的支持是我继续的动力,坚决不做白嫖党!

更多有关python、深度学习和计算机编程和电脑知识的精彩内容,可以关注微信公众号:码农的后花园

小白也能弄懂的目标检测YOLO系列之YOLOV1 - 第二期的更多相关文章

  1. 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练

    上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...

  2. 小白也能弄懂的目标检测之YOLO系列 - 第一期

    大家好,上期分享了电脑端几个免费无广告且实用的录屏软件,这期想给大家来讲解YOLO这个算法,从零基础学起,并最终学会YOLOV3的Pytorch实现,并学会自己制作数据集进行模型训练,然后用自己训练好 ...

  3. 第四节,目标检测---YOLO系列

    1.R-CNN回顾 适应全卷积化CNN结构,提出全卷积化设计 共享ResNet的所有卷积层 引入变换敏感性(Translation variance) 位置敏感分值图(Position-sensiti ...

  4. 目标检测YOLO进化史之yolov1

    yolov3在目标检测领域可以算得上是state-of-art级别的了,在实时性和准确性上都有很好的保证.yolo也不是一开始就达到了这么好的效果,本身也是经历了不断地演进的. yolov1 测试图片 ...

  5. 深度学习笔记之目标检测算法系列(包括RCNN、Fast RCNN、Faster RCNN和SSD)

    不多说,直接上干货! 本文一系列目标检测算法:RCNN, Fast RCNN, Faster RCNN代表当下目标检测的前沿水平,在github都给出了基于Caffe的源码. •   RCNN RCN ...

  6. 小白也能弄懂的卷积神经网络(Convolutional Neural Networks )

    本系列主要是讲解卷积神经网络 - Convolutional Neural Networks 的系列知识,本系列主要帮助大家入门,我相信这是所有入门深度学习的初学者都必须学习的知识,这里会用更加直接和 ...

  7. [目标检测]YOLO原理

    1 YOLO 创新点: 端到端训练及推断 + 改革区域建议框式目标检测框架 + 实时目标检测 1.1 创新点 (1) 改革了区域建议框式检测框架: RCNN系列均需要生成建议框,在建议框上进行分类与回 ...

  8. 目标检测(五)YOLOv1—You Only Look Once:Unified,Real-Time Object Detection

    之前的目标检测算法大都采用proposals+classifier的做法(proposal提供位置信息,分类器提供类别信息),虽然精度很高,但是速度比较慢,也可能无法进行end-to-end训练.而该 ...

  9. 目标检测-yolo

    论文下载:http://arxiv.org/abs/1506.02640 代码下载:https://github.com/pjreddie/darknet 1.创新点 端到端训练及推断 + 改革区域建 ...

随机推荐

  1. CSS页面布局与网格(上)

    1.布局规划 1.1 网格 网格系统是设计师在切分布局时作为参照的一组行和列. 1.2 布局辅助类 类名用于为布局添加样式.为了让样式可以重用,让类名表达其意图. .column { /* 一般列的样 ...

  2. jquery 效果笔记

    jquery效果 显示隐藏     show()     语法     show([speed,[easing],[fn]])     参数可以省略,无动画直接使用     hide()     to ...

  3. Python实现迪杰斯特拉算法

    首先我采用邻接矩阵法来表示图(有向图无向图皆可) 图的定义如下: class Graph: def __init__(self, arcs=[]): self.vexs = [] self.arcs ...

  4. 实型(浮点型):float、double

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib. ...

  5. Promise.then返回的是什么?

    console.log((function cook(){ console.log('开始做饭.'); var p = new Promise(function(resolve, reject){ / ...

  6. 【POJ2976】Dropping tests - 01分数规划

    Description In a certain course, you take n tests. If you get ai out of bi questions correct on test ...

  7. MSDN 无法显示的问题 2010-03-21 21:08

    MSDN 无法显示的问题regsvr32 "C:\Program Files\Common Files\Microsoft Shared\Help\hxds.dll" .试图运行项 ...

  8. windows 服务端 狼人杀 发牌器 开发完成 待继续开发其他服务

    开发工具: python2.7 eric4 成果链接地址 https://wws.lanzous.com/iPCDTfnuoif

  9. C#/VB.NET 比较两个Word文档差异

    本文以C#和VB.NET代码为例,来介绍如何对比两个Word文档差异.程序中使用最新版的Spire.Doc for .NET 版本8.8.2.编辑代码前,先在VS程序中添加引用Spire.Doc.dl ...

  10. Spring注解驱动开发03(按照条件注册bean)

    按照条件注册bean 使用@Conditional注解来控制bean的注册 使用步骤 先实现Condition接口,条件写在matches方法里 注意事项:Condition接口是org.spring ...