1. BaseInfo
Title | Cross-aware Early Fusion with Stage-divided Vision and Language Transformer Encoders for Referring Image Segmentation |
Adress | https://ieeexplore.ieee.org/document/10345690 |
Journal/Time | IEEE TMM 2023 |
Author | 韩国 Sogang University |
Code | https://github.com/yubin1219/CrossVLT |
Read | 20240830 |
2. Creative Q&A
-
融合方法和阶段上 - > 早期交叉感知
a 不能很好利用编码器的信息; b 都是单向的用视觉引导语言 ; c 在编码中双向交互。 -
在融合前模态对齐,仅利用最后一层特征的对比学习 -> 每一个中间层的特征都进行对齐
3. Concrete
Cross-aware early fusion with stage-divided Vision and Language Transformer encoders (CrossVLT)
阶段划分、交叉感知、早期融合、多阶段特征对齐
3.1. Model
- Stage-divided Vision and Language Encoders : backbone 部分。四个语言的特征,在 2、3、4 三个语言特征处把自注意力变为语言做 Q 的语言视觉交叉注意力。
- Cross-aware Early Fusion:
CrossVLT/lib/vision_encoder.py
中的FusionLayer
和bert/modeling_bert.py
中的 `
- Feature-based Alignment
3.1.1. Input
图 + 文
3.1.2. Backbone
Swin transformer - Base (ImageNet 初始化)+ BERT-base
3.1.3. Neck
3.1.4. Decoder
2 个 3x3 卷积,batch normalization 和 a ReLU function。
上采样使用 bilinear interpolation。
1 × 1 convolution 将最终的预测掩码变为 2 值分类。
3.1.5. Loss
交叉熵 CE + 对齐损失
有设计的对齐损失,图文之间的对比损失。
3.2. Training
- batch size : 16
- epoch: 40
- AdamW Lr: 3e-4
- polynomial learning rate decay scheduler
- Input images 480 x 480
- Sentence Token 20 + [cls] = 21
3.2.1. Resource
3.2.2 Dataset
Name | Images Number | Task | Note |
---|---|---|---|
RefCOCO | 19,994 images with 142,209 language expressions | RIS | |
RefCOCO+ | 19,992 images with 141,564 expressions | RIS | |
G-Ref | 26,711 images with 104,560 expressions | RIS |
3.3. Eval
oIoU, precision at 0.5, 0.7, and 0.9 thresholds
3.4. Ablation
- 对齐和融合模块
- 融合对齐模块位置、损失
- 语言编码器块的设置
- Backbone 和 Decoder 设置
4. Reference
- VLT : Vision-Language Transformer and Query Generation for Referring Segmentation 2021 南洋理工
- ReSTR: Convolution-free Referring Image Segmentation Using Transformers 2022
- PLV : Progressive Language-Customized Visual Feature Learning for One-Stage Visual Grounding 2022
- CRIS: CLIP-Driven Referring Image Segmentation 2021
5. Additional
LAVT 真的很强,这个语言视觉双引导的分数在和 LAVT 比几乎也没高特别多。
消融实验也比较丰富,跑一下代码看看效果。
主要是对语言分支的一个改进和融合,双向引导。