典型案例

YOLOv10在土星云SE110S系列边缘计算设备上的部署实战

核心结论:本文详细介绍了将YOLOv10目标检测模型部署到国产边缘计算设备土星云SE110S系列的全流程实战,涵盖模型转换、编译与推理优化。YOLOv10采用一致双重分配策略实现NMS-Free端到端检测,相较YOLOv8-S减少约23%参数量、28%计算量,推理延迟降低约30%,非常适合边缘部署。土星云SE110S系列由国科环宇推出,提供SE110S-WC08(7.2 TOPS)、SE110S-WB16(16 TOPS)和SE110S-WA32(32 TOPS)三款型号,支持INT8/FP16/FP32混合精度推理和BMCV硬件加速。部署流程包括:通过Ultralytics导出ONNX模型(opset 11),使用TPU-MLIR工具链将ONNX编译为BModel,并推荐INT8量化,校准集200-500张图片。在SE110S-WA32上,INT8量化配合BMCV加速可实现110+ FPS(单路1080P),精度损失控制在5%以内(COCO val2017 AP@0.5:0.95从0.463降至0.443)。文章还给出了智慧安防、工业质检、智慧交通等多个边缘AI视觉场景的选型与优化建议,展示了YOLOv10在国产边缘硬件上的成熟落地能力。

核心要点
  1. YOLOv10通过一致双重分配策略消除NMS,实现端到端检测,参数量和计算量较YOLOv8-S分别降低23%和28%,推理延迟降低30%。
  2. 土星云SE110S系列提供7.2 TOPS至32 TOPS算力,支持INT8/FP16/FP32混合精度,配备NPU和BMCV硬件加速,适应-20°C~60°C宽温环境。
  3. 部署流程包括导出ONNX(opset 11)、使用TPU-MLIR编译BModel,推荐INT8量化校准200-500张图片。
  4. SE110S-WA32上INT8量化+BMCV加速方案可达110+ FPS(单路1080P),INT8精度损失小于5%。
  5. BMCV硬件预处理可减少80%前处理时间,多Batch模型进一步提升多路视频吞吐量。
  6. 文章覆盖智慧安防、工业质检、智慧交通等典型边缘AI视觉场景,给出不同型号设备的选型与并发建议。
这篇文章为边缘AI工程师尤其是前线部署工程师提供了一份极具实操价值的指南。它将最新的YOLOv10 NMS-Free检测模型与国产化边缘设备土星云SE110S完整串联,从模型导出、编译到INT8量化推理,步骤清晰、数据详实。文中给出的110+ FPS部署性能和精度损失对比,直接回答了工程师最关心的“跑不跑得动、精度够不够”的问题。对于正在做国产边缘AI方案选型或需要将视觉模型快速落地的团队,这是一篇可以直接照着做的教科书级案例。

YOLOv10通过一致双重分配策略消除NMS,实现端到端检测,参数量和计算量较YOLOv8-S分别降低23%和28%,推理延迟降低30%。

—— 络石智能编辑部 · 编辑推荐

YOLOv10在土星云SE110S系列边缘计算设备上的部署实战

YOLOv10作为最新一代实时目标检测算法,以其NMS-Free的端到端设计和卓越的精度效率比,成为边缘部署的理想选择。本文介绍如何在土星云SE110S系列边缘计算微服务器上完成YOLOv10的模型编译与推理部署。

  1. YOLOv10算法简介

YOLOv10最核心的创新是一致双重分配策略(Consistent Dual Assignments),彻底消除了传统YOLO对非极大值抑制(NMS)的依赖,实现真正的端到端检测。

传统YOLO推理时需通过NMS去除冗余检测框,增加了后处理延迟,还可能在密集场景中误删有效检测。YOLOv10在训练阶段同时使用one-to-many和one-to-one两种标签分配:训练时one-to-many头提供丰富监督信号,推理时切换到one-to-one头直接输出无冗余预测,无需NMS。

