循环调用CLIP,无需额外训练就有效分割无数概念。
包括电影动漫人物,地标,品牌,和普通类别在内的任意短语。
牛津大学与谷歌研究院联合团队的这项新成果,已被CVPR 2024接收,并开源了代码。
团队提出名为CLIP as RNN(简称CaR)的新技术,解决了开放词汇量图像分割领域中的几个关键问题:
- 无需训练数据:传统方法需要大量的掩膜注释或图像-文本数据集进行微调,CaR技术则无需任何额外的训练数据即可工作。
- 开放词汇量的限制:预训练的视觉-语言模型(VLMs)在经过微调后,其处理开放词汇量的能力受到限制。CaR技术保留了VLMs的广泛词汇空间。
- 对非图像中概念的文本查询处理:在没有微调的情况下,VLMs难以对图像中不存在的概念进行准确分割,CaR通过迭代过程逐步优化,提高了分割质量。
受RNN启发,循环调用CLIP
要理解CaR的原理,需要先回顾一下循环神经网络RNN。
RNN引入了隐状态(hidden state)的概念,就像是一个”记忆体”,存储了过去时间步的信息。而且每个时间步共享同一组权重,可以很好地建模序列数据。
受RNN启发,CaR也设计成循环的框架,由两部分组成:
- 掩膜提议生成器:借助CLIP为每个文本查询生成一个mask。
- 掩膜分类器:再用一个CLIP模型,评估生成的每个mask和对应的文本查询的匹配度。如果匹配度低,就把那个文本查询剔除掉。
就这样反复迭代下去,文本查询会越来越精准,mask的质量也会越来越高。
最后当查询集合不再变化,就可以输出最终的分割结果了。
之所以要设计这个递归框架,是为了最大限度地保留CLIP预训练的”知识”。
CLIP预训练中见过的概念可是海量,涵盖了从名人、地标到动漫角色等方方面面。如果在分割数据集上微调,词汇量势必会大幅缩水。
例如“分割一切”SAM模型就只能认出一瓶可口可乐,百事可乐是一瓶也不认了。
但是直接拿CLIP做分割,效果又不尽如人意。
这是因为CLIP的预训练目标本来就不是为密集预测设计的。尤其是当图像中不存在某些文本查询时,CLIP很容易生成一些错误的mask。
CaR巧妙地通过RNN式的迭代来解决这个问题。通过反复评估、筛选查询,同时完善mask,最终实现了高质量的开放词汇分割。
最后再来跟随团队的解读,了解一下CaR框架的细节。
CaR技术细节
- 循环神经网络框架:CaR采用了一个新颖的循环框架,通过迭代过程不断优化文本查询与图像之间的对应关系。
- 两阶段分割器:由掩膜提议生成器和掩膜分类器组成,均基于预训练的CLIP模型构建,且权重在迭代过程中保持不变。
- 掩膜提议生成:使用gradCAM技术,基于图像和文本特征的相似度得分来生成掩膜提议。
- 视觉提示:应用如红圈、背景模糊等视觉提示,以增强模型对图像特定区域的关注。
- 阈值函数:通过设置相似度阈值,筛选出与文本查询对齐程度高的掩膜提议。
- 后处理:使用密集条件随机场(CRF)和可选的SAM模型进行掩膜细化。
通过这些技术手段,CaR技术在多个标准数据集上实现了显著的性能提升,超越了传统的零样本学习方法,并在与进行了大量数据微调的模型相比时也展现出了竞争力。如下表所示,尽管完全无需额外训练及微调,CaR在零样本语义分割的8个不同指标上表现出比之前在额外数据上进行微调过的方法更强的性能。
作者还测试了CaR在零样本Refering segmentation的效果,CaR也表现出了相较之前零样本的方法表现出更强的性能。
综上所述,CaR(CLIP as RNN)是一种创新的循环神经网络框架,能够在无需额外训练数据的情况下,有效地进行零样本语义和指代图像分割任务。它通过保留预训练视觉-语言模型的广泛词汇空间,并利用迭代过程不断优化文本查询与掩膜提议的对齐度,显著提升了分割质量。
CaR的优势在于其无需微调、处理复杂文本查询的能力和对视频领域的扩展性,为开放词汇量图像分割领域带来了突破性进展。
论文链接:https://arxiv.org/abs/2312.07661。
项目主页:https://torrvision.com/clip_as_rnn/。