字节多模态大模型PixelLM:高效像素级推理,无需依赖SAM
作者: 量子位 来源: 量子位
梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
多模态大模型爆发,准备好进入图像编辑、自动驾驶和机器人技术等细粒度任务中实际应用了吗?
目前大多数模型的能力还是局限于生成对整体图像或特定区域的文本描述, 在像素级理解方面的能力(例如物体分割)相对有限。
针对这个问题,一些工作开始探索借助多模态大模型来处理用户的分割指令(例如,“请分割出图片中富含维生素C的水果”)。
然而,市面上的方法都存在两个主要缺点:
1)无法处理涉及多个目标对象的任务 ,而这在现实世界场景中是不可或缺的;
2)依赖于像SAM这样的预训练图像分割模型, 而SAM的一次前向传播需要的计算量已经足够 Llama-7B产生500多个token了。
为了解决此问题,字节跳动智能创作团队联合北京交通大学、北京科技大学的研究人员提出了首个无需依赖SAM的高效像素级推理大模型PixelLM 。
在具体介绍它之前,先来体验几组PixelLM实际分割的效果:
相比之前的工作,PixelLM的优势在于:
- 能够熟练处理任意数量的开放域目标和多样化的复杂推理分割任务。
*避免了额外的、成本高昂的分割模型 ,提升了效率和对不同应用的迁移能力。
进一步,为了支持这一研究领域的模型训练和评估,研究团队在LVIS数据集的基础之上,借助大模型构建了一个面向多目标推理分割场景的数据集MUSE,它包含20万个以上的问题-答案对,涉及90万个以上的实例分割掩码。
为了实现上述的效果,这项研究具体是如何做的呢?
背后原理
如论文中的框架图所示,PixelLM架构十分简洁,包括四个主要部分,后两者是PixelLM的核心:
-
预训练的CLIP-ViT视觉编码器
-
大语言模型
-
轻量级像素解码器
-
分割码表 Seg Codebook
Seg codebook包含可学习的tokens,它们用于编码CLIP-ViT不同尺度上的目标信息。然后,像素解码器基于这些tokens和CLIP-ViT的图像特征生成目标分割结果。得益于这种设计,PixelLM可以在没有外部分割模型的情况下生成高质量的分割结果,显著提高了模型效率。
根据研究人员的描述,Seg codebook内的tokens可分为L组,每一组包含N个token,每个组对应于来自CLIP-ViT视觉特征的一个尺度。
对于输入的图像,PixelLM从CLIP-ViT视觉编码器产的图像特征中提取出L个尺度的特征,其中最后一层涵盖了全局图像信息,会被LLM用作理解图像内容。
Seg codebook的tokens将会与文本指令及最后一层图像特征一起输入LLM中,以自回归的形式产生输出。而输出中也将包含经过LLM处理后的Seg codebook tokens,它们将与L个尺度的CLIP-ViT特征一起输入到像素解码器中产生最终的分割结果。
那么为什么还要设置每组包含N个token呢?研究人员结合下图进行了解释:
在涉及多个目标或目标所包含的语义十分复杂的情景中,尽管LLM可以提供详细的文本响应,但仅使用单个token可能无法充分捕捉目标语义的全部内容。
为了增强模型在复杂推理情景下的能力,研究人员在每个尺度组内引入多个token,并执行一个token的线性融合操作。在token传入解码器之前,使用线性投影层将每个分组内的token合并。
下图展示了每组内多个token时的效果。注意力图是每个token经过解码器处理后的样子,这个可视化结果表明,多个token提供了独特且互补的信息,从而实现了更有效的分割输出。
此外,为了增强模型区分多个目标的能力,PixelLM还额外设计了一个Target Refinement Loss。
MUSE数据集
尽管已经提出了上述解决方案,但为了充分发挥模型的能力,模型仍然需要适当的训练数据。回顾目前可用的公开数据集,发现现有的数据存在以下主要限制:
- 对物体细节的描述不够充足;
- 缺乏具有复杂推理和多种目标数量的问题-答案对。
为了解决这些问题,研究团队借助大模型构建了一个自动化的数据标注流水线,并由此产生了MUSE数据集。下图展示了MUSE生成时所用到的Prompt及产生的数据示例。
在MUSE中,所有实例掩码都来自LVIS数据集,并且额外添加了根据图像内容生成的详细文本描述。MUSE包含了24.6万个问题-答案对,每个问题-答案对平均涉及3.7个目标物体。此外,研究团队对数据集进行了详尽的统计分析:
类别统计 :MUSE中有来自原始LVIS数据集的1000多个类别,以及90万个具有独特描述的实例,这些描述基于问题-答案对的上下文而变化。图(a)显示了所有问题-答案对中每个类别的实例数量。
Token数目统计 :图(b)展示了实例描述的token数目分布,其中有的实例描述包含了超过100个tokens。这些描述不仅限于简单的类别名称;相反,它们通过基于大模型的数据生成流程,大量丰富了每个实例的详细信息,涵盖了外观、属性和与其他对象的关系等。数据集中信息的深度和多样性增强了训练模型的泛化能力,使其能够有效地解决开放域问题。
目标数目统计 :图(c)展示了每个问题-答案对中目标数量的统计数据。平均目标数量为3.7,最大目标数量可达34个。这个数字可以覆盖单个图像的大多数目标推理场景。
算法测评
研究团队在三个benchmark上评测了PixelLM的性能,包括MUSE benchmark, referring segmentation benchmark,以及multi-referring segmentation benchmark. 在multi-referring segmentation benchmark中,研究团队要求模型在一个问题中连续地分割出referring segmentation benchmark中每幅图像包含的多个目标。
同时,由于PixelLM是首个处理涉及多目标复杂像素推理任务的模型,研究团队建立了四个baseline以对模型进行比较分析。
其中三个baseline基于与PixelLM最相关工作LISA,包括:
1)原始的LISA;
2)LISA_rec: 先将问题输入LLAVA-13B以得到目标的文本回复,再用LISA分割这些文本;
3)LISA_aug:直接将MUSE加入LISA的训练数据。
- 另外一个则是不使用LLM的通用分割模型SEEM。
在三个benchmark的绝大多数指标上,PixelLM的性能均优于其他方法,且由于PixelLM不依赖于SAM,其TFLOPs远远低于同尺寸的模型。
感兴趣的小伙伴可以先关注一波,坐等代码开源了~
参考链接:
[1]https://arxiv.org/abs/2312.02228
[2]https://pixellm.github.io/
—完 —
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见 ~
更多AI工具,参考Github-AiBard123,国内AiBard123