此外,YOLOv10还通过轻量化分类头、空间-通道分离下采样、动态稀疏卷积等架构优化,在COCO数据集上相比YOLOv8-S减少约23%参数量和28%计算量,推理延迟降低约30%,非常适合边缘部署。

  1. 土星云SE110S硬件平台

土星云SE110S系列是国科环宇推出的边缘计算微服务器,基于高性能AI加速芯片,提供从7.2TOPS到32TOPS不同算力档位:

型号

INT8算力

FP16算力

CPU

内存

SE110S-WC08

7.2 TOPS

3.6 TFLOPS

6核A53@1.6GHZ

8GB

SE110S-WB16

16 TOPS

8 TFLOPS

8核A53@1.6GHZ

8GB

SE110S-WA32

32 TOPS

16 TFLOPS

8核A53@2.3GHZ

16GB

核心特性:内置NPU支持INT8/FP16/FP32混合精度推理;H.264/H.265硬解码支持多路高清视频;配备以太网、USB、RS232、CAN等工业接口;无风扇被动散热,适应-20℃~60℃宽温环境;支持SM2/SM3/SM4国密硬件加密。

  1. 模型转换与编译

3.1 导出ONNX模型

pip install ultralytics yolo export model=yolov10s.pt format=onnx opset=11

YOLOv10是NMS-Free架构,导出时无需包含NMS节点。建议使用opset 11及以上,输入尺寸640x640。

3.2 编译BModel

使用TPU-MLIR工具链将ONNX编译为TPU可执行的BModel格式。项目scripts目录下提供了编译脚本,核心步骤如下:

FP32模型编译:

model_transform. py --model_name yolov10s --model_def yolov10s.onnx \ --input_shapes [[1,3,640,640]] --mean 0.0,0.0,0.0 \ --scale 0.0039216,0.0039216,0.0039216 \ --keep_aspect_ratio --pixel_format rgb --output_dir fp32 model_deploy. py --mlir fp32/yolov10s. mlir --quantize F32 \ --chip bm1684x --model yolov10s_fp32_1b.bmodel

INT8量化编译(推荐):

生成校准表(需准备100-500张校准图片) run_calibration. py fp32/yolov10s. mlir --dataset ./calib_images \ --input_num 200 -o yolov10s_cali_table # 编译INT8 BModel model_deploy. py --mlir fp32/yolov10s. mlir --quantize INT8 \ --calibration_table yolov10s_cali_table \ --chip bm1684x --model yolov10s_int8_1b.bmodel

校准集应尽量覆盖实际部署场景的目标分布,使用200-500张图片可获得更好的量化效果。

  1. 推理部署实战

4.1 环境准备

SE110S设备出厂已预装libsophon、sophon-opencv、sophon-ffmpeg等运行时库。只需交叉编译安装sophon-sail Python包即可:

pip3 install opencv-python-headless # 设置sophon-opencv路径(可选) export PYTHONPATH=$PYTHONPATH:/opt/sophon/sophon-opencv-latest/opencv-python/

4.2 Python推理

项目提供两种Python推理方式,推荐使用yolov10_bmcv. py(硬件加速解码+预处理):

例程

解码

前处理

yolov10_opencv. py

OpenCV软解码

CPU前处理

yolov10_bmcv. py

SAIL硬解码

BMCV硬件加速

图片测试:

python3 python/yolov10_bmcv. py \ --input ./datasets/test \ --bmodel models/BM1684X/yolov10s_int8_1b.bmodel \ --dev_id 0 --conf_thresh 0.25

视频测试:

python3 python/yolov10_bmcv. py \ --input test_video_1080P.mp4 \ --bmodel models/BM1684X/yolov10s_int8_1b.bmodel \ --dev_id 0 --conf_thresh 0.25

4.3 核心代码

import sophon. sail as sail # 初始化引擎 engine = sail. Engine(bmodel_path, dev_id, sail. IOMode. SYSIO) graph_name = engine. get_graph_names()[0] input_name = engine. get_input_names(graph_name)[0] output_name = engine. get_output_names(graph_name)[0] # 预处理 + 推理 resized = preprocess(img, input_size=640) output = engine. process(graph_name, {input_name: resized}) # 后处理(YOLOv10无需NMS!) dets = postprocess(output[output_name], conf_thresh=0.25)

