2304.03284.pdf (arxiv.org)
Segment everything with a generalist Painter
Images Speak in Images: A Generalist Painter for In-Context Visual Learning
提到的相关Vision generalist的论文:
Pix2Seq、Unified-IO、OFA、UViM
主要思想:
- 目标是训练一个能够解决多种、无限制分割任务的单一模型
- 纳入不同的数据类型
- 设计一种支持泛化的训练方案,支持灵活的任务定义并且处理域外数据
- 其训练被形式化为上下文中的着色问题
- 每个data sample是随机颜色映射的
- 让模型根据上下文给对应区域上色,随机着色可以让它不能依赖特定的颜色方案,必须使用上下文信息
- vanilla ViT + smooth-L1 损失
- feature ensemble,来纳入multi-example prompt
- 可以调优prompt而非调优模型来适应不同的domain
- 可以分割同一个场景里面的不同对象
- 是一个Painter框架的特殊版本,不修改结构和损失,在上下文训练中设计了一个新的随机着色方案,以获得更好的泛化性能。
之前版本Painter的问题:
- 颜色空间是预定义好的
- 比如语义分割,给每个语义类分配了一个固定的颜色,在实例分割上,是通过实例在空间的位置为其分配颜色(颜色数量等于空间位置数量)
- 导致模型只根据颜色来确定它的任务类型,并且在多任务学习上崩溃
主要方法:
-
In-Context Coloring

在input image的同一类图片(shares a similar context)里面随机选一张,然后从target image里面随机采样一个color set,再把所有color 随机映射到这里面的一个上,重新着色所有的对应像素
此外还有Mix-context:把具有同样颜色映射关系的多个images拼接到一起(?或者是先拼接然后再用同样的颜色映射),随机crop然后大小形成混合上下文训练样本。这样强制让模型学会关注图像的上下文,而不是关注颜色信息来确定任务。
实现的时候,sampling都是关于color来的,也就是说同样的color对应了同样的语义类或者实例
-
Context Ensemble
- spatial ensemble:先把多个example拼接成N*N网格,然后下采样到跟单个sample一样的大小。符合in-context coloring的直觉,无额外成本
- Feature ensemble:除了在每个attention层后对query image的特征做平均以外,多个示例的feature在batch维度中组合并独立计算。可以在推理过程中收集多个示例的信息。

-
In-Context Tuning
- 冻结模型,初始化一个可学习image tensor作为input context,训练完可以拿出来作为即插即用的为特定任务设置的key
- 不会损伤模型的通用性,但又得到了专用场景的应用