每年,CVPR 都会汇集来自计算机视觉和机器学习领域的一些最聪明的工程师、研究人员和学者。
上个月感觉越来越接近计算机视觉的 GPT-3 时刻——一些新的 CVPR 2023 提交似乎越来越接近
继上个月宣布“Painter”(在此处提交)之后,BAAI Vision 团队上周发布了他们的最新迭代“SegGPT:在上下文中分割一切”(在 Arxiv 中)。
在其中,由Xinlong Wang,Xiaosong Zhang,Tue Cao,温 Wang,Chunhua Shen和Tiejun Huang组成的BAAI团队展示了计算机视觉挑战难题的另一部分:一个通才模型,允许通过上下文推理解决图像和视频中的一系列分割任务。
在这篇博文中,您将:
更新:是否要消除手动分段?了解如何使用 SegGPT 和 Meta 的 Segment Anything Model (SAM) 等基础模型来降低 Encord 的标签成本!阅读产品公告,了解如何微调 SAM 或直接开始使用!
作为基础模型,SegGPT 能够解决各种大量分割任务,而专业分割模型可以解决非常具体的任务,例如前景、交互、语义、实例和全景分割。现有模型的问题在于,切换到新模式或分割视频而不是图像中的对象需要训练新模型。这对于许多分割任务来说是不可行的,并且需要昂贵的注释工作。
从论文和发布的演示来看,SegGPT 展示了强大的细分领域内和领域外目标的能力,无论是定性还是定量。与其他通才模型(如 Painter)和 Volumetric Aggregation with Transformer (VAT) 等专业网络相比,SegGPT 在单次和少次分割方面优于其他通才模型,平均交集并集 (mIoU) 得分更高。
研究人员用于定量训练、评估和比较性能的基准数据集是 COCO-20i 和 PASCAL-5i。
研究人员还在FSS-1000上测试了该模型,该模型尚未经过训练。它还能够在单次和少次分割任务上以更高的 mIoU 优于 Painter,并且性能更接近民主注意力网络 (DAN) 和超相关挤压网络 (HSNet) 等专业网络。
SegGPT 还提供了良好的上下文视频分割,并在 YouTube-VOS 2018、DAVIS 2017 和 MOSE 数据集上明显优于 AGAME 等特定任务方法和 Painter 等基础模型。
SegGPT 建立在 Painter 框架之上。Painter 是一个通用模型,它将核心视觉任务的输出重新定义为图像,并将任务提示指定为图像。根据这篇论文,Painter 框架有两个亮点,使其成为上下文图像学习的工作解决方案:
SegGPT 团队采用以下方法进行培训:
SegGPT 可以通过将各种类型的视觉数据统一为通用格式来对它们进行分段。该模型通过在上下文中对这些部分进行着色来学习分段,使用随机配色方案,迫使它使用上下文信息而不是依赖特定颜色来提高其泛化能力。
这使得模型更加灵活,能够处理各种分割任务。训练过程类似于使用带有简单 smooth-ℓ1 损失函数的普通 ViT 模型。
为了提高通用性,SegGPT 网络架构遵循三种方法:
该模型使用随机着色方案来实现输入图像的上下文颜色学习,以避免网络仅学习颜色而不了解分割对象之间的关系的问题。这是该网络在泛化性和边界框的紧密性方面优于 Painter 网络的原因之一。
研究人员还采用了“混合上下文”训练技术,使用各种样本来训练模型。这需要使用相同的颜色映射将多个图像拼接在一起。然后随机调整图像大小并裁剪图像以创建混合上下文训练样本。因此,模型能够通过关注图像的上下文信息而不是仅使用一组有限的颜色信息来确定任务。
为了提高准确性,该研究使用了两种上下文集成方法:
这允许模型在推理过程中收集有关多个示例的信息并提供更准确的预测。
SegGPT 可以适应独特的用例,而无需更新模型参数。相反,可学习的图像张量被初始化为输入上下文并在训练期间更新,而其余部分保持不变。
学习到的图像张量可能是特定应用的关键。这样可以针对一组固定的对象类别进行定制提示,或者针对特定场景或角色优化提示图像,从而提供广泛的应用。
在训练过程中,研究人员使用了具有 307M 参数的预训练 Vision Transformer 编码器 (ViT-L)。他们还使用了 AdamW 优化器、余弦学习率调度器,基本学习率为 1e-4,权重衰减为 0.05。批量大小设置为 2048,模型经过 9K 次迭代训练,预热期为 1.8K。该模型使用各种数据增强,例如随机调整大小裁剪、颜色抖动和随机水平翻转。输入图像大小为 448x448。
您现在可以尝试的 SegGPT 演示托管在 Hugging Face 上。 SegGPT 的代码是开源的,并且与 Painter 包位于同一存储库中。
研究团队提供了一个带有 Gradio 的 UI,用于在本地运行演示。请按照以下步骤操作:
python app_gradio.py
研究人员使用了多个分割数据集,例如部分、语义、实例、全景、人物、视网膜血管和航空图像。与以前需要手动合并标签的方法不同,该训练方法不需要额外的工作、调整数据集或修改模型架构。
BAAI 研究人员用于训练 SegGPT 的数据集包括以下内容:
iSAID 和 loveDA 专注于航拍图像的语义理解,分别针对 15 个和 6 个语义类别使用 23262 个和 2520 个训练图像。
与 Meta 的 Segment Anything Model (SAM) 和其他最近的突破性基础模型(例如 Grounding DINO)一样,您可以使用 SegGPT 进行 AI 辅助图像标记和注释。该模型可以很好地推广到许多任务,并且有可能减少团队的注释工作量。
您还可以设置 SegGPT,以便随着注释者完善和纠正其辅助标记,它会随着时间的推移进行学习和改进,从而随着时间的推移获得更好的性能并进一步简化注释过程。
使用 SegGPT 时需要注意的一件事是您想要用于注释的任务类型(语义、实例等)。 SegGPT 在所有基准测试中都没有优于现有的专业方法,因此了解它优于哪些任务非常重要。
就这样,伙计们!
过去几周是计算机视觉过去十年中最激动人心的几周。但我们确信,我们会在几个月后回顾它们,并发现——从 Segment-Anything 到 SegGPT——我们仅仅触及了表面。