YOLO介绍


YOLO官网

YOLO(You Only Look Once)是目标检测模型,目标检测是计算机视觉中比较简单的任务,用来在一张图片中找到某些特定的物体,目标检测不仅要求我们识别这些物体的种类,同时要求我们标出这些物体的位置

YOLO是一种基于深度神经网络的对象识别和定位算法,其最大的特点是运行速度很快,可以利用实时系统。现在YOLO已经发展到v5版本,不过最新版本也是在原有的版本上基础不断改进演化的,所以本文分析YOLO v3版本

类别是指离散数据,位置是指连续数据

YOLO原理


使用YOLO的目的是在一张图片中找出物体,并给出它的类别和位置。目标检测是基于监督学习的,每张图片的监督信息是它所包含的N个物体,每个物体的信息有5个,分别是物体的中心位置(x,y)和它的高(h)宽(w),最后是它的类别。

YOLO算法思路


  1. 缩放输入的图片。
  2. 将图片送入到卷积神经网络中进行预测。
  3. 通过预测的结果进行置信度的阈值处理,得到最终的结果。

YOLO训练过程


YOLO在ImageNet上用前20个卷积层和1个全连接层做通用的类别识别训练,并达到比较高的准确率,之后在预训练好的结构上添加了4个卷积层和1个全连接层做目标识别训练。

因为想提高目标识别的整体表现,所以YOLO在ImageNet预训练时,输入图片尺寸是224224,但在PASCAL VOC上做目标识别的专项训练时,输入图片尺寸变成了448448。

YOLO Loss设定


采用合适的 loss 对于训练一个神经网络而言非常重要。其实,只有理解了 YOLO 的 loss 设计原则,才算真正理解了 YOLO 算法的核心。一般 Loss 值越低,代表网络准确度越高,训练的越有效,所以训练时基本上是以减弱 loss 值为目标的。在训练时,用 sum-squared error (误差的平方的和)来作为 loss 进行优化。采用 sum-squared error 是因为它容易进行优化,但是它也有不好的地方,那就是对于提高 mAP 的表现有些吃力。

sum-squared error 会让 Loss 函数对于位置预测、类别预测的误差权重一样。实际情况是,YOLO 在每一张图片上会预测 772=98 个 bbox,但只有很少的 bbox 才包含目标,哪些不包含目标的 bbox 它们的 confidence 会在训练过程中很快变成 0,所以哪些包含了目标的网格它们预测的 bbox 的梯度会更加急剧变化,这样而言,整个预测系统处于不平衡也不稳定的状态,最终可能出现 loss 无法收敛。
最终的 Loss 变成了一个复合的 Loss,公式如下:

总结


  • YOLO 就是一个撒渔网的捕鱼过程,一次性搞定所有的目标定位。
  • YOLO 快的原因在于比较粗的粒度将输入图片划分网格,然后做预测。
  • YOLO 的算法精髓都体现在它的Loss设计上及用户如何针对问题改进Loss。

