【BoF】《Bag of Freebies for Training Object Detection Neural Networks》

news2024/9/20 22:56:18

在这里插入图片描述

arXiv-2019

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


文章目录

  • 1 Background and Motivation
  • 2 Related Work
  • 3 Advantages / Contributions
  • 4 Method
    • 4.1 Visually Coherent Image Mixup for Object Detection
    • 4.2 Classification Head Label Smoothing
    • 4.3 Data Preprocessing
    • 4.4 Training Schedule Revamping
    • 4.5 Synchronized Batch Normalization
    • 4.6 Random shapes training for singlestage object detection networks
  • 5 Experiments
    • 5.1 Datasets and Metrics
    • 5.2 Incremental trick evaluation on Pascal VOC
    • 5.3 Bag of Freebies on MS COCO
    • 5.4 Impact of mixup on different phases of training detection network
  • 6 Conclusion(own) / Future work


1 Background and Motivation

在这里插入图片描述

分类任务出了篇 【BoT】《Bag of Tricks for Image Classification with Convolutional Neural Networks》(CVPR-2019),目标检测任务比图像分类任务复杂,作者基于目标检测任务,来借鉴整合了些 bag of freebies,inference free,有明显涨点

2 Related Work

  • Scattering tricks from Image Classification

    • Learning rate warmup
    • Label smoothing
    • mixup
    • Cosine annealing strategy
  • Deep Object Detection Pipelines

    • one stage
    • two stage

3 Advantages / Contributions

整理了一些目标检测的 bag of freebies(proposed a visually coherent image mixup methods),使 yolov3 在 coco 数据集上提了 5 个点

4 Method

4.1 Visually Coherent Image Mixup for Object Detection

原版的 【Mixup】《Mixup:Beyond Empirical Risk Minimization》(ICLR-2018)在分类任务中的应用

在这里插入图片描述

在这里插入图片描述
beta 分布取得是 α = β = 0.5 \alpha=\beta=0.5 α=β=0.5,混合比例比较极端,基本非 A 即 B

beta 分布的这种分布应用在目标检测任务中的结果如下

在这里插入图片描述

贴在画面中的大象很容易漏检

作者把 mixup 应用在目标检测的时候,把 beta 分布的参数改为了 α = β = 1.5 \alpha=\beta=1.5 α=β=1.5

混合的更充分,作者对这种混合形式的语言描述如下

similar to the transition frames commonly observed when we are watching low FPS movies or surveillance videos.

混合效果如下

在这里插入图片描述

networks are encouraged to observe unusual crowded patches

4.2 Classification Head Label Smoothing

正常的 label smoothing,用在分类分支上,来自 【Inception-v3】《Rethinking the Inception Architecture for Computer Vision》(CVPR-2016)

在这里插入图片描述

标签的 one-shot 的分布(缺点 This encourages the model to be too confident)改为上述公式分布

4.3 Data Preprocessing

(1)Random geometry transformation

  • random cropping (with constraints)

  • random expansion

  • random horizontal flip

  • random resize (with random interpolation)

two-stage 的目标检测相比 one stage,多了一个 roi pooling 以及之后的过程,所以 two-stage 的时候,not use random cropping techniques during data augmentation.

(2)Random color jittering

  • brightness

  • hue

  • saturation

  • contrast

4.4 Training Schedule Revamping

传统 step learning rate 的缺点

Step schedule has sharp learning rate transition which may cause the optimizer to re-stabilize the learning momentum in the next few iterations.

作者采用余弦学习率(the higher frequency of learning rate adjustment) + warm up(avoid gradient explosion during the initial training iterations.)

在这里插入图片描述

4.5 Synchronized Batch Normalization

跨机器 synchronized batch normalization in object detection

4.6 Random shapes training for singlestage object detection networks

H = W = { 320 ; 352 ; 384 ; 416 ; 448 ; 480 ; 512 ; 544 ; 576 ; 608 } H =W = \{320; 352; 384; 416; 448; 480; 512; 544; 576; 608\} H=W={320;352;384;416;448;480;512;544;576;608}

