SyncOOD:增加OOD目标检测鲁棒性,自动化数据助您一臂之力 | ECCV'24
本文是对公开论文的核心提炼,而非直接翻译,旨在进行学术交流。如有任何侵权问题,请及时联系号主以便删除。
来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: 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

异常合成管道包括两个部分:
- 合成一组有效的照片真实感场景级
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}}\) 进行全自动化的区域级编辑。 - 选择和使用高效的合成数据,为训练
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}}\) 为:
\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}}\) :
\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),以过滤出在尺度上变化较大的新对象:
\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监督:
\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}
\]
\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检测器参与训练:
\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的更多相关文章
- 目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练
将目标检测 的标注数据 .xml 转为 tfrecord 的格式用于 TensorFlow 训练. import xml.etree.ElementTree as ET import numpy as ...
- (转)如何用TensorLayer做目标检测的数据增强
数据增强在机器学习中的作用不言而喻.和图片分类的数据增强不同,训练目标检测模型的数据增强在对图像做处理时,还需要对图片中每个目标的坐标做相应的处理.此外,位移.裁剪等操作还有可能使得一些目标在处理后只 ...
- 目标检测-yolo2
转载自:http://blog.csdn.net/qq_34784753/article/details/78825493 对于现在的最好的检测系统来说,yolo_v1 的问题主要出现在两方面,也就是 ...
- 【目标检测】SSD:
slides 讲得是相当清楚了: http://www.cs.unc.edu/~wliu/papers/ssd_eccv2016_slide.pdf 配合中文翻译来看: https://www.cnb ...
- 【目标检测实战】目标检测实战之一--手把手教你LMDB格式数据集制作!
文章目录 1 目标检测简介 2 lmdb数据制作 2.1 VOC数据制作 2.2 lmdb文件生成 lmdb格式的数据是在使用caffe进行目标检测或分类时,使用的一种数据格式.这里我主要以目标检测为 ...
- 目标检测网络之 YOLOv2
YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体. 每个格子预测B个bounding b ...
- 目标检测网络之 YOLOv3
本文逐步介绍YOLO v1~v3的设计历程. YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这 ...
- YOLT:将YOLO用于卫星图像目标检测
之前作者用滑动窗口和HOG来进行船体监测,在开放水域和港湾取得了不错的成绩,但是对于不一致的复杂背景,这个方法的性能会下降.为了解决这个缺点,作者使用YOLO作为物体检测的流水线,这个方法相比于HOG ...
- 目标检测(六)YOLOv2__YOLO9000: Better, Faster, Stronger
项目链接 Abstract 在该论文中,作者首先介绍了对YOLOv1检测系统的各种改进措施.改进后得到的模型被称为YOLOv2,它使用了一种新颖的多尺度训练方法,使得模型可以在不同尺寸的输入上运行,并 ...
- 从YOLOv1到YOLOv3,目标检测的进化之路
https://blog.csdn.net/guleileo/article/details/80581858 本文来自 CSDN 网站,作者 EasonApp. 作者专栏: http://dwz.c ...
随机推荐
- windows中好用的工具
windows中好用的工具和浏览器插件 一.geek卸载软件 软件介绍 geek一款非常简洁的卸载软件,并且非常强大,强大到可以清理注册表,用过的都说好. 下载地址: https://geekunin ...
- AntSK:在无网络环境中构建你的本地AI知识库的终极指南
亲爱的读者朋友们,我是许泽宇,今天我将深入探讨一个引人注目的开源工具--AntSK.这个工具让您在没有互联网连接的情况下,仍然能够进行人工智能知识库的对话和查询.想象一下,即使身处无网络环境中,您也可 ...
- armbian挂载sd卡记录
mkdir -p /mnt/mmctouch /etc/init.d/mount.shvim /etc/init.d/mount.sh内容见图mount /dev/mmcblk1p1 /mnt/mm ...
- Android RecyclerView 获取当前滚动到的Item项
背景:RecyclerView 左右滑动时,需要获取当前显示在页面上的选项卡 步骤: 1. RecyclerView 添加addOnScrollListener,回调中可以直接获取对应Item I ...
- 肉夹馍(Rougamo)4.0.1 异步方法变量调试修复与IoC系列扩展
肉夹馍(https://github.com/inversionhourglass/Rougamo),一款编译时AOP组件,无需在应用启动时进行初始化,也无需繁琐的配置:支持所有种类方法(同步和异步. ...
- yum命令提示error: rpmdb: BDB0113 Thread/process,解决方法
最近在做RHCE的题目,yum命令装vdo时,使用yum install命令的时候,提示error: rpmdb: BDB0113 Thread/process,具体错误如下: [root@node2 ...
- Angular 18+ 高级教程 – Library
前言 当你需要管理超过一个项目时,你就需要知道怎么使用 Angular Library. 你可以把多个项目共享的组件放到这个 Library 了,就像 Angular Material 那样. 参考 ...
- OData – Get Started 搭建单侧环境
前言 之前写过 EF Core – Get Started 搭建单侧环境, 这篇补上一个 WebApi + EF Core + OData 创建项目 dotnet new webapi -o EfCo ...
- CSS & JS Effect – Section Design Waves
介绍 Section Waves 长这样 左边是没有 waves, 右边是加了 waves. 它的作用就是点缀. 让画面有一点 "Design" 的感觉. 参考 You ...
- Dubbo框架的1个核心设计点
Java领域要说让我最服气的RPC框架当属Dubbo,原因有许多,但是最吸引我的还是它把远程调用这个事情设计得很有艺术. 1.Dubbo优点较多,我只钟情其一 1.1.优点 业内对于微服务之间调用的框 ...