YOLO9000:Better, Faster, Stronger
CVPR 2017, Best Paper Honorable Mention
https://pjreddie.com/darknet/yolo/

本文是对 YOLO v1 的改进。

2 Better
YOLO v1 主要问题有两个:1)localization error 较高;2)relatively low recall
主要的改进细节如下表所示:

Batch Normalization: 主要作用是加速网络的收敛,这样就不再需要其他形式的 regularization,我们在 YOLO 所有的卷积层上面使用 Batch Normalization ,有了 Batch Normalization 我们就不需要使用 dropout了。提升了 2% mAP

High Resolution Classifier: 目前主要的检测方法都使用在 ImageNet 数据库上预训练的分类器。从 AlexNet 开始,大部分分类器的输入图像尺寸都小于 256 × 256。 YOLO v1 的训练策略是首先在 224 × 224 上面训练,然后在 448 尺寸上做检测训练。这意味着网络需要适应不同尺寸的检测。

对于 YOLO v2 我们首先在 448×448尺寸的 ImageNet 数据库训练 10个 epochs,然后在检测数据库上微调。 这个高分辨率分类网络提升了 近 4% mAP

Convolutional With Anchor Boxes
YOLO v1 直接在卷积特征图上使用全连接层进行矩形框坐标的预测。 Faster R-CNN 没有直接预测坐标,使用手工先验知识来预测矩形框,这里的 hand-picked priors 就是若干 Anchor Boxes,这些 boxes 形状大小的选择依赖于待检测物体的先验知识,手工设计的。Faster R-CNN 中的 RPN 只使用卷积层来预测 anchor boxes 的偏差和置信度。因为预测层是卷积的,所以RPN 在特征图每个位置预测矩形框偏差。 预测偏差相对于坐标简化了网络学习的难度。

在 YOLO v2中,我们去掉了 YOLO v1 中的全连接层,使用 anchor boxes 来预测矩形框。首先我们去除了一个池化层,这样增加了特征图尺寸大小。我们也将图像的输入尺寸从 448×448 变为 416×416,这么做的目的是使得最终的特征图尺寸为奇数,检测位置的唯一性。

当我们使用了 anchor boxes 时,我们同时也将空位置从类别预测机制中分离出来,我们对每个 anchor boxe 预测类别和 objectness。 和 YOLO v1 一样,objectness预测仍然是 预测 the IOU of the ground truth and the proposed box, 类别预测是假定存在一个物体时,该物体的类别概率。

使用 anchor boxes 我们的精度有所下降,但是 recall 提升较大。 YOLO v1( 69.5 mAP with a recall of 81%) 我们对每个图像只预测了98 个矩形框,在 YOLO v2(69.2 mAP with a recall of 88%) 中使用了 anchor boxes 后 我们预测的矩形框数超过 1000个。recall 的提升意味着我们的模型有更大的改进空间。

Dimension Clusters 在 YOLO v2 使用 anchor boxes 我们面临两个问题。第一个问题就是 box dimensions ,即使用多少个 anchor boxes 的问题?在 Faster R-CNN 中这个是手工挑选的。如果我们能够根据先验知识挑选更好的数量,那么网络应该更容易学习。

这里我们没有手工挑选,而是在训练的矩形框集合里使用 k-means 聚类方法自动找到好的先验知识 good priors

We choose k = 5 as a good tradeoff between model complexity and high recall…

Direct location prediction 使用 anchor boxes 面临的第二个问题是模型的稳定性,尤其是在训练迭代的早期。
造成这个原因是位置预测公式没有约束 This formulation is unconstrained so any anchor box can end up at any point in the image, regardless of what locationpredictedthebox

Since we constrain the location prediction the parametrization is easier to learn, making the networkmore stable

Fine-Grained Features : 针对小目标检测,这里我们采用了另一个方式来利用 较大尺寸的特征图,simply adding a passthrough layer that brings features from an earlier layer at 26 × 26 resolution

Multi-Scale Training: 多尺度输入图像的训练可以提升网络的性能

3 Faster 为了提高网络的检测速度,我们从新设计了一个 Darknet-19

4 Stronger 这里主要是充分利用现有的分类数据库来提升检测网络的检测类别,采用 WordTree 来增加物体检测类别