YOLOv10最大优势:推理输出即为最终检测结果,无需NMS后处理,大幅简化部署代码,减少CPU开销。

  1. 性能与精度分析

5.1 精度对比

COCO val2017数据集上,YOLOv10-S不同精度下的检测精度:

精度

AP@0.5:0.95

AP@0.5

精度损失

FP32

0.463

0.627

基准

FP16

0.453

0.610

-2.2%

INT8

0.443

0.600

-4.3%

INT8量化精度损失控制在5%以内,大多数工业场景完全可接受。

5.2 推理性能

各型号单帧推理时间(bmrt_test,单位ms):

设备

FP32

FP16

INT8

INT8 4B

SE110S-WA32

22.4

6.5

3.9

3.3

SE110S-WB16

131.2

35.7

10.2

9.2

SE110S-WC08

131.1

35.7

10.3

9.2

使用INT8+BMCV加速的完整pipeline,SE110S-WA32上单路1080P YOLOv10-S检测可达110+ FPS。

  1. 应用场景与选型建议

6.1 典型场景

  1. 智慧安防:人员检测、安全帽检测、周界入侵、异常行为识别
  2. 工业质检:缺陷检测、装配检查、物料识别,无风扇宽温设计适应工厂环境
  3. 智慧交通:车辆检测、流量统计、违章检测,边缘部署减少带宽需求
  4. 智慧能源:电力巡检、光伏缺陷检测、风电场监控,适应野外恶劣环境
  5. 智慧零售:客流统计、货架检测、商品识别,低功耗适合长时间运行

6.2 选型与优化

型号

推荐场景

YOLOv10并发

SE110S-WC08

轻量级检测、单路分析、成本敏感

8路类实时

SE110S-WB16

多路视频分析、通用工业场景

16路类实时

SE110S-WA32

高性能需求、密集目标、复杂算法

32路类实时

性能优化要点:优先使用INT8量化(5-6倍提速);使用BMCV硬件预处理(减少80%前处理时间);多路场景用多Batch模型提高吞吐量;根据精度需求选择yolov10n/s/m不同尺寸。

  1. 常见问题

Q: 量化后精度下降明显怎么办? A: 增加校准图片至200-500张,确保校准集与实际场景分布一致,必要时使用混合精度量化。

Q: 推理结果与原模型不一致? A: 检查预处理参数(mean、scale、像素格式)、letterbox填充方式和后处理坐标换算。INT8量化误差属正常现象。

Q: 实际帧率比理论推理时间低? A: 端到端延迟包含解码、预处理、推理、后处理。使用硬解码+BMCV预处理+多线程流水线可显著提升帧率。

  1. 总结

YOLOv10的NMS-Free端到端设计与土星云SE110S的硬件加速能力形成完美组合:INT8量化+BMCV加速方案在SE110S-WA32上可达110+ FPS,精度损失小于5%。从7.2TOPS到32TOPS的多档算力选择,配合工业级无风扇宽温设计,可满足智慧安防、工业质检、智慧交通等各类边缘AI视觉场景需求。

标签

相关主题

专家点评

本文由编辑团队收录整理,内容来源于公开信息,仅供参考。

常见问题

YOLOv10为什么适合在边缘设备上部署?
YOLOv10采用一致双重分配策略实现NMS-Free端到端检测,推理时无需后处理NMS,减少了CPU开销和延迟。同时,它相比YOLOv8-S减少约23%参数量和28%计算量,推理延迟降低30%,模型更轻量,非常适合算力受限的边缘设备。
如何将YOLOv10部署到土星云SE110S上?
首先通过Ultralytics导出ONNX模型(opset 11),然后使用TPU-MLIR工具链将ONNX编译为BModel。推荐使用INT8量化编译,需准备200-500张校准图片生成校准表。最后在SE110S上用Sophon Sail API加载BModel进行推理,BMCV加速管道可大幅提升帧率。
YOLOv10在土星云SE110S上INT8量化后精度损失有多大?
在COCO val2017数据集上,YOLOv10-S FP32精度为AP@0.5:0.95 0.463,INT8量化后降至0.443,精度损失约4.3%,控制在5%以内,大多数工业视觉场景完全可接受。

