feat(detectors): add Qualcomm Hexagon NPU support (community board)

Add a community-supported board build for Qualcomm SoCs with a Hexagon
NPU, accelerating TFLite object detection through the QNN TFLite delegate
on the Hexagon Tensor Processor (HTP).

Supported boards:
- IQ9100 (IQ-9075 EVK)
- QCS6490 (RB3 Gen 2 Vision Kit / Rubik Pi 3)

- detector: new `qualcomm_tfl` plugin loading libQnnTFLiteDelegate.so on
  the HTP backend, reusing the shared TFLite delegate helpers
- docker: `docker/qualcomm` board build (Dockerfile, qualcomm.hcl,
  qualcomm.mk) producing the arm64 `-qualcomm` image
- cdi: per-board Container Device Interface descriptors and an install
  helper exposing the NPU device nodes and QNN libraries to the container
- ci/codeowners: register the qualcomm build target and code owner
- docs: installation, hardware, and object detector documentation, using
  the shared model config dropdown component
- i18n: add the Qualcomm detector label and description to the generated
  en config locale

Signed-off-by: Rami Mouro <rmouro@qti.qualcomm.com>
This commit is contained in:
Rami Mouro
2026-06-29 19:44:04 -06:00
parent ea131e1663
commit e769ba7a8c
14 changed files with 3661 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# syntax=docker/dockerfile:1.6
# https://askubuntu.com/questions/972516/debian-frontend-environment-variable
ARG DEBIAN_FRONTEND=noninteractive
# Globally set pip break-system-packages option to avoid having to specify it every time
ARG PIP_BREAK_SYSTEM_PACKAGES=1
FROM wheels AS qualcomm-wheels
ARG TARGETARCH
# No extra wheels needed — ai-edge-litert is already in the base image
# and the QNN delegate library (libQnnTFLiteDelegate.so) is provided
# by the host via CDI bind mounts at runtime.
FROM deps AS qualcomm-deps
ARG TARGETARCH
ARG PIP_BREAK_SYSTEM_PACKAGES
WORKDIR /opt/frigate/
COPY --from=rootfs / /