YOLO3 -- 介绍相关推荐

  1. YOLO3升级优化版!Poly-YOLO:支持实例分割!

    YOLO3升级优化版!Poly-YOLO:支持实例分割! POLY-YOLO: HIGHER SPEED, MORE PRECISE DETECTION AND INSTANCE SEGMENTATI ...

  2. Pytorch搭建yolo3目标检测平台

    学习前言 源码下载 yolo3实现思路 一.预测部分 1.主题网络darknet53介绍 2.从特征获取预测结果 3.预测结果的解码 4.在原图上进行绘制 二.训练部分 1.计算loss所需参数 2. ...

  3. 【华为云技术分享】物体检测yolo3算法 学习笔记2

    先来看一下yolo3的结构图: 1.主体网络darknet53 最左边的这一部分叫做Darknet-53, (1)它最重要特点是使用了残差网络Residual,darknet53中的残差卷积就是进行一 ...

  4. VGG16 、VGG19 、ResNet50 、Inception V3 、Xception介绍

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 卷积神经网络在视觉识别任务上的表现令人称奇.好的CNN网络是带有上百万参数和许多隐含层的&qu ...

  5. 超详细目标检测,yolo3训练自己的数据集

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 本文介绍如何制作数据集.修改代码.不加载预权重从头跑自己的训练数据. 本文相关代码 项目获取方 ...

  6. 《基于海思35xx nnie引擎进行经典目标检测算法模型推理》视频课程介绍

    前言 沉寂两个月,终于将新的视频课程<<基于海思35xx nnie引擎进行经典目标检测算法模型推理>>(其链接为https://edu.csdn.net/course/deta ...

  7. 目标检测学习————Keras搭建yolo3目标检测平台

    Keras搭建yolo3目标检测平台 源码下载 yolo3实现思路 一.预测部分 二.训练部分 训练自己的yolo3模型 参考原文出处 点击进入https://blog.csdn.net/weixin ...

  8. 用yolo3训练自己的数据集(包含数据搜集,图片标注,图片批量命名以及如何修改代码)——口罩佩戴以及规范佩戴口罩检验

    用yolo3训练自己的数据集--口罩佩戴及规范性佩戴检验 前言 1. 数据集处理 1.1 数据搜集(多途径) 1.2 自己制作数据集 2.图片标注 2.1 图片批量命名 2.2 使用labelimg进 ...

  9. yolo3目标检测平台

    yolo3实现思路 一.预测部分 1.主题网络darknet53介绍 YoloV3所使用的主干特征提取网络为Darknet53,它具有两个重要特点: 1.Darknet53具有一个重要特点是使用了残差 ...

  10. xyolo?几行Python代码轻松完成yolo3目标检测

    前段时间在 qqwweee/keras-yolo3 的基础上改写出了一个支持TensorFlow 2.2版本的yolo3项目,我把它命名为tf2-keras-yolo3. 怎么说呢,用是肯定能用的,但 ...

最新文章

  1. 渗透测试技巧之Redis漏洞利用总结
  2. 2108年计算机二级考试时间,计算机二级office考前10天复习应该做哪些安排逢考必过...
  3. slf4j 桥接与被桥接_合成和桥接方法
  4. 查重多少合格_期刊论文查重一般多少合格?
  5. CoreData并发操作模式简介
  6. 起步难、评职称难、压力大!青年科研人员“心病”问题亟待关注!
  7. 笔记本电脑5年没清灰了_返利网5年估值腰斩,没了P2P六亿对赌难完成
  8. c语言判断回文字符串递归,用递归实现判断一个字符串是否为回文串
  9. java正则表达 w,超强变态的正则(\w)((?=\1\1\1)(\1))+讲解
  10. vc浏览器_自主创业项目推荐,晨兴资本刘芹:我的市场非共识+超配投资原则VC洞见...
  11. 扇贝有道180918每日一句
  12. 水晶球 crystal ball
  13. 这可能才是PSV破解不了的真正原因—破解的无奈
  14. svnadmin dump导入导出命令
  15. 图形推理1000题pdf_公务员考试:遇到图形推理题就烦恼?5招教你练成最强大脑...
  16. Eviews9.0---软件安装
  17. Gym包的安装与使用(新旧版本问题,Atari游戏支持问题)
  18. 系统分析师成长之路 转
  19. Hive分区修复msck repair
  20. 如果宇宙是答案,那么问题是什么?

热门文章

  1. keytool的使用
  2. 10个不错的编程等宽字体
  3. PCL .stl格式转成.pcd格式点云文件
  4. 3招教你花式导入Excel数据到JMP
  5. 专业PLC数据采集软件PLC-Recorder通过ADS通讯进行倍福TwinCAT2和TwubCAT3数据采集的介绍
  6. A7芯片 IOS降级 跳过ID | ipad Mini2降级 10.3.3
  7. Postman下载使用
  8. c语言页面置换算法报告,C语言实现页面置换算法
  9. MEGA2560 arduino烧录USB 芯片flash以及bootloader记录
  10. Subversion vs Subclipse