当前位置: 首页 > news >正文

Grounding DINO实战:开放词汇目标检测上手指南

Grounding DINO实战:开放词汇目标检测上手指南

适合人群:需要检测新类别但不想重新训练模型的工程师
阅读时间:约12分钟
代码环境:Python 3.10+,PyTorch 2.x,transformers 4.x


前言

传统目标检测有个痛点:想检测新类别就得重新标注、重新训练。工厂换了产品,以前检测螺丝的模型对垫圈完全没用。

Grounding DINO解决了这个问题——你只需要用文字描述你要检测什么,它就能检测出来,不需要任何训练数据。

这在工业场景非常有价值:产品线经常切换,维护多个专用模型成本太高。


项目链接见:https://github.com/IDEA-Research/GroundingDINO

一、什么是开放词汇检测

传统检测: 训练数据(螺丝标注) → 训练 → 只能检测螺丝 想检测垫圈?→ 重新标注 → 重新训练 → 部署 开放词汇检测: 输入:图片 + "screw, washer, nut" 输出:直接检测出螺丝、垫圈、螺母 不需要任何训练数据!

但注意:开放词汇检测的精度通常比专用训练模型低10~15%。适合做初期验证产品线切换过渡期使用,最终还是要用专用模型替换。


二、环境安装

# 安装依赖pipinstalltorch torchvision pipinstalltransformers>=4.35.0 pipinstalltimm# Grounding DINO依赖# 安装Grounding DINOpipinstallgroundingdino-py# 或者从源码安装# git clone https://github.com/IDEA-Research/GroundingDINO.git# cd GroundingDINO && pip install -e .

三、快速上手

3.1 基本用法

importtorchimportnumpyasnpimportcv2fromPILimportImagefromgroundingdino.util.inferenceimportload_model,predictfromgroundingdino.util.utilsimportget_phrases_from_posmapclassGroundingDINO:"""Grounding DINO 快速上手封装"""def__init__(self,model_size="base",device="cuda"):""" model_size: "base" 或 "large" """self.device=deviceifmodel_size=="base":config="GroundingDINO_SwinT_OGC.py"weights="groundingdino_swint_ogc.pth"else:config="GroundingDINO_SwinB_cfg.py"weights="groundingdino_swinb_cogcoor.pth"self.model=load_model(config,weights,device=self.device)defdetect(self,image_path,text_prompt,box_threshold=0.25,text_threshold=0.2):""" 检测 image_path: 图片路径 text_prompt: 文字描述,用英文逗号分隔,如 "screw . washer . nut ." 注意:用句号 . 分隔不同类别(官方推荐格式) box_threshold: 检测框置信度阈值 text_threshold: 文字匹配阈值 """image=Image.open(image_path)image_np=np.array(image)# 运行检测boxes,logits,phrases=predict(model=self.model,image=image,caption=text_prompt,box_threshold=box_threshold,text_threshold=text_threshold,device=self.device)# 转换结果detections=[]h,w=image_np.shape[:2]forbox,logit,phraseinzip(boxes,logits,phrases):x1=int(box[0]*w)y1=int(box[1]*h)x2=int(box[2]*w)y2=int(box[3]*h)detections.append({"class":phrase.strip(),"confidence":float
http://www.rkmt.cn/news/1500552.html

相关文章:

  • 2026 湛江市 GEO 推广优化服务商 TOP5 权威排名完整新闻合集(含榜单表格) - 广东科技观察
  • 品牌人,快去劝老板做GEO!告别被动营销,让品牌效果彻底可视化
  • HttpPrinter的url地址或者说json过长的解决问题
  • 苹果秋季将推Siri AI更新,聚焦用户需求带来全新对话体验
  • 2026年5月成都宠物航空托运靠谱服务商攻略|正规有氧舱 安全不踩坑 - TOP10品牌推荐榜单
  • 宇树科技,即将上市!
  • Claude Code 代码库迁移评估流程:目录扫描、依赖分析和风险清单
  • 数据的加密与解密(23:53)
  • 2026年 惠州变压器回收最新推荐:专业处置油式/干式/箱式废旧变压器及二手设备公司盘点 - 品牌发掘
  • 数据的加密与解密(23:39)
  • CompletableFuture 详细讲解
  • 单配六维力传感器采集卡/模块的方法 EtherCAT ECT-FT6B北京锐灵科技ray0.cn
  • 【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
  • 报销流程混乱,问题到底出在哪里?
  • 华为云发布Agentic AI系列新品 打造智能时代“硅基黑土地”
  • 聊天式 AI 剪辑工作流解析:自然语言如何驱动多步视频处理
  • 微信网页版终极解决方案:wechat-need-web 浏览器扩展实用指南
  • Beyond Compare 5终极激活指南:5分钟解锁完整功能
  • i.MX 7ULP异构多核架构解析:平衡性能与功耗的嵌入式设计实践
  • 2026年6月成都本地人私藏高分火锅合集|全店口碑4.8分+,闭眼吃不踩坑 - TOP10品牌推荐榜单
  • 描述符(Descriptors)‌
  • 2026年绕线机厂家推荐榜:电线电缆/铜丝钢丝/高速伺服自动绕线机优质品牌深度解析 - 品牌发掘
  • 第 15 集:Claude Code上下文工程学 —— 根治“80% 问题”
  • 如何打造个人专属的数字记忆库:从微信数据到生活足迹的完整指南
  • 非技术背景AIPM技术学习攻略:不学废、不内卷、刚好够用
  • AIOps 智能日志模式挖掘与异常关联:从日志海洋到结构化洞察
  • 光伏电缆厂家盘点:从资质产能看选型适配方向 - 互联网科技品牌测评
  • 2026年 电热管源头厂家推荐榜单:模温机电热管/单头法兰式/双头高温/PET电热管专业选购指南 - 品牌发掘
  • LPC800 USART ISP协议详解与实战:构建稳定现场固件升级方案
  • GitHub 上 Stars 最多的 8 个开源 AI Assistant 工具