前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >亚马逊提出:目标检测训练秘籍(代码已开源)

亚马逊提出:目标检测训练秘籍(代码已开源)

作者头像
Amusi
修改于 2019-12-17 07:17:21
修改于 2019-12-17 07:17:21
1.5K0
举报
文章被收录于专栏:CVerCVer

本文介绍一篇很棒的目标检测训练技巧论文。该论文是由Amazon Web Services 提出,其中作者团队中就有李沐等大神。

简介

《Bag of Freebies for Training Object Detection Neural Networks》

arXiv: https://arxiv.org/abs/1902.04103

github: https://github.com/dmlc/gluon-cv

作者团队:Amazon Web Services

注:2019年02月11日刚出炉的paper

Abstract:目标检测训练与图像分类模型的研究相比,相对缺少普遍性。由于网络结构和优化目标明显更加复杂,因此针对某些检测算法而不是其他检测算法专门设计了各种训练策略和 pipelines。在这项工作中,我们探索了有助于将最先进的目标检测模型的性能提升到一个新水平而不牺牲推理(inference)速度的通用调整。我们的实验表明,这些训练秘籍(freebies)可以在精度上增加5%,因此每个人都应该考虑在一定程度上将这些训练秘籍应用于目标检测训练中。

正文

主要贡献

1)我们是第一个系统地评估各种目标检测 pipelines 中应用的各种训练启发式方法,为未来的研究提供了有价值的实践指导。

2)我们提出了一种用于训练目标检测网络的 visually coherent image mixup 方法,该方法被证明在提高模型通用能力方面非常有效。

3)在不改变网络结构和损失函数的情况下,基于现有模型,我们 achieved up to 5% out of 30% absolute average precision。

4)我们扩展了目标检测数据增广领域的研究深度,显著增强了模型泛化能力,有助于减少过度拟合问题。实验还揭示了可以在不同网络结构中一致地提高目标检测性能的良好技术。

所有相关代码都是开源的,模型的预训练权重可在GluonCV工具包中获得。

GluonCV: https://github.com/dmlc/gluon-cv

具体创新点

1. Visually Coherent Image Mixup for Object Detection

这个创新点是受前段时间很出名的用于图像分类的数据增广论文:《mixup: Beyond empirical risk minimization》(ICLR 2018) 启发。用于图像分类的mixup方法如下:

用于目标检测的方法如下:

注意mixup中最重要的超参数就是α 和 β ,不同的值对结果(mAP)会有很大影响,结果如下所示:

Effect of various mix-up approaches

2. Classification Head Label Smoothing

这个创新点是受《Rethinking the inception architecture for computer vision》论文启发。

3. Data Pre-processing

  • 随机几何变换。包括随机裁剪(带约束),随机扩展,随机水平翻转和随机缩放(随机插值)。
  • 随机颜色抖动(jittering),包括亮度,色调,饱和度和对比度。

4. Training Scheduler Revamping

  • the step schedule
  • cosine learning rate adjustment
  • Warm up learning rate

Visualization of learning rate scheduling with warm-up

enabled for YOLOv3 training on Pascal VOC

5. Synchronized Batch Normalization

做了大量实验,调研 Synchronized Batch Normalization 对 YOLOv3的实验影响

注:有卡任性,哈哈

6. Random shapes training for single-stage object detection networks

为了适应内存限制并允许更简单的批处理,许多 single-stage 目标检测网络采用固定形状进行训练。本论文中,将一小批N个训练图像的大小调整为Nx3xHxW,其中H和W是D = randint(1; k)的multipliers。例如,使用H = W ∈ {320; 352; 384; 416; 448; 480; 512; 544; 576; 608} 用于YOLOv3训练。

实验结果

论文中使用 YOLOv3 和 Faster R-CNN 作为实验的目标检测框架。

YOLOv3 改进实验结果(在VOC数据集上)

Training Refinements on YOLOv3, evaluated at 416×416

on Pascal VOC 2007 test set

Faster R-CNN 改进实验结果(在VOC数据集上)

Training Refinements on Faster-RCNN, evaluated at 600 × 1000 on Pascal VOC 2007 test set

