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在国产边缘硬件上的成熟落地能力。
- YOLOv10通过一致双重分配策略消除NMS,实现端到端检测,参数量和计算量较YOLOv8-S分别降低23%和28%,推理延迟降低30%。
- 土星云SE110S系列提供7.2 TOPS至32 TOPS算力,支持INT8/FP16/FP32混合精度,配备NPU和BMCV硬件加速,适应-20°C~60°C宽温环境。
- 部署流程包括导出ONNX(opset 11)、使用TPU-MLIR编译BModel,推荐INT8量化校准200-500张图片。
- SE110S-WA32上INT8量化+BMCV加速方案可达110+ FPS(单路1080P),INT8精度损失小于5%。
- BMCV硬件预处理可减少80%前处理时间,多Batch模型进一步提升多路视频吞吐量。
- 文章覆盖智慧安防、工业质检、智慧交通等典型边缘AI视觉场景,给出不同型号设备的选型与并发建议。
这篇文章为边缘AI工程师尤其是前线部署工程师提供了一份极具实操价值的指南。它将最新的YOLOv10 NMS-Free检测模型与国产化边缘设备土星云SE110S完整串联,从模型导出、编译到INT8量化推理,步骤清晰、数据详实。文中给出的110+ FPS部署性能和精度损失对比,直接回答了工程师最关心的“跑不跑得动、精度够不够”的问题。对于正在做国产边缘AI方案选型或需要将视觉模型快速落地的团队,这是一篇可以直接照着做的教科书级案例。
YOLOv10通过一致双重分配策略消除NMS,实现端到端检测,参数量和计算量较YOLOv8-S分别降低23%和28%,推理延迟降低30%。
—— 络石智能编辑部 · 编辑推荐YOLOv10在土星云SE110S系列边缘计算设备上的部署实战
YOLOv10作为最新一代实时目标检测算法,以其NMS-Free的端到端设计和卓越的精度效率比,成为边缘部署的理想选择。本文介绍如何在土星云SE110S系列边缘计算微服务器上完成YOLOv10的模型编译与推理部署。
- 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%,非常适合边缘部署。
- 土星云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国密硬件加密。
- 模型转换与编译
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张图片可获得更好的量化效果。
- 推理部署实战
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开销。
- 性能与精度分析
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。
- 应用场景与选型建议
6.1 典型场景
- 智慧安防:人员检测、安全帽检测、周界入侵、异常行为识别
- 工业质检:缺陷检测、装配检查、物料识别,无风扇宽温设计适应工厂环境
- 智慧交通:车辆检测、流量统计、违章检测,边缘部署减少带宽需求
- 智慧能源:电力巡检、光伏缺陷检测、风电场监控,适应野外恶劣环境
- 智慧零售:客流统计、货架检测、商品识别,低功耗适合长时间运行
6.2 选型与优化
型号
推荐场景
YOLOv10并发
SE110S-WC08
轻量级检测、单路分析、成本敏感
8路类实时
SE110S-WB16
多路视频分析、通用工业场景
16路类实时
SE110S-WA32
高性能需求、密集目标、复杂算法
32路类实时
性能优化要点:优先使用INT8量化(5-6倍提速);使用BMCV硬件预处理(减少80%前处理时间);多路场景用多Batch模型提高吞吐量;根据精度需求选择yolov10n/s/m不同尺寸。
- 常见问题
Q: 量化后精度下降明显怎么办? A: 增加校准图片至200-500张,确保校准集与实际场景分布一致,必要时使用混合精度量化。
Q: 推理结果与原模型不一致? A: 检查预处理参数(mean、scale、像素格式)、letterbox填充方式和后处理坐标换算。INT8量化误差属正常现象。
Q: 实际帧率比理论推理时间低? A: 端到端延迟包含解码、预处理、推理、后处理。使用硬解码+BMCV预处理+多线程流水线可显著提升帧率。
- 总结
YOLOv10的NMS-Free端到端设计与土星云SE110S的硬件加速能力形成完美组合:INT8量化+BMCV加速方案在SE110S-WA32上可达110+ FPS,精度损失小于5%。从7.2TOPS到32TOPS的多档算力选择,配合工业级无风扇宽温设计,可满足智慧安防、工业质检、智慧交通等各类边缘AI视觉场景需求。
标签
相关主题
专家点评
本文由编辑团队收录整理,内容来源于公开信息,仅供参考。