【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

2023-11-19

label assignment是指,在训练过程中如何将某个prediction指定给某个GT,用于计算损失,训练网络。

对于上一篇文章,他们首先用one-to-one label assignment替换了one-to-many label assignment,并且不用hand-craft label assignment,而是提出综合考虑位置、类别置信度和IoU三个指标计算得分,取得分最高的POTO。在这基础上,提出3DMF,提高局部卷积的差异,再进一步提高anchor之间的差异。最后,添加一个类似ATSS的one-to-many辅助损失,来学习特征。


Abstract

  • 对于one-stage detectors来说,label assignment时缺少classification cost,是去掉NMS的主要障碍。
  • 当前one-stage目标检测器仅通过location cost指派标签,例如IoU和点距离。因为缺少classification cost,前向过程中,会产生大量有着高置信度分数的bbox,这就是要使用NMS的原因。
  • 本文提出Minimum Cost Assignment,同时包含classificatio和location cost。
  • 在COCO上测试,OneNet在图片分辨率为512的情况下,取得35.0 AP/80 FPS(ResNet-50)和37.7 AP/50 FPS(ResNet-101)的结果。

 

Introductions

sparse candidates和multiple-stage refinement detectors(DETR、Deformable DETR和Sparse R-CNN),他们无需NMS,直接输出检测结果。然而,对于dense candidates和One-stage refinement检测器,还有更大的发展潜力。

总的来说,本文优点如下:

  • 整个网络是全卷积,并且端到端训练的。没有RoI和注意力交互。
  • Label assignment是依靠分类和定位代价,而不是手工设计的启发式规则或复杂的二分图匹配。
  • 没有后处理过程,例如NMS和max-pooling,使得模型整体高效。
  • 仅通过定位代价会导致无法选出最优的anchor(它的类别标签可能有误)。

 

Label Assignment

Ccls是focal loss,除了选中的正样本,其余都视为负样本。

 

OneNet

推理:最后输出top-k (例如:100)的box

Multi-head Training(可选)

(1)Cascading heads

(2)Weight-sharing:分类和回归的卷积在每个头中共享权重

(3)Large Learning rate,当使用(1)和(2)时,可以使用大学习率。

(4)Single-head Inference:仅使用first stage去输出最终结果,不使用其他stages。这种策略相较于multiple-head,结果仅稍微掉了一些。这使得降低计算量,但不至于损失太多正确率。

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【目标检测】OneNet: Towards End-to-End One-Stage Object Detection 的相关文章

