最近,来自厦门大学等机构的研究人员提出一种新的视觉感知基础模型APE——
可以一次性对图像中的所有前背景区域、物体和部件进行高效图文对齐训练和查询提示推理,并输出目标检测、图像分割和视觉定位的结果。
为了增强APE在现实世界场景中的实用性,研究人员从三个方面构建重要能力:
1. 任务泛化:APE基于DETR框架构建,可执行广泛的语义理解任务,能够预测任何物体、区域和部件的标签、包围框和分割掩模。
具体而言,研究人员将常见和长尾词汇的目标检测、各种粒度的图像分割和视觉定位统一到一个实例级检测transformer框架中。
2. 数据多样性:APE同时在广泛的数据源上进行视觉和文本对齐(Aligning),包括长尾类别、联邦标注、任何分割和混合词汇和句子描述的概念。
3. 有效的描述提示(Prompting):APE一次性可以查询数千个基于物体词汇和句子描述的文本提示,并利用句子级提示嵌入实现有效的门控跨模态融合和对齐。
论文地址:https://arxiv.org/pdf/2312.02153.pdf
开源链接:https://github.com/shenyunhang/APE
Demo链接:https://huggingface.co/spaces/shenyunhang/APE_demo
一直以来,视觉基础模型(Vision Foundation Models)都在探索建立一个通用的视觉感知系统。目前已有的方法可以分为三类:
1. 采用自监督的训练方式,例如DINO和CLIP等,这类方法在做下游感知类任务的时候需要再训练单独的Head或者Adapter;
2. 开集检测,对齐图像的局部区域和文本表达,例如GLIP、UNINEXT和GroundingDINO等,但这类方法在每次推理时只能检测非常有限数量的类别(例如lvis的1023类单词要拆分成30多次推理)或者单个句子,检测类别或者句子长度的提升会给计算量和性能带来巨大的挑战;
3. 开集语义分割,例如SAM、Xdecoder和SEEM等,但这类方法在加上语义信息时面临着前景可数物体和背景不可数物体的粒度差异问题,导致性能下降,这类方法往往需要设计特定的网络结构或者训练策略来缓解前背景冲突。
而APE,便是针对这些问题的有效解决方案。
APE框架
Independent Prompt
给定多个目标类别,例如Girl和Sky等,以往的方法通常直接联结这些类别名组成一个单独的Prompt:「Girl. Sky. …」,这种构造方式是期望可以建模不同类别名之间的相互关系。
但这种类别名之间的相互关系不是必须的,每种类别名独立建模就可以学习不同的实例。
为此,研究人员对每种类别名或者描述的短语都进行独立建模:[“Girl”, “Sky”, “Little child with hat on branch”, “The big chinchilla”, . . . ],并获得其独立的prompt embedding。
Sentence-Level Embeddings
为了减少计算复杂度和内存消耗,研究人员进一步将Word-Level Embeddings压缩成Sentence-Level Embeddings,也就是将一句话中所有Word Embeddings求平均。
实验表明,这种Sentence-Level Embeddings足够表达语义信息。
Gated Cross-modality Interaction
GLIP等方法直接融合文本和视觉特征,在类别名很多的情况下融合的代价逐步提升。本文则针对不同的Prompt类型来进行特征融合,对于纯类别名(Vocabulary Prompt)的文本特征。
研究人员采用一种「zero」文本token来作为它们的替代,过往经验表明直接将Vocabulary Prompt和视觉特征融合容易导致过拟合现象,使得在新类别上的表现欠佳。
语言描述(Sentence Prompt)的文本特征则被融合到视觉特征中以实现语义级的理解。
Region-sentence Alignment
研究人员直接通过矩阵乘法计算Object Embeddings和Prompt Embeddings之间的相似度,从而实现一次性检测&分割万物。
值得注意的是,这里维持了一个Embedding Bank用于构建负样本。
Thing-stuff-equalizing Alignment
分割任务的前景和背景的粒度是不同的,比如背景天空即使由好几块组成,但仍然被认为是同一个标签,而前景比如人则是单独的标签。
这种粒度差异会给模型训练带来挑战,为此研究人员提出统一前景和背景的粒度,对于不同块的背景则将其视为独立的标签,如上图中的「天空」。
这使得模型可以采用统一的架构训练前景和背景数据,也可以方便地融入SA-1B这类大规模的Class-Agnostic数据。
研究人员使用了10中常见的开源数据集进行训练,包括通用检测分割数据(COCO、Objects365),长尾检测分割数据(LVIS),联邦标注的数据(OpenImages),指向性检测分割数据(VG、RefCOCO/+/g、GQA、Phrascut、Flickr30k),不带语义的分割数据(SA-1B)。
此外,还提出一些列原则精心设计数据配比和损失权重。
研究人员进行了大规模的实验以验证方法的有效性,APE-ABCD对应用不同的训练数据。
可以看到,全新的方法在160种测试集上普遍取得了当前SOTA或具有竞争性的结果。
值得注意的是,这里只采用了一个模型架构和一套参数,没有针对下游任务进行微调。
论文一共训练了四组大模型:
APE (A):基础版,基于DETA构建,并只在通常的检测和分割数据集上训练,包括COCO, LVIS, Objects365, OpenImages, and Visual Genome。
APE (B):APE (A)的基础上加入Visual Genome和COCO的指向性检测和分割数据进行训练。
APE (C):进一步加入大规模SA-1B数据集进行训练。
APE (D):除了上面的数据,进一步加入GQA, PhraseCut, Flickr30k数据集,并且修改了部分训练策略。
性能比较总览
整体上看,APE方法在各个检测、分割和指向性检测数据集上都比之前的方法好,特别是在D3数据集上。
开集检测的效果比较
在检测上,主要比较了LVIS、OpenImages,Objects365和COCO这四个常见数据集。APE的效果优势非常明显。
不少方法都在Objects365上预训练过,例如GLIP, OWL, and UNINEXT,但是他们在这些训练过的数据集上效果也并不是很好。另外实验还比较了RoboFlow100和ODinW评测基准。
RoboFlow100和ODinW分别由100和35个独立的小数据集组成,专门用于开集评测。APE在这两个数据集上取得了新SotA。
开集分割的效果比较
在开集分割评测基准上,当类别数量较多时候,例如PC-459, ADE20K和SegInW分别有 459, 150和85个类,APE的效果比其他方法好不少。
其中SegInW由25个差异很大的小数据集组成,专门用于开集分割评测。而在类别数量较少的数据集上,APE的效果相对差些。
视觉定位的效果比较
在视觉定位D3评测基准上,APE取得的效果提升最明显。特别在inter-scenario的设定下,大部分方法的指标都低于6,而APE可以取得21.0。
因为在inter-scenario设定下,每张图都要用422个句子去查询,之前模型总是会每句话预测一个物体,因此效果不理想,而APE会拒绝不相关的查询。在intra-scenario设定下,APE在各项指标上也取得了15+个点的提升。
参考资料:
https://arxiv.org/pdf/2312.02153.pdf
文章来自于微信公众号 “新智元”
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0