Rethinking Training from Scratch for Object Detection

一. 概述

正常训练目标检测的流程分为以下几种:

  • 在imagenet上进行预训练,然后在特定数据集进行tune
  • 直接在数据集上进行从头训练

两种方式各有千秋,前者可以很快收敛(在特定数据集收敛快),但是训练复杂(预训练实际长)。后者直接训练较为容易(尤其在修改模型结构时),但是训练周期较长(比tune阶段长很多)。这篇文章就是解决从头训练的时长问题,从而达到集成两者的优点(夸大其词的说法)。

二. 流程

论文比较简单,这里进行总结如下:

  • 精度和 \(batchsize\) 有关,且在一定范围内,越大越好。
  • 精度和图像的分辨率(大小)有关,且图像越大分辨率越好,图像过小对精度影响较小。
  • 精度和缩放有关,按照分类的缩放进行,不仅提高速度,且精度也比正常缩放效果好。
  • 精度和BN层有关,正相关。

按照上述的总结,论文进行改进的训练如下:

  1. 使用BN层(当前网络基础结构)

  2. Pretrained先用小尺度图像进行训练,\(batchsize\)设置较大

  3. 数据处理部分-->先将图像缩放到 \((H,W)\times(1.0,1.2)\) ,随机RandomCrop-->\((H,W)\),最后进行Padding到 \((h,W)\)

  4. Finetune阶段按照正常训练即可

三. 总结

  1. 有一定使用意义,对于大数据集,直接使用此方法较好。
  2. 对于小的数据集,还是重新训练imagenet比较好
  3. VOC的数据集太小,而且分布较为散乱,这里对比意义不大。
  4. 笔者会在实际数据集上尝试之后进行补充(TODO


Rethinking Training from Scratch for Object Detection的更多相关文章

  1. [Tensorflow] Object Detection API - prepare your training data

    From: TensorFlow Object Detection API This chapter help you to train your own model to identify obje ...

  2. (转)Awesome Object Detection

    Awesome Object Detection 2018-08-10 09:30:40 This blog is copied from: https://github.com/amusi/awes ...

  3. 【尺度不变性】An Analysis of Scale Invariance in Object Detection – SNIP 论文解读

    前言 本来想按照惯例来一个overview的,结果看到1篇十分不错而且详细的介绍,因此copy过来,自己在前面大体总结一下论文,细节不做赘述,引用文章讲得很详细,另外这篇paper引用十分详细,如果做 ...

  4. 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks

    R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...

  5. object detection 总结

    1.基础 自己对于YOLOV1,2,3都比较熟悉. RCNN也比较熟悉.这个是自己目前掌握的基础2.第一步 看一下2019年的井喷的anchor free的网络3.第二步 看一下以往,引用多的网路4. ...

  6. 论文阅读之 DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation

    DECOLOR: Moving Object Detection by Detecting Contiguous Outliers in the Low-Rank Representation Xia ...

  7. 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器

    上次使用Google ML Engine跑了一下TensorFlow Object Detection API中的Quick Start(http://www.cnblogs.com/take-fet ...

  8. [Arxiv1706] Few-Example Object Detection with Model Communication 论文笔记

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #042eee } p. ...

  9. 论文学习-深度学习目标检测2014至201901综述-Deep Learning for Generic Object Detection A Survey

    目录 写在前面 目标检测任务与挑战 目标检测方法汇总 基础子问题 基于DCNN的特征表示 主干网络(network backbone) Methods For Improving Object Rep ...

随机推荐

  1. (2) arm 指令条件码

    条件码助记符 标志 含义 EQ Z=1 相等 NE Z=0 不相等 CS/HS C=1 无符号数大于或等于 CC/LO C=0 无符号数小于 MI N=1 负数 PL N=0 正数或0 VS V=1 ...

  2. [CSP-J2019 江西] 道路拆除 题解

    发现大家都是将路径拆成三条链来做,这里提供一种暴力的乱搞方法. 思路 看到这一道题的第一想法就是跑最短路.可是仔细想想就发现,由于重合的路径只算一遍,所以导致两条最短路不一定是最优解. 接着,看到数据 ...

  3. 【DB宝51】CentOS7修改网卡名称

    目录 1.修改/etc/default/grub文件 2.修改/etc/udev/rules.d/70-persistent-net.rules文件 3.修改网卡配置文件 4.重启服务器 需求:原来的 ...

  4. 改善c++程序的150个建议(读后总结)-------12-18

    12.优先使用前置操作符 #include <iostream> using namespace std; class A { private: int num; public: A op ...

  5. 记一次 .NET 车联网云端服务 CPU爆高分析

    一:背景 1. 讲故事 前几天有位朋友wx求助,它的程序CPU经常飙满,没找到原因,希望帮忙看一下. 这些天连续接到几个cpu爆高的dump,都看烦了,希望后面再来几个其他方面的dump,从沟通上看, ...

  6. 关于Annotation注解的理解

    在编Java程序的时候,我们经常会碰到annotation.比如:@Override 我们在子类继承父类的时候,会经常用到这个annotation.它告诉编译器这个方法是override父类的方法的. ...

  7. Node.js-Events 模块总结与源码解析

    Events 描述 大多数 Node.js API 采用异步事件驱动架构,这些对象都是EventEmitter类的实例(Emitter),通过触发命名事件(eventName or type)来调用函 ...

  8. 下载最新版本Fiddler

    下载最新版本Fiddler https://www.telerik.com/download/fiddler/fiddler-everywhere-windows

  9. 保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java、Golang两种客户端教学Case)

    保姆级别的RabbitMQ教程!一看就懂!(有安装教程,送安装需要的依赖包,送Java.Golang两种客户端教学Case)   目录 什么是AMQP 和 JMS? 常见的MQ产品 安装RabbitM ...

  10. 034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法

    Python的其他方法 1 __str__方法 触发时机: 使用print(对象)或者str(对象)的时候触发 功能: 查看对象信息 参数: 一个self接受当前对象 返回值: 必须返回字符串类型 基 ...