5 Experiments

  • yolov3

  • faster rcnn

5.1 Datasets and Metrics

  • PASCAL VOC
    Pascal VOC 2007 trainval and 2012 trainval for training and 2007 test set for validation.

  • COCO

5.2 Incremental trick evaluation on Pascal VOC

mixup 改进提升点

在这里插入图片描述
在这里插入图片描述
看看其他 bag of freebies 的提升情况

在这里插入图片描述

可以看到 one-stage 对 data augmentation 更依赖

two-stage sampling based proposals can effectively replace random cropping,对 data augmentation 的依赖更少

5.3 Bag of Freebies on MS COCO

在这里插入图片描述

对 yolov3 的提升还是很猛的

在这里插入图片描述

全类别,基本都是提升的红色

5.4 Impact of mixup on different phases of training detection network

mix up 有两个地方涉及到

  1. pre-training classification network backbone with traditional mixup

  2. training detection networks using proposed visually coherent image mixup for object detection
    在这里插入图片描述
    预训练和训练的时候都用 mix up 提升最明显

作者的解释

We expect by applying mixup in both training phases, shallow layers of networks are receiving statistically similar inputs, resulting in less perturbations for low level filters.

6 Conclusion(own) / Future work

  • Rosenfeld A, Zemel R, Tsotsos J K. The elephant in the room[J]. arXiv preprint arXiv:1808.03305, 2018.
    在这里插入图片描述
  • a large amount of anchor size(up to 30k) is effectively contributing to batch size implicitly

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2145529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用ssm实现理财通的设计与实现

TOC ssm638理财通的设计与实现jsp 第一章 绪论 1.1 选题背景 目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。计算机的发展&am…

功能测试干了三年,快要废了。。。

8年前刚进入到IT行业,到现在学习软件测试的人越来越多,所以在这我想结合自己的一些看法给大家提一些建议。 最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业,导致软件测试已经饱和了,想要获得更好的待…

Linux提升篇-服务器BIOS介绍

目录 前言BIOS 概述常用配置进入 BIOS 界面查询 iBMCIP 地址设置 BIOS 系统日期和时间设置服务器启动方式 前言 以下bios介绍适用于大部分2020年之后的服务器,包括Huawei系的鲲鹏CPU架构服务器,X86系也可参考,大部分配置项是一致的。 BIOS …

【Java】线程的同步——synchronized、ReentrantLock

对同一个线程,能否在获取到锁以后继续获取同一个锁? 答案是肯定可以获取同一个锁。因为JVM 允许同一个线程重复获取同一个锁,这种能被同一个线程反复获取的锁,就叫做可重入锁。 一、synchronized同步锁 在 Java中synchronized 同步锁…

HbuilderX自定义快捷键

打开快捷键设置:工具->自定义快捷键 复制想要修改的快捷键设置 修改后记得保存 可以通过该方法找到对应功能的系统默认快捷键

[数据集][目标检测]智慧养殖场肉鸡健康状态检测数据集VOC+YOLO格式4657张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4657 标注数量(xml文件个数):4657 标注数量(txt文件个数):4657 标注…

用ASR PRO离线语音芯片和月饼盒做一个会跑会跳会说话的机器狗

中秋节刚过,大家月饼盒应该还有,不要扔,可以做点小玩意。 机器狗的创意来自B站石桥北的视频,他使用了一块ESP32芯片和打印件加四个舵机实现,应该说是比较复杂的,需要有3D打印机打印外壳,还得会…

Hadoop的一些高频面试题 --- hdfs、mapreduce以及yarn的面试题

文章目录 一、HDFS1、Hadoop的三大组成部分2、本地模式和伪分布模式的区别是什么3、什么是HDFS4、如何单独启动namenode5、hdfs的写入流程6、hdfs的读取流程7、hdfs为什么不能存储小文件8、secondaryNameNode的运行原理9、hadoop集群启动后离开安全模式的条件10、hdfs集群的开机…

TortoiseSVN图标不显示的解决

