指代图像分割
指代图像分割的目的是通过一个自然的语言表达来分割指代物。由于文本和图像之间的不同数据属性,网络很难很好地对齐文本和像素级的特征。
现有的方法使用预训练模型来促进学习,但将语言/视觉知识从预训练模型中分离出来,忽略了多模态对应信息。受对比语言图像预训练(CLIP)的启发,本文提出了一种端到端CLIP驱动的参考图像分割框架(CRIS)。
为了有效地传递多模态知识,CRIS借助视觉语言解码和对比学习来实现文本到像素的对齐。更具体地说,我们设计了一个视觉语言解码器,将文本表示中的细粒度语义信息传播到每个像素级激活,从而促进两种模式之间的一致性。此外,我们还提出了文本到像素的对比学习,以明确执行与相关像素级特征相似、与不相关特征不同的文本特征。在三个基准数据集上的实验结果表明,在没有任何后处理的情况下,我们提出的框架显著优于最先进的性能。代码将被发布。
CRIS主要由一个文本编码器、一个图像编码器、一个交叉模态颈部(cross-modal neck)、一个视觉语言解码器(vision-language decoder)和两个投影仪(projectors)组成。视觉语言解码器用于将语义信息从文本特征自适应地传播到视觉特征。文本-像素对比学习是通过将文本特征和像素级视觉特征交织在一起,显式地学习细粒度的多模态对应信息。
图像编码器
i
n
p
u
t
i
m
a
g
e
I
∈
R
H
×
W
×
3
input\ image\ I ∈ R^{H×W×3}
input image I∈RH×W×3
f
e
a
t
u
r
e
s
t
h
e
2
t
h
−
4
t
h
s
t
a
g
e
s
o
f
R
e
s
N
e
t
,
{
F
v
2
∈
R
H
8
×
W
8
×
C
2
F
v
3
∈
R
H
16
×
W
16
×
C
3
F
v
4
∈
R
H
32
×
W
32
×
C
4
features\ the\ 2th-4th\ stages \ of \ ResNet, \left\{\begin{array}{l}F_{v2} ∈ R ^{\frac{H}{8} × \frac{W}{8} ×C_2}\\ F_{v3} ∈ R ^{\frac{H}{16} × \frac{W}{16} ×C_3} \\F_{v4} ∈ R ^{\frac{H}{32} × \frac{W}{32} ×C_4} \end{array}\right.
features the 2th−4th stages of ResNet,⎩⎪⎨⎪⎧Fv2∈R8H×8W×C2Fv3∈R16H×16W×C3Fv4∈R32H×32W×C4
文本编码器
T
∈
R
L
⇒
T
r
a
n
s
f
o
r
m
e
r
F
t
∈
R
L
×
C
T ∈ R^L \xRightarrow{Transformer} F_t ∈ R^{ L×C}
T∈RLTransformerFt∈RL×C
T
T
T为文本,
F
t
F_t
Ft为特征。Transformer按照文章“Language models are unsupervised multitask learners. OpenAI blog”进行修改。
Transformer operates使用lowercased byte pair encoding (BPE) 表示,大小为49152字节[41],然后文本序列用[SOS]和[EOS]标记括起来。
[EOS]标记处变压器最高层的激活被进一步转换为全局文本表示
s
∈
R
C
′
s ∈ R^{C'}
s∈RC′。C和C’是特征尺寸,L是引用表达式的长度。
Cross-modal Neck
m u l t i − m o d a l f e a t u r e F m 4 ∈ R H 16 × W 16 × C 3 : multi-modal\ feature\ F_{m4}\in {R^{\frac{H}{16} × \frac{W}{16} ×C_3}}: multi−modal feature Fm4∈R16H×16W×C3:
F m 4 = U p ( σ ( F v 4 W v 4 ) ⋅ σ ( F s W s ) ) , (1) F_{m4} = Up(\sigma (F_{v4}W_{v4}) \cdot \sigma (F_{s}W_{s})),\tag{1} Fm4=Up(σ(Fv4Wv4)⋅σ(FsWs)),(1)
U p ( ) U p() Up() | 2× upsampling |
---|---|
⋅ \cdot ⋅ | elementwise multiplication |
σ | ReLU |
W v 4 , W s W_{v4} , {W_s} Wv4,Ws | 可学矩阵 learnable matrices to transform the visual and textual representations into the same feature dimension |
F m 3 = [ σ ( F m 4 W m 4 ) , σ ( F v 3 W v 3 ) ] , F m 2 = [ σ ( F m 3 W m 3 ) , σ ( F v 2 ′ W v 2 ) ] , F v 2 ′ = A v g ( F v 2 ) (2) F_{m3} = [\sigma (F_{m4}W_{m4}) , \sigma (F_{v3}W_{v3})],\\ F_{m2} = [\sigma (F_{m3}W_{m3}) , \sigma (F'_{v2}W_{v2})], \\ F'_{v2}=Avg(F_{v2}) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \tag{2} Fm3=[σ(Fm4Wm4),σ(Fv3Wv3)],Fm2=[σ(Fm3Wm3),σ(Fv2′Wv2)],Fv2′=Avg(Fv2) (2)
A v g ( ) Avg() Avg() | 2 × 2 average pooling with 2 strides |
---|
F m = C o n v ( [ F m 2 , F m 3 , F m 4 ] ) , ∈ R H 16 × W 16 × C (3) F_{m} = Conv([F_{m_2},\,F_{m_3},\,F_{m_4}]), \tag{3} ∈ R^{{ \frac{H}{16} } × { \frac{W}{16} } ×C} Fm=Conv([Fm2,Fm3,Fm4]),∈R16H×16W×C(3)
C o n v Conv Conv | 1 × 1 convolution |
---|
Finally, we concatenate a 2D spatial coordinate feature
F
c
o
o
r
d
∈
R
H
16
×
W
16
×
2
Fcoord ∈ R^{{ \frac{H}{16} } × { \frac{W}{16} } ×2}
Fcoord∈R16H×16W×2 with
F
m
F_m
Fm and fuse that by a 3 × 3 convolution.
F
v
=
C
o
n
v
(
[
F
m
,
F
c
o
o
r
d
]
)
.
∈
R
H
16
×
W
16
×
C
(4)
F_{v} = Conv([F_{m},\, F_{coord}]). ∈ R^{{ \frac{H}{16} } × { \frac{W}{16} } ×C} \tag{4}
Fv=Conv([Fm,Fcoord]).∈R16H×16W×C(4)
F
v
∈
R
H
16
×
W
16
×
C
⇒
f
l
a
t
t
e
n
F
v
∈
R
N
×
C
F_{v} ∈ R^{{ \frac{H}{16} } × { \frac{W}{16} } ×C} \xRightarrow{flatten} F_{v} ∈ R^{N ×C}
Fv∈R16H×16W×CflattenFv∈RN×C
Vision-Language Decoder
t
e
x
t
u
a
l
f
e
a
t
u
r
e
s
F
t
∈
R
L
×
C
textual features F_t ∈ R^{L×C}
textualfeaturesFt∈RL×C
p
i
x
e
l
−
l
e
v
e
l
v
i
s
u
a
l
f
e
a
t
u
r
e
s
F
v
∈
R
N
×
C
pixel-level visual features F_{v} ∈ R^{N ×C}
pixel−levelvisualfeaturesFv∈RN×C
为了捕获位置信息,将固定正弦空间位置编码分别添加到Fv[2]和Ft[44]中。
视觉语言解码器由n层组成,每层由多头自注意层、多头交叉注意层和前馈网络组成。在一个解码器层中,Fv首先被发送到多头自我注意层以捕获全局上下文信息:
F v ′ = M H S A ( L N ( F v ) ) + F v , (5) F_{v}^{\prime } = MHSA(LN(F_{v})) + F_{v}, \tag {5} Fv′=MHSA(LN(Fv))+Fv,(5)
MHSA | multi-head self-attention layer |
---|---|
LN | Layer Normalization |
然后,采用多头交叉注意层将细粒度语义信息传播到进化后的视觉特征中,其中一个point-wise linear layer将F′v映射到Q,另两个linear layers将Ft映射到K和V。为了获得多模态特征Fc,输出查询Q进一步由具有层规范化和剩余连接的两层MLP块计算:
F c ′ = M H C A ( L N ( F v ′ ) , F t ) + F v ′ , F c = M L P ( L N ( F c ′ ) ) + F c ′ , (7) \begin {aligned} &F_{c}^{\prime } = MHCA(LN(F_{v}^{\prime }),\,F_t) + F_{v}^{\prime },\\ &F_{c} = MLP(LN(F_{c}^{\prime })) + F_{c}^{\prime }, \end {aligned} \tag{7} Fc′=MHCA(LN(Fv′),Ft)+Fv′,Fc=MLP(LN(Fc′))+Fc′,(7)
MHCA | multi-head cross-attention layer |
---|---|
F c ′ F^′_c Fc′ | intermediate features |
multi-modal features | F c ∈ R N × C F_c ∈ R^{N ×C} Fc∈RN×C |
将 n 次 传 播 的 F c 用 于 最 终 的 预 测 将n次传播的F_c用于最终的预测 将n次传播的Fc用于最终的预测
Text-to-Pixel Contrastive Learning
尽管CLIP[39]通过将文本表示与图像级表示对齐来学习强大的图像级视觉概念,但由于缺乏更细粒度的视觉概念,这种类型的知识在参考图像分割时并不理想。
为了解决这个问题,我们设计了一个文本到像素的对比损失,它明确地将文本特征与相应的像素级视觉特征对齐。如图3所示,采用图像和文本投影仪进行转换
Fc和Fs如下:
z v = F c ′ W v + b v , F c ′ = U p ( F c ) , z t = F s W t + b t , (8) \begin {aligned} &z_{v} = F_{c}^{\prime }W_{v}+b_{v},\,F_{c}^{\prime } = Up(F_{c}),\\ &z_{t} = F_{s}W_{t}+b_{t}, \end {aligned} \tag{8} zv=Fc′Wv+bv,Fc′=Up(Fc),zt=FsWt+bt,(8)
z t z_t zt | R D R^D RD |
---|---|
z v z_v zv | R N × D R^{N×D} RN×D |
Up | 4× upsampling |
Wv and Wt | two learnable matrices to transform Fc and Fs into the same feature dimension D |
b | learnable biases |
给定一个转换后的文本特征 z t z_t zt和一组转换后的像素级特征 z v z_v zv,采用对比损失优化两种模式之间的关系,鼓励zt与其对应的zv相似,而与其他无关zv不同。通过点积测量相似度,文本到像素的对比损失可以表示为:
L c o n i ( z t , z v i ) = { − log σ ( z t ⋅ z v i ) , i ∈ P , − log ( 1 − σ ( z t ⋅ z v i ) ) , i ∈ N , ( 9 ) L c o n ( z t , z v ) = 1 ∣ P ∪ N ∣ ∑ i ∈ P ∪ N L c o n i ( z t , z v i ) , ( 10 ) L_{con}^{i}(z_{t},\,z_{v}^{i})= \begin {cases} -\log \sigma (z_{t} \cdot z_{v}^{i}), & i \in \mathcal {P},\\ -\log (1 - \sigma (z_{t} \cdot z_{v}^{i})), & i \in \mathcal {N},\\ \end {cases} (9)\\ L_{con}(z_{t},\,z_{v}) = \frac {1}{\left \lvert \mathcal {P} \cup \mathcal {N} \right \rvert } \sum _{i \in \mathcal {P} \cup \mathcal {N}} L_{con}^{i}(z_{t},\,z_{v}^{i}), (10) Lconi(zt,zvi)={−logσ(zt⋅zvi),−log(1−σ(zt⋅zvi)),i∈P,i∈N,(9)Lcon(zt,zv)=∣P∪N∣1i∈P∪N∑Lconi(zt,zvi),(10)
where P and N denote the class of “1” and “0” in the ground truth, |P ∪ N | is the cardinality(基数,势), σ is the sigmoid function.
最终结果
Finally, to obtain the final segmentation results, we reshape
σ(zt · zv) into
H
4
×
W
4
{\frac{H}{4} ×\frac{W}{4}}
4H×4Wand upsample it back to the original image size.
CVPR 2022 全面盘点:最新350篇论文分方向汇总 / 代码 / 解读 / 直播 / 项目(更新中)
2022 年,计算机视觉领域有哪些推荐的研究方向?