本文是对公开论文的核心提炼,而非直接翻译,旨在进行学术交流。如有任何侵权问题,请及时联系号主以便删除。

来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Can OOD Object Detectors Learn from Foundation Models?

创新点


  • 研究并发掘在大规模开放集数据上训练的文本到图像生成模型在目标检测任务中合成OOD对象的潜力。
  • 引入一种自动化的数据整理过程以获取可控的、带注释的场景级合成OOD图像,用于OOD目标检测。该过程利用大型语言模型(LLMs)进行新对象发现,并使用视觉基础模型进行数据注释和过滤。
  • 发现在保持ID/OOD图像上下文的一致性以及获得更准确的OOD注释边界框,对合成数据在OOD目标检测中的有效性至关重要。
  • 在多个基准上的全面实验证明了该方法的有效性,在使用最少合成数据的情况下显著超越了现有的最先进方法。

内容概述


分布外(OOD)目标检测是一项具有挑战性的任务,因为缺乏开放集的OOD数据。受到近期在文本到图像生成模型方面的进展的启发,例如Stable Diffusion,论文研究了基于大规模开放集数据训练的生成模型合成OOD样本的潜力,从而增强OOD目标检测。

论文提出了SyncOOD,这是一种简单的数据策划方法。该方法利用大型基础模型的能力,从文本到图像的生成模型中自动提取有意义的OOD数据,使得模型能够访问包含在现成基础模型中的开放世界知识。合成的OOD样本随后被用于增强一个轻量级、即插即用的OOD检测器的训练,从而有效地优化了在分布内(ID)/OOD的决策边界。

在多个基准上进行的广泛实验表明,SyncOOD在性能上显著优于现有方法,凭借最少的合成数据使用,建立了新的最先进性能。

SyncOOD


异常合成管道包括两个部分:

  1. 合成一组有效的照片真实感场景级OOD图像 \(\textbf{x}^{\text{edit}}\) ,记为 \(\mathcal{D}_{\text{edit}} = \left\{(\textbf{x}^{\text{edit}}, \textbf{b}^{\text{edit}})\right\}\) ,该图像包含新颖对象及其相应的标注框 \(\textbf{b}^{\text{edit}}\) ,这一过程基于从 \(\mathcal{D}_{\text{id}}\) 进行全自动化的区域级编辑。
  2. 选择和使用高效的合成数据,为训练OOD对象检测器提供伪OOD监督,与训练集中ID样本一起使用。

合成新语义对象

  • 从分布内对象想象新概念对象

如图 (a) 所示,基于训练集 \(\mathcal{D}_{\text{id}}\) 中的ID标签 \(\mathcal{Y}_{\text{id}}\) ,利用大型语言模型LLM(如GPT-4)广泛的知识和推理能力来检查视觉相似度和上下文兼容性,为每个ID对象标签设想了一组新颖对象,记为 \(\mathcal{Y}_{\text{novel}}\) ,同时保持了想象对象与ID对象之间的语义可分性。这能够关联ID对象,并通过使用包含上下文示例的提示来促进可能的新对象的概念化,以替换现有的ID对象。

  • 在指定区域内编辑对象

为了生成包含新概念 \(y_j \in \textbf{y}^{\text{novel}}_i\) 的新图像,选择替换现有图像中标签为 \(y_i^{\text{id}}\) 的现有ID对象,而不是寻找新的位置或从头生成图像。通过这样做,可以确保上下文兼容性,并消除场景上下文中的干扰,因为上下文得以保留。

如图 (b) 所示,使用稳定扩散修复(Stable-Diffusion-Inpainting)对ID图像进行区域级编辑,得到包含新对象的编辑图像 \(\textbf{x}^{\text{edit}}\) 为:

\[\begin{equation}
\textbf{x}^{\text{edit}}=\text{SDI}(\textbf{x}^{\text{id}},\textbf{b}^{\text{id}},\textbf{y}^{\text{novel}}).
\label{eq:sdi}
\end{equation}
\]
  • 细化新对象的注释框

由于扩散模型中的随机性,编辑对象的属性,如质量、体积和定位,可能与原始对象框不匹配。为了解决这个问题,如图 (c) 所示,设计一个基于SAM的高效、有效的细化器,以获取新对象的精确边界框。