随机推荐

  • 有时间再看decode详解

    Oracle 中 decode 函数用法 含义解释 decode 条件 值1 返回值1 值2 返回值2 值n 返回值n 缺省值 该函数的含义如下 IF 条件 值1 THEN RETURN 翻译值1 ELSIF 条件 值2 THEN RETU
  • 冲刺春招-精选笔面试 66 题大通关 day6

    day6题目 33 搜索旋转排序数组 54 螺旋矩阵 bytedance 006 夏季特惠 学习计划链接 冲刺春招 精选笔面试 66 题大通关 今日知识点 二分 模拟 01背包 难度为中等 中等 字节 简单 33 搜索旋转排序数组 整数数组
  • ARouter(二)源码解析

    前言 这一篇我们来具体看一下ARouter的实现原理 如果你之前没有接触过ARouter 可以先阅读上一篇 Android 从零开始打造自己的深度链接库 一 ARouter简介 废话不多 我们赶紧分析源码 正文 首先我们从github下载最
  • 中文信息处理实验8——基于逻辑斯蒂回归模型的文本分类

    目录 实验目的 实验要求 实验内容及原理 参考代码 实验结果 实验目的 加深对汉语文本信息处理基础理论及方法的认识和了解 锻炼和提高分析问题 解决问题的能力 通过对具体项目的任务分析 数据准备 算法设计和编码实现以及测试评价几个环节的练习
  • win10系统C盘出现感叹号及加密图标解除

    近期遇到Win10系统C盘图标加密情况 经过搜索查找最终解决 并对操作进行简单记录 1 以管理员身份打开命令行窗口 2 输入 manage bde off c 3 相关指令 加密指令 manage bde on c 查看状态指令 manag
  • 使用定时框架Quartz.net时,发布到服务器后无法正常执行定时任务

    问题描述 使用Quartz net每天定时执行某个任务时 未能正常执行 每次在本地测试时 设置了短的时间间隔 都能正常执行任务 但是挂到服务器后 设置定时执行时间为几个小时 却不能正常执行我们要执行的操作 原 因 IIS的程序池有一个闲置超
  • _Linux网络数据包的揭秘以及常见的调优方式总结

    作为业务 SRE 我们所运维的业务 常常以 Linux TCP UDP daemon 的形式对外提供服务 SRE 需要对服务器数据包的接收和发送路径有全面的了解 以方便在服务异常时能快速定位问题 以 tcp 协议为例 本文将对 Linux
  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Java变量与常量书写方式与规范

    变量 变量是什么 变量是可以变化的量 Java是一种强类型语言 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元 其要素包括变量名 变量类型和作用域 type varName value varName value 数据类型
  • 链表指定区间反转

    题目 反转从位置 m 到 n 的链表 请使用一趟扫描完成反转 说明 1 m n 链表长度 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL m 2 n 4 输出 1 gt 4 gt 3 gt 2 gt 5 gt NULL 头
  • java公钥签名,ping++ java验签(签名,公钥,charge)怎么获取

    packageexample importjava io FileInputStream importjava security InvalidKeyException importjava security KeyFactory impo
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • vue项目打包部署到linux tomcat服务器,解决一刷新就报错404问题

    1 部署到服务器前 更改webpack配置 修改index js中以下配置 2 运行npm run build 或者cnpm run build命令 打包完成后 在项目的根目录dist文件下生成了如下文件 3 tomcat的webapps创
  • 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    问题解决 使用串口调试助手发送控制字符 协议指令 参考文章 1 问题解决 使用串口调试助手发送控制字符 协议指令 2 https www cnblogs com wlsandwho p 4202094 html 备忘一下
  • 丁鹏:多角度回顾因果推断的模型方法

    来源 集智俱乐部 本文约23000字 建议阅读20 分钟 本文整理自丁鹏老师的8篇短文 从多角度回顾了因果推断的各种模型方法 导读 推断因果关系 是人类思想史与科学史上的重要主题 现代因果推断的研究 始于约尔 辛普森悖论 经由鲁宾因果模型
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵
  • 【算法竞赛】Python快速入门指南

    该指南由GPT4编写 用于快速入门蓝桥杯Python组 当然 仅限入门而已 本指南由GPT 4生成 我只是负责引导 并对内容进行整理和补充 一直以来我都是使用C 作为算法竞赛语言 但是奈何C 组太卷 自己又太菜 于是另谋他路 Prompt模
  • 【AD20】快速且只选中部分自己想要的同类型的元件

    在project属性框里面 可以选择所有如下图所示内容 这个是一个过滤器 里面有多种小选项 比如 Components 元件 Pads 焊盘 Texts 文本 选择哪个就只能选择对应的部分 比如 只选择文本 在画图区域 框选 发现只有文本才
  • 数位拆分

    4 数位拆分v1 0 现有一个4位数的正整数n 4321 即n是一个已知的数 固定为4321 编写程序将其拆分为两个2位数的正整数43和21 计算并输出拆分后的两个数的加 减 乘 除和求余的结果 例如n 4321 设拆分后的两个整数为a b
  • 【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

    label assignment是指 在训练过程中如何将某个prediction指定给某个GT 用于计算损失 训练网络 对于上一篇文章 他们首先用one to one label assignment替换了one to many label