摘要
使用 LiteRT 运行时和 QNN 委托,在 Qualcomm® Dragonwing™ 设备的 NPU 上加速 AI 推理。本指南通过部署一个量化目标检测模型(YOLOX)来演示端到端工作流程,该模型处理视频输入并输出带有边界框标注的帧——可以保存到文件或流式传输到显示器。 您将学到:- 配置 Dragonwing 设备并部署 QIM SDK Docker 环境
- 运行在 NPU 上加速的预构建目标检测应用
- 理解应用代码,以便将其调整为适用于您自己的模型和用例
前提条件
在继续之前,请确保您具备以下条件:步骤 1:配置设备
启用 Wi-Fi 和 SSH
设备需要互联网连接才能下载示例应用所需的产物。如果已配置 SSH 和 Wi-Fi,请跳过此步骤。 按照设置 SSH 连接在设备上启用 Wi-Fi 和 SSH。启用摄像头支持(CamX)
如果您计划使用摄像头输入,请在平台上启用 CamX:此步骤后设备将重启。请等待设备重新上线后再继续。
步骤 2:设置 Docker 环境
拉取 QIM SDK 容器镜像
在目标设备上,拉取最新的 QIM SDK Docker 镜像:创建所需目录
创建用于存储产物、配置文件、模型和媒体的目录:克隆 SDK 工具仓库
在您的主机上,克隆 QIM SDK Debian 仓库:将配置文件复制到设备
将 CDI 和环境文件从主机传输到目标设备:将
例如,如果目标设备是 Qualcomm Dragonwing™ RB3 Gen 2,则将
<hardware> 替换为目标设备对应的标识符(可在仓库中查看可用选项),将 <IP_ADDRESS> 替换为设备的 IP 地址。例如,如果目标设备是 Qualcomm Dragonwing™ RB3 Gen 2,则将
<hardware> 替换为 qcs6490。启动容器
在目标设备上启动 QIM SDK 容器:以 root 身份访问容器
要验证您是否以 root 身份登录,请在容器内运行
whoami。输出应为 root。步骤 3:安装依赖项
在容器内(以 root 身份),安装 LiteRT 运行时和所需的软件包。安装 Python 工具
创建虚拟环境并安装 Python 软件包
安装 GStreamer 和 GTK 依赖项
通过 Wayland 输出视频显示需要这些软件包:步骤 4:下载应用和模型产物
仍在容器内,设置目标检测应用:创建应用目录
下载应用脚本
下载模型、标签和示例视频
退出 root shell
您需要退出并以qimsdk 用户身份重新进入容器才能运行该应用:
步骤 5:运行目标检测应用
以标准用户身份进入容器
激活 Python 环境
运行应用
- 输出到文件
- 输出到显示器
运行应用并将输出保存为视频文件:处理完成后,取回输出视频:要将该文件复制到主机:
代码讲解:使用 OpenCV 和 LiteRT 进行目标检测
本节讲解object_detection.py 应用。可将其作为参考,在 Qualcomm Dragonwing 设备上使用 LiteRT 构建自定义推理应用。
以下代码中的后处理是为来自 Qualcomm AI Hub 的目标检测模型设计的。
对于自定义模型,请更新后处理逻辑以匹配模型的输出格式和要求。
导入软件包
解析输出参数
配置模型参数
使用 QNN 委托加载模型
QNN 委托可在 NPU 上启用推理:设置视频捕获和预处理
配置输出管道
在主循环中运行推理
读取每个视频帧、运行推理、应用 NMS 并绘制边界框:清理资源
故障排除
后续步骤
- 尝试不同的模型:将 YOLOX 模型替换为来自 Qualcomm AI Hub 的其他量化模型,用于图像分类、姿态估计或分割等任务。
- 使用实时摄像头输入:通过将
VIDEO_IN路径改为设备捕获源,修改应用以使用摄像头画面而非预录制的视频。 - 调整检测参数:调整
CONF_THRES和NMS_IOU_THRES,为您的用例优化检测精度。 - 构建自定义应用:以代码讲解为模板,创建面向 Dragonwing NPU 的自有推理管道。