解决办法一:修改svn软件的图标设置 1、选中一个文件夹或在桌面空白处,右击进入svn的setting 2、进入setting->Icon Overlays,Status cache选择Default或shell,然后点击应用 3、查看文件,图标可以正常显示 解决办法…

ubuntu下载安装部署docker,ubuntu下载最新的docker

1.#如果Ubuntu自带的Docker版本太低,我们需要卸载旧版本并安装新的 sudo apt-get remove docker docker-engine docker.io containerd runc2.# 备份原有软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak3.选择合适的镜像源 # 或者使用清华大学sudo…

利用WPF绘制轮廓并保存为图片

1.前言 WPF作为显示工具也挺好用,用C#开发应用软件会比较省力,当然也有其缺点,如在对效率要求较高的情况下有性能问题,本文记录用WPF绘制轮廓并保存为图片相关内容。 显示效果也还不错,满足调试使用了&#xf…

变电站缺陷数据集8307张,带xml标注和txt标注,可以直接用于yolo训练

变电站缺陷数据集8307张, 带xml标注和txt标注,可以直接用于yolo训练,赠附五个脚本 变电站缺陷数据集 数据集概述 变电站缺陷数据集是一个专门针对变电站设备和环境缺陷检测的图像数据集。该数据集包含了8307张经过标注的图像,旨…

Maven和Springboot初识

(一)Maven Maven是一个项目管理工具,通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具 (可以通过pom.xml文件的配置来获取jar包,而不用手动添加) Maven可以提高我们的开发效率减少…

Mistral AI 又又又开源了闭源企业级模型——Mistral-Small-Instruct-2409

就在不久前,Mistral 公司在开源了 Pixtral 12B 视觉多模态大模型之后,又开源了自家的企业级小型模型 Mistral-Small-Instruct-2409 (22B),这是 Mistral AI 最新的企业级小型模型,是 Mistral Small v24.02 的…

C++源代码封装成dll动态链接库,并在WPF项目中使用的步骤说明

文章目录 1. 创建并生成C的DLL(C动态链接库)(1)新建项目-->开发语言选定C,在搜索栏搜索“动态链接库”-->配置项目名称和路径-->添加类,此处命名为My_C_Class(2)实现类的功能&#xff…

Elasticsearch 下载安装及使用总结

官网文档地址:Elasticsearch Guide [8.13] 官网下载地址:Download Elasticsearch 1. 下载安装 1、下载对应系统的版本 这里下载的 Elasticsearch 版本为 8.13.2,Elasticsearch 依赖 Java,因此要先在服务器上安装 JDK&#xff…

SOLIDWORKS® 2025 新增功能 - SIMULATION

SOLIDWORKS Simulation 1常规弹簧连接 • 通过定义仅轴向、各向同性或正交各向异性弹簧, 在曲面之间轻松创建自定义弹簧连接。 • 通过添加自定义合规性提高仿真性能和精度。 优点 利用新的弹簧连接功能, 实现更简单、更逼真的仿真 设置。 2增强了…

Unity 百度AI实现无绿幕拍照抠像功能(详解版)

目录 一、前言 1.抠像效果 2.去哪找百度ai抠图 3.基础流程跳过 二、获取AccessToken 1.什么是Token 2.为什么要获取Token 3.如何获取token 4.解析json 5.完整代码 三、抠像 1.准备地址 2.建立链接,和基本配置 3.图片格式转换 4.开始上传 5.获取回复…

SpringBoot 整合docker,执行容器服务

我使用以下文章的镜像作为演示镜像,读者有自己的镜像可以使用自己的 TencentARC/GFPGAN人脸恢复Ubuntu-22.04搭建(附带Docker镜像)_tencentarc gfpgan-CSDN博客 1. 封装springboot 启动docker容器的方法 public String runDockerCommand(String[] command) {StringBuilder res…

代码随想录Day 49|leetcode题目:42.接雨水、84.柱状图中最大矩形

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一:42. 接雨水解题思路:暴力解法双指针优化思路:单调栈解法单调栈处理逻辑 题目二: 84.柱状图中最大的矩形解题思路:暴力解法双…