前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读: YOLOv2

论文阅读: YOLOv2

作者头像
JNingWei
发布2018-09-27 14:53:09
1K0
发布2018-09-27 14:53:09
举报
文章被收录于专栏:JNing的专栏JNing的专栏

Introduction

本文获得了CVPR 2017 Best Paper Honorable Mention:

这里写图片描述
这里写图片描述

行文思路自成一体,按照 BetterFasterStronger 三个章节来分别介绍其贡献。

Better

概括来说就是一堆的小trick。

  1. 引入Batch Normalization,涨点2。
  2. 训练分类的阶段,每10个epoch就在448×448448×448448\times 448的高像素图片上fine-tune一下,使之能更好地适应高像素的输入图像。该操作对mAP涨点4。
  3. 抛弃后段的FC层,改用anchor机制来预测bbox。该操作虽然使得mAP从69.5降至69.2,但是召回率从81暴涨至88。
  4. Dimension Clusters (维度聚类) 。经过对VOC数据集和COCO数据集中bbox的k-means聚类分析,将anchor机制中原本惯用的 9 anchor 法则 删减为仅保留最常出现的 5 anchor 。其中,狭长型的anchor是被保留的主体:
这里写图片描述
这里写图片描述

该Cluster IoU操作将anchor数量砍削了将近一半,但对object bbox的平均IoU值却只从61.0降至60.9:

这里写图片描述
这里写图片描述
  1. 新的 encode/decode机制 —— Direct location prediction (直接位置预测) 。号称用新的位置预测算法来缩小参数范围,使之更容易学习,也使得网络更加稳定:
这里写图片描述
这里写图片描述

然而现在看来并没有什么影响力,大家主流用的还是Faster R-CNN中设计好的那一套encode/decode机制。

  1. 在 26×2626×2626\times 26 size层设置了通道层接至 13×1313×1313\times 13 size层。号称保留了更多的位置信息,从而提升细粒度分类的能力。本质上即为single-scale上处理two-scale的feature map信息。该操作涨点1。
  2. Multi-Scale Training (多尺度训练) 。每10个batch就在 320,352,...,608(均为32整数倍)320,352,...,608(均为32整数倍){320, 352, ..., 608} (均为32整数倍) 中随机选择一个新的input size,该操作据说能锻炼对多尺度input的预测能力。个人感觉这就是集成学习。

Faster

YOLOV1中basemodel选择GoogleNet而非VGGNet,之后的SSD却采用了VGGNet,并大获成功。YOLOv2坐不住了,想要改basemodel。 但是和YOLOv1的原因一样,因为嫌弃VGGNet计算量太大(224×224224×224224\times 224的图像需要计算30.69 billion次浮点运算),于是自己整了个DarkNet-19出来:

这里写图片描述
这里写图片描述

该DarkNet-19仅需5.58 billion次浮点运算,却依然在ImageNet上保持高精度。

Stronger

softmax嵌套softmax,从而实现分级语法树:

这里写图片描述
这里写图片描述

带有分级语法树的YOLOv2,进化为了YOLO9000:

这里写图片描述
这里写图片描述

这是 第一个large-scale detector ,虽然细分类的精度并不高。

Innovation

自己发明的一系列骚操作(Dimension Clusters、Direct location prediction、Multi-Scale Training、DarkNet-19)再加上博采众长,共同构成了此篇神作。

Result

在mAP和inference speed上都号称取得了state-of-the-art (实际上差得很):

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

效果图:

这里写图片描述
这里写图片描述

Thinking

  • YOLOv2中提出了很多trick,贡献很饱满;
  • YOLOv2的加强版——YOLO-9000应该是最早开始对 large-scale detection 领域进行拓荒的了。但是scale变large的代价是accuracy变差,所以YOLO-9000无法实际运用于生产中。其后的R-FCN-3000则在该领域继续开拓,并取得了较好的accuracy。

[1] YOLO9000: Better, Faster, Stronger [2] 详解YOLO 2与YOLO 9000目标检测系统 | 分享总结 [3] YOLO升级版:YOLOv2和YOLO9000解析 [4] 解读Yolo2和Yolo9000目标检测系统 [5] Object Detection – 论文YOLO2(YOLO9000:Better, Faster, Stronger)解读

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年04月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
    • Better
      • Faster
        • Stronger
        • Innovation
        • Result
        • Thinking
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档