(grounding) DINO 阅读笔记

DEtection with TRansformers 阅读笔记

DEtection with TRansformers 阅读笔记

模型结构

CNN Backbone

常规做法, 用来特征提取。输出一个 C * HW 的特征图。

Transformer

  • 多头注意力机制
  • pos_embed 给 sum 到 Encoder 的 query 和 key 里
  • Decoder 里固定查 N = 100 个 token

FFN

实际上就是 1*1 的卷积。

数据

COCO Dataset

训练

计算损失

由于产出 100 个检测结果,故而和事实做二分图匹配,跑个 Hungarian 算法即可获得匹配关系。

DINO 阅读笔记

Preliminaries

论文提到两个对它影响比较大的工作:

  • DAB-DETR 将 positional query 描述成 R^4 里的一个向量 (x, y, w, h)
  • DN-DETR 认为收敛缓慢可能是因为二分图匹配不够稳定,因此引入 denosing ,将带噪声的 label 和 box 送入 DETR
  • Deformable DETR 让 attention 关注 sampling points 周围的一小部份点。首先它引入了 query selection 技术(直接从 encoder 的输出提取 features 和 reference boxes);其次是它用了所谓梯度分离技术,这里叫它 look forward once

Backbone

分别用 ResNet-50 和 SwinL 作为 backbone

模型

  • look forward twice: 一个类似 residual connection 的操作,用来减少梯度消失的风险
  • Mixed Query Selection: 选择 top-k 个 feature 传入 decoder

训练

  • Contrastive DeNoising Training (CDN) ,将 Ground Truth 内的作为正样本,外的作为负样本,可以避免重复预测。

Grounding DINO 阅读笔记

Preliminaries

提出一个范式:Backbone 用于 feature extraction, neck 用于 feature enchancement, head 用于 region refinement(box prediction)

模型

image 经过一个 Swin-T 作为 backbone, 而 text 则经过一个 BERT

然后是一个 Feature Enhance Layer, SAM 和它有点相似,都是 image 和 text (在 SAM 里是 prompt) 各经过一个 self-attention / deformable self-attention 以后做一个双向的 cross-attention, 然后各 FFN 以后输出。

接着是 Language-Guided Query Selection, 这个部分首先将 image 和 text 的 feature 沿第三维卷积,取 max 作为 img feat,最后取 topk 返回。

接着是 Cross-Modality Decoder, 将 Query 经过 self-attention 以后,取 Q 分别和 Image Features, Text Features 的 K, V 做 Cross-Attention ,再过一个 FFN 以后输出。

输入

处理 Text Prompt: 以往采用两种 text prompt, 作者称之为 Sentence Level 和 Word Level; 在这里则使用了 Sub-sentence Level

训练

  • 类似 DETR, 仍然是先二分图匹配再计算损失

Ablations

消融实验认为 Encoder fusion 是最重要的部份

发表评论

您的电子邮箱地址不会被公开。