相关文章

在 JetPack 7.2 和 Jetson AGX Orin 上使用 TensorRT 部署全权重 GR00T N1.7

本文来自 Seeed Studio Wiki,是一篇详细的技术教程,指导如何在 JetPack 7.2 和 Jetson AGX Orin 边缘计算设备上,使用 TensorRT 部署全权重的 NVIDIA Isaac GR00T N1.7 机器人策略模型。与以往仅加速 DiT 组件的工作流不同,本教程实现了对 Vision Transformer (ViT)、Large Language Model (LLM)、视觉-语言自注意力、状态编码器、动作编码器、DiT 动作专家和动作解码器全部七个组件的 TensorRT 引擎构建。教程采用本地 LeRobot 数据集和本地 Qwen3-VL-2B-Instruct 主干模型,实现了完全离线的推理流水线,避免了 Hugging Face Hub 的网络依赖。经过验证,整个 TensorRT 构建过程耗时约 3 分 37 秒,最终生成七个 .engine 文件。在推理性能方面,全 TensorRT 流水线处理每个 16 步动作预测块耗时约 0.2755 秒,相当于每秒 3.63 个块。文章还提供了 PyTorch 与 TensorRT 输出的数值对比,结果显示最终动作的余弦相似度高达 0.997426,验证了模型转换的精度。此外,文章详细列出了存储与内存规划(至少需要 45-50 GB 空间)、环境配置、故障排查以及连接实体机器人前的安全警告和检查清单,是一份从模型导出到边缘推理的完整工程实践指南。

阅读全文

在 JetPack 7.2 上部署 TensorRT Edge-LLM

