论文阅读—— UniDetector(cvpr2023)

news2025/1/12 0:01:50

arxiv:https://arxiv.org/abs/2303.11749

github:https://github.com/zhenyuw16/UniDetector

一、介绍        

通用目标检测旨在检测场景那种的一切目标。现有的检测器依赖于大量数据集

        通用的目标检测器应该有两个能力:1、可以利用多种来源的图片和标签训练2、可以很好的泛化到开放世界,对于没见过的类别也可以预测。

        传统的目标检测,rcnn系列,只能在封闭数据集上,后来发展的开放词汇目标检测很大程度提升了性能,也能泛化到一些非常见类别,但是仍然只在一个数据集迁移,同时见过的类别比没见过的类别多,泛化能力受到限制。在多数据集上训练的问题是需要统一标签空间,为此提出了一些方法但是这些方法仍然关注于在封闭数据集上检测。  

二、The UniDetector Framework

Step1: Large-scale image-text aligned pre-training.

        采用RegionCLIP参数:We adopt RegionCLIP pre-trained parameters for our experiments.

Step2: Heterogeneous label space training.

1、对于处理不同来源的数据,考虑三个问题,架构、采样和损失函数选择

        1)提出了三种处理不同来源标签的架构:

        2)训练大规模数据集,一个不可避免的问题是长尾效应。之前用在封闭数据集上解决这个问题的方法不太管用因为通用检测器有没见过的类别。对于语言嵌入,长尾问题的不利影响可以忽略不计。因此,我们采用了随机采样器。(With language embeddings, the adverse effect of the long-tailed problem becomes negligible. We thus adopt the random sampler.)

        3)损失函数

        使用基于sigmoid的损失函数,同时当类别数量增加时,为了避免基于sigmoid的分类损失过大,随机抽取一定数量的类别作为负类别。

2、解耦RPN区域生成和ROI分类的训练

        1)传统的两阶段目标检测器,包括backbone encoder, a RPN and a RoI classification module。RPN是类别无关的,使用与通用目标检测,但是特定类别的RoI分类模块依然不能用于罕见类别。所以作者解耦了这两个阶段,分别训练。也就是,用ImageNet预训练参数初始化RPN模块,类别不相关方式训练,训练完成后就会产生一系列region proposals。然后对于这些区域,ROI分类模块用Fast RCNN方式训练,这个阶段用imagetext预训练参数初始化来预测没见过的罕见类别。用到的这两种预训练参数包含互补信息,对通用检测提供了理解信息。

        2)CLN模块:是在RPN模块后面ROIHead

        

        

        s_{i}^{r1}s_{i}^{r2}s_{i}^{c}分别是RPN和ROI的localization confidence以及ROIHead的classification confidence。

Step3: Open-world inference.

        提出概率对准

        开放世界推理阶段有个问题,训练集中出现的类别(基础类别)推理得出的分数会高于罕见类别,这样就会使检测器忽略大量的没见过的类别实例。于是作者在后处理阶段提出了概率对准,目的是降低基础类别概率增加没见过类别的概率,概率对准公式如下:

\pi_{j}是类别的先验概率,值越大说明模型越偏向这个类别可以在测试集上推理一遍,根据得到的结果中每个类别的数量获得\pi_{j}的值,如果测试集太小,也可以使用训练集。\gamma是超参数。

最终的预测分数使用上面公式的p_{ij}和CLN模块的目标分数\eta_{i}相乘,再引入超参数β得到:

三、一些训练细节

训练数据集:

COCO:80类,稠密高质量人工标注,作者从中随机采样了35K训练

Objects365:365类,更大规模,作者从中随机采样了60K训练

OpenImages:500类别,许多标注稀疏并且是脏数据,作者从中随机采样了78K训练

推理数据集:

LVIS:LVIS v0.5有1230类别,LVIS v1有1203类别

ImageNetBoxes:3000多类别

VisualGenome:7605类别,相当一部分数据是机器标注,所以噪声非常多

实现细节:使用mmdetection实现,选择ResNet50-C4 based Faster RCNN as our detector, initialized with RegionCLIP pre-trained parameters。超参数设置,\tau=0.01,\gamma=0.6,\alpha=\beta=0.3

四、一些实验结果

   

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

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

相关文章

鹏城杯_2018_note

查看保护,就开了 PIE: 漏洞点: buf 存在溢出,刚好可以溢出到 idx,而且没有开 PIE 和 FULL RELRO,所以可以修改 idx 去修改相关 got 表项。 然后我就没啥思路了,因为在我的本地环境堆上是没有可…

Flink SQL时间属性和窗口介绍

(1)概述 时间属性(time attributes),其实就是每个表模式结构(schema)的一部分。它可以在创建表的 DDL 里直接定义为一个字段,也可以在 DataStream 转换成表时定义。 一旦定义了时间…

一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA

第一部分 多头注意力 // 待更 第二部分 LLaMA2之分组查询注意力——Grouped-Query Attention 自回归解码的标准做法是缓存序列中先前标记的键 (K) 和值 (V) 对,从而加快注意力计算速度 然而,随着上下文窗口或批量大小的增加,多头注意力 (MH…

Buuctf-Crypto-之深夜刷题部分wp

