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

论文: Online Learning via Memory: Retrieval-Augmented Detector Adaptation

创新点


提出一种通过检索增强分类过程的创新在线学习框架RAC,与传统的基于离线训练/微调的方法相比,具有以下优点:

  1. 在线和持续学习能力。
  2. 最少的标注需求。
  3. 对视觉领域适应的计算无需求。

内容概述


目标检测器已经从闭集模型演变为开放世界模型,但将这些模型应用于新领域往往会导致较差的检测性能。为此,论文提出了一种新颖的方法,可以在线调整任何现成的目标检测模型,以适应新的领域,而无需重新训练检测器模型。

受到人类快速学习新主题(例如,记忆)方式的启发,论文允许检测器在测试时从记忆中查找相似的物体概念。这是通过一种检索增强分类(RAC)模块与一个可以灵活更新新领域知识的记忆库来实现的。

对各种现成的开放集检测器和闭集检测器进行了实验。仅使用一个小型记忆库(例如,每类10张图像)并且无需训练,RAC显著优于基线,在将检测器适应新的领域方面表现突出。

检索增强的检测器适应


在线学习框架由以下主要模块组成:

  1. 一个可在线更新的记忆库,其中包含用于提供在线适应新概念的目标领域图像
  2. 一个来自现成模型的物体(前景)提议模型,可以是开放世界检测器、在具有不同本体的相似领域数据上训练的任何检测器,或者简单的区域提议网络(RPN)。
  3. 一个上下文检索模块,用于将记忆库中的图像上下文与推理图像关联。
  4. 一个实例检索模块,用于将提议的物体实例与检索到的相似上下文中的实例关联。

对于查询图像,上下文级RAC首先从记忆库中选择相似的上下文图像。然后基于查询图像中的物体提议,对每个提议,实例级RAC在选定的相似上下文图像中执行实例匹配。最后,每个提议根据来自检索实例的投票分配一个类别。

物体(前景)提议模型

采用预训练的检测器作为物体提议网络,用于定位子任务,并专注于解决新概念分类子任务。

提议网络可以有多种形式,例如现成的开放集检测器、在不同数据集上训练的检测器(例如,具有不同本体的检测器),或者简单的区域提议网络(RPN),只要它能够提供有意义的前景提议。即使是没有任何语义能力的二元RPN网络,也可以使其具备分类能力。

记忆库

RAC仅需最少量的数据来构建记忆库,例如每个类别10张图像,这些图像可在在线学习环境中由最终用户轻松标注。为了构建一个高效的记忆库,论文提出了一种无监督的图像选择方法,利用图像级特征聚类来最大化覆盖率以及最小化标注工作。

  • 无监督种子图像聚类

使用强大的图像特征提取主干(例如CLIP)从未标注的目标域图像中提取嵌入,这些嵌入随后根据用户标注的图像数量进行聚类(例如,使用k-means),形成目标数量的聚类。每个聚类中的中心图像是由用户标注的,代表了多样化和具有代表性的场景。该方法能够通过每个类别仅标注10张图像就实现良好的检测性能。

检索增强(RAC)模块

通过在记忆库中存储标注的种子对象和图像,检索增强模块可以使物体检测器通过将目标检测到的提议与种子对象匹配来获得新的语义分类能力。

物体匹配的一个重大挑战是目标域中存在外观相似的不同类别的物体。为了解决这些混淆问题,论文构建了一个多阶段的上下文匹配过程。第一阶段,上下文检索,通过过滤掉无关场景(例如,过滤掉船只的海事场景)来缩小搜索范围。第二阶段,实例检索,则是在上下文匹配的图像中进行。通过同时考虑实例外观和上下文,该方法最大限度地减少了分类混淆并提高了检索准确性。

对于检索增强模型,强大的特征提取器是必要的。然而,它并不需要在目标域上进行训练即可实现良好的语义分类准确性。因此,任何强大的预训练特征提取器,例如DINOV2CLIP,都可以以无训练的方式使用,或者在提供的记忆库上进行微调以获得最佳性能。

具体来说,在第一阶段进行图像级语义匹配,使用现成的CLIP模型来提取图像级特征,然后计算查询图像与记忆库图像之间的相似性。在第二阶段进行实例级匹配,从图像级匹配结果中选择前 k 张图像(k=20, 50, 100),使用现成或微调的CLIP模型提取边界框级特征,然后计算实例之间的相似性选择的前 k 张图像。因此,最终的实例分类结果是边界框级匹配和全局上下文匹配的结合,有效地减少了外观引起的混淆。

主要实验






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

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