使用从 \(\textbf{b}^{\text{id}}\) 扩展出的填充区域作为提示,并使用SAM输出该区域中新对象的最高置信度实例掩码 \(\textbf{m}^{\text{SAM}}\) :

\[\begin{equation}
\textbf{m}^{\text{SAM}}=\text{SAM}(\textbf{x}^{\text{edit}};\text{padding}(\textbf{b}^{\text{id}}, e)),
\label{eq:sam}
\end{equation}
\]

将获得的掩码 \(\textbf{m}^{\text{SAM}}\) 转换为边界框 \(\textbf{b}^{\text{SAM}}\) ,并计算 \(\textbf{b}^{\text{SAM}}\) 与相应的 \(\textbf{b}^{\text{id}}\) 之间的交并比(IoU),以过滤出在尺度上变化较大的新对象:

\[\begin{equation}
\left\{\textbf{b}^{\text{edit}}\right\}=\left\{\left.\textbf{b}^{\text{SAM}}\middle|\right.\text{IoU}(\textbf{b}^{\text{SAM}},\textbf{b}^{\text{id}})>\gamma\right\},
\label{eq:iou}
\end{equation}
\]

发掘难OOD样本以及模型训练

  • Mining Hard OOD Objects with High Visual Similarities for Training

最可能被目标检测器混淆为原始ID对象的新对象视为最有效。因此,基于预训练目标检测器的潜在空间中的成对相似性,寻找最容易被混淆为ID的合成OOD样本。

对于一个现成的目标检测器 \(\mathcal{F}_\text{det}\) ,为每一对提取潜在特征 \(\textbf{z}^{\text{edit}}\) 和 \(\textbf{z}^{\text{id}}\) ,根据相似性进行过滤,以提供伪OOD监督:

\[\begin{equation}
\textbf{z}^{\text{edit}},\textbf{z}^{\text{id}}=\mathcal{F}_\text{det}(\textbf{b}^{\text{edit}};\textbf{x}^{\text{edit}}),\mathcal{F}_\text{det}(\textbf{b}^{\text{id}};\textbf{x}^{\text{id}}).
\label{eq:extract}
\end{equation}
\]
\[\begin{equation}
\left\{\textbf{z}^{\text{ood}}\right\}=\left\{\left.\textbf{z}^{\text{edit}}\middle|\right.\epsilon_{\textit{low}}<\text{sim}(\textbf{z}^{\text{edit}},\textbf{z}^{\text{id}})<\epsilon_{\textit{up}}\right\},
\label{eq:sim}
\end{equation}
\]
  • 通过合成样本优化ID/OOD决策边界

一旦获得了ID和合成OOD对象,使用一个轻量级的多层感知器(MLP) \(\mathcal{F}_\text{ood}\) ,作为经过二分类损失优化的OOD检测器参与训练:

\[\begin{equation}
\mathcal{L}_\text{ood}=\mathbb{E} _{\textbf{z}\sim\textbf{z}^{\text{id}}}\left[-\log\frac{1}{1 + \exp^{-\mathcal{F}_\text{ood}(\textbf{z})}}\right]+\mathbb{E} _{\textbf{z}\sim\textbf{z}^{\text{ood}}}\left[-\log\frac{\exp^{-\mathcal{F}_\text{ood}(\textbf{z})}}{1+\exp^{-\mathcal{F}_\text{ood}(\textbf{z})}} \right].
\label{eq:optim}
\end{equation}
\]

主要实验






如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

