GroundingDINO 在土星云 SE110S 系列上的部署与实战
一、引言随着大模型技术向边缘侧渗透文本即查询的开放词汇目标检测正在成为工业视觉、智能安防和机器人感知的核心能力。GroundingDINO 作为当前最具代表性的多模态检测模型之一能够根据任意自然语言提示在图像中定位目标无需针对特定类别重新训练。本文将结合 sophon-demo 官方例程详细介绍如何将 GroundingDINO 移植并部署到土星云 SE110S 系列加速卡上涵盖算法原理、典型场景、模型编译与推理全流程。二、GroundingDINO 算法简介2.1 核心思想GroundingDINO 由 IDEA Research 于 2023 年提出其名称中的 Grounding 指代视觉定位Visual GroundingDINO 则继承自 DETR 系列的端到端检测范式。它将文本提示与图像输入共同送入模型输出与文本语义对齐的检测框从而实现说什么、检什么的开放词汇检测能力。2.2 网络架构模型整体由四个核心模块构成图像主干Swin-T、文本主干BERT-base、特征融合器Feature Enhancer以及语言引导的查询选择与跨模态解码器。图像分支提取多尺度视觉特征文本分支输出词级嵌入二者通过双向注意力完成深度融合解码器在融合特征上直接生成带类别标签的边界框省去了传统检测器的 NMS 后处理依赖。2.3 技术亮点其一开放词汇支持 COCO 以外的任意类别描述甚至可以用 a person wearing red shirt 这类短语进行细粒度检索其二零样本迁移在不微调的情况下即可在下游数据集取得较强表现在 COCO 上零样本 mAP 可达 52.5其三端到端基于集合预测与二分匹配无需锚框设计与手工后处理推理流程简洁其四可作为开放词汇检测器与 SAM 等分割模型级联构成检测分割的视觉基础模型流水线广泛应用于自动标注与图像编辑场景。2.4 与传统检测器的对比相比 YOLO、Faster R-CNN 等闭集检测器GroundingDINO 的最大区别在于输入侧引入了文本模态。传统检测器只能输出训练时定义的固定类别新增类别需要重新标注与训练而 GroundingDINO 通过文本提示即可动态切换检测目标在类别频繁变化的场景下大幅降低了迭代成本。当然这种灵活性也带来了更大的模型体量与计算开销因此在边缘端部署时需要针对硬件特性做专门优化。三、典型使用场景GroundingDINO 的开放词汇特性使其特别适合类别不固定、需求频繁变化的边缘场景1工业质检产线上缺陷种类随批次变化工程师可通过文本提示灵活定义划痕、凹陷、异物等缺陷无需为每条产线重训模型。2智能安防在边缘盒子中根据安保人员输入的未戴安全帽人员遗留包裹等自然语言指令实时检索画面。3机器人感知服务机器人通过语音指令识别桌子上的蓝色杯子完成抓取前的目标定位。4数据标注自动化作为预标注工具用文本提示批量生成检测框大幅降低人工标注成本。5多模态 Agent 视觉前端为大语言模型驱动的智能体提供可交互的视觉感知接口。四、土星云 SE110S 平台概述土星云 SE110S 系列是面向边缘推理场景的高性能 AI 加速产品基于 BM1684X 芯片单卡 INT8 算力可达 32TOPS支持 FP16/INT8 混合精度推理具备典型功耗低、视频解码路数多、工业级宽温等特性非常适合在边缘服务器、工控机和智能盒中部署多模态大模型。SE110S 提供 PCIe 与 SoC 两种形态配套完整的 TPU-MLIR 编译工具链和 SAIL 推理接口支持 PyTorch、ONNX 等主流框架模型的一键转换。五、模型部署全流程5.1 环境与代码准备首先克隆官方例程仓库并进入 GroundingDINO 目录执行下载脚本获取预编译 BModel、ONNX 模型、测试数据与 BERT 分词器git clone https://github.com/sophgo/sophon-demo.gitcd sophon-demo/sample/GroundingDINOchmod -R x scripts/./scripts/download.sh --all下载完成后models/BM1684X 目录下会得到 groundingdino_bm1684x_fp16.bmodel这是可直接在 SE110S 上运行的 FP16 模型datasets 目录包含测试图片、视频与 COCO 类别文件。5.2 模型编译若需自行从 ONNX 编译 BModel需安装对应版本的 TPU-MLIR 工具链并在 scripts/gen_fp16bmodel_mlir.sh 中配置 ONNX 路径、输出目录与输入 shape随后指定目标平台执行./scripts/gen_fp16bmodel_mlir.sh bm1684x编译脚本会调用 model_transform 与 model_deploy 完成图优化、算子降级与 FP16 量化最终生成可在 SE110S 上加载的 BModel 文件。5.3 Python 推理Python 例程基于 PIL 与 SAIL 接口入口脚本为 python/groundingdino_pil.py。安装依赖后执行cd pythonpip3 install -r requirements.txtpython3 groundingdino_pil.py \--bmodel ../models/BM1684X/groundingdino_bm1684x_fp16.bmodel \--input ../datasets/test/zidane.jpg \--tokenizer_path ../models/bert-base-uncased \--text_prompt person . helmet . ball \--devid 0其中 --text_prompt 支持以英文句号分隔多个类别模型会根据提示输出对应检测框与置信度。推理结果会保存为带标注的图片可直观验证开放词汇检测效果。需要注意的是文本提示建议使用英文单词或简短短语类别之间用英文句号分隔并在末尾保留句号这与官方仓库的输入格式保持一致。5.4 C 推理对性能要求更高的生产环境推荐使用 cpp/groundingdino_sail 下的 C 例程。该实现基于 SAIL 封装预处理与后处理均在 C 侧完成避免了 Python 开销。编译方式如下cd cpp/groundingdino_sailmkdir build cd buildcmake .. make -j4./groundingdino_sail.pcie \--bmodel ../../models/BM1684X/groundingdino_bm1684x_fp16.bmodel \--input ../../datasets/test/zidane.jpg \--tokenizer_path ../../models/bert-base-uncased \--text_prompt person . car六、性能测试与优化建议使用 bmrt_test 可测试模型的理论推理时间。在 SE110SBM1684X上groundingdino_bm1684x_fp16.bmodel 的单图推理约为 285ms完整程序端到端性能中C 版本的解码、预处理、推理、后处理分别约为 5.8ms、6.1ms、468ms、6.1ms显著优于 Python 版本的预处理耗时。优化建议优先使用 C SAIL 接口可将预处理时间从 150ms 级降至 6ms 级端到端帧率提升明显对输入分辨率做合理缩放在精度允许范围内降低图像尺寸可线性减少推理耗时官方模型默认输入为 800×1333文本提示尽量精简过长的句子会增加 BERT 编码与注意力计算开销多卡场景可通过 devid 绑定不同 TPU 核实现流水线并行若对实时性要求极高可尝试 INT8 量化进一步压缩模型体积与推理延迟但需关注量化精度损失。七、总结GroundingDINO 将自然语言理解与目标检测深度融合为边缘端带来了灵活、可交互的视觉感知能力。借助土星云 SE110S 系列的算力与完整工具链开发者可以快速完成从 ONNX 到 BModel 的编译转换并通过 Python 或 C 接口实现高效推理。无论是工业质检、智能安防还是机器人感知开放词汇检测都正在成为边缘 AI 应用的新范式而 SE110S 与 GroundingDINO 的组合为这一范式提供了可落地的工程方案。

