RES 系列 GRES: Generalized Referring Expression Segmentation 论文阅读笔记
写在前面
这一周又快结束了,没干啥东西。来学校之后把 ubuntu 系统重装了,之前的崩溃了。现在用命令行备份。
这是一篇关于 RES 的新数据集文章,看看有没有啥机会能发点论文吧。
- 论文地址:GRES: Generalized Referring Expression Segmentation
- 代码地址:https://github.com/henghuiding/ReLA
- 收录于:CVPR 2023
- Ps:2023 年每周一篇博文阅读笔记,主页 更多干货,欢迎关注呀,期待 5 千粉丝有你的参与呦~
- 2023年9月5日,更新1️⃣:这帮人又在 Arxiv 放出了一个 GREC 的技术报告,估计内容差不多,感兴趣的可自取:GREC: Generalized Referring Expression Comprehension
一、Abstract
首先指出指代表达式分割 Referring Expression Segmentation (RES) 的定义,当前的经典 RES 数据集和方法一般仅支持单目标的表达式,即一个表达式对应一个目标,并未考虑多目标和无目标的表达式。于是本文提出一般性的指代表达式分割 Generalized Referring Expression Segmentation (GRES),使得表达式能够指向任意数量的目标类别。同时构建起第一个大尺度 GRES 数据集 gRefCOCO,包含多个目标、无目标、单个目标的表达式。实验表明 GRES 的主要问题在于复杂的关系建模。基于此,提出一种基于区域的 ReLA 模型,能够自适应将图像划分为包含实例的若干区域,显式地建模区域-区域和区域-语言的依赖关系。提出的 ReLA 在 GRES 和经典的 RES 数据集上表现很好。
二、引言
Referring Expression segmentation (RES) 的定义,应用,数据集。
- 经典 RES 的限制
首先,经典的 RES 没有考虑不含目标的表达式,这意味着现有的 RES 方法无法定义那些目标不在输入图像上的图文对。其次,大多数现有的 RES 数据集,例如 RefCOCO 并未包含多个目标的表达式。如下图所示:
实验表明传统的 RES 方法未能很好地识别这些多个目标或无目标的场景。
- 新的 benchmark 和 dataset
本文提出一个新的 benchmark:Generalized Referring Expression Segmentation (GRES),使得表达式能够指向任意数量的目标。GRES 同样以一张图像和一个指代表达式为输入,但进一步支持了多个目标蕴含在单个表达式中以及没有目标蕴含在图像中。相比之下,现有的指代表达数据集并不包含这些,而是仅仅单个目标的表达式。为 GRES 建立的新数据集称为 gRefCOCO,补充了 RefCOCO 两种类型的样本:多目标达表示式,无目标表达式。 - 新的 baseline 方法
区域-区域间的交互在 RES 中很重要,然而经典的 RES 方法仅需检测一个目标,以至于多数没有区域-区域交互建模的方法都能取得不错的性能。但是在 GRES 中,将会更加依赖长范围的区域-区域依赖建模。于是设计出一个网络将图像划分为若干区域,之后彼此间进行显式交互。此外,本文提出的网络能够软性地收集每个区域的特征,实现更大的弹性。大量的实验表明显示地建模区域特征的弹性交互能够有助于 GRES 的性能。
本文贡献总结如下:
- 提出一个 bechmark:Generalized Referring Expression Segmentation (GRES),使得 RES 更加弹性且容易部署到现实场景中。
- 第一个提出一个大尺度的 GRES 数据集 gRefCOCO,能够支持任意数量目标的表达式。
- 提出一个 baseline 方法:ReLA 来建模目标间复杂的关系,在经典的 RES 和 GRES 任务上实现了 SOTA。
- 大量的实验分析了 RES 和 GRES 性能代沟的可能原因及新的挑战。
三、相关工作
有关的指代任务和数据集
指代表达式理解 Referring Expression Comprehension (REC) 输出 bounding box,早期用于 RES 和 REC 的数据集有 ReferIt,但每个表达式仅指向单个实例。之后提出 RefCOCO、RefCOCOg 数据集。同样这些都是一个表达式对应一个实例。
最近有一些新的数据集提出来,但不关注或不适合 GRES。例如 PhraseCut,包含多个目标表达式,但仅作为候选,即只有当一个目标不能作为独立指代时。此外,其表达式为模板合成,而非自然语言表达式。图像字幕 Image caption 同样接近于 RES,但不能确保表达式的混淆,因此不适合指代相关的任务。还有些指代数据集采用其他的模态或者学习计划,例如 Scanrefer 关注 3D 目标,Clevrtex 关注无监督学习。此外,这些数据集均不包含没有目标的表达式。
指代分割方法
大致分为两种:单阶段(自上而下)和两阶段(自下而上)。单阶段方法通常是有着类似 FCN 的端到端网络,通过逐像素分类多模态特征来实现预测。两阶段方法首先找到一组实例 proposals 的集合,然后从中选择出目标实例。大多数 RES 为单阶段方法,而 REC 则为两阶段方法。最近的 Transformer 方法大幅超越了基于 CNN 的方法。Zero-shot 的分割方法使用类别名作为文本信息,关注鉴别新的类别,利用自然语言表达式来鉴定用户的关注目标。
四、任务设置及数据集
4.1 GRES 设置
RES 回顾
当前的 RES 并未考虑无目标的表达式,因此现有的模型在应对多个指代或者无目标指代在输入图像上时,可能会输出错误的实例结果。如下图所示:
一般化的 RES
为解决经典 RES 的限制,本文提出一个新的 bechmark:一般化的 Generalized Referring Expression Segmentation (GRES),能够让表达式指向任意数量的目标物体。一个 GRES 数据样本包含四要素:一幅图像
I
I
I,一条语言表达式
T
T
T,一个由
T
T
T 指向包含所有像素的 GT Mask
M
G
T
M_{GT}
MGT,一个二值化的目标标签
E
G
T
E_{GT}
EGT,表明
T
T
T 是否是一个无目标表达式。
T
T
T 中的实例数量并无限制。GRES 模型以
I
I
I 和
T
T
T 为输入,预测一个mask
M
M
M。对于无目标表达式,
M
M
M 应该为负值。
多个目标表达式能够实现用户自定义式的开放词汇分割,无目标表达式能够鉴别图像中是否包含语言表达式中的目标,因此更加实用。
评估
在 gRefCOCO 中,并不强制模型提供不同的实例说明。除了一般的 RES 性能指标:累计的 IoU(cIoU)和 Precision@X 外,进一步提出一种新的指标:一般化的 IoU(gIoU),将平均 IoU 拓展到所有样本上(包含无目标的样本)。此外,无目标样本的性能通过计算 No-target-ccuracy (N-acc.) 和 Target-accuracy (T-acc.) 分开进行评估。
4.2 gRefCOCO:一个大尺度的 GRES 数据集
gRefCOCO 包含 27 8232 个表达式:8 0022 个多目标,3 2202 个无目标,指向 1 9994 张图像中的 6 0287 个显著实例。所有目标实例的 bounding box 和 mask 都给出。部分单目标表达式源于 RefCOCO。开发了一种在线标注工具来寻找图像,选择实例,书写表达式及验证结果。
基础标注流程源于 ReferIt,确保了标注质量。保持数据集比例和 RefCOCO 中 UNC 的部分相同。
多目标样本
通常用户根据逻辑关系或相似度来集中选择多个目标,而非随机装配多个目标。之后标注员书写一个不混淆的指代表达式来选择这些实例,有下列四个特性和挑战。
计数表达式的使用
图 3(a) 中原始的表达式包含一个顺序词,于是模型必须从序数词数量中区分出重要的数量。显式或隐式的目标计数能力可以用于解决这类表达式。
没有集合关系的复合词语结构
如图 3 中 “A and B”、“A except B”、“A with B or C”,这对模型理解图像-句子的长距离依赖提出了更高的要求。
属性域
当一个表达式中存在多个目标时,不同的目标可能会共享相同或不同的属性。这使得模型需要理解所有的属性,并且能够映射这些属性到相应的目标上。
更复杂的关系
如图 3(b) 所示,两个相似的表达式应用在一张图像上,但指向两个不同的目标集合。因而在 GRES 中,关系不仅用于描述目标且暗示着目标的数量。这使得模型需要理解所有实例间的交互。
无目标样本
当不设定任何条件对的无目标表达式时,标注员倾向于书写大量的简单或通用的表达式,与那些有效表达式有很大不同。于是设定两个规则: 表达式不能与图像整体无关;标注员可以从其它相同数据分布的 RefCOCO 图像中选择一个误导性的表达式。
五、提出的方法
5.1 结构预览
模型结构如上图所示,输入图像经过基于 Swin-Transformer 编码器提取出视觉特征
F
i
∈
R
H
×
W
×
C
F_i\in \mathbb{R}^{H\times W\times C}
Fi∈RH×W×C,其中
H
H
H,
W
W
W 分别为图像的空间尺寸,
C
C
C 为通道维度。输入的语言表达式经过 BERT 处理,得到语言特征
F
t
∈
R
N
t
×
C
F_t\in \mathbb{R}^{N_t\times C}
Ft∈RNt×C,其中
N
t
N_t
Nt 是表达式中单词的数量。接下来,
F
i
F_i
Fi 送入像素解码器中得到 mask 特征
F
m
F_m
Fm。同时
F
i
F_i
Fi 和
F
t
F_t
Ft 送入到提出的 ReLAtionship 建模块中,进一步将特征图分解为
P
×
P
=
P
2
P\times P=P^2
P×P=P2 个区域,然后建模彼此间的关系。然而特征图的形状和尺寸及其空间区域并非是预定的,而是通过 ReLA 动态划分的。ReLA 产生两种类型的特征:区域特征
F
r
=
{
f
r
n
}
n
=
1
P
2
F_r=\{f_r^n\}^{P^2}_{n=1}
Fr={frn}n=1P2 和区域过滤器
F
f
=
{
f
f
n
}
n
=
1
P
2
F_f=\{f_f^n\}^{P^2}_{n=1}
Ff={ffn}n=1P2。对于第
n
n
n 个区域,其区域特征
f
r
n
f_r^n
frn 用于找到一个尺度
x
r
n
x_r^n
xrn,表明其包含目标的概率,其区域过滤器
f
f
n
f_f^n
ffn 与 mask 特征
F
m
F_m
Fm 进行点乘得到区域分割 mask
M
r
n
∈
R
h
×
W
M_r^n\in \mathbb{R}^{h\times W}
Mrn∈Rh×W ,表明这一区域的面积。接下来通过加权在预测的 mask 上来聚合这些 masks:
M
=
∑
n
(
x
r
n
M
r
n
)
M=\sum_n(x_r^nM_r^n)
M=n∑(xrnMrn)
输出和损失
预测的 mask M M M 通过 GT mask M G T M_{GT} MGT 监督。 P × P P\times P P×P 概率图 x r x_r xr 通过从 M G T M_{GT} MGT 下采样到最小图来监督。同时,通过所有区域特征 F r F_r Fr 的全局平均特征来预测一个无目标的标签 E E E。在推理过程中,如果 E E E 预测的是正值,那么输出的 mask M M M 将会设为空。 M M M、 x r x_r xr、 E E E 通过交叉熵损失来引导训练。
5.2 ReLAtionship 建模
提出的 ReLAtionship 建模包含两个模块:Region-Image Cross Attention (RIA)、Region-Language Cross Attention (RLA)。RIA 弹性地收集区域图像特征,RLA 捕捉区域-区域和区域-图像的依赖关系。
Region-Image Cross Attention (RIA)
RIA 以视觉特征
F
i
F_i
Fi 和
P
2
P^2
P2 个可学习的基于区域的 queries
Q
r
Q_r
Qr 作为输入,通过图 4 中的最小图来监督。每个 query 都对应图像中的一个空间区域, 负责解耦这一区域的特征。其结构如图 5(a) 所示。首先,通过执行图像特征
F
i
F_i
Fi 和
P
2
P^2
P2 个 query embedding
Q
r
∈
R
P
2
×
C
Q_r\in\mathbb{R}^{P^2\times C}
Qr∈RP2×C 间的注意力来产生
P
2
P^2
P2 个注意力图:
A
r
i
=
softmax
(
Q
r
σ
(
F
i
W
i
k
)
T
)
A_{\boldsymbol{r}i}=\operatorname{softmax}(Q_r\sigma(F_iW_{\boldsymbol{i}k})^T)
Ari=softmax(Qrσ(FiWik)T)其中
W
r
k
W_{rk}
Wrk 为
C
×
C
C\times C
C×C 个可学习的参数,
σ
\sigma
σ 为 GeLU。输出的结果
A
r
i
∈
R
P
2
×
H
W
A_{\boldsymbol{r}i}\in\mathbb{R}^{P^2\times HW}
Ari∈RP2×HW,赋值给每个 query 一个
H
×
W
H\times W
H×W 的注意力图,表明其在图像中的对应区域。接下来使用这些注意力图从相应的区域中得到区域特征:
F
r
′
=
A
r
i
σ
(
F
i
W
i
v
)
T
\begin{aligned}F_r'&=&A_{ri}\sigma({F_iW_{iv}})^T\end{aligned}
Fr′=Ariσ(FiWiv)T其中
W
i
v
W_{iv}
Wiv 为
C
×
C
C\times C
C×C 个可学习的参数。在此方式下,每个区域的特征通过其相关位置进行动态收集。基于 mask 的预测
F
r
′
F_r^{\prime}
Fr′ 得到一个区域过滤器
F
f
F_f
Ff,包含区域线索。
F
r
′
F_r^{\prime}
Fr′ 进一步送入到 RLA 中,用于区域-区域和区域-单词的交互建模。
Region-Language Cross Attention (RLA)
区域图像特征
F
r
′
F_r^{\prime}
Fr′ 源于对那些不包含区域和语言信息关系的图像特征,于是提出 RLA 模块建模区域-区域和区域-语言交互。如图 5(b) 所示,RLA 由自注意力机制和多模态交叉注意力组成。自注意力模块建模区域-区域的依赖关系。通过计算单个区域与所有其它区域的注意力矩阵来输出关系感知区域特征
F
r
1
F_{r1}
Fr1。同时交叉注意力采用语言特征
F
t
F_t
Ft 为 Value 和 key 的输入,区域图像特征
F
t
F_t
Ft 作为 query 输入。于是建模每个词和每个区域的关系:
A
l
=
softmax
(
σ
(
F
r
′
W
l
q
)
σ
(
F
t
W
l
k
)
T
)
A_l=\operatorname{softmax}(\sigma(F_r^{\prime}W_{lq})\sigma(F_tW_{lk})^T)
Al=softmax(σ(Fr′Wlq)σ(FtWlk)T)其中
A
l
∈
R
P
2
×
N
t
A_l\in\mathbb{R}^{P^2\times N_t}
Al∈RP2×Nt。之后将单词-区域的注意力来塑造成语言感知的区域特征:
F
r
2
=
A
l
F
t
F_{r2}=A_lF_t
Fr2=AlFt。最后,采用一个 MLP 来聚合交互感知区域特征
F
r
1
F_{r1}
Fr1 和语言感知的区域特征
F
r
2
F_{r2}
Fr2 以及区域图像特征
F
r
′
F_r^{\prime}
Fr′:
F
r
=
MLP
(
F
r
′
+
F
r
1
+
F
r
2
)
F_r=\text{MLP}(F_r^{\prime}+F_{r1}+F_{r2})
Fr=MLP(Fr′+Fr1+Fr2)。
六、实验
6.1 评估指标
除了广泛使用的 RES 指标:cumulative IoU (cIoU) 和 Precision@X (Pr@X) 外,进一步引入 No-target accuracy (N-acc.)、Target accuracy (T-acc.)、generalized IoU (gIoU) 用于 GRES。
cIoU and Pr@X.
cIoU 计算总体的交集像素与全集像素之比,Pr@X 统计的是当 IoU 大于某个阈值 X X X 时的样本数量百分比。Pr@X 中不计算无目标的样本。由于多目标样本有着更大的前景区域,因此更容易得到更高的 cIoU 得分。于是阈值 X X X 从 0.7 开始用于 Pr@X。
N-acc. and T-acc.
这俩指标评估模型在无目标样本上的性能:对于无目标样本,当预测中没有任何前景像素时为正样本(TP),否则为负样本(FN)。之后 N-acc. 用于衡量模型在无目标样本上的性能: N-acc. = T P T P + F N \text{N-acc.} =\frac{{T}P}{TP+FN} N-acc.=TP+FNTP。
T-acc. 反应的是无目标样本影响目标样本的程度,即多少个有目标的样本被误分类为无目标样本: T-acc. = T N T N + F P \text{T-acc.} =\frac{{T}N}{TN+FP} T-acc.=TN+FPTN。
gIoU.
由于 cIoU 中更大的物体有更高的得分,恰好 GRES 中的目标有着更大的前景。于是引入一般化的 IoU(gIoU),平等对待所有样本。gIoU 计算每个图像在所有样本上的平均值。对于那些无目标样本,正的无目标样本的 IoU 值视为 1,而假的有目标的负样本的 IoU 值视为 0。
6.2 消融研究
数据集的必要性
RIA 设计的可选项
RLA 设计的可选项
区域 P P P 的数量
6.3 在 GRES 上的结果
与 RES sota 方法的比较
定量结果
失败的案例 & 讨论
主要还是表达式的欺骗性太高,模型需要进一步查找所有物体的细粒度细节,并理解图像上下文的细节。
6.4 在经典 RES 上的结果
七、结论
本文分析和解决了经典 RES 任务的限制,即不能解决多模态和无目标的表达式。基于此,提出一种新的 benchmark:Generalized Referring Expression Segmentation (GRES),使得表达式中可以包含任意数量的目标。相应地构建了一个大尺度数据集 gRefCOCO,提出了一个 baseline 方法: ReLA,显式地建模不同图像区域和单词间的关系,在经典的 RES 和 GRES 任务上实现了新的 SOTA。提出的 GRES 开放了新的应用场景,例如图像检索。
写在后面
这是一篇工作量很大的文章,提出了数据集、方法、指标,可以说是挖了个大坑吧,感兴趣的同学建议关注下。