RAC:无训练持续扩展,基于检索的目标检测器 | ECCV'24的更多相关文章

  1. 消息点击率翻倍的背后——闲鱼无侵入可扩展IFTTT系统

    一.面临问题 在闲鱼生态里,用户之间会有很多种关系.其中大部分关系是由买家触发,联系到卖家,比如买家通过搜索.收藏.聊天等动作与卖家产生联系:另外一部分是平台与用户之间的关系.对这些关系分析之后我们发 ...

  2. 【翻译】理念:无冲突的扩展本地DOM原型

    菜鸟翻译,望大家多多指正哈 原文:http://lea.verou.me/2015/04/idea-extending-native-dom-prototypes-without-collisions ...

  3. WebApplicationInitializer究 Spring 3.1之无web.xml式 基于代码配置的servlet3.0应用

    本文转自http://hitmit1314.iteye.com/blog/1315816 大家应该都已经知道Spring 3.1对无web.xml式基于代码配置的servlet3.0应用.通过spri ...

  4. 基于MeanShift的目标跟踪算法及实现

    这次将介绍基于MeanShift的目标跟踪算法,首先谈谈简介,然后给出算法实现流程,最后实现了一个单目标跟踪的MeanShift算法[matlab/c两个版本] csdn贴公式比较烦,原谅我直接截图了 ...

  5. 谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN

    谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN 朱晓霞发表于目标检测和深度学习订阅 235 广告关闭 11.11 智慧上云 云服务器企业新用户优先购,享双11同等价格 ...

  6. 10分钟内基于gpu的目标检测

    10分钟内基于gpu的目标检测 Object Detection on GPUs in 10 Minutes 目标检测仍然是自动驾驶和智能视频分析等应用的主要驱动力.目标检测应用程序需要使用大量数据集 ...

  7. 基于mysqld_multi实现MySQL 5.7.24多实例多进程配置

    学习环境: 操作系统 IP地址 主机名 软件包 备注 CentOS7.5 192.168.200.111 localhost       实验初始配置:所有主机关闭防火墙与selinux [root@ ...

  8. [炼丹术]基于SwinTransformer的目标检测训练模型学习总结

    基于SwinTransformer的目标检测训练模型学习总结 一.简要介绍 Swin Transformer是2021年提出的,是一种基于Transformer的一种深度学习网络结构,在目标检测.实例 ...

  9. prometheus 基于DNS的目标发现

    prometheus 基于DNS的目标发现 DNS服务发现依赖于查询A.AAAA或SRV DNS记录. 1.基于 SRV 记录发现 scrape_configs: - job_name: 'webap ...

  10. prometheus 基于文件的目标发现

    prometheus 基于文件的目标发现 1.创建目录 cd /usr/local/prometheus/conf mkdir -pv targets/{nodes,docker} 2.修改prome ...

随机推荐

  1. HTB-BoardLight靶机笔记

    BoardLight靶机笔记 概述 HTB的靶机BoardLight 靶机地址:https://app.hackthebox.com/machines/BoardLight 一.nmap扫描 1)端口 ...

  2. DMS:直接可微的网络搜索方法,最快仅需单卡10分钟 | ICML 2024

    Differentiable Model Scaling(DMS)以直接.完全可微的方式对宽度和深度进行建模,是一种高效且多功能的模型缩放方法.与先前的NAS方法相比具有三个优点:1)DMS在搜索方面 ...

  3. 2023 PTA天梯赛补题(L1 & L2)

    2023 天梯赛 L1 & L2 补题 L1 L1-089 最好的文档 输入输出题 #include<bits/stdc++.h> using namespace std; int ...

  4. 如何将png转为svg

    如何将png转为svg如图所示. 工具/原料 Inkscape 方法/步骤 1 打开Inkscape,"文件-打开"如图. 2  打开你需要转化的png图片.如图所示. 3 打开你 ...

  5. zblog免费插件分享前端代码支持一键复制

    zblog默认的代码文件在网页前端是不支持一键复制的,这会让访客复制长代码的时候不太方便,甚至有可能会出错,影响体验,下面分享一个非常简单的免费插件,安装之后,前端代码就能一键复制了. 插件使用方法: ...

  6. mybatis-plus批量增加、批量修改样例+建表语句+postman接口

    使用mybatis-plus开发中会遇到数据量多的情况下,插入和修改效率低,主要原因是"新增"和"修改"方法是对一条数据进行处理的,如果有一万条数据就会和数据库 ...

  7. fluent python-chap3-1

    class collections.OrderedDict([items]) 返回一个 dict 子类的实例,它具有专门用于重新排列字典顺序的方法. """ move_t ...

  8. 技术教程 | 基于 Web 端的屏幕共享实践

    ​ 屏幕共享的英文叫做 DesktopSharing,通俗点讲就是将自己电脑的画面分享给其他人, 被分享的可以是整个电脑屏幕.应用程序或者某一个打开的网页等等. 而随着音视频领域的深入发展,完备的功能 ...

  9. 【论文解读】System 2 Attention提高大语言模型客观性和事实性

    一.简要介绍       本文简要介绍了论文"System 2 Attention (is something you might need too) "的相关工作.基于trans ...

  10. Hydra(海德拉)工具使用从0到1,爆破服务器密码,2024最新版

    Hydra(海德拉)工具使用从0到1,爆破服务器密码,2024最新版 Hydra简介 Hydra又叫九头蛇,是一款由著名的黑客组织THC开发的开源暴力破解工具,支持大部分协议的在线密码破解,是网络安全 ...