注:从实验结果来看,涨点很明显,将这些tricks用在你当前的研究项目中,应该会有很大帮助。

想要了解最新最快最好的论文速递、开源项目和干货资料,欢迎加入CVer学术交流群。涉及图像分类、目标检测、图像分割人脸检测&识别、目标跟踪、GANs、学术竞赛交流、Re-ID、风格迁移、医学影像分析、姿态估计、OCR、SLAM、场景文字检测&识别和超分辨率等方向。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CVer 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
shader实例(二)色彩融合之地球仪
结合前面的UV动画,控制白云的颜色并与地球的材质融合,形成一个带有白云的地球仪效果,原理都写在注释里了。
bering
2019/12/02
7000
如何用R语言绘制生成正态分布图表
现在,我们将图形放在另一个tex文件中。可以将代码嵌入tex文件中,或编译tex文件以获得pdf文件。生成pdf文件。
拓端
2020/09/28
1.6K0
如何用R语言绘制生成正态分布图表
cocos2d-js Shader系列4:Shader、GLProgram在jsb(native、手机)和html5之间的兼容问题。cocos2d-js框架各种坑。
为了让jsb也能顺利跑起滤镜效果,在手机侧折腾了2天,因为每次在真机上运行总要耗那么半分钟,而且偶尔还遇到apk文件无法删除导致运行失败的情况。 这个调试起来,实在让人烦躁加沮丧。 还好,测试上百轮,翻jsb代码+各种猜测实验之后,终于顺利的把前3个系列的例子都通通在Android上跑起来了,也算是把兼容问题调通了。 如下图所示,右上角的小图是多纹理效果,通过扩展cc.Node自行控制绘制顶点实现的;下方的两个小图是普通的cc.Sprite,对其加入了shaderProgram 总结一下,这里有几个坑:
用户1258909
2018/07/03
1.6K0
LaTeX下载安装与使用
LaTeX下载安装与使用 最近要学着用LaTeX,发现一篇比较好的教程,转载一下 ---- 毕业论文中需要使用Ctex来写,但是之前完全没有接触过这个软件,所以就打算记录一下自己的学习过程。本来打算自己写一下相关的一些东西,但是发现大佬们已经写得特别棒了,就把一些大佬写得东西的链接写出来,希望能帮到有需要的小伙伴们。 1.关于 LaTeX和CTeX LaTeX是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使
种花家的奋斗兔
2020/11/13
2.3K0
Games101--Assignment3
http://games-cn.org/forums/topic/frequently-asked-questionskeep-updating/
Enterprise_
2020/07/14
1.6K0
Games101--Assignment3
Silverlight像素着色器文字描边效果-改
        上次的描边着色器有两个问题,导致效果不太理想。现在我们来设法改进这两点。 问题一: 当TextBlock的呈现宽度和高度没有正确赋值时,将无法正确计算像素宽度。         但是,像素宽度其实根本不需要传进去, ShaderEffect 类有一个DdxUvDdyUvRegisterIndex 属性。此属性的msdn是这么解释的: 使用 DdxUvDdyUvRegisterIndex 属性指定包含纹理坐标对屏幕空间的偏导数的着色器寄存器。 例如,如果将 DdxUvDdyUvRegi
