前些日子,Meta放出了他们在CV领域最新的项目——Segment Anything Project,涉及到了图像分割领域的新任务、模型、数据集。而这三个点,就是对应文章——Segment Anything的三个亮点。
新任务
项目提出的新任务的名字叫做可提示的图像分割任务(the promptable segmentation task),即给定图片和一些提示词——点的位置、方框、mask、文字等等,返回图像分割结果。
具体如下图:
模型
模型需要满足几个条件:
- 支持灵活的prompt
- 分割掩码的生成满足交互的实时性
- 能够处理歧义的情况(同一个位置不同粒度的分割)
为了满足上面三个条件,文章提出了如下模型:
- 一个基于ViT的图像编码器
- 一个prompt编码器
- 一个轻量级的掩码解码器
具体结构如下:
数据集
文章提出了一个10亿级的图像分割数据集,数据集的生成方法主要是通过模型在环的数据集标注(model-in-the-loop dataset annotation)过程,实现了标注过程从纯人工、半自动到全自动的过程。
数据集的构建过程其实是一个特别有意思的过程,具体可以参考知乎上的回答——如何评价Meta/FAIR 最新工作Segment Anything? – 一堆废纸的回答。这个回答将SAM的数据集构造过程与ChatGPT等大语言模型的RLHF的过程做了类比,引出了Data Centric AI的概念。
效果与不足
模型的效果相当惊艳,这里摘录Segment Anything官网上的一些例子。
目前主要的不足是生成的掩码不包含标签。
关注算法工程笔记,获取更多内容。