FACEBOOK 新作 | CutLER:无需标签也能玩转检测和分割

增长营销视频云容器与中间件

picture.image

Paper: https://arxiv.org/pdf/2301.11320.pdf
Code: https://github.com/facebookresearch/CutLER

导读

picture.image 零样本无监督目标检测和实例分割结果对比

毫无疑问,目标检测和语义分割等技术无论在学术界或是工业界都是被广泛应用的。通常训练一个拥有强大拟合业务场景能力的检测、分割模型需要海量的标签,例如目标框、掩膜和关键点等,这极大地增加了人工和时间成本。

为了解决此问题,有很多工作先后提出了自己的见解。通过自动学习分块特征,自监督ViTs可以在图象中检测出单个显著目标。然而,这些方法只能找出特征最突出的单个目标,无法有效应用在包含多个目标的真实场景。虽然FreeSOLO和DETReg 能检测出多个目标,但需要依赖特定的检测框架。类似地,最新的SOTA方法MaskDistill也需要“域内”的未标记数据进行训练。

基于此,本文通过大量的实验分析发现简单的probing和训练机制可以增强自监督模型的定位能力,并提出了一种无需人工打标且能直接在多个领域中使用的无监督目标检测和实例分割方法。

本文方法"Cut-and-LEaRn(CutLER)"包含三个简单的、与架构和数据无关的机制:

  1. MaskCut: 使用预训练的无监督特征自动为每个图像生成多个初始粗标签。
  2. 一种简单的损失丢失策略: 使用粗标签模训练检测器,同时对MaskCut未检测到的目标具有鲁棒性。
  3. 通过粗标签学习并生成比用于训练它们的粗标签更好的标签。

本文提出的CutLER方法贡献总结如下:

  1. 简单易训练,不受检测架构和骨干网络选择的影响;
  2. 无需额外数据:仅在 ImageNet 上训练的 CutLER 在 11 个不同的评估基准上表现出强大的无监督性能,并且在大多数情况下超越了使用额外数据训练的方法;
  3. 鲁棒性:CutLER 具有强大的鲁棒性,能够在不同领域的图像上进行测试;
  4. 监督预训练:CutLER 也可以作为监督检测和实例分割模型的预训练模型,并提高 COCO 上的少样本类别的性能。

欢迎大家关注我们的公众号CVHub,每日都给大家带来原创、多领域、有深度的前沿AI论文解读与工业成熟解决方案!

方法

picture.image CutLER方法概述

与先前的工作不同,通过引入一种简单机制,本文方法能够在一张图像上同时发现多个目标进行学习,这对分割和检测性能有这显著的提升。CutLER方法概述如上图所示。首先,我们提出了MaskCut,它能使用DINO的自监督特征为每张图像生成多个二进制蒙版。其次,我们使用了一种称为DropLoss的动态损失下降策略,它能够从MaskCut的初始蒙版中学习并优化检测器,同时帮助模型探索MaskCut未检测到的目标。第三,通过多轮自训练方式进一步地优化模型性能。

前言

Normalized Cuts (NCut)

我们将图像分割问题当作图形分割问题进行处理。通过将每幅图像表示为一个节点来构建一个完全连接的无向图,每对节点都通过具有衡量连接节点相似性的边权 连接。通过求解广义特征值系统来最小化,NCut 将图形划分为两个子图的代价:

picture.image

其中, 是 对角矩阵, = W, 是 对称矩阵。

DINO 和 TokenCut

DINO 发现自监督ViT能够自动学习图像块的某种感知分组。TokenCut 利用DINO特征进行NCut操作并分别获得图像中的前景和背景区域信息。其中关键思路即在NCut中使用DINO特征空间中的块的相似性作为相似度权重。

基于此,我们使用DINO预训练模型的最后一层注意力层的“关键”特征的余弦相似度,来找出第二小的特征向量。然而,由于TokenCut仅能为图像计算一个二进制蒙版,其在图像中最多只能找出一个目标。我们尝试过使用另外N-2个最小的特征向量来定位多个实例,但这会显著降低性能。

MaskCut for Discovering Multiple Objects

picture.image MaskCut可以无需监督而发现多目标的mask

据上文提要,传统NCut只能在图像中发现一个目标。对此,我们提出了MaskCut,通过迭代地对masked similarity matrix使用NCut,我们能够在每张图像中探索出多个目标,如上图所示。在第阶段获得NCut的二分法 后,我们获得两组不相交的区域并构造二进制蒙版 :

picture.image

为了确定哪组属于前景,我们使用以下两个标准:1)直观上来看,前景图区域应该比背景图区域更突出。因此,前景蒙版应包含第二小特征向量 中绝对值最大的区域;2)我们结合一个简单但有效的基于对象的先验:前景图区域应该包含不到四个角中的两个。如果当前前景区域包含两个角,但不满足标准1,或者不满足标准2,我们则将前景和背景的分割转换,即 =1−。

为了获得第个目标的蒙版,通过将上一阶段对应前景的节点遮盖,我们得以更新节点的相似性

picture.image

其中 = 。使用更新后的Wt+1ij,我们重复公式(1)和(2)以获取的蒙版。我们默认重复这个过程3次。

DropLoss for Exploring Image Regions

如果某区域与标签不重合,标准检测损失则会惩罚预测区域。由于MaskCut生成的“标签”掩码可能遗漏目标,因此标准损失不能让检测器发现没有“标签”的目标。因此,我们建议忽略与有“标签”目标的小重叠预测区域的损失。具体来说即,在训练期间,我们会删除每个预测区域的损失,该区域与任意有“标签”的目标的最大重叠度为τ:

picture.image

其中,表示与所有“标签”的最大,表示检测器的传统损失函数。不会惩罚预测“标签”未被标记目标的模型,从而鼓励对不同图像区域的探索。

Multi-Round Self-Training

通过分析大量的实验数据发现,尽管学习的是由MaskCut生成的粗糙蒙版,但检测模型仍能学习到良好的表征能力,并不断地生成比用于训练的初始粗糙蒙版更好的蒙版。检测器改进了蒙版的质量,同时DropLoss策略鼓励他们发现新目标蒙版。因此,我们利用这一性质,并使用多轮自训练来提高检测器性能。

实验

picture.image 与SOTA模型的分割结果对比

在COCO数据集上与无监督SOTA模型FreeSOLO的分割结果对比,可以清晰地观察到本文方法CutLER对目标的边缘以及完整度处理得更好。

picture.image 少量数据和全数据监督的Finetuning结果对比

任意数据量的监督Finetuning下,本文方法CutLER均能获得最佳精度,尤其是在少量数据监督下获得了7~8%的精度优势。

picture.image

随着训练轮数的增长,MaskCut生成的蒙版数量和质量也在逐步提升。

picture.image

本文方法CutLER比SOTA模型平均高出10%+AP,有着“划时代”级别的提升。

总结

本文展示了一种简单而有效的Cut and Learn方法,它无需人工标注成本却能在目标检测和实例分割任务下获得令人惊讶的性能表现。作为一个无监督检测器, CutLER 仅需在 ImageNet 上训练,便能直接应用在各种领域的 11 个基准测试中,并且检测性能超过先前SOTA工作的 2.7 倍。

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论