论文阅读——SEEM

arxiv:

分割模型向比较灵活的分割的趋势的转变:封闭到开放,通用到特定、one-shot到交互式。From closed-set to open-vocabulary segmentation,From generic to referring segmentation,From one-shot to interactive segmentation。

图片:

图片提取的特征:

初始化一个可学习的查询向量Qh:

通过Text_Encoder得到文本提示Pt:Text_Encoder(prompt_text)

通过VisualSampler得到

Pm初始化None,后面结合特征和之前的mask通过MaskedCrossAtt得到:

这样就得到了

相应的提示通过自我注意力与查询交互。可学习查询可以在推理时与所有提示自由交互。

也就是说,一张图片经过一个Img_Encoder得到特征Z;初始化一个可学习的查询Qh,并把它复制三份得到(即object, text and visual queries)三种查询的初始化。然后文本提示用Text_Encoder得到文本提示Pt,Pv通过VisualSampler得到。Pm初始化None,后面结合特征和之前的mask通过MaskedCrossAtt得到。

其中,VisualSampler应该是根据s,即prompt,通过点采样从图像特征中提取相应的区域,然后在这个区域均匀地插值最多512点特征向量。MaskedCrossAtt中,Mp是先前的mask, 而Z是图像特征图。通过这种方式,交叉关注仅在上一个掩码指定的区域内生效。更新后的记忆提示然后通过自我注意与其他提示交互,以传达本轮的历史信息。

得到这些查询、提示和图片特征后,他们自己可以通过注意力机制进行交互,得到,然后再预测mask M和类别 C。

在实践中,用户可以使用不同的或组合的提示类型来表达他们的意图。因此,提示的组合方法对于现实世界的应用是必不可少的。然而,在模型训练过程中,我们面临两个问题。首先,训练数据通常只涵盖单一类型的交互(例如,无、文本、视觉)。其次,尽管我们使用视觉提示来统一所有非文本提示,并将它们与文本提示对齐,但它们的嵌入空间本质上仍然不同。为了缓解这个问题,我们建议将不同类型的提示与不同的输出进行匹配。考虑到视觉提示Pv来自图像特征,而文本提示Pt来自文本编码器,我们通过将视觉提示和文本提示分别与掩码嵌入Omh或类嵌入Och匹配来选择匹配的输出索引:

之前的分割模型,比如SAM的分割是类别不可知的,即class-agnostic,SEEM以零样本的方式为各种提示组合的掩码产生语义标签.

损失函数:

SEEM的伪代码如下:

实验部分:

除了decoder部分,用的X-Decoder框架。

相关推荐
@小匠1 小时前
Read Frog:一款开源的 AI 驱动浏览器语言学习扩展
人工智能·学习
网教盟人才服务平台5 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊5 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾5 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)5 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz5 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea6 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
火山引擎开发者社区6 小时前
秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省
人工智能
冬奇Lab6 小时前
一天一个开源项目(第72篇):everything-claude-code - 最系统化的 Claude Code 增强框架
人工智能·开源·资讯