重温目标检测--YOLO v2 -- YOLO9000相关推荐

  1. 重温目标检测--YOLO v3

    YOLOv3: An Incremental Improvement https://pjreddie.com/yolo/ 本文是对 YOLO系列的进一步完善. 先上和其他检测算法的 COCO 对比结 ...

  2. 重温目标检测--YOLO v1

    You Only Look Once:Unified, Real-Time Object Detection CVPR2016 https://pjreddie.com/darknet/yolo/ Y ...

  3. yolov3网络结构图_目标检测——YOLO V3简介及代码注释(附github代码——已跑通)...

    GitHub: liuyuemaicha/PyTorch-YOLOv3​github.com 注:该代码fork自eriklindernoren/PyTorch-YOLOv3,该代码相比master分 ...

  4. 目标检测YOLO系列------YOLO简介

    目标检测YOLO系列------YOLO简介 1.为什么会出现YOLO算法 2.YOLO算法会逐渐成为目标检测的主流吗     YOLO以及各种变体已经广泛应用于目标检测算法所涉及到的方方面面,为了梳 ...

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

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

  6. 目标检测 YOLO系列算法

    文章目录 1. YOLO算法 1.1 Yolo算法思想 1.2 Yolo的网络结构 1.2.1 网络输入 1.2.2 网络输出 1.7X7网格 2x30维向量 1.3 Yolo模型的训练 1.3.1训 ...

  7. 目标检测YOLO系列算法的进化史

    本文中将简单总结YOLO的发展历史,YOLO是计算机视觉领域中著名的模型之一,与其他的分类方法,例如R-CNN不同,R-CNN将检测结果分为两部分求解:物体类别(分类问题),物体位置即bounding ...

  8. 目标检测 YOLO 系列模型

    前言 YOLO (You Only Look Once) 系列模型追求实时目标检测,因此会在一定程度上牺牲精度,以实现更高的检测速度. 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊 ...

  9. 目标检测——YOLO系列(一网打尽)

    YOLO系列算法 1. 基本概念 2. 目标检测算法分类及流程 2.1 算法分类 2.2 基本流程 2.3 Two-stage与One-stage基本流程比较 3. YOLO系列目标检测模型 3.1 ...

最新文章

  1. caffe学习(四):py-faster-rcnn配置,运行测试程序(Ubuntu)
  2. pandas的自带数据集_盘点 | Python自带的那些数据集
  3. 用dwz+springmvc出现这个问题Http status: 200 OK ajaxOptions: parsererror thrownError
  4. 098 Validate Binary Search Tree 验证二叉搜索树
  5. OpenCASCADE绘制测试线束:几何命令之曲线创建
  6. # 模糊图片边缘_PS大神给你变个魔术,如何巧用PS把模糊的照片变清晰
  7. Winform下的Combox根据值来选中项
  8. 10款微信公众平台相关的开源软件(转)
  9. Spark SQL(七)之基于用户的相似度公式
  10. IntelliJ IDEA 2019.1 windows找不到文件‘chrome’
  11. BootStrap的入门和响应式的使用
  12. Kafka+Log4j实现日志集中管理
  13. 品高工作流 - 基于InfoPath的自定义表单设计教程
  14. 【知识索引】【汇编语言】
  15. SpringBoot+FreeMarker实现单据打印功能
  16. 麦咖啡服务器怎么进系统,麦咖啡(McAfee)系统托盘图标不见了怎么办?
  17. Python解决“鸡兔同笼”问题
  18. Centos7安装ElasticSearch6.4
  19. 单片机编程入门学习 这几问你能回答吗?
  20. qgis获取几何图形中心点

热门文章

  1. 在线作图|如何绘制一张好看的点棒图
  2. 对硕士而言,编制和稳定究竟有多重要?
  3. Horticulture Research:植物界的“投之以桃,报之以李”的合作共赢典范
  4. 223.主成分分析PCA
  5. 你想要的生物信息知识全在这——生信宝典文章目录
  6. 扩增子统计绘图6韦恩图:比较组间共有和特有OTU或分类单元
  7. python使用matplotlib可视化使用subplots子图、subplots绘制子图、并为可视化的每个子图添加标题(title for each subplots)
  8. python使用matplotlib可视化线图(line plot)、为可视化图像添加双Y轴、分别可视化不同范围的数据(double y axis in matplotlib)
  9. R语言对dataframe进行行数据筛选(row selection)多种方案:使用R原生方法、data.table、dplyr等方案
  10. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(输出多个分组、色彩配置、添加数据点)实战