
输入一句话就能框出图中目标GroundingDINO 开放式检测上手指南【免费下载链接】GroundingDINO[ECCV 2024] Official implementation of the paper Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection项目地址: https://gitcode.com/GitHub_Trending/gr/GroundingDINO以前想让检测模型认识一个新物体你得先标一批数据再训练现在你只需要写一句话。GroundingDINO 是 ECCV 2024 论文的官方实现用自然语言做零样本开放式目标检测输入左边的狮子就能把那只狮子框出来。它到底在解决什么问题传统检测器只认固定的预定义类别想加一个新类就得重新标注、重新训练。换成 GroundingDINO 之后类别变成了自由文本你写什么词它就能检测什么无论是常见的椅子还是举起头的男子这种带描述的指代。换句话说目标定位的边界从训练集里有哪些类变成了你能写出什么样的句子。那一句话是怎么变成框的往下拆。它怎么做到的 技术拆解双骨干各自处理一个模态输入是一个图像文本对。图像走 Swin Transformer 图像骨干提取多尺度视觉特征文本提示词则被文本骨干编码成词嵌入序列。这一步两者互不干扰好处是视觉模型和语言模型可以各自独立升级不用整网重训。特征增强 语言引导的查询选择接着一个特征增强层让两种模态的特征并行交互、互相补充。然后是语言引导的查询选择不是盲目地在整张图上撒 900 个查询而是用文本相关性来决定哪些查询落在哪些区域把算力集中到句子真正提到的地方。跨模态解码器输出框和词得分最后由跨模态解码器层做交替的图文交叉注意力默认输出 900 个候选框每个框附带对每个输入词的相似度分数。推理时用 box_threshold 和 text_threshold 两个阈值过滤就能拿到最终目标对同一张图你还能只取与 dogs 相似度最高的框这其实就是引用式表达理解。数据怎么说 零样本也能打最关键的数字是 COCO 零样本 52.5 AP——训练时完全没用 COCO 数据开箱即用就有这个水平在 COCO 上微调后能到 63.0 AP。放到更难的 ODinW 多领域基准上Swin-T 配置约 1.72 亿参数在全量设置下拿到 70.7 的平均 AP零样本模式下也能到 20.0 起步。对比基线同期多数开放式检测器零样本普遍在 25 AP 上下GroundingDINO 的零样本结果直接甩开一大截。实际能用来干什么零样本目标定位最直接的用法输入 There is a cat and a dog in the image .图中所有猫和狗都会被框出来不需要任何标注。仓库里自带猫狗示例图改一句话就能看到检测内容的变化。先定位再重画文本式图像编辑配合 Stable Diffusion 玩出花先用 GroundingDINO 框出目标再按文本提示重绘该区域把狮子换成狗这类操作就是这样实现的。仓库提供可运行的 demo/image_editing_with_groundingdino_stablediffusion.ipynb照做就能复现。网页 UI 快速试玩demo/gradio_app.py 提供 Gradio 网页界面上传图片、输入文本就能看到检测框适合快速演示和验证想法。5 分钟跑起来 权重文件按 README 的 Install 一节下载到weights/目录然后git clone https://gitcode.com/GitHub_Trending/gr/GroundingDINO cd GroundingDINO pip install -e . CUDA_VISIBLE_DEVICES0 python demo/inference_on_a_image.py -c groundingdino/config/GroundingDINO_SwinT_OGC.py -p weights/groundingdino_swint_ogc.pth -i .asset/cat_dog.jpeg -o logs/demo -t cat . dog .没有 GPU 就在命令末尾加--cpu-only。模型配置在 groundingdino/config/更多参数看 demo/。如果环境对不上比如报NameError: name _C is not defined先读 README 的安装段落基本都是 CUDA 环境没配对导致的。写在最后把句子交给检测器图里有什么就框什么。去仓库点个 star跑通 demo 后欢迎在 issue 区分享你的结果。【免费下载链接】GroundingDINO[ECCV 2024] Official implementation of the paper Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection项目地址: https://gitcode.com/GitHub_Trending/gr/GroundingDINO创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考