ai-hub-apps
高通官方出品:预适配骁龙 NPU 的 AI 应用合集,含 LLM 对话、图像分类、超分、手势识别等
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
高通官方出品:预适配骁龙 NPU 的 AI 应用合集,含 LLM 对话、图像分类、超分、手势识别等
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你是一名嵌入式开发工程师,手头有一批骁龙 8 Elite 手机,需要让它们跑起 Stable Diffusion 文生图、Whisper 语音转文字、手势识别等多个 AI 模型。传统的做法是:研究每个模型的量化方案、编写 NPU 驱动适配、反复调试推理延迟……
Qualcomm® AI Hub Apps 解决的就是这个痛点。它不是一个大模型,而是一套开箱即用的 AI 应用合集,由高通官方维护,每个 app 都预先适配了对应的 Snapdragon NPU/GPU 算力单元,开发者只需克隆、构建、部署,省去 80% 的底层适配工作。

本仓库由 Qualcomm Technologies, Inc. 官方维护(QAIHM Team),是 Qualcomm® AI Hub 平台的开源组件。AI Hub 提供模型库、SDK 下载和应用部署工具链,ai-hub-apps 则是面向开发者的真实可运行参考实现。
从许可证来看,项目采用 BSD-3-Clause,是完全宽松的开源许可证,可自由集成到商业项目中。仓库默认分支为 release,说明代码经过审核才会合并,版本管理规范。

本仓库是一个典型的 Monorepo 结构,顶层包含 7 个子应用:
| 子应用 | 平台 | 运行时 | 核心模型 | 功能 |
|---|---|---|---|---|
chatapp_android | Android | Genie SDK | Llama v3.2-1B/3B | 手机端 LLM 对话 |
image_classification_android | Android | TensorFlow Lite | MobileNet V2 | 图片分类(ImageNet top-3) |
semantic_segmentation_android | Android | TensorFlow Lite | FFNet 系列 | 实时语义分割 |
super_resolution_android | Android | TensorFlow Lite | ESRGAN/Real-ESRGAN 等 | 图像超分辨率 |
mediapipe_hand_gesture_ubuntu_py | Ubuntu | TensorFlow Lite + MediaPipe | MediaPipe Hand | 摄像头手势识别 + Web UI |
stable_diffusion_windows_py | Windows | ONNX Runtime (QNN EP) | Stable Diffusion 1.5 | 文生图(NPU 加速) |
whisper_windows_py | Windows | ONNX Runtime (QNN EP) | Whisper (tiny/base) | 语音转文字(NPU 加速) |
高通在这里设计了一套三层运行时抽象,让同一套模型 API 可以跑在不同硬件上:
.tflite 文件,随 APK 的 assets/ 目录打包,推理时直接加载到 Hexagon NPU 执行。这套抽象的精妙之处在于:硬件无关的模型格式(TFLite/ONNX)加上硬件相关的执行提供者(QNN EP / Genie),实现了"一份模型,多处部署"的目标。

Android app 遵循统一目录规范:
src/main/
AndroidManifest.xml # 声明相机权限、USB 设备访问
assets/
classifier.tflite # 预编译模型文件
htp_config/ # Hexagon HTP 配置文件(指定芯片型号)
java/com/quicinc/ # Java UI 层
jni/ # C++ JNI 层(模型推理调用)
_shared 模块被所有 Android app 共用,包含公共 Gradle 插件(统一版本管理)和 build.gradle 模板。每个 app 的 info.yaml 声明了使用的模型 ID、运行时类型、领域分类(Computer Vision / Generative AI / Audio),这些元数据会被 AI Hub 平台索引。
mediapipe_hand_gesture_ubuntu_py 是架构最有趣的 app。它的推理链路是:
摄像头 (GStreamer) → MediaPipe Hand Detection → TensorFlow Lite (LiteRT)
→ 手势分类 → Flask Web UI (实时流推送)
GStreamer 负责低延迟视频捕获,MediaPipe 负责手部检测和关键点提取,TFLite 运行时在 Hexagon NPU 上执行量化后的手势分类模型,Flask WebUI 通过 multipart 实时流将结果推送到浏览器。整个 pipeline 在 Docker 容器内运行,通过 run_docker.sh 一键启动。
# main.py 中的核心推理循环
def detect_hands(rgb_frame, hand_interpreter):
input_data = preprocess_hand_x64(rgb_frame) # 64x64 预处理
hand_interpreter.set_input(...) # 设置量化输入
hand_interpreter.invoke() # NPU 推理
landmarks = hand_interpreter.get_output(...) # 解析关键点
Windows app 使用 ONNX Runtime 的 Qualcomm NPU Provider。以 Whisper 为例:
demo.py / evaluate.py
→ onnxruntime.InferenceSession(model.onnx, providers=['QNNExecutionProvider'])
→ session.run(None, {"input_features": mel_features})
install_platform_deps.ps1 脚本自动化安装 Anaconda、ONNX Runtime(带 QNN 支持)、ffmpeg 等依赖。Stable Diffusion 还额外处理了 VAE 解码器的 NPU 映射问题——这是业界公认的难题,高通在这里给出了参考答案。

项目中的模型来源分三类:
qai-hub-models/release-assets/ 中,需要通过 qai-hub-models CLI 下载。量化策略:NPU 加速主要使用 INT8/INT16 对称量化,FP16 用于浮点精度优先的场景。量化后的模型体积约为 FP32 的 1/4,推理延迟降低 3-5 倍。
本项目的最大特点是硬件强依赖——它只能在高通芯片上运行,这是优势也是限制:
部署难度中等,主要挑战在于:
好消息是 Docker 支持大幅简化了 Ubuntu app 的部署——只要有 ARM64 Ubuntu + Docker,一行命令即可运行手势识别 demo。
高通 ai-hub-apps 的核心价值不在于某个具体 app 有多强,而在于它代表了一种端侧 AI 落地的新范式:
从行业角度看,随着 Snapdragon X Elite 进入笔记本电脑市场,端侧 AI 应用将从手机扩展到 PC,ai-hub-apps 为这一趋势提供了可靠的技术参考。随着 AI Hub 模型库的持续扩充,开发者有望在更多场景下复用这套部署范式。
相关链接:Qualcomm® AI Hub · AI Hub Models · Qualcomm AI Engine Direct SDK