ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GLIP_Grounded Language-Image Pre-training

2022-08-03 16:01:05  阅读:216  来源: 互联网

标签:Pre loss training Grounded 检测 object box GLIP grounding


一句话概括:多模态目标检测

目录

1、问题

1、类似CLIP多模态模型只做到文本图片后融合的对齐,没有图片细粒度的object级别的细粒度语义表征能力
2、MDETR没有统一目标检测和已有的多模态任务grounding

2、介绍和实现

CLIP由于训练集image-text pair比任何已有的anation数据集都包含更丰富的视觉概念,很容易0-shot迁移到下游任务,但是只做文本图片后融合的对齐,由于缺少object级别的细粒度理解,无法应用到到多模态检测任务。
对上面提出目标检测,分割等稠密任务需要text-image细粒度理解问题,现有的grounding任务就是细粒度的text和object的任务,因此这2个任务可以统一:目标检测是上下文无关的grounding任务,grounding是上下文相关语境化的目标检测任务
针对上面提到的目标检测和grounding 2种转换(目标检测是上下文无关的grounding任务,grounding是上下文相关语境化的目标检测任务),本文统一方式是使用目标检测到grounding任务
统一数据内容:输入训练数据的统一,模型的统一, loss统一

2.1 数据统一

统一的数据内容:image+box+prompt

2.1.1 object detect数据转统一格式,补充prompt

所有目标检测数据所有label的集合作为label(用于图中和每个label计算相似度)

2.2.2 grounding数据转统一格式:自动生成box,怎么生成box?


GLIP-T (A) is based on a SoTA detection model, Dynamic Head [10], with our word-region alignment loss replacing the classification loss
GLIP-T (B) is enhanced with language-aware deep fusion but pre-trained only on O365
GLIP-T (C) is pre-trained on 1) O365 and 2) GoldG, 0.8M human-annotated gold grounding data curated by MDETR [23], including Flickr30K, VG Caption [28], and GQA [19]. We have removed COCO images from the dataset. It is designed to verify the effectiveness of gold grounding data
GLIP-T is based on the Swin-Tiny backbone and pretrained on the following data: 1) O365, 2) GoldG as in GLIP-T (C), and 3) Cap4M, 4M image-text pairs collected from the web with boxes generated by GLIP-T (C)
使用self-training;由上面描述,teacher模型是GLIP-T (C)
self-training student模型比teacher性能好的原因是teacher模型根据丰富的语言上下文(比如语法结构)可以作为引导让teacher进行有根据的猜测;而student模型可以将这些猜测的结果作为监督信号进行学习
grounding数据包含丰富的语义:转box数据的优势,teacher模型将image_text对中根据语义生成语句的box, 因此引入了语义丰富的训练数据用于student模型,用来训练语义丰富的模型。

2.2 模型结构统一

和CLIP双encoder结构,差异是增加了深度跨模态前融合(这个对学习到高质量语言对齐的视觉表征很重要)

2.2.1 语言感知的融合

如上图中间部分为语言感知部分的融合结构,具体来说,使用DyHead作为image encoder, BERT作为 text encoder, 后续接深度融合encoder,深度融合encoder表达为:

L为DyHead中DyHeadModules模块数量,BERTLayer为预训练BERT上新增的BERT Layer层;O0为视觉backbone出来的视觉特征,P0为语言模型backbone出来的token特征,跨模态特征通过X-MHA跨模态多头注意力提取;后面接单模态的融合和更新
后融合重要作用:1、提高语句定位性能 2、使视觉特征具有语言感知能力,因此在推理的时候取决于文本提示(根据文本,有不同的输出结果)

2.3 loss 统一

object detect loss转换

bbox分类logits改成word-region/bbox的对齐得分(word 文本特征和region、bbox视觉特征点乘)
grounding和目标检测分类loss计算区别是,目标检测由box特征经过MLP投射成各类别的logit,grounding由box特征word特征对齐作为各类别的logit(没有使用对比loss),并且由于word tokenize可能一个单词会token成多个特征,因此grounding类别数比目标检测类别数多,然后后面接交叉熵部分目标检测和grounding一致。
目标检测Loss计算:


GLIP Loss计算

3、效果


上面部分为全监督,下面部分为GLIP

4、分析和结论

  • 1、grouding数据能带来0shot提升
  • 2、微调:GLIP和0shot任务理念差异是 模型不需要检出所有的新的object,只需要检出prompt中提到的object; GLIP理念是训练的语义丰富的类别覆盖大部分类别包含稀有类别。当现实场景出现训练集不包含的语义,使用promop tuning就可以达到full tunning的效果。 且prompt tuning在GLIP这种有深度vision-language融合的网络的效果比CLIP这种浅融合的效果更好(如下图所示);且模型越大,prompt tuning数据越多,prompt tuning和full tuning差距越小

标签:Pre,loss,training,Grounded,检测,object,box,GLIP,grounding
来源: https://www.cnblogs.com/pyclq/p/16547262.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有