用户1687945
2018/05/02
9520
Latex编码错误:inputenc Error: Unicode char ́ (U+0301)
遇到这个报错信息,大概率是因为你的bib文件或者tex正文里出现了这个长得像e的字符:é
marsggbo
2022/10/04
1.8K0
Github上2700多星的Python公式识别项目,超两万多次下载,实力不言而喻
今天分享的这款公式识别神器是由大神Lukas-Blecher开发的,采用Python语言编写,在Github中获得2.7K stars和311次forks,从上线至今,平均每月有超过3500次下载,火爆程度杠杠的。
巴山学长
2023/03/15
1.7K0
Github上2700多星的Python公式识别项目,超两万多次下载,实力不言而喻
python根据ip获取地理位置再查询天气情况调百度语音合成朗读
虽然是造轮子,不过还是挺好玩的。主要的困难点再于编码问题。还有一个是部分使用python2.7的代码和python3.4之间的兼容性问题。代码发布在github中。https://github.com/luyishisi/The_python_code/tree/master/automatic_weather
十四君
2019/11/27
1K0
记录下几种php加密算法
偶然间在别人博客发现的,感觉挺实用就给搬了过来 <?php /** * rc4,解密方法直接再一次加密就是解密 * @param [type] $data 要加密的数据 * @param
用户8099761
2023/05/11
3410
记录下几种php加密算法
【科研工具】Latex中使用bib文件批量生成bbl格式文件
投TMI发现不能直接导入bib生成参考文献,师兄说要bib转成bbl,在overleaf上成功,记录如下 https://blog.csdn.net/u010440456/article/details/111505211
keloli
2021/03/02
3.3K0
【科研工具】Latex中使用bib文件批量生成bbl格式文件
cocos2d-js Shader系列2:在cc.Sprite上使用Shader(黑白、灰度、造旧效果)
在Sprite中使用Shader做特殊的颜色处理比较简单,只需要把Shader程序绑定到Sprite上即可: sprite.shaderProgram = alphaTestShader; Cocos
用户1258909
2018/07/03
9590
Matplotlib 中文用户指南 4.7 使用 LaTeX 渲染文本
Matplotlib 可以选择使用 LaTeX 来管理所有文本布局。 此选项可用于以下后端:
ApacheCN_飞龙
2022/12/01
4.1K0
Matplotlib 中文用户指南 4.7 使用 LaTeX 渲染文本
使用 Future 进行并发编程
在编程的时候,常常会遇到需要并行处理一些代码,最原始的做法就是创建不同的线程进行处理,但是线程之间的同步处理非常麻烦而且容易出错,如果要同时得到几个线程的结果并且通过这些结果进行进一步的计算,则需要共享变量或者进行线程间通信,无论如何都非常难以处理。另外,直接使用线程也使得代码灵活性不高,比如在双核机器上可能只希望使用两个线程执行代码,到了四核机器上就希望最多能有四个线程了。Future 能够提供一个高层的抽象,将计算任务的并发化和计算最终的执行方式分离,使得这类处理更为方便。Future 作为一个代理对象代表一个可能完成也可能未完成的值 1,通过对 future 进行操作,能够获取内部的计算是否已经完成,是否出现异常,计算结果是什么等信息。
zhiruili
2021/08/10
1.1K0
LaTeX入门级教程
LaTeX(LATEX,音译“拉泰赫”)是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
全栈程序员站长
2022/09/13
1.6K0
LaTeX入门级教程
用Three.js建模
在Three.js中,一个可见的物体是由几何体和材料构成的。在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持。
用户5687508
2021/07/17
7.8K0
RegExp正则匹配模式汇总
okaychen
2018/01/05
2.2K0
2019-02-07 java 8 lambda 将& = 等GET的Url参数转换成Json abc=abc&bcd=bcd&def=def
String s = "abc=abc&bcd=bcd&def=def"; Map<String, String> collect = Arrays.stream(s.split("&")) .map(str -> str.split("=")) .collect(Collectors.toMap(x -> x[0], x -> x[1], (u, v) -> {
Albert陈凯
2019/03/04
1.2K0
配置docker的pdflatex环境
Latex在文档撰写方面是不可或缺的工具,尤其是在写文章方面,是必须要用到的文字排版工具。但是latex的环境部署并不是一个特别人性化的操作,尤其是在各种不同的平台上操作是完全不一样的,还经常容易报错。我们可以一个一个的去解决报错问题,但是这需要耗费极大的精力和时间,所以很多人选择了直接在overleaf进行latex的创作。但其实overleaf也有它的缺点,比如免费版本的带宽和速度都比较受限,尤其是在国内的网络,访问速度可谓是”一绝“。因此这里我们介绍一个更加人性化的方案,而且对各大平台的兼容性非常都非常好:使用docker来部署latex环境。
DechinPhy
2021/05/21
8070
ASCIIMathML技术简介~
ASCIIMathML.js是一种将ASCII符号翻译成直观的MathML(HTML版本)的开源JavaScript脚本。
Enjoy233
2019/03/05
1.2K0
ASCIIMathML技术简介~
推荐阅读
相关推荐
shader实例(二)色彩融合之地球仪
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档