(开集检测系列)Learning to Prompt for Open-Vocabulary Object Detection with Vision-Language Model

ViLD基础上引入prompt

1、动机

1、ViLD使用的text embedding的方式是使用prompt template(a photo of categoryg in the scene)和同义词,然后输入clip text encoder 生成 text embedding,使用prompt应该能提升ViLD的性能
2、CLIP预训练的image是以目标为中心背景不多的整图和检测的proposal可能包含背景的域不一样,所以引入prompt

2、方法

检测引入Prompt,由于提取的Proposal存在背景proposal,前景proposal框不准的话存在不同程度的背景上下文,因此需处理2个问题,一个是背景proposal没有具体类别名称,一个是前景proposal可能包含不同程度的背景图



引入background interpretation scheme和context grading scheme分别解决以上2个问题

2.1 background interpretation scheme

使用背景解释方法,使背景类和前景所有类都不相似来解决
loss计算如下

其中pnc为计算如下

2.2 context grading scheme

上下文打分方法,根绝proposal和GT的IOU分成不同的阶段,按照不同类不同阶段学习不同的prompt,然后取均值作为最终的prompt

3、效果

LVIS效果如下,其中ViLD和ViLD的backbone不同,本文使用预训练SoCo的模型,从ViLD到DetPro是有提升的,但是从ViLD没有结果

4、消融实验

4.1、背景解释器

除2.1节结束的方法,还可以给背景 proposal单独训练prompt,但是效果不好,原因是单独训练的prompt还是固定的,但是背景类可能类型不同(地,天空,房子等),就是背景类可能包含很多很多类别,不能用一个固定的prompt表达

4.2、负proposal个数

负样本要适量

4.3、训练是前景proposal,背景proposal,GT对结果影响

3个都的要

4.4、Context Grading and Prompt Representation Ensemble

4.5、Context Length

越大对base类越好,但是等于8对novel类最好,原因可能是太大了,参数多了,可能会过拟合

4.6、Position of Class Token

不同数据集的class在prompt中的位置不一样,LVES数据集是在prompt最后

posted @ 2022-08-24 11:14  哈哈哈喽喽喽  阅读(499)  评论(0编辑  收藏  举报