GLIP 开放词汇检测详解:从 DETR/YOLOS 到短语定位,零样本检测实战
目录一、模块定位从分割一切到检测一切二、第 16 集YOLOS 与 DETR——检测的 Transformer 化三、第 17 集GLIP 原理——检测即短语定位四、第 18 集GLIP 损失函数五、第 19 集GLIP vs YOLOv / DETR / YOLOS 对比六、课程脉络衔接七、学习要点回顾八、学习路线图九、总结与参考资料摘要本文系统梳理卢菁博士《多模态大模型教程》第五模块《GLIP 模型详解》第 16–19 集的核心内容。GLIP 通过三大创新实现开放词汇检测一是架构三件套DyHead BERT 语言感知深度融合把目标检测重构为短语定位phrase grounding二是联合损失函数跨模态对齐损失 定位损失让分类从固定类别表变为在提示文本中找词三是 27M 预训练数据配方3M 人工标注 24M 图文对自训练伪框。文章从 DETR、YOLOS 的检测 Transformer 化讲起并与 YOLOv / DETR / YOLOS 对比揭示从封闭类别到开放词汇的范式跃迁最后介绍 GLIP 与 Grounded-SAM 组合的落地流程帮助读者掌握 DETR 原理并快速上手零样本检测实战。✅ 第五模块《GLIP 模型详解》第 16–19 集李沐深度学习191集课程全解析模块拆解、学习路径-CSDN博客吴恩达《面向开发者的提示词工程》-CSDN博客吴恩达 MCP 教程Model Context Protocol一-CSDN博客多模态大模型教程学习笔记 — ViT · CLIP · SAM · GLIP · Stable DiffusionGLIP 开放词汇检测从 YOLOS/DETR 到短语定位从 YOLOS / DETR 到 GLIP——把目标检测重构为短语定位检测即 grounding用语言开放检测器的词汇表。可视化页面GLIP 开放词汇目标检测精讲含 YOLOS/DETR 原理 | 多模态大模型教程 第 16–19 集文件artifacts/glip-model-guide.html暗色设计含分集导航、GLIP 架构流程图、语言感知深度融合示意、损失函数公式块、四模型对比表、课程脉络时间线代码级质检 PASS分集结构实证来源课程选集 链接集数标题时长第 16 集GLIP 模型详解(1) YOLOS 和 DETR 模型原理解析11.85 分钟第 17 集GLIP 模型详解(2) GLIP 模型原理解析11.53 分钟第 18 集GLIP 模型详解(3) GLIP 损失函数12.43 分钟第 19 集GLIP 模型详解(4) GLIP 与 YOLOS/DETR/YOLOv 对比9.03 分钟详细总结约 5200 字一、模块定位从分割一切到检测一切本模块为卢菁博士《多模态大模型教程》第五模块共 4 集总时长约 44.8 分钟。上一模块 SAM 解决了类别无关的分割但留下一个明确缺口SAM 只画轮廓、不认类别。本模块讲解的 GLIPGrounded Language-Image Pre-training微软研究院CVPR 2022恰好补上这块拼图——用自然语言定义要检测什么把开放词汇能力带到对象级定位任务。课程编排颇具匠心第 16 集并不直接讲 GLIP而是先铺垫两代检测 TransformerDETR、YOLOS因为 GLIP 的检测骨干正是建立在这条技术线上。理解了检测如何 Transformer 化才能理解 GLIP 在其上做的范式革新。二、第 16 集YOLOS 与 DETR——检测的 Transformer 化DETR2020Facebook AI首个端到端目标检测 Transformer。流程为CNN 骨干提取图像特征 → Transformer 编码器做全局建模 → 解码器用一组固定数量如 100 个的 object query 并行询问图像中每个目标的位置 → 输出边界框与类别。它有两大革命性设计抛弃锚框anchor。传统检测器Faster R-CNN、YOLO依赖人工设计的先验锚框尺寸、比例、数量都是超参数DETR 的 object query 是一组可学习的位置查询向量模型自己学会去哪里看不再依赖人工先验。抛弃 NMS非极大值抑制。传统检测器会对同一目标输出多个重叠框再用 NMS 贪心去重DETR 用**匈牙利匹配二分图最优匹配**实现预测与真值的一对一分配——每个真值框只由一个预测负责从机制根上消除了重复框实现了真正的端到端。代价也很明显收敛慢需数百个 epoch、小目标检测偏弱。这些问题催生了后续大量改进工作Deformable DETR 等但端到端 集合预测的范式由此确立。YOLOS2021一个极简实验——拿为分类预训练的裸 ViT几乎不改架构只追加少量可学习的 [DET] token就直接做目标检测且性能可观。它的意义不在刷榜而在证明检测能力可以从纯粹的序列到序列建模中涌现不需要 CNN 的归纳偏置也不需要检测专用架构。这与课程第一模块 ViTTransformer 可完全替代 CNN 做视觉的结论一脉相承把Transformer 通用性从分类推进到了定位任务。这一集合起来回答的问题是检测器已经 Transformer 化了但它仍是封闭世界的——类别表固定如 COCO 80 类换任务就要改分类头、重新训练。这就是 GLIP 要解决的根本问题。三、第 17 集GLIP 原理——检测即短语定位GLIP 的核心思想用一句话概括把目标检测重构为短语定位phrase grounding任务。输入图像 一段文本提示如cat . dog . person .各类别用句号分隔的提示句输出图中每个与提示中短语语义对应的目标框在 GLIP 框架下“检测被统一进 grounding 的语义传统检测器输出这是类别编号 #15”GLIP 输出这个区域与提示中的词 ‘cat’ 对齐。分类头被替换为视觉区域特征与文本词特征的相似度计算——检测的类别表从此变成任意自然语言词汇表彻底开放面对训练集中从未出现的新类别如戴太阳镜的柴犬只需改提示词零样本即可检测。架构三件套视觉编码器DyHead。动态头结构在尺度、空间、任务三个维度上做注意力产出区域级视觉特征。文本编码器BERT或 CLIP 文本编码器。把提示句编码为词级特征序列。语言感知深度融合language-aware deep fusion。这是 GLIP 区别于 CLIP 的关键。CLIP 只在最后对全局特征做点积late fusion“各学各的、最后对答案”是图像级的浅对齐GLIP 则在两个编码器的多个中间层插入跨模态交叉注意力——视觉层用文本特征更新自己红色这个词会实时增强红色区域的特征权重文本层也用视觉特征回写双向逐层交换信息实现对象级的深度语义耦合。预训练数据配方27M3M 人工标注Flickr30K Entities、Objects365 等检测/定位数据框与短语天然对应质量高但规模有限24M 网络图文对没有框标注。GLIP 用**自训练self-training**方式——先训出的模型给图文对 Caption 中的名词短语打伪框过滤低置信度结果后回炉训练。这与 CLIP 利用 4 亿图文对的思路同源但把对齐粒度从图像级下沉到了对象级。效果GLIP-L 在零样本COCO 检测上达到 49.8 AP超过有监督训练的强基线在 13 个非常规目标数据集上平均超越有监督方法证明了开放词汇路线的实用价值。四、第 18 集GLIP 损失函数GLIP 的训练目标是分类与定位统一的联合损失由两部分组成① 跨模态对齐损失classification as grounding先构建区域 × 词相似度矩阵S O·Pᵀ区域特征 O 与词特征 P 的点积用它替代传统的固定类别 softmax 分类头。匈牙利匹配确定预测框与真值短语的配对后在矩阵上做 token 级对齐正样本对框与对应短语的词相似度推高负样本对推低——本质是一个对象级的对比分类损失焦点加权以处理正负样本极度不均衡。② 定位损失localizationL1 损失 GIoU 损失的组合框回归约束预测框与真值框的几何贴合度。总损失 对齐损失 λ × 定位损失端到端联合优化。这个设计的精妙之处在于分类损失不再是从固定类别表里挑一个而是在提示文本里找对词——同一个损失函数既适用于人工标注的检测数据框-短语自然对应也适用于图文对数据Caption 中的名词短语即免费的类别词这正是 GLIP 能同时吃下两类异构数据、实现 27M 规模预训练的根本原因。五、第 19 集GLIP vs YOLOv / DETR / YOLOS 对比维度YOLOv 系列DETRYOLOSGLIP骨干CNNCNN Transformer裸 ViTDyHead BERT 跨模态类别系统固定固定固定开放词汇输入仅图像仅图像仅图像图像 文本提示后处理NMS无匈牙利匹配无无新类别迁移需重训需重训需重训改提示词即可零样本代表意义CNN 实时检测巅峰端到端检测开山架构通用性证明检测范式革新结论从 YOLOv 到 DETR / YOLOS 是架构层的演进CNN → Transformer、手工组件 → 端到端从它们到 GLIP 是范式层的跃迁封闭类别 → 开放词汇、视觉独奏 → 语言引导。四个模型构成一条完整的技术谱系也是理解后续开放词汇工作的钥匙。六、课程脉络衔接至此五个模块的主线清晰可循ViT视觉 Token 化→CLIP图像级图文对齐→BLIP/BLIP-2/LLaVA视觉进 LLM 统一推理→SAM类别无关分割→GLIP对象级开放词汇检测。GLIP 与 SAM 的组合即Grounded-SAMGLIP 用语言指定目标并出框 → SAM 沿框精细分割是当前最流行的开源开放词汇分割流水线之一也为后续 Stable Diffusion 生成模块局部重绘需先定位/分割埋下伏笔。七、学习要点回顾检测 Transformer 化两支柱DETR 的 object query 匈牙利匹配YOLOS 的裸 ViT 通用性证明GLIP 一句话检测 图像区域 × 提示短语的对齐问题词汇表由文本开放关键架构DyHead BERT 多层语言感知深度融合区别于 CLIP 的 late fusion损失 区域-词 token 级对齐对比损失 (L1 GIoU) 定位损失匈牙利匹配配对后联合优化数据配方3M 人工标注 24M 图文对自训练伪框动手建议Hugging Face 直接加载 GLIP 系 checkpoint改一行提示词即可体验零样本检测再进阶组合 Grounded-SAM 流水线。八、GLIP 零样本检测实战前面几节从原理上理解了 GLIP 如何把目标检测重构为短语定位本节给出可直接运行的实战代码帮助读者在 Hugging Face 上快速体验零样本检测并进阶组合 Grounded-SAM 完成从出框到分割的完整落地。1. 使用 Hugging Face transformers 加载 GLIP 模型transformers 库提供了AutoModelForZeroShotObjectDetection接口可统一加载 GLIP 与 Grounding DINO 等开放词汇检测模型。下面以 GLIP 为例给出完整推理流程from transformers import AutoProcessor, AutoModelForZeroShotObjectDetection from PIL import Image import torch import matplotlib.pyplot as plt import matplotlib.patches as patches 1. 加载模型与处理器首次运行会自动下载 checkpoint model_id microsoft/grounding-dino-base # 也可换成 GLIP 系 checkpoint processor AutoProcessor.from_pretrained(model_id) model AutoModelForZeroShotObjectDetection.from_pretrained(model_id) model.eval() 2. 读取图像并构造文本提示各类别用句号分隔 image Image.open(demo.jpg).convert(RGB) text cat . dog . person . 3. 输入预处理图像缩放 文本 token 化统一送入模型 inputs processor(imagesimage, texttext, return_tensorspt) 4. 前向推理得到预测框、类别与置信度 with torch.no_grad(): outputs model(**inputs) 5. 阈值过滤 框坐标转换从模型坐标还原到原图像素坐标 results processor.post_process_grounded_object_detection( outputs, inputs.input_ids, box_threshold0.35, # 框置信度阈值低于此值丢弃 text_threshold0.25, # 文本对齐阈值控制类别匹配严格度 target_sizes[image.size[::-1]] # 还原到原图尺寸 )[0] 6. 可视化在原图上绘制检测框与标签 fig, ax plt.subplots(1, 1, figsize(12, 8)) ax.imshow(image) for box, score, label in zip(results[boxes], results[scores], results[labels]): x1, y1, x2, y2 box.tolist() rect patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth2, edgecolorred, facecolornone) ax.add_patch(rect) ax.text(x1, y1 - 5, f{label} {score:.2f}, colorred, fontsize12, bboxdict(facecolorwhite, alpha0.8)) plt.axis(off) plt.show()关键步骤说明第 3 步的processor负责把图像缩放到模型输入尺寸、把文本提示编码为 token 序列第 5 步的box_threshold与text_threshold分别控制框置信度与文本对齐的过滤强度值越低召回越多、误检也越多target_sizes用于把模型输出的归一化坐标还原为原图像素坐标便于直接绘制。2. 组合 Grounded-SAMGLIP 出框 SAM 分割GLIP 负责用语言指定目标并输出边界框SAM 再沿框内区域做精细分割二者组合即 Grounded-SAM 流水线。简化流程如下from transformers import AutoProcessor, AutoModelForZeroShotObjectDetection from segment_anything import sam_model_registry, SamPredictor from PIL import Image import numpy as np 第一步GLIP 出框复用上一节的加载逻辑 det_processor AutoProcessor.from_pretrained(microsoft/grounding-dino-base) det_model AutoModelForZeroShotObjectDetection.from_pretrained(microsoft/grounding-dino-base) image Image.open(demo.jpg).convert(RGB) text cat . dog . person . inputs det_processor(imagesimage, texttext, return_tensorspt) outputs det_model(**inputs) boxes det_processor.post_process_grounded_object_detection( outputs, inputs.input_ids, box_threshold0.35, text_threshold0.25, target_sizes[image.size[::-1]] )[0][boxes].tolist() 第二步SAM 沿框精细分割 sam sam_model_registryvit_h.to(cuda) predictor SamPredictor(sam) predictor.set_image(np.array(image)) for box in boxes: x1, y1, x2, y2 [int(v) for v in box] # 把检测框作为 SAM 的提示框生成框内前景掩码 masks, scores, _ predictor.predict( boxnp.array([x1, y1, x2, y2]), multimask_outputTrue ) best_mask masks[scores.argmax()] # 取置信度最高的掩码 # 此处可将 best_mask 保存为 PNG 或叠加到原图用于后续编辑这段流程把 GLIP 的开放词汇定位能力与 SAM 的类别无关分割能力串联起来GLIP 先回答图中哪里有 cat / dog / personSAM 再回答这些目标各自的精确轮廓是什么。在开放词汇图像编辑场景中这一组合非常实用——例如用户输入把图中的柴犬换成柯基即可先用 GLIP 定位柴犬区域再用 SAM 分割出该区域掩码最后交给 Stable Diffusion 做局部重绘实现目标级、语义可控的图像编辑。八、学习路线图针对不同基础的学习者建议按以下路径循序渐进地掌握 GLIP 及开放词汇检测技术入门路线0–2 周先掌握 Transformer 基础与 ViT 原理再学习 DETR 的端到端检测范式理解 object query 与匈牙利匹配机制进阶路线2–4 周深入 YOLOS 的裸 ViT 检测实验理解检测能力的涌现机制随后系统学习 GLIP 的架构三件套DyHead BERT 语言感知深度融合掌握短语定位的核心思想实战路线4–6 周在 Hugging Face 上加载 GLIP 系 checkpoint动手实践零样本检测进阶组合 Grounded-SAM 流水线完成从语言指定目标到精细分割的完整落地研究路线6 周以上精读 GLIP 论文与源码复现损失函数与自训练数据配方尝试在自定义数据集上微调探索开放词汇检测的边界与改进方向。SEO 关键词GLIP、开放词汇检测、多模态大模型、phrase grounding、YOLOS、DETR 原理、DyHead、零样本检测、GLIP 损失函数、Grounded-SAM 教程、目标检测 Transformer、语言感知深度融合。九、总结与参考资料本文系统梳理了卢菁博士《多模态大模型教程》第五模块《GLIP 模型详解》第 16–19 集的核心内容从 DETR、YOLOS 的检测 Transformer 化讲起深入剖析 GLIP 如何把目标检测重构为短语定位任务实现开放词汇检测。GLIP 通过 DyHead BERT 语言感知深度融合的架构设计配合 27M 预训练数据配方与联合损失函数在零样本检测上取得了超越有监督基线的成绩标志着检测范式从封闭类别到开放词汇的关键跃迁。以下是官方文档与推荐阅读资料GLIP 论文Grounded Language-Image Pre-trainingCVPR 2022微软研究院Microsoft Research 项目页Object Detection in the Wild via Grounded Language-Image Pre-trainingHugging Face 模型库搜索GLIP即可找到官方 checkpoint 与使用示例支持零样本检测快速体验Grounded-SAM 项目IDEA-Research/Grounded-Segment-AnythingGLIP 与 SAM 组合的开放词汇分割流水线课程选集卢菁博士《多模态大模型教程》第 16–19 集对应本模块内容主要来源GLIP 论文 链接、Microsoft Research 项目页 链接、GLIP 技术解读 链接、课程选集 链接
上一篇/下一篇内容由系统自动关联
返回资讯列表 →