上期给大家展示了用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. 响应式Web设计与CSS(下)

    4.媒体类型与媒体查询 4.1 媒体类型 依据设备能力来分离样式的能力,始于媒体类型. 媒体类型用于针对特定的环境应用样式,包括屏幕显示.打印和电视等. 通过给link元素添加media属性,可以指定 ...

  2. redis(二)redis的主从模式和集群模式

    redis(二)redis的主从模式和集群模式 主从模式 集群模式 主从模式 redis的主从模式,指的是针对多台redis实例时候,只存在一台主服务器master,提供读写的功能,同时存在依附在这台 ...

  3. Consul服务治理发现学习记录

    Consul 简介 Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用.限流.熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便.它提供了一个功 ...

  4. C# BackGroundWorker实现窗体不卡死 进度条功能

    网上的例子少了好多属性的配置,改好了一个能直接用的: using System; using System.Collections.Generic; using System.ComponentMod ...

  5. C#LeetCode刷题之#202-快乐数(Happy Number)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3856 访问. 编写一个算法来判断一个数是不是"快乐数& ...

  6. Android 开发学习进程0.14 Bindview recyclerview popwindow使用 window类属性使用

    BindView ButterKnife 优势 绑定组件方便,使用简单 处理点击事件方便,如adapter中的viewholder 同时父组件绑定后子组件无需绑定 注意 在setcontentview ...

  7. name 'xrange' is not defined

    出现这个错误是因为examples使用的是Python2 在Python3中,移除了在Python2中的range, 并将 xrange 命名为 range 将代码中的xrange改为range就可以 ...

  8. 微信小程序setData局部刷新列表

    利用setData局部刷新列表 当列表管理加载到第几页时,这个list的数据有十几条的,如果重新setData的话就要重新刷新和渲染列表, 这是个比较麻烦的事,当数据量大时,就会造成白屏, 这时就要局 ...

  9. 30分钟闲置服务器建站(gitlab为例)

    前言 最近博主的阿里云主机又到了续费的时候了,刚买云主机的时候那是各种优惠各种打折,续费的时候只能当孙子了. 为了节省开支,又保证高性能的前提下,买了台10代NUC,内存和ssd自选,搭建一台个人服务 ...

  10. Jmeter 常用函数(3)- 详解 __RandomString

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 根据指定的字符产生一个随机字符串 语法 ...