SAM 模型为 CV 领域的 ChatGPT,为计算机视觉带来技术突破。Meta 公司近期推出了其创新的 AI 模型——Segment Anything Model (SAM),专门用于计算机视觉(CV)领域的图像分割任务。这一模型吸取了 ChatGPT 基于提示(Prompt)的学习范式,实现了预训练与特定下游任务之间的紧密结合,从而显著提高了模型的泛化能力。更为出色的是,SAM 还展现出了卓越的零样本学习效果。SAM 的设计初衷和核心愿景是为了简化图像分割流程。它旨在减少对专业建模知识的依赖,同时也降低了大规模训练计算的需求。与此同时,SAM 模型还大大降低了用户手动标注掩码的需求。其最终目标是使用户在“不会/少会操作、不标注/少标注数据、不训练/少训练模型”的前提下,也能够实现高效的图像目标分割。 SAM 引起 AI 届的广泛关注和讨论,并产生相关衍生模型,提升模型功能,增加应用可能性。其衍生模型在分割效率、医学影像分割、阴影缺陷检测、伪体识别和动态图像分割等领域有性能提升,如 SEEM 模型结合了 SAM 的零样本泛化能力和检测器,可以根据多种用户输入分割图像或视频中的内容; MedSAM 对 SAM 进行微调,专门针对医学影像分割,并显示出比 SAM 更优的性能;通过适配方法生成 SAM-Adapter,其性能得以提升,特别是在阴影检测和伪装物体分割等任务上;SAM-Track 项目拓展了 SAM 模型,增强其视频分割能力,可广泛应用于多种视频场景,提供高准确性和可靠性的视频编辑功能。SAM 衍生模型或可应用与运动场景、医学影像、遥感图像等图像分割难度较大的领域。 SAM 及其衍生模型可基于强大的性能赋能多场景应用,催生巨大应用蓝海。 如 SAM 在零样本学习上表现优秀,可减少已有的 CV 领域训练数据量,实现降本增效;或在在标记数据稀缺或获取成本高的领域有许多潜在的应用。可将大模型应用在 CV 领域的制造业赛道,如工业机器视觉行业;可将模型应用于计算机视觉的下游应用赛道,包括自动驾驶、安防系统、AR 领域等;此外遥感图像、医学影像领域,由于图像分割难度较高,技术还需突破,可长期关注。 风险提示:1、技术发展不及预期;2、算力、数据支持不及预期;3、应用落地不及预期;4、行业竞争加剧。 投资建议:建议关注 AIGC 在 CV 领域应用的相关赛道,维持超配评级。AI大模型正在推动空天信息产业的发展,其中遥感大模型技术日益显现其重要性。相对于传统方法的局限性,大模型提供了统一分割、识别和生成遥感图像的能力,显著提高了效率和鲁棒性。基于此推荐相关标的 1)航天宏图:推出了天权大模型,提升了各类遥感数据的处理性能;2)中科星图:推出了空天灵眸大模型,推动在线数字地球业务。 SAM 模型:CV 领域的 ChatGPT SAM:“分割一切”的 AI 新模型 2023 年 4 月,Meta 发布了全新的 AI 模型 Segment Anything Model,即 SAM。官网对该模型的描述为:“只需一次点击,便可在任何图像中分割出任何物体”。 Segment Anything 文章指出,SAM 建立了一个基础图像分割模型,并在一个巨大的数据集上进行训练,从而试图解决一系列下游任务,成为一种通用的模型。论文的关键词包含了:prompt(基于提示学习)、task(下游任务)、zero-shot(零样本)、data(丰富的数据集)。模型的核心要点为: (1)与 ChatGPT 的启发思想一样,采用 Prompt-based learning 的可提示学习范式,提高学习效率; (2)建立了迄今为止最大的分割数据集 Segment Anything 1-Billion(SA-1B),含 1100 万张图像,超过 10 亿个掩码,比任何现有的分割数据集多 400 倍; (3)建立了通用的,全自动的分割模型,零样本灵活转化新任务,新领域,结果甚至优于之前的监督结果。 图1:SAM 模型官方文章 Prompt:将 ChatGPT 的学习思维应用在 CV 领域 SAM 模型的学习训练方式是 prompt,来源于近年来突飞猛进的 NLP 下游任务的优化过程。Prompt 代表的 prompt-based learning,即基于提示的学习,区别于传统的监督学习,被 GPT-3 团队推进使用。SAM 利用这种先进的技术路线,完成 CV底层技术突破, 并且具有广泛的通用性和零样本迁移的能力。 为了较深刻了解 prompt,本节对 NLP、PLM 及其他相关模型做简单介绍。 Prompt 之前的模型在做什么 自然语言处理(NLP, Nature Language Processing)主要研究人和计算机的交互,其中预训练语言模型(PLM,Pretrained Language Models)是较为前沿的 NLP处理模型。 图2:自然语言处理(NLP)的常用算法和模型 根据学习范式和发展阶段的不同,预训练模型可以简单划分为四代: (1)基于特征的学习(Feature-based):第一代预训练模型,根据“人的知识”设置规则来提取文本特征,以此来对文本进行编码。代表模型是 TF-DIF; (2)基于结构的学习(Architecture-based):第二代预训练模型,开启了 NLP的深度学习应用。代表模型是 W2V; 一二代预训练模型的共同点是模型的输出会作为下游任务的输入,但本身不做下游任务,之后的模型会将预训练的结果和模型本身都投入到下游任务中。 图3:预训练模型(PLM)的发展阶段和特征 (3)基于下游微调(Fine-tuning):第三代预训练模型,采用预训练+下游微调的方式,代表模型是 BERT 和 GPT。 (4)基于提示的学习(Prompt-based):第四代预训练模型,在三代模型 BERT和 GPT 的基础上做了进一步的改进。将输入信息按照特定模板进行处理,把任务重构成一个更能够充分利用预训练语言模型处理的形式。代表模型是 ChapGPT,gpt3.5,SAM。 其中,三代和四代的核心都是先进行预训练,再进行下游微调。简单来说,预训练模型是培养得到的“高中毕业生”,下游任务为“高校里的专业课程”,给这批“高中毕业生”再学习与未来应用领域相关的课程,将其培养成具备专业技能和知识的“大学生”,再应对专业岗位的要求。 图4:基于提示的学习(prompt-based learning)各分支 Prompt 的优势:实现预训练和下游任务的统一 如图 5(左)所示,传统、标准的 PLM + finetuning 范式(这里指三代模型)存在上下游差异大,应用不匹配的问题。预训练阶段采用的是自回归、自编码方式,而对下游微调来说,就需要大量的新数据来适应新形式。 图5:传统的预训练+微调模型以及 prompt 范式 但是,如今的模型的参数量越来越大,企业部署起来成本极高,而为了每一种下游任务都要去专门微调一个模型,会造成资源的极大浪费。整体来说,这类模型的缺点在于:1. 微调样本需求量大;2. 模型的专用性强,导致部署成本高。 GPT-3 团队认为在阅读大量无监督文本后,语言模型可以“培养广泛的技能和模式识别的能力”,并有效证明了在少样本场景下,模型不需要更新任何参数,就能够实现不俗效果。在这个基础上发展 prompt 的范式。预训练+微调范式是通过大量训练让模型去适配下游任务。而 Prompt 是把下游任务统一成预训练任务的形式,以特定的模板,将下游任务的数据组装成自然语言形式,充分挖掘预训练模型本身的能力。 图6:Fine-tune 和 prompt 两种范式的区别 以情感分类任务为例,使用两种预训练模型进行处理,比如利用模型写影评、书评、读后感等。如果使用传统 Fine-tune,需要人力来准备一个微调数据集,里面必须包含各种对电影/书籍的评价,以及这些评价人工阅读后的感受(是积极的还是消极的)。这个下游微调数据集必须足够大,才能应对复杂的任务。微调数据集的大小可能远超过了预训练数据集,乃至失去了预训练的意义;而 prompt使用预训练语言模型最擅长的完形填空模式等方式,让模型根据输入句,输出对MASK 位置单词的预测,推测出评价用户对这部作品究竟是持 Positive(积极)还是 Negative(消极)的态度。 图7:预训练+下游任务微调(PLM+Fine-tuning)处理情感分类任务(写影评) 综上,prompt 范式的优点在于:1.可以减少模型训练的样本量,在少样本甚至零样本的情况下进行训练;2. 提高通用性,在实际使用中降本增效。如今 GPT-4等大模型,已不再完全开放全部的模型参数,用户都只能通过 API 接口使用模型进行预测,Prompt 工程对下游任务的重要性已无需多言。 ZSL:零样本学习降本增效,提高模型泛化能力 零样本学习能力是什么 零样本学习(zero-shot learning,ZSL)是机器学习的难题,其目标是模型对于从未见过样本的“未知物体”也能进行识别和分类。ZSL 在标记数据稀缺或获取成本高的领域有许多潜在的应用。 图 7 描述了零样本学习的经典案例:认识斑马。一个“儿童”在动物园里见过了马、熊猫、狮子、老虎等动物,但是从未见过斑马,通过老师的描述,该“儿童”了解到斑马有四条腿、黑白相间的条纹,有尾巴。最终轻松地辨认出斑马。模型也可以通过零样本学习,从见过的类别(第一列)中提取特征(如:外形像马、条纹、黑白),然后根据对未知类别特征的描述,识别未见过的类别。 图8:零样本学习(ZSL)示例 SAM 的零样本学习能力得到认可 SAM 正具备这样一种零样本分割能力,它可以从各种 prompt 输入(包括点、方框和文本)中生成高质量的掩膜(Mask)。学术界有多篇论文探讨了 SAM 的 ZSL 能力,如 《 SAM.MD:Zero-shot medical image segmentation capabilities of the Segment Anything Model》测试了 SAM 的 ZSL 效果,在图像分割任务中输入了部分点和框作为 prompt 提示,结果显示:专家用户可以通过 SAM 实现大部分场景下的快速半自动分割。虽然在实验中 SAM 没有表现出领先的全自动分割性能,但可成为推动临床医生半自动分割工具发展的潜在催化剂,预示了这类模型进一步适应复杂医疗领域的无限可能性。 图9:SAM 的零样本学习能力在 CT 影像中的应用 图10:SAM 使用数据引擎(data engine)渐进式收集数据示意图 (1)模型辅助的手工注释阶段。在这个阶段,标注人员使用 SAM 模型作为辅助工具,通过点击、框选或输入文本等方式来生成 MASK,且模型根据标注人员的输入实时更新 MASK,并提供一些候选 MASK 供标注人员选择和修改。这样,标注人员可快速精确分割图像中的对象,不需要手动绘制。这个阶段的目标是收集高质量MASK 用于训练和改进 SAM 模型; (2)半自动阶段。在这个阶段,SAM 模型已经有了一定的分割能力,可以自动对图像中的对象进行预测。但是由于模型还不够完善,预测的 MASK 可能存在错误或者遗漏。标注人员的主要任务是收集更多的检查和修正模型的预测结果,保证MASK 的准确性和完整性。这个阶段的目的是收集更多的掩码,用于进一步提升 SAM模型的性能和泛化能力 (3)全自动阶段。这个阶段 SAM 模型已经达到了较高的水平,可以准确分割出图形中的所有对象,不需要任何人工干预。因此,标注人员的工作就变成了确认和验证模型输出,保证没有任何错误。这个阶段的目标是利用 SAM 模型的自动化标注能力,快速扩充数据集的规模和覆盖范围。 Data Set:使用数据引擎生成掩码 SAM 团队通过这种“模型辅助的手工注释—半自动半注释—模型全自动分割掩码”的渐进式方式收集掩码。最终成功地创建了规模空前、