ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GroundingDINO SwinT vs SwinB 配置选型指南:两套零样本检测配置怎么选

GroundingDINO SwinT vs SwinB 配置选型指南:两套零样本检测配置怎么选 GroundingDINO SwinT vs 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/GroundingDINOGroundingDINO 是 ECCV 2024 的零样本目标检测模型输入一张图和一句自然语言描述直接框出目标训练时从未见过这些类别。仓库提供 SwinTgroundingdino_swint_ogc与 SwinBgroundingdino_swinb_cogcoor两套配置本文给出一套可直接执行的选型判断流程帮你定下该用哪一套。30 秒速查实时视频流、单帧预算 150ms 以内选 SwinT。显存 8GB、边缘设备、需要 CPU 兜底选 SwinT。离线静态图、对 AP 每 1 个点都敏感选 SwinBCOCO 零样本 56.7 AP 对 48.4 AP。两套配置的 Transformer 参数逐行一致切换 改一个 config 文件路径业务代码零改动。场景拆解先想清楚任务再看参数实时视频流SwinT 是默认答案约束是每帧耗时。SwinT 的 backbone 是swin_T_224_1k224×224 输入、ImageNet-1K 预训练SwinB 是swin_B_384_22k384×384 输入、ImageNet-22K 预训练后者单帧像素量约为前者的 3 倍直接推高主干耗时。参考数据RTX 3060 上 SwinT 单张 100~150msRTX 3090 上 SwinB 单张 200~300ms。同一硬件下按 30fps 预算倒推SwinT 稳SwinB 大概率只能做抽帧处理。静态高精度SwinB 拿分数离线批处理、图片编辑、解译类任务时间预算宽松精度是硬指标。SwinB 零样本 COCO 56.7 AP比 SwinT 的 48.4 AP 高 8.3ODinW 全样本 70.7 对 62.6高 8.1。差距的来源是更大的 backbone、更高分辨率输入以及训练时多吃了 COCO、ODinW-35、RefCOCO 等数据。小目标、密集排列、长尾类别上收益最明显。边缘设备显存 8GB 以下基本只有 SwinTSwinB 推理最低要 16GB 显存边缘盒子、嵌入式板卡没有谈判空间。SwinT 推理 8GB 显存可跑且推理脚本带--cpu-only参数可在无 GPU 机器上以可接受的速度出结果。这类部署直接选 SwinT不用做对比测试。数据佐证关键数字与差距点评SwinT (swint_ogc)SwinB (swinb_cogcoor)COCO 零样本 48.4 APCOCO 零样本 56.7 APODinW 零样本 22.3 APODinW 零样本 26.1 AP推理约 100~150ms/张RTX 3060推理约 200~300ms/张RTX 3090推理最低 8GB 显存推理最低 16GB 显存参数量约 99M 对 398MSwinB 约为 4 倍这是耗时与显存差距的根因。ODinW 各档位零样本 22.3 对 26.1少样本 38.9 对 46.4全样本 62.6 对 70.7——领先幅度 3.8~8.1 AP随标注量增加而扩大说明 SwinB 在数据充分时的上限更高。一个容易忽略的点COCO 微调后两者是 57.2 对 56.7SwinB 反而不占优。结论SwinB 的优势集中在零样本与少样本有充足标注可微调时这套精度差距会抹平此时选 SwinT 更划算。一条命令验证亲手对比两套配置先按 README 装好环境、下载权重SwinB 权重文件名是groundingdino_swinb_cogcoor.pth然后各跑一遍 推理脚本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 outputs_t \ -t cat . dog . person CUDA_VISIBLE_DEVICES0 python demo/inference_on_a_image.py \ -c groundingdino/config/GroundingDINO_SwinB_cfg.py \ -p weights/groundingdino_swinb_cogcoor.pth \ -i .asset/cat_dog.jpeg -o outputs_b \ -t cat . dog . person对比outputs_t与outputs_b里的框数量和位置同一张猫狗图SwinB 通常给出更多候选框SwinT 的框更收敛。想看两套配置在 COCO 上的整体差异可换 demo/test_ap_on_coco.py 跑 AP 评估。避坑清单资源受限时最常见的 4 个坑config 与 checkpoint 必须配对。两套 backbone 不同SwinT 配置文件 只配groundingdino_swint_ogc.pthSwinB 配置文件 只配groundingdino_swinb_cogcoor.pth。配错时加载权重会因尺寸不匹配直接报错这不是 bug 是必然。显存按最低值 余量规划。SwinB 写的是最低 16GBbatch_size 稍大就会越过SwinT 最低 8GB。训练侧需求更高SwinT 约 12GB、SwinB 约 24GB显存 12GB 的卡别排 SwinB 训练任务。两套配置共用默认阈值别盲目调参。脚本默认box_threshold0.3、text_threshold0.25。调高text_threshold是砍低置信框、输出更干净调低则召回更多候选框、噪声同步上升。先跑默认值看输出再决定动哪个。别用 GPU 峰值反推实时性。200~300ms 的 SwinB 数据来自 RTX 3090SwinT 的 100~150ms 来自 RTX 3060跨卡对比会失真。上生产前在你自己的卡上先跑time用实测值定方案。决策 Checklist逐条打勾直接拍板任务是实时视频流或单帧预算 ≤150ms→ SwinT任务是离线批量静态图且对 AP 每个点都敏感 → SwinB显存 ≤8GB或需要--cpu-only跑 CPU → SwinT有充足标注要微调不是纯零样本 → SwinT 性价比更高微调后 57.2 对 56.7要换配置只改-c参数指向的配置文件路径代码一行不用动验收标准跑一遍上面的两条命令确认输出框符合业务预期选型的本质是一道算术题SwinB 多花 4 倍参数和 2 倍显存换 3.8~8.1 AP。这笔交易值不值取决于你的任务里准一点比快一点、省一点贵多少。答案在上面的 checklist 里勾完就能拍板。【免费下载链接】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),仅供参考
返回列表