SyncOOD:增加OOD目标检测鲁棒性,自动化数据助您一臂之力 | ECCV'24的更多相关文章

  1. 目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练

    将目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练. import xml.etree.ElementTree as ET import numpy as ...

  2. (转)如何用TensorLayer做目标检测的数据增强

    数据增强在机器学习中的作用不言而喻.和图片分类的数据增强不同,训练目标检测模型的数据增强在对图像做处理时,还需要对图片中每个目标的坐标做相应的处理.此外,位移.裁剪等操作还有可能使得一些目标在处理后只 ...

  3. 目标检测-yolo2

    转载自:http://blog.csdn.net/qq_34784753/article/details/78825493 对于现在的最好的检测系统来说,yolo_v1 的问题主要出现在两方面,也就是 ...

  4. 【目标检测】SSD:

    slides 讲得是相当清楚了: http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf 配合中文翻译来看: https://www.cnb ...

  5. 【目标检测实战】目标检测实战之一--手把手教你LMDB格式数据集制作!

    文章目录 1 目标检测简介 2 lmdb数据制作 2.1 VOC数据制作 2.2 lmdb文件生成 lmdb格式的数据是在使用caffe进行目标检测或分类时,使用的一种数据格式.这里我主要以目标检测为 ...

  6. 目标检测网络之 YOLOv2

    YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体. 每个格子预测B个bounding b ...

  7. 目标检测网络之 YOLOv3

    本文逐步介绍YOLO v1~v3的设计历程. YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这 ...

  8. YOLT:将YOLO用于卫星图像目标检测

    之前作者用滑动窗口和HOG来进行船体监测,在开放水域和港湾取得了不错的成绩,但是对于不一致的复杂背景,这个方法的性能会下降.为了解决这个缺点,作者使用YOLO作为物体检测的流水线,这个方法相比于HOG ...

  9. 目标检测(六)YOLOv2__YOLO9000: Better, Faster, Stronger

    项目链接 Abstract 在该论文中,作者首先介绍了对YOLOv1检测系统的各种改进措施.改进后得到的模型被称为YOLOv2,它使用了一种新颖的多尺度训练方法,使得模型可以在不同尺寸的输入上运行,并 ...

  10. 从YOLOv1到YOLOv3,目标检测的进化之路

    https://blog.csdn.net/guleileo/article/details/80581858 本文来自 CSDN 网站,作者 EasonApp. 作者专栏: http://dwz.c ...

随机推荐

  1. Java 大文件IO操作效率对比【我说说 你瞅瞅】

    Java 文件IO操作效率对比 注:本文只做时间消耗层面对比,内存占用层面需要特别关注! 1. 参数说明 文件总大小:2,111,993,850 字节(2.11 GB) static String d ...

  2. SMU Summer 2023 Contest Round 7

    SMU Summer 2023 Contest Round 7 A. Two Rival Students 答案不能大于 \(n-1\): 如果竞争对手之间的当前距离小于 \(n - 1\) ,我们总 ...

  3. Flex动态加载svg图片

    1.静态显示 在FLEX应用程序中可以使用SVG资源, 但只能象JPG和GIF那样作为一种图像引入, 而不包括SVG的一些高级特性, 而且无法在运行时加载, 只能在编译时静态加载,所以图片的大小无法改 ...

  4. this 之谜揭底:从浅入深理解 JavaScript 中的 this 关键字(二)

    前言 系列首发于公众号『前端进阶圈』 ,若不想错过更多精彩内容,请"星标"一下,敬请关注公众号最新消息. this 之谜揭底:从浅入深理解 JavaScript 中的 this 关 ...

  5. Java微信授权登录小程序接口

    1.微信授权登录小程序的流程是什么 微信授权登录小程序的流程是一个涉及前端和后端交互的过程,主要目的是让用户能够使用微信账号快速登录小程序,避免重复输入用户名和密码.以下是该流程的详细步骤: 1.1前 ...

  6. 守护您的数字资产:API安全的最佳实践

    ​ 在数字化时代,API(应用程序编程接口)已成为企业与用户.服务与服务之间沟通的桥梁.然而,随着API的广泛应用,安全问题也日益凸显.本文将探讨API安全的重要性,并提供一些实用的安全措施,帮助您保 ...

  7. CCIA数安委等组织发起“个人信息保护影响评估专题工作”,合合信息首批入选试点

    近期,"个人信息保护影响评估专题工作"(简称"PIA专题工作")试点评估结果正式发布.PIA专题工作组由中国电子技术标准化研究院.中国信息通信院等单位的法律与技 ...

  8. [rCore学习笔记 026]第三章作业

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 编程题 ...

  9. 使用 Flutter 3.19 更高效地开发

    我们已隆重推出全新的 Flutter 版本--Flutter 3.19.此版本引入了专为 Gemini 设计的新 Dart SDK.一个能让开发者对 Widget 动画实现精细化控制的全新 Widge ...

  10. Redis 内存突增时,如何定量分析其内存使用情况

    背景 最近碰到一个 case,一个 Redis 实例的内存突增,used_memory最大时达到了 78.9G,而该实例的maxmemory配置却只有 16G,最终导致实例中的数据被大量驱逐. 以下是 ...