找回密码
 立即注册
首页 业界区 安全 高通QCS8550部署Yolov11目标检测模型与性能测试 ...

高通QCS8550部署Yolov11目标检测模型与性能测试

高小雨 2025-9-24 14:29:05
(原创作者@CSDN_伊利丹~怒风)
前言

在边缘计算与 AI 深度融合的时代,硬件平台的算力释放与模型部署效率正成为技术落地的关键支点。高通 QCS8550 作为集成 48TOPS AI 算力的旗舰级芯片,其 4nm 制程工艺与 Hexagon 神经网络处理单元,为轻量化 AI 模型推理提供了强大的硬件基底。当 YOLO 系列迭代至 V11 版本,其在目标检测精度与实时性上的突破,与 QCS8550 的异构计算能力形成了天然适配。本文将聚焦于这一黄金组合,从模型转换优化到 NPU 加速推理,完整拆解如何在 QCS8550 平台上实现 YOLOV11 的高效部署,揭示边缘侧 AI 应用从理论到实践的关键路径,为开发者提供兼具技术深度与实操价值的落地指南。

  • 高通QCS8550芯片参数
  • Yolov11介绍
  • 模型在线转换平台
  • 本次测试采用的硬件设备
YOLOv11目标检测模型性能指标

                模型尺寸
640*640              CPU      NPU GNN2.31              FP32      FP16      INT8                            YOLO11n                    150ms      6.62 FPS      4.56ms      219 FPS      1.99 ms      503 FPS                        YOLO11s              437ms      2.28 FPS      7.08ms      141 FPS      2.9 ms      345 FPS                        YOLO11m              1109ms      0.90 FPS      16.37ms      61 FPS      5.14 ms      195 FPS                        YOLO11l                1452ms      0.69 FPS      20.25ms      49 FPS      6.72 ms      149 FPS                        YOLO11x                2827ms      0.35 FPS      47.5ms      21 FPS      13.39 ms      75 FPS    点击链接可以下载YOLO11目标检测模型的pt格式,其他模型尺寸可以通过AIMO转换模型,并修改下面参考代码中的model_size测试即可
(一)将pt模型转换为onnx格式

Step1:升级pip版本为25.1.1
  1. python3.10 -m pip install --upgrade pip
  2. pip -V
  3. aidlux@aidlux:~/aidcode$ pip -V
  4. pip 25.1.1 from /home/aidlux/.local/lib/python3.10/site-packages/pip (python 3.10)
复制代码
Step2:安装ultralytics和onnx
  1. pip install ultralytics onnx
复制代码
Step3:设置yolo命令的环境变量

方法 1:临时添加环境变量(立即生效)
在终端中执行以下命令,将 ~/.local/bin 添加到当前会话的环境变量中
  1. export PATH="$PATH:$HOME/.local/bin"
复制代码

  • 说明:此操作仅对当前终端会话有效,关闭终端后失效。
  • 验证:执行 yolo --version,若输出版本号(如 0.0.2),则说明命令已生效。
方法 2:永久添加环境变量(长期有效)
  1. echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
  2. source ~/.bashrc  # 使修改立即生效
复制代码
验证:执行 yolo --version,若输出版本号(如 0.0.2),则说明命令已生效。
测试环境中安装yolo版本为8.3.152
1.png
提示:如果遇到用户组权限问题,可以忽悠,因为yolo命令会另外构建临时文件,也可以执行下面命令更改用户组,执行后下面的警告会消失:
  1. sudo chown -R aidlux:aidlux ~/.config/
  2. sudo chown -R aidlux:aidlux ~/.config/Ultralytics
复制代码
可能遇见的报错如下:
WARNING ⚠️ user config directory '/home/aidlux/.config/Ultralytics' is not writeable, defaulting to '/tmp' or CWD.Alternatively you can define a YOLO_CONFIG_DIR environment variable for this path.
Step4:将Yolov11系列模型的pt格式转换为onnx格式

新建一个python文件,命名自定义即可,用于模型转换以及导出:
  1. from ultralytics import YOLO
  2. # 加载同级目录下的.pt模型文件
  3. model = YOLO('yolo11n.pt')  # 替换为实际模型文件名
  4. # 导出ONNX配置参数
  5. export_params = {
  6.     'format': 'onnx',
  7.     'opset': 12,          # 推荐算子集版本
  8.     'simplify': True,     # 启用模型简化
  9.     'dynamic': False,     # 固定输入尺寸
  10.     'imgsz': 640,         # 标准输入尺寸
  11.     'half': False         # 保持FP32精度
  12. }
  13. # 执行转换并保存到同级目录
  14. model.export(**export_params)
复制代码
执行该程序完成将pt模型导出为onnx模型。
2.png
提示:Yolo11s,Yolo11m,Yolo11l替换代码中Yolo11n即可;
(二)使用AIMO将onnx模型转换高通NPU可以运行的模型格式

Step1:选择模型优化,模型格式选择onnx格式上传模型

3.png
Step2:选择芯片型号以及目标框架,这里我们选择QCS8550+Qnn2.31

4.png
Step3:点击查看模型,使用Netron查看模型结构,进行输入输出的填写

5.png
如上图output节点由Mul和Sigmod两个节点Concat而成,分别点击两个节点复制OUTPUTS的name名称到下图中,并且开启量化选择数据精度int8
6.png
参考上图中红色框部分填写,其他不变,注意开启自动量化功能,AIMO更多操作查看使用说明或开发指南中的AIMO介绍。
Step4:接下来进行提交即可,转换完成后将目标模型文件下载,解压缩后其中的.bin.aidem文件即为模型文件

7.png
(三)在QCS8550的NPU中推理Yolov11n_int8模型

检查aidlux环境中的aidlite版本是否与我们转换模型时选择的Qnn版本一致,终端执行:
  1. sudo aid-pkg installed
复制代码
8.png
如果没有aidlite-qnn231,需要安装:
  1. sudo aid-pkg update
  2. sudo aid-pkg install aidlite-sdk
  3. # Install the latest version of AidLite (latest QNN version)
  4. sudo aid-pkg install aidlite
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册