相关新闻

人像动画制作教程:用 LivePortrait 三步让老照片开口说话

人像动画制作教程:用 LivePortrait 三步让老照片开口说话

人像动画制作教程:用 LivePortrait 三步让老照片开口说话 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait LivePortrait 是一款来自快手团队的免费开源人像动画工具,只要…

2026/10/5 10:47:50 阅读更多 →
微信聊天记录数据提取全攻略:免费开源WeChatMsg让每段对话都成为永久备份

微信聊天记录数据提取全攻略:免费开源WeChatMsg让每段对话都成为永久备份

微信聊天记录数据提取全攻略:免费开源WeChatMsg让每段对话都成为永久备份 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…

2026/9/24 9:29:21 阅读更多 →
微信聊天记录如何永久保存?WeChatMsg完整备份指南

微信聊天记录如何永久保存?WeChatMsg完整备份指南

微信聊天记录如何永久保存?WeChatMsg完整备份指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg…

2026/10/1 10:38:52 阅读更多 →

最新新闻

单芯片驱动8×8视频墙:4K60 HDR拼接方案架构与选型实战

单芯片驱动8×8视频墙:4K60 HDR拼接方案架构与选型实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 3:12:26 阅读更多 →
微信接入小龙虾完全指南:WorkBuddy 安装配置教程(TaoToken 统一 Key 通道版)

微信接入小龙虾完全指南:WorkBuddy 安装配置教程(TaoToken 统一 Key 通道版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 3:12:26 阅读更多 →
Ollama大模型本地部署全指南:从零到跑通,TaoToken统一Key接入实战

Ollama大模型本地部署全指南:从零到跑通,TaoToken统一Key接入实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 3:12:26 阅读更多 →
【单片机课程设计/毕业设计】基于单片机的智能台灯光线人体双感知调光装置设计 基于物联网的智能台灯环境监测与自动调节系统设计(031001)

【单片机课程设计/毕业设计】基于单片机的智能台灯光线人体双感知调光装置设计 基于物联网的智能台灯环境监测与自动调节系统设计(031001)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 3:12:26 阅读更多 →
【计算机毕业设计单片机案例】基于WIFI的智能台灯光控调光与手机端远程管理系统设计 基于ESP32的智能台灯环境监测与语音控制装置设计(031001)

【计算机毕业设计单片机案例】基于WIFI的智能台灯光控调光与手机端远程管理系统设计 基于ESP32的智能台灯环境监测与语音控制装置设计(031001)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 3:12:26 阅读更多 →
学习C语言规划

学习C语言规划

自我介绍:大家好,我是一名大一计算机科学与技术的学生。目前正在从零基础开始学习c语言,我对编程可谓说是一窍不通,敲代码对我说是一个全新的挑战,不过我不会轻易放弃。编程学习目标:我现在还不太了解编程&…

2026/10/11 3:11:26 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →