通过语言引导的模板学习增强零样本计数.
本文提出了ExpressCount模型,通过引入基于语言的语义先验来提高零样本计数的性能。ExpressCount模型由一个面向语言的模板感知模块和一个零样本目标计数模块组成。
1. 面向语言的模板感知模块 Language-oriented Exemplar Perceptron
面向语言的模板感知模块通过学习文本表达式与目标示例的边界框之间的映射,来表征包括几何、尺度和位置在内的目标示例信息。具体来说,感知模块由一个语言编码器、一个视觉编码器和一个基于Transformer的多模态集成模块组成。
语言编码器采用预训练BERT模型,以语言表达式/文本提示符作为输入,将给定句子中的每个单词转换为词汇表中的各种标记化特征(Token)。引入随机生成的Token[Loc]
作为回归Token,并将其与标记化的特征连接起来,同时将Token[sep]
放置在标记化特征的末尾。将合并的Token序列通过嵌入层对令牌之间的全局关系进行建模。
视觉编码器处理目标图像作为输入,首先使用Resnet来提取具有足够详细信息(如纹理和轮廓)的浅层特征,随后将其输入1×1卷积层压缩通道,最后通过具有8个自注意头的级联自注意力层提取高层语义建模的全局特征。
多模态集成模块通过自注意力层混合文本和视觉嵌入,能够准确地回归目标边界框。回归头涉由三个线性投影和一个Sigmoid函数组成,将学习到的[Loc]
作为输入,生成形状为$(x, y, h, w)$的目标边界框。
2. 零样本目标计数模块 Zero-shot Object Counting
零样本目标计数模块引入了双分支主干,分别从输入目标样例和原始图像中提取特征。目标样例由学习到的边界框由原始图像自动裁剪和调整大小得到。将样本与原始图像一起输入到双分支ResNets中,然后施加几个1×1卷积层来减少和对齐通道维度。为了从样本中表示一维全局语义以进行有效的相似性学习,使用“Patch Splitting→Linear Projection→1×1 Conv”组成的细粒度提取器。
在将样本和原始图像转化为初步特征之后,进一步通过交叉注意力机制来执行高保真相似图的学习。为了丰富样本特征$F_e$,以图像特征$F_I$为输入,利用“矩阵乘法+线性变换+Sigmoid函数”计算重校准权权重$W_1$,用于特征的通道再校准$F_e=F_e\times W_1$。同时以样本特征$F_e$为输入,利用“线性变换+Sigmoid函数”计算重校准权权重$W_2$,用于特征的通道再校准$F_I=F_I\times W_2$。
3. 数据集 FSC-147-Express
计数数据集基准通常缺乏语言-视觉注释。为了解决这一限制,本文作者通过扩展最流行的FSC-147,提出了一个用于训练和评估基于语言的计数方法的特定计数语言视觉数据集,即FSC-147-Express。
从预训练的BLIP中提取与给定计数场景相关的有价值的知识。例如当呈现一个计数场景时,生成涉及关键目标类别的粗略提示;通过利用这些粗略提示生成各种特定于计数的提示,并输出一系列细粒度表达式。通过以上细致的调整,从BLIP模型中继承了隐含的语义先验,增强了对不同实例密度水平图像的识别能力。
4. 实验分析
作者开发并比较了三个版本的面向语言的计数模型:
- ExpressCount-E,其中面向语言的模板感知模块完全通过语言表达式进行训练,不依赖任何图像信号;
- ExpressCount-EV,结合了带注释的语言-图像对,但使用了冻结的视觉编码器来丰富空间语义;
- ExpressCount,通过语言和视觉编码器的协同微调,进一步深入研究面向语言的语义先验。