Painter:使用视觉提示来引导网络推理
文章目录
- 1. 论文
- 2. 示意图
- 3. 主要贡献
- 4. 代码简化
1. 论文
paper:Images Speak in Images: A Generalist Painter for In-Context Visual Learning
github:https://github.com/baaivision/Painter
2. 示意图
3. 主要贡献
在 In-context Learning 中,作为自然语言处理的一种新范式,使模型能够仅凭少数提示和示例迅速适应各种任务。但在计算机视觉领域, In-context Learning 的难点在于任务的输出表示方式差异很大,因此不清楚如何定义通用任务提示,以便视觉模型能够理解并应用到领域外的任务。在这项工作中 Painter 将核心视觉任务的输出重新定义为图像,并将任务提示也指定为图像。基于这个想法,训练过程非常简单,即对输入和输出图像对的组合执行标准的遮蔽图像建模。这使得模型能够执行基于可见图像补丁的任务。因此,在推断过程中,可以采用来自相同任务的一对输入和输出图像作为输入条件,以指示要执行哪个任务。没有那些花里胡哨的 trick,Painter在七个代表性的视觉任务上表现出与成熟的任务特定模型相媲美的性能,这些任务涵盖了从高级视觉理解到低级图像处理的各种领域。此外,Painter在几项具有挑战性的任务上明显优于最近的通用模型。
4. 代码简化
由于原项目的代码比较繁琐,对于各种不同的数据集有比较复杂的加载方式,我对他们的代码进行简化,从而令初学者能够快速利用自己的任务或者图像进行测试,需要注意的是这里我删除了关于训练的代码。链接:Painter:使用视觉提示visual prompt来引导网络推理超精简代码。以下是简化前后的代码结构对比。
简化前的代码结构:
简化后的代码结构: