FEATURED · 精选文章

两份权重先下哪个?GroundingDINO 的 SwinT 和 SwinB 选型与跑通实战

发布时间 / 2026/9/16 14:30:32
来源 / 创域科博编辑部
栏目 / 资讯中心
两份权重先下哪个?GroundingDINO 的 SwinT 和 SwinB 选型与跑通实战 两份权重先下哪个GroundingDINO 的 SwinT 和 SwinB 选型与跑通实战【免费下载链接】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 你会遇到两个 .pth 权重和两套配置文件不确定先跑哪个。这个开放集检测模型接收图片 一句话直接输出框和类别文字SwinT 与 SwinB 的核心差别只在骨干网络和输入分辨率。本文先把最小可跑流程讲通再讲清楚 GroundingDINO 配置该怎么选。GroundingDINO 最小安装步骤装完就能跑一次推理git clone https://gitcode.com/GitHub_Trending/gr/GroundingDINO cd GroundingDINO export CUDA_HOME/usr/local/cuda # 指向你的 CUDA 目录没有 GPU 就跳过 pip install -e . mkdir -p weights # 放下载好的权重文件权重文件名为groundingdino_swint_ogc.pthSwinT和groundingdino_swinb_cogcoor.pthSwinB官方下载地址见 README 的 Checkpoints 表格下载后丢进weights/即可。from groundingdino.util.inference import load_model, load_image, predict, annotate import cv2 model load_model(groundingdino/config/GroundingDINO_SwinT_OGC.py, weights/groundingdino_swint_ogc.pth) image_source, image load_image(.asset/cat_dog.jpeg) boxes, logits, phrases predict(model, image, cat . dog ., box_threshold0.35, text_threshold0.25) cv2.imwrite(out.jpg, annotate(image_source, boxes, logits, phrases))类别之间建议用.分隔和 README 示例保持一致。想换 SwinB不改代码把load_model里两个路径换成 SwinB 配置和 cogcoor 权重就行。下面这张图展示了文本驱动定位的效果包括指代式表达如 the left lionSwinT 和 SwinB 配置文件到底差在哪先说一个关键事实逐行对比 groundingdino/config/GroundingDINO_SwinT_OGC.py 和 groundingdino/config/GroundingDINO_SwinB_cfg.py唯一实质差异就是backbone一行——swin_T_224_1k对swin_B_384_22k。其余hidden_dim 256、num_queries 900、num_feature_levels 4等参数完全相同。对比项SwinTSwinB骨干网络Swin-TSwin-B输入分辨率224×224384×384骨干预训练数据ImageNet-1KImageNet-22K参数量级约 172M论文口径约 230M推理显存经验值6–8GB 可跑12GB 以上更稳妥相对速度基准约慢 2–3 倍分辨率像素量约为 3 倍官方 COCO box AP48.4zero-shot/ 57.2fine-tune56.7架构上三个关键模块各管一段见 groundingdino/models/GroundingDINO/groundingdino.py特征增强器做文本-图像双向交叉注意力让文本特征和图像特征互相补充语言引导查询选择根据文本内容生成 900 个跨模态查询决定往哪找跨模态解码器迭代精修框的位置用对比损失保证框和词匹配、定位损失保证框贴边。基准数据怎么说ODinW 零样本成绩怎么读ODinW 覆盖 35 个检测数据集是开放集检测常用的零样本基准官方表在.asset/ODinW.pngGrounding-DINO-T172MZero-Shot AP 平均 20.0、中位 9.5当时超过同量级的 GLIP-T19.6说明小模型 文本接地这条路走得通。同模型 Full-Shot AP 平均 70.7、中位 76.2当 35 个数据集都有标注数据可微调时它对其它方法的领先幅度反而拉大说明它吃标注的能力强。论文里 Grounding DINO LSwin-L341MZero-Shot 平均 26.1、中位 18.4这是该框架的能力上限参照SwinB 权重COCO 56.7 AP介于 T 和 L 之间。Few-Shot AP 中位 51.1少量样本场景下稳定性也好适合手头只有几十张标注的业务。按场景对号入座你的部署该用哪个配置你的情况推荐配置一句话理由实时视频流要帧率SwinT224 输入 小骨干推理约快 2–3 倍帧率瓶颈主要在这边缘 / 移动 / CPU 部署SwinT显存占用低且官方 demo 支持--cpu-only纯 CPU 模式快速原型验证SwinT权重小、下载快48.4 的零样本 AP 足以验证想法是否成立高精度质检医学影像、工业检测、需微调SwinB384 输入对小目标和细节更友好微调起点 56.7 AP 留有余量前提说明显存和速度是经验值具体以你机器的nvidia-smi实测为准如果你的目标本来就大且文本提示写得好SwinT 的精度损失未必明显。GroundingDINO 性价比调参4 个值得动的参数两份配置默认值一致以下按改成多少 → 换来什么 → 代价是什么num_queries900 → 500–600。换来解码更快、输出框更少、后处理省算力代价是密集场景会漏检——模型按 900 训练减少查询属于降级使用不是无损。num_feature_levels4 → 3。换来每层注意力少算一个特征金字塔层级推理提速代价是小目标召回下降目标偏小的数据集别动。use_checkpointTrue → False配置里默认开着。换来速度明显提升梯度检查点只影响前向/反向的重复计算开销代价是显存峰值上升小卡上可能 OOM。hidden_dim256 → 384。换来更强的特征表达能力代价最大——权重形状全变预训练权重无法直接加载必须重训显存也更高。只建议自研模型时用。三句话决策SwinT 还是 SwinB默认选 SwinT显存 ≤8GB、要实时、或只是验证想法就用swint_ogc.pth起步跑通 demo/inference_on_a_image.py 再谈其它。只有两种情况升级到 SwinB你要在自己的领域数据上微调或者目标小、细节关键且能拿出 12GB 以上显存。两者切换零成本只改配置文件和权重两个路径代码、prompt、阈值全部通用。先跑一次默认配置拿到基线确认瓶颈是速度、显存还是漏检再回头查上一节的参数表不要一上来就改参数。【免费下载链接】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),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