萌萌哒的八戒 首先下载好附件,解压,是一幅猪图,图的下方是一串看不懂的字,百度输入关键词猪、密码,可知这是猪圈密码, 手撸得WHENTHEPIGWANTTOEAT 大写不对,换成小写。 …

数据结构——常见简答题汇总

目录 1、绪论 2、线性表 3、栈、队列和数组 4、串 5、树与二叉树 6、图 7、查找 8、排序 1、绪论 什么是数据结构? 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三个方面:逻辑结构、存储结构、数据的运算。 逻辑结…

中小学智慧校园电子班牌管理系统源码

智慧校园云平台电子班牌系统,利用先进的云计算技术,将教育信息化资源和教学管理系统进行有效整合,实现基础数据共享、应用统一管理。借助全新的智能交互识别终端和移动化教育管理系统,以考勤、课表、通知、家校互通等功能为切入点…

如何将 XxlJob 集成达梦数据库

1. 前言 在某些情况下,你的项目可能会面临数据库选择的特殊要求,随着国产化的不断推进,达梦数据库是一个常见的选择。本篇博客将教你如何解决 XxlJob 与达梦数据库之间的 SQL 兼容性问题,以便你的任务调度系统能够在这个数据库中…

NNDL 作业6 卷积

一、概念 (一)卷积 (1)什么叫卷积 卷积、旋积或褶积(英语:Convolution)是通过两个函数f和g生成第三个函数的一种数学运算,其本质是一种特殊的积分变换,描述一个函数和另一个函数在某个维度上…

类和对象解析

导言: Java是一门纯面向对象的语言,在面对对象的世界里,一切皆为对象。而对象的创建又和类的定义息息相关。本文主要阐述了类和对象的使用与理解。解释类的定义方式以及对象的实例化,类中的成员变量和成员方法的使用,…

【qemu逃逸】D3CTF2021-d3dev

前言 题目给的是一个 docker 环境,所以起环境非常方便,但是该怎么调试呢?有无佬教教怎么在 docker 中调试? 我本来想着直接起一个环境进行调试,但是缺了好的库,所以就算了,毕竟本题也不用咋调…

044_第三代软件开发-保存PDF

第三代软件开发-保存PDF 文章目录 第三代软件开发-保存PDF项目介绍保存PDF头文件源文件使用 关键字: Qt、 Qml、 pdf、 painter、 打印 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language&#xff…

阿里5年经验之谈 —— 记录一次jmeter压测的过程!

在软件架构与中间件实验的最后,要求进行非功能测试,那得非压力测试莫属了。虽然之前学习秒杀项目的时候看视频里面用过jmeter,但没有自己实操过,趁着这次机会,使用一下。 QPS与TPS 1、TPS: Transactions …

力扣周赛 -- 370周赛

先更新前两道题目,下午更新后两道 两道模板题(拓扑排序) 拓扑排序 拓扑排序(Topological Sorting):一种对有向无环图(DAG)的所有顶点进行线性排序的方法,使得图中任意一点 $u$ 和 $v$&#xf…

【LeetCode】每日一题 2023_11_5 重复的DNA序列

文章目录 刷题前唠嗑重复的DNA序列题目描述代码和解题思路偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动!!! 重复的DNA序列 题目链接:187. 重复的DNA序列 题目描述 代码和解题思路 func findRepeatedDnaSequences(s string) …

fastapi-Headers和Cookies

在FastAPI中,Headers是一个特殊的类型,用于处理HTTP请求头(Headers)。Headers允许你接收、访问和修改HTTP请求中的头部信息。 使用Headers,你可以在FastAPI的路由视图中将请求头作为参数接收,并对它们进行…

linux基本用法

文章目录 前言一、开关机操作1.1 开机登陆1.2 关机1.3 系统目录结构 二、常用的基本命令(重点)2.1 相对路径与绝对路径2.2 处理目录的常用命令2.2.1 ls2.2.2 cd 切换目录2.2.3 pwd ( 显示目前所在的目录 )2.2.4 mkdir (创建新目录)2.2.5 rmdir ( 删除空的…

【Vue.js】Vue3全局配置Axios并解决跨域请求问题

系列文章目录 文章目录 系列文章目录背景一、部署Axios1. npm 安装 axios2. 创建 request.js,创建axios实例3. 在main.js中全局注册axios4. 在页面中使用axios 二、后端解决跨域请求问题方法一 解决单Contoller跨域访问方法二 全局解决跨域问题 背景 对于前后端分离…

回溯算法--4后问题

1.问题描述 四皇后问题&#xff1a;在4 4 的方格棋盘上放置4个皇后&#xff0c;使得没有两个皇后在同一行、同一列、也不在同一条45度的斜线上。问有多少种可能的布局&#xff1f; 解是4维向量 比如上面这个解<2,4,1,3> 分别表示圆圈的第2列、第4列等 还可以得到另一解…

LeetCode题:83删除排序链表中的重复元素 141环形链表

83删除排序链表中的重复元素 题目内容 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2]示例 2&#xff1a; 输入&#xf…

下载安装PyCharm的步骤

1、首先进入Pycharm官网&#xff0c;并进行下载&#xff0c;日常使用社区版也是OK的 官网&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 2、可以自定义路径进行安装&#xff0c;注意路径要全英哈 3、大家可以根据自己的需要来进行勾选 4、安装完成…