简介
《HIPIE: Hierarchical Open-vocabulary Universal Image Segmentation》
分层的,开放词汇的通用图像分割
单位:加州大学伯克利分校,松下人工智能研究;日期:2023.7.3
第一作者:王旭东,研究领域:计算机视觉、机器学习
论文地址:https://arxiv.org/abs/2307.00764
github:https://github.com/berkeley-hipie/HIPIE
本文简述:
提出了HIPIE,一种新颖的分层、开放词汇和通用的图像分割和检测模型,能够在统一的框架内执行各种粒度级别的分割任务,包括语义分割、实例分割、全景分割、基于文本的实例分割和零件分割。通过消除预定义对象类和粒度的约束,HIPIE为图像分割提供了更灵活、适应性更强的解决方案。
HIPIE: H Ierarchical, oPen-vocabulary, and unIvErsal segmentation
名词解释:
Open-vocabulary:核心思想与zero-shot类似,在都是在可见类的数据上训练,然后完成对不可见类数据的识别和检测,和zero-shot的区别在于,zero-shot只使用基类中的词汇进行预训练,而open-vocabulary会使用image-caption(图像-文本对描述)进行预训练
open-vocabulary预测新类别的难度低于zero-shot,因为image-caption的加入,通过文本描述中丰富的词汇,模型在学习的时候可能会学习到基类和预测类的信息,从而学习到一个有效的视觉语义空间
- 摘要(原文翻译)
开放词汇图像分割的目的是根据任意的文本描述将图像划分为语义区域。然而,复杂的视觉场景可以自然地分解成更简单的部分,并在多个粒度层次上进行抽象,从而引入固有的分割歧义。与现有方法不同,现有方法通常会回避这种模糊性并将其视为外部因素,我们的方法积极地将包含不同语义层次的分层表示纳入学习过程。我们提出了一种解耦的文本-图像融合机制和**“thing”和“staff”的表示学习模块**。此外,我们系统地研究了这些类别之间存在的文本和视觉特征的差异。我们的结果模型被命名为HIPIE,它在一个统一的框架内处理分层、开放词汇和通用分段任务。在ADE20K、COCO、Pascal-VOC Part、RefCOCO/RefCOCOg、ODinW和SeginW等40多个数据集上进行基准测试后,HIPIE在不同级别的图像理解上取得了最先进的结果,包括语义级(例如语义分割)、实例级(例如全景/参考分割和对象检测)以及部件级(例如部件/子部件分割)任务
目标
在统一的框架内执行各种粒度级别的分割任务,包括语义分割、实例分割、全景分割、基于文本的实例分割和零件分割
Fig1:给定图像和一组任意文本描述,提供图像分割。这包括开放词汇语义(例如人群和天空)、实例/全景(例如人和猫)、part(例如头部和躯干)、subpart(例如耳朵和鼻子)和文本表达(例如带白杆的雨伞)mask。HIPIE优于以前的方法,而不管它们的粒度或任务特异性如何。
底部图像:我们的方法可以与SAM无缝集成,在SA-1B上实现分类感知图像分割
创新点
-
a decoupled text-image fusion mechanism,一种解耦的文本-图像融合机制
-
representation learning modules for both “things” and “stuff”, “thing”和“staff”的特征学习模块
things(可数物体,通常是前景)和stuff(非物体,不可数物体,通常是背景)
方法
HIPIE用于分层、通用和开放词汇的图像分割和检测的示意图。
首先将图像和文本提示传递给图像和文本解码器,得到视觉visual特征Fv和文本text特征Ft,然后利用早期融合对图像和文本特征进行合并,得到F’v, F’t。两个独立的解码器用于things(前景)类和stuff(背景)类
每个解码器接收一组图像特征和文本特征,并返回一组蒙版、边界框和对象嵌入(M、B、E)。我们计算前景和背景建议,并将它们连接起来,得到最终的建议和蒙版
HIPIE模型包括三个主要组成部分:
- Text-image feature extraction and information fusion
文本图像特征提取与信息融合 - Foreground (referred to as things) and background (referred to as stuff) mask generation
前景(简称things)和背景(简称stuffs)掩码生成 - Proposal and mask retrieval using text prompts
使用文本提示的Proposal(候选框)和mask(掩码)检索
具体实现:
- 文本图像特征提取与信息融合
Q:为什么要使用“解耦的文本-图像融合机制”
在文本和视觉特征的类相似性上,stuff和thing类之间存在着明显的差异。
Stuff类在文本特征上的相似性明显高于things类。
这一观察结果表明,整合文本特征可能会在为Thing类和stuff类的比较生成更好判别的特征
Fig2:一种解耦的特征学习方法,该方法可以有效地生成更具判别性的视觉和文本特征。我们提取视觉特征的相似矩阵,通过预训练的MAE或我们的微调的MAE获得,对于文本特征,使用预训练的BERT或微调的BERT产生。我们在COCOPanoptic上报告了结果,并测量了平均相似度(µ)。
因此,对于“thing”类:采用早期图像-文本融合方法,以充分发挥辨别性文本特征的优势;对于“stuff”类:采用后期图像-文本融合策略,减轻非歧视性文本特征带来的潜在负面影响
-
图像和文本特征提取, Image and Text Feature Extraction
使用预训练的BERT模型来提取文本提示的特征
分别使用ResNet-50和Vision Transformer (ViT)作为图像编码的基础架构
ResNet-50:从最后三个块中提取多尺度特征并将其表示为Fv
ViT:使用来自区块8,16和32的输出特征作为多尺度特征Fv
-
文本-图像特征融合, Text-Image Feature Fusion
采用双向交叉注意(Bi-Xattn)提取文本引导的visual视觉特征Ft2v和image-guided图像引导的文本特征Fv2t。然后通过残差连接将这些attentive关注特征与文本特征Ft和图像特征Fv集成
- 前景(简称things)和背景(简称stuffs)掩码生成
-
生成Thing和Stuff的掩码, Thing and Stuff Mask Generation
使用两个单独的解码器来解耦stuff和thing掩码预测
thing decoder:采用了Deformable DETR,其掩码头遵循UNINEXT架构,并加入了DINO提出的去噪过程。计算损耗时采用simOTA对box proposal和ground truth进行多对一匹配,并使用基于框的NMS来删除重复的预测。查询(queries)次数为900。
stuff decoder:使用MaskDINO架构。采用one-to-one Hungarian matching(一对一匈牙利配对),不考虑box loss。查询(queries)次数为300。
-
Focal Loss作为分类输出,L1 Loss和GIoU Loss用于box预测,像素级二值分类Loss和DICE Loss用于掩模预测
-
使用文本提示的Proposal(候选框)和mask(掩码)检索
特征为E,测试类为Ctest。首先用前面提到的标准方法计算概率p1(E, Ctest) = P(Ctest|E)。我们还从CLIP的视觉编码器V中计算M的掩码池特征为ECLIP = MaskPooling(M, V(I))。然后我们计算CLIP logits p2(E, Ctest) = P(Ctest|ECLIP)作为CLIP文本特征与ECLIP之间的相似度。最后我们将最终预测结果合并为
λ是一个平衡因子
-
分层分割
除了实例级分割之外,我们还可以执行部件感知的分层分割。我们将实例类名和部件类名连接为标签。例如“人耳”和“猫头”。在训练过程中,我们同时使用部件标签和实例标签对分类头进行监督。
我们将同一图像的零件分割和实例分割结合起来,得到零件感知的实例分割。此外,通过对部件进行分组,可以获得层次结构。例如,“头”由耳朵、头发、眼睛、鼻子等组成。图5说明了这一过程
Fig5:分层分割管道。我们将实例类名和部件类名连接为标签。在训练过程中,我们同时使用部件标签和实例标签来监督分类头。在推理过程中,我们使用相同的图像但不同的提示执行两个单独的向前传递来生成实例和部分分割。将同一图像的part分割和实例分割相结合,得到右侧的分层分割结果
-
使用SAM进行类感知部件分割
我们还可以通过将我们的语义输出与SAM生成的类不可知掩码相结合来执行类感知的分层分割.
具体来说,给定语义掩码M及其类概率PM和sam生成的部分掩码S,我们计算掩码Si∈S相对于类j的类概率,
式中|Mk∩Si|为掩模Mk与Si的相交面积。我们将语义输出与SAM结合起来,因为我们的预训练数据集只包含以对象为中心的掩码,而SAM使用的SA-1B数据集包含许多局部段和对象部分。
训练
首先在Objects365上预训练:340k次迭代,使用批大小为64,学习率为0.0002,迭代次数完成90%之后学习率下降了10倍
在COCO、RefCOCO、RefCOCOg和RefCOCO+上对HIPIE进行了12万次的微调:使用批大小为32,学习率为0.0002
(这两个阶段,调整原始图像的大小,使最短的边:(800像素,1024像素);最长的边<=1333像素。)
对于零件分割,在Pascal-Panoptic-Parts数据集和前面提到的所有数据集上联合训练我们的模型。
实验
Tab1:HIPIE能够执行所有列出的分割和检测任务,并使用统一的框架实现最先进的性能。在一系列基准数据集上展示了与SOTA方法的性能比较。每个任务的第二种最佳执行方法都被加了下划线。
*:目标检测可以通过使用实例分割掩码生成边界框来进行。
-
Panoptic Segmentation(PQ, Panoptic Quality)
使用ViT-H骨干的比以前最近、最先进的56.2高出1.8
-
Semantic Segmentation(mIoU)
-
Part Segmentation(𝑰𝒐𝑼𝑷𝒂𝒓𝒕𝑺)
比最先进的模型(58.6)高出5.2个百分点
-
Object Detection (𝑨𝑷𝒃𝒐𝒙)
在MSCOCO和ADE20K数据集上,分别增加了7.4和2.2 APbox
-
Instance Segmentation(𝑨𝑷𝒎𝒂𝒔𝒌)
在MSCOCO和ADE20K数据集上,分别增加了5.1和0.6 APmask
-
Referring Segmentation(oIoU)
在总体IoU (oIoU)上平均优于所有其他替代方案+0.5
REC: Referring Expression Comprehension,引用表达式理解
RIS: Referring Image Segmentation,参考图像分割
(REC)的目的是在给定引用表达式作为输入的情况下,在像素级定位图像中的目标对象。参考图像分割(RIS)预测了一个紧密包围图像中目标对象的边界框,该边界框与参考表达式相对应[20,61]。我们采用REC的标准度量Precision@0.5,我们在附录中报告了结果。
- 消融实验
图4和表4所示的文本-图像特征融合和掩码生成模块的几种设计选择,发现图4c)可以提供最优的性能
Fig4:在版本a)中,我们对所有掩码使用单个解码器。采用早期融合。在版本b)中,两个独立的解码器用于things和stuff类。两个解码器都采用了早期融合。版本c)与版本b)相同,唯一的区别是内容解码器不使用早期融合。
TabA4:文本编码器选择的研究。我们发现,尽管CLIP和BERT在全景分割和实例分割上实现了相似的性能,但BERT在引用实例分割上的表现明显更好(+28.6 iou)。
TabA5:引入SimOTA可以提高所有评估指标的性能
- 关于物体检测与分割能力更广泛的测试
Tab7:我们给出了OdinW基准测试中的目标检测结果。我们报告了mAP和35个数据集的平均结果。值得注意的是,我们的ResNet-50基线比GLIP-T高出+3.1。我们使用HIPIE†和HIPIE‡符号分别表示我们的方法与ResNet-50和viti - h主干
Tab8:SeginW基准在25个数据集上的分割结果。我们报道mAP。我们的性能远远超过X-Decoder (+8.9)
结论
- 原文conclusion
本文提出的 HIPIE 是一种开放词汇、通用和分层的图像分割模型,能够使用统一的框架执行各种检测和分割任务,包括对象检测、实例、语义、全景、分层(整个实例、部分、子部分)和引用分割任务。我们的主要见解是,我们应该将背景类(即 “stuff”)和前景类(即 “thing”)的表征学习模块和文本图像融合机制分离开来。广泛的实验证明,HIPIE 在各种任务和分割粒度的数据集上都取得了一流的性能。
本人读的论文不多,知识积累少,目前无法对该论文做出客观评价。这篇paper实验中展示的结果感觉不错,但我没实际使用过,不知道上手使用怎么样,关注该paper的人很少(目前网上搜不到PR)。给了9页的Appendix,有兴趣的uu可以看看。