在当今的深度学习领域,目标检测模型一直是备受关注的焦点。自首个YOLO模型发布以来,它们就成为了深度学习技术在日常生活中实用性的有力例证,像YOLOv8这样的模型已能轻松融入简单应用,即便对于低代码用户也易于上手。而近期,Meta AI在图像分割这一目标检测技术的下游应用中,推出了具有革命性的Segment Anything(SAM)模型。
一、Segment Anything模型的工作原理
- 从提示到分割:SAM模型首先将“提示”概念从自然语言处理转换到图像分割领域。这里的提示可以是图像中的点、文本描述、框图等。模型会尝试为任何给定提示返回一个有效的掩码。例如,提示可能指向多个对象(如衬衫与人),但输出的掩码仍能合理代表图像中的至少一个对象。这种预训练算法通过“提示”,成为零样本转移到下游分割任务的通用方法,使得几乎无需手动输入就能从任何图像生成掩码。
- 架构解析
- 图像编码器:这是一个经过预训练的视觉Transformer(ViT),对高分辨率输入进行了最小限度的适配。图像编码器对每张图像仅运行一次,并且可以在向模型发出提示之前应用,之后将嵌入传递给灵活的提示编码器。
- 提示编码器:它利用位置编码来表示点和框,将其与每种提示类型的学习嵌入相加,对于自由形式文本,则使用来自CLIP的现成文本编码器。而密集提示(即掩码)通过卷积嵌入,并与图像嵌入逐元素相加。
- 掩码解码器:它能有效地将图像嵌入、提示嵌入和