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

GroundingDINO 在土星云 SE110S 系列上的部署与实战

一、引言

随着大模型技术向边缘侧渗透,"文本即查询"的开放词汇目标检测正在成为工业视觉、智能安防和机器人感知的核心能力。GroundingDINO 作为当前最具代表性的多模态检测模型之一,能够根据任意自然语言提示在图像中定位目标,无需针对特定类别重新训练。本文将结合 sophon-demo 官方例程,详细介绍如何将 GroundingDINO 移植并部署到土星云 SE110S 系列加速卡上,涵盖算法原理、典型场景、模型编译与推理全流程。

二、GroundingDINO 算法简介

2.1 核心思想

GroundingDINO 由 IDEA Research 于 2023 年提出,其名称中的 "Grounding" 指代视觉定位(Visual Grounding),"DINO" 则继承自 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.git
cd sophon-demo/sample/GroundingDINO
chmod -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 python
pip3 install -r requirements.txt
python3 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_sail
mkdir build && cd build
cmake .. && 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 可测试模型的理论推理时间。在 SE110S(BM1684X)上,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 的组合为这一范式提供了可落地的工程方案。

http://www.jsqmd.com/news/1405764/

相关文章:

  • 点喷加盟店开业初期怎么宣传?三招快速打开局面 - 天下观知
  • SpaceX 600 亿美元收购 Cursor,Cursor 将参与 Grok AI 项目
  • PCO 企业规范四害消杀全流程操作,需遵循哪些行业合规标准?苏州木渎选型参考 - 康一科技
  • 网页媒体资源捕获神器:猫抓浏览器扩展安装与使用完整指南
  • DeepSeek Harness 架构拆解:没有“核心“的 Agent 运行时,“万物皆插件“是怎么做到的
  • 基于SpringBoot的仁爱医院信息管理系统的实现(源码+lw+部署文档+讲解等)
  • 告别千兆瓶颈:RTL8125驱动安装全流程与2.5G跑满实战指南
  • 奢二网实操攻略:西城区钻石饰品迭代更新服务详情解读 - 大牌科普时报
  • 2026 广州黄金回收避坑指南,奢二网拆解虚假高价陷阱做好闲置黄金变现 - 每日小知识
  • 北京东城区香奈儿CF黑金和粉色回收价差30%的数据分析 - 大牌科普时报
  • Gemini 3.7 Flash 今日向订阅用户开放:遵循指令、理解意图能力升级
  • 微信聊天记录备份与导出终极指南:用WeChatMsg把十年对话永久存下来
  • 谷歌允许去除AI内容可见水印,不可见标记仍可验证生成来源
  • 网易孵化谦合益邦获超20亿B轮融资,3D存算一体芯片赛道竞争再升级
  • Ventoy 多系统启动盘制作指南:如何用一个U盘装下所有系统镜像
  • 衢州小白学摄影去哪里好?推荐知美人摄影学校 - 港焙西点-知美人美学
  • 中国 AI 低价方案抢占市场,OpenAI 降价 80%、Anthropic 推低价新品应战!
  • 旧 iPhone 的最后狂欢:palera1n 越狱工具从入门到拆机详解
  • 用了 3 天差点封号:OpenKore 自动化工具安全使用全复盘
  • Qucs-S 电路仿真入门:3 个关键步骤,快速搞定微波传输线计算
  • COOP 上线总是踩坑?webappsec 官方 rollouts 指南逐条拆解
  • 湖州热门轻食糕点培训机构|港焙学校真实测评 - 港焙西点-知美人美学
  • 想学商业摄影怎么避坑?报班之前一定要看懂这些 - 职业学校推荐官
  • 重塑文旅版图:凯撒旅游与凯撒旅业的深层战略关联 - 2027品牌AI展
  • 2026年狗狗驱虫好选择:不用喂药,外用滴剂轻松守护爱犬健康 - 养宠博世
  • Qucs-S 电路仿真避坑指南:从零跑通第一个仿真项目只要一小时
  • 论文选题怎么定?26届用AI定题的避坑复盘
  • 想找靠谱的展厅设计企业到底要怎么筛选才不会踩坑?
  • 在aarch64 kylin中安装redrock postgres 18.6
  • 静态建站谷歌5天排名案例的有效性。