热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【目标检测】YOLOv1onestage

YOLO由24层ConvNet和2层FCs组成。其核心思想是将图片均匀划分为多个gridcell,每个gridcell产生两个bbox和gridcell中如果存在对象,对象是各类的

YOLO由24层ConvNet和2层FCs组成。其核心思想是将图片均匀划分为多个grid cell,每个grid cell产生两个bbox和grid cell中如果存在对象,对象是各类的概率,每个bbox由5个参数组成,xywh和confidence,confidence是bbox中存在对象的概率,将两概率相乘即可表示grid cell存在某类对象的概率。

YOLO的损失函数是全文重点。通过损失函数,使得模型更关注包含对象的bbox。

但也因为网络本身的设置,使得YOLO无法对多个相邻小物体进行识别,并且对定位和大小物体偏差的错误也没能通过微调损失函数解决。

目录

Introduction

Unified Detection

Network Design

Limitations of YOLO


Introduction

目前大多数检测系统是将图像分类任务转换为图像检测任务。YOLO将目标检测问题转换为回归问题。使用一个网络从完整图片中预测bounding boxes和class probabilities。因为整个检测流程是一个单一网络,所以它能够被端到端的优化。相较于最有目标检测算法,yolo存在更多的定位错误

 

Unified Detection

将输入图片分割为S x S网格。如果一个目标的中心在某个网格中,这个网格就负责检测这个目标。每个网格预测B个bounding boxes和对应的confidence scores。Confidence scores反应了模型对box包含目标的confident以及预测目标的accurate。定义confidence:

【目标检测】YOLO v1 one-stage

       如果没有目标存在,则confidence scores应该为0。另外,我们希望confidence scores等于predicted box和ground truth的IoU。每一个bounding box包含5个值:x, y, w, h, confidence。(x, y)表示box中心相对于网格单元的坐标;w, h是相对于整个图片的宽高;因此x, y, w, h的值都在[0, 1]之间。confidence prediction代表predicted box和ground truth box间的IoU。

       每个网格也预测C个类条件概率:

【目标检测】YOLO v1 one-stage

       这个概率是网格包含目标情况下的。每个网格只预测一组类条件概率,与bbox数量B无关。测试时:

【目标检测】YOLO v1 one-stage

这样我们就获得了每个box的class-specific confidence score。

【目标检测】YOLO v1 one-stage

参数设置:对于VOC数据集,S = 7,B = 2,C = 20。

 

Network Design

【目标检测】YOLO v1 one-stage

24卷积层+2全连接层。卷积层从图片中提取特征,全连接层预测概率和坐标。Fast YOLO使用9个卷积层以及更少的卷积核。使用前20层卷积层在ImageNet上训练。之后增加了4层卷积层和2层全连接层,并加大了图片的分辨率,以满足检测对图片细纹理的要求。最后一层使用linear**函数,其余使用leaky rectified linear**函数:

【目标检测】YOLO v1 one-stage

损失函数原型是模型输出的sum-squared error,但存在两个问题:

  1. 它平均的考虑了定位error和分类error,这不太理想。
  2. 许多网格并不包含任何目标,这使得这些网格的confidence scores向着0,导致模型不稳定,出现偏差。

为解决这些问题,我们增加了bounding box坐标预测损失的影响,并且减少不包含目标box的confidence造成的损失。我们使用λcoord和λnobj来调解他们的影响,设置λcoord=5、λnobj = 0.5。

Sum-squared error同时也均衡了大小box的loss。相对于大box中的deviation,小box的deviation更应该被loss function注意。为解决这个,我们将对宽高的预测替换为宽高平方根。

YOLO在每个网格中预测多个bbox,训练时,对每个目标,我们只希望有一个去bbox负责。我们指定bbox的原则是,与ground truth有最高IOU的bbox。这使得每个predictor在对某个目标的size, aspect ratio, class有着更好的表现,改善整体的召回率。训练时,我们最优化一下loss function:

【目标检测】YOLO v1 one-stage

如果一个对象出现在那个网格中,损失函数只惩罚分类错误。如果网格有某个predictor具有最高的IOU,对那个ground-truth box负责,损失函数只惩罚bounding box坐标错误。

 

Limitations of YOLO

  1. 因为每个网格只有两个bbox,只对一个目标负责,YOLO这种对bbox预测的空间限制导致网络无法对过多相邻目标预测。尤其是对鸟群等小目标检测不强。
  2. 因为模型从数据中学习预测bbox,导致他很难拓展到有新的、不寻常aspect ratio和其他参数的目标上。
  3. 错误的主要原因在于错误的定位。Loss function同等对待小bbox和大bbox中的错误,但小bbox的错误会对IOU有更大的影响。

推荐阅读
  • ECharts图表绘制函数集
    本文档提供了使用ECharts库创建柱状图、饼图和双折线图的JavaScript函数。每个函数都详细列出了参数说明,并通过示例展示了如何调用这些函数以生成不同类型的图表。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 掌握Mosek矩阵运算,轻松应对优化挑战
    本篇文章继续深入探讨Mosek学习笔记系列,特别是矩阵运算部分,这对于优化问题的解决至关重要。通过本文,您将了解到如何高效地使用Mosek进行矩阵初始化、线性代数运算及约束域的设定。 ... [详细]
  • 本文介绍了如何在MATLAB中实现单变量线性回归,这是基于Coursera上Andrew Ng教授的机器学习课程中的一个实践项目。文章详细讲解了从数据可视化到模型训练的每一个步骤。 ... [详细]
  • 开发笔记:Python:GUI之tkinter学习笔记1控件的介绍及使用
    开发笔记:Python:GUI之tkinter学习笔记1控件的介绍及使用 ... [详细]
  • 本文基于《GPU编程与CG语言入门》一书的内容,详细介绍了体数据的概念及其在计算机图形学中的应用。文章不仅解释了体数据的基本概念,还探讨了体数据的来源及专业术语。 ... [详细]
  • 本文详细介绍了 KALDI 中 CUDA 矩阵库的使用与功能,包括其如何提高计算效率以及在不同环境下的适应性。 ... [详细]
  • 本文探讨了在JavaScript中如何有效地从服务器控件DropDownList中获取绑定的ID值,而非仅仅是显示的文本值。这对于需要根据用户选择动态处理数据的应用场景非常有用。 ... [详细]
  • KMP算法是一种高效的字符串模式匹配算法,能够在不进行回溯的情况下完成匹配,其时间复杂度为O(m+n),其中m和n分别为文本串和模式串的长度。本文将详细介绍KMP算法的工作原理,并提供C语言实现。 ... [详细]
  • DataList内容详解
    DataList是另一种显示数据控件,它与GridView不同的是,它全部使用模板进行设计,并且DataList的模板是对整行设置 ... [详细]
  • 本文详细探讨了如何在 C# 中使用 Infragistics 组件库解决常见的开发问题,包括工具栏按钮禁用、Grid 中的时间记录及样式设置、以及 Excel 导出功能的实现。 ... [详细]
  • 本文探讨了K近邻(KNN)算法中K值的选择对模型复杂度的影响,通过实验分析不同K值下的模型表现,旨在为KNN算法的应用提供指导。 ... [详细]
  • CUDA 技术旨在通过将大量计算任务分配给 GPU 来加速处理速度,从而节省时间。本文将探讨如何在 Linux 系统中使用 CUDA 查询设备(如显卡)的属性信息,包括但不限于内存分配和代码执行等关键参数。 ... [详细]
  • 拖拉切割直线 ... [详细]
author-avatar
Shaw
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有