本指南来自 Seeed Studio Wiki,完整记录在 NVIDIA JetPack 7.2 上部署 TensorRT Edge-LLM v0.9.1 的流程。TensorRT Edge-LLM 是 NVIDIA 面向嵌入式 Jetson 平台的大语言模型、视觉语言模型和多模态模型推理栈,本版本于 2026 年 7 月 31 日更新,官方支持 Jetson Orin 和 Jetson Thor。部署分两阶段:首先在 x86 GPU 主机(Ubuntu 22.04/24.04、CUDA 12.x/13.x、Ampere 以上 GPU)上克隆 TensorRT Edge-LLM v0.9.1,通过 `tensorrt-edgellm-export` 将 Hugging Face 上的 Qwen3-0.6B 检查点导出为 ONNX 计算图;随后将 ONNX 目录传输至 Jetson 设备,在 JetPack 7.2 与 CUDA 13.2 工具链下,使用 CMake 以 `jetson-orin` 或 `jetson-thor` 为目标构建 C++ 运行时和示例,然后运行 `llm_build` 从 ONNX 构建 TensorRT 引擎,并通过 `llm_inference` 进行推理,输出示例显示模型成功回答“The capital of the United States is Washington, D.C.”。指南详细说明了 Jetson Orin 支持的精度仅为 FP16、INT8、INT4,不支持 FP8 等更高精度,并强调 JetPack 6.2 的引擎不可直接复用。对于 INT4 量化,推荐使用 AWQ 或 GPTQ 预量化检查点并采用外部化权重选项以降低内存压力。此外,还提供了基准测试命令、与 JetPack 6.2 的差异对比以及常见故障(如 CMake

阅读全文

借助AMD Vitis AI的GStreamer加速边缘AI流水线

本文介绍如何使用 AMD Vitis AI 和 VVAS 工具链加速边缘 AI 视频分析流水线的开发与部署。文章从端到端视角剖析了从训练好的 PyTorch/TensorFlow 模型到在第二代 Versal AI Edge 系列自适应 SoC 上实时运行 NPU 推理的完整流程。核心工具包括:AMD Quark 量化工具支持 BF16、FP16 和 INT8 精度模式,并可通过混合精度解决 YOLO 等模型后处理的精度损失;Vitis AI 编译器自动完成算子融合、内存调度及 CPU/NPU 分区,支持数据并行和张量并行;ONNX Runtime + Vitis AI Execution Provider 和原生 VART-ML 运行时分别适配快速原型与量产级零拷贝执行。在视频流水线集成侧,基于 GStreamer 的 VVAS 通过插件(vvas_xinfer、vvas_xoverlay 等)及 JSON 配置,编排采集、预处理、推理、后处理与渲染,并原生支持空间分区、时间共享和 DMA-BUF 零拷贝等高级部署特性。文中以 YOLOX 检测示例演示了单条 gst-launch 命令即可描述完整流水线。预构建 Docker 镜像和 VEK385 评估板启动镜像使上手时间缩短至数分钟,Python/C++ API 覆盖从原型到量产。这些能力可使团队将更少时间花在底层集成上,更多聚焦于应用开发与性能优化。

阅读全文

Jetson Orin 8GB 部署 TensorRT-Edge-LLM:Qwen2.5 从安装到 OpenAI 兼容服务全流程(11 个坑血泪实录,保姆级实战)

本文记录了在Jetson Orin Nano Super DevKit 8GB(8GB统一内存)上,使用NVIDIA TensorRT-Edge-LLM v0.6.0部署阿里通义千问Qwen2.5-0.5B-Instruct的全流程,从Python工具链与C++ Runtime安装、ONNX导出(plugin模式)、TensorRT引擎构建,到用FastAPI封装成OpenAI兼容HTTP服务,并详细剖析了11个工程踩坑点。核心经验包括:必须锁定v0.6.0以匹配JetPack 6.2和TensorRT 10.3.0.30;pip安装需用--no-deps避免onnx版本冲突;导出时绝对禁用--trt_native_ops。8GB设备硬性构建上限为0.5B模型,1.5B模型因embedding表固定占445MB,在autotuner阶段因NvMap连续空闲块(lfb)不足导致OOM,通过重启整机、切换无桌面模式及MAXN功耗模式等策略成功构建。推理验证显示生成速率21.9~30.5 tok/s(平均约26.5 tok/s),TTFT约1.9s,峰值内存4.23GB(55.7%),功耗约15.2W,GPU利用率99%。文章强调构建期内存远大于推理期,同架构Orin设备间引擎可直接迁移,为边缘端AI部署提供了详实、可复现的避坑指南。

阅读全文

2026年机器学习模型部署最佳实践——完整MLOps指南

本文由资深Python开发者兼数据科学家Naeemah Aliya Small撰写,系统阐述了2026年机器学习模型部署的完整最佳实践与MLOps生命周期。文章指出,ML部署与传统软件部署的核心区别在于模型对数据统计属性的第三维依赖,导致其会产生静默退化而非显式报错,且需要A/B测试、影子部署和金丝雀发布等在线实验验证。指南覆盖从模型打包、服务API构建、Docker容器化到模型监控的完整链路:在打包阶段,推荐使用MLflow模型注册中心替代脆弱的Pickle文件,并可通过ONNX实现跨框架可移植性;在服务层,使用FastAPI搭配Pydantic实现类型安全的模型服务;在监控环节,强调必须同时覆盖基础设施监控、预测分布监控和数据漂移检测三个层次,避免仅监控CPU/内存而忽视模型精度退化至61%的静默故障。文章详细对比了FastAPI、BentoML、TorchServe、TensorFlow Serving、Seldon Core、Ray Serve、ONNX Runtime七种主流模型服务框架的优缺点,并总结了部署就绪检查清单,涵盖模型版本化、输入验证、预测分布监控、数据漂移检测、回滚预案和CI/CD验证等12条检查项。核心理念是:可靠部署ML的团队并非拥有最优模型,而是将部署视为一等工程问题,通过版本化、自动化、可观测和可回滚的基础设施来保障生产稳定性。

阅读全文