大模型学习笔记------SAM模型详解与思考
- 1、SAM框架概述
- 2、Segment Anything Task
- 3、Segment Anything Model
SAM模型是Meta 提出的分割一切模型(Segment Anything Model,SAM)突破了分割界限,极大地促进了计算机视觉基础模型的发展。SAM是视觉大模型中里程碑级别的算法。
1、SAM框架概述
SAM整体框架如下所示:
SAM模型最主要的贡献就是彻底改变计算机视觉和分割领域传统架构,它的整体架构主要包含三部分
:
- 任务(task):通过4种方式的prompts(即points、box、mask、text)来生成分割结果,但是在实际代码中并没有text方式进行文本输入。
- 模型(model):采用prompt encoder、image encoder和lightweight mask decoder模块来实现mask的生成,其中,lightweight mask decoder完成prompts特征与图像特征的融合。
- 数据集(data):: 依靠交互式标注以及数据自动/半自动标注来迭代出Segment Anything数据集。
2、Segment Anything Task
SAM模型的灵感来自于NLP 。在 NLP 中,下一个标记预测任务被用于基础模型的预训练,并通过提示工程(prompt engineering)解决各种下游任务。用于分割的基础模型也应该是一个具有类似能力的任务。
基于prompt的分割任务就是在给出任何prompt的情况下,返回一个有效的分割掩码。对 "有效 "mask的要求简单来说,即使prompt模棱两可,可能指向多个对象(见图 3),输出的mask至少也应该是一个合理的mask。
3、Segment Anything Model
整个Model的解释我放在了结构图中,具体如下所示。