InspireFaceInspireFace1.2.4.d3
首页
快速开始
获取和编译
完整示例
  • English
  • 简体中文
GitHub
首页
快速开始
获取和编译
完整示例
  • English
  • 简体中文
GitHub
  • 介绍
  • 快速开始
  • 功能概览
  • 使用指南

    • 架构与生命周期
    • 模型资源包
    • 图像输入与坐标
    • 会话与跟踪
    • 人脸分析
    • 识别与特征库
    • 人脸关键点
    • 活体检测
    • 人脸抓拍
    • 补充 API 示例
  • 语言与平台

    • C API
    • C++
    • Python
    • Android
    • Apple
    • iOS
    • macOS
    • HarmonyOS
  • 获取和编译

    • 概述与下载
    • 源码准备与通用选项
    • Linux
    • macOS
    • Android
    • iOS
    • HarmonyOS
    • NVIDIA TensorRT
    • Rockchip NPU
    • Python 打包
  • 硬件部署

    • ARM
    • NVIDIA TensorRT
    • Rockchip NPU
    • Rockchip 上的 Python
  • InspireCV
  • 完整示例
  • API 功能索引
  • 性能测量
  • 图像处理性能
  • 常见问题

Rockchip NPU 构建

按板端 CPU 架构、C 运行库和 NPU 代际选择构建方式。先准备 SDK 源码,以及与板端 Linux 根文件系统配套的交叉工具链。在 Linux 主机上完成编译,再将库放到板端运行。

选择板型与工具链

TargetCompiler prefixModel pack
RV1109 / RV1126arm-linux-gnueabihfGundam_RV1109
RV1103 / RV1106arm-rockchip830-linux-uclibcgnueabihfGundam_RV1106
RK3566 / RK3568aarch64-linux-gnuGundam_RK356X
RK3588aarch64-linux-gnuGundam_RK3588

ARM_CROSS_COMPILE_TOOLCHAIN 指向包含 bin/ 的工具链根目录。编译器的 sysroot、glibc / uClibc 和 C++ 运行库应与板端系统匹配。通用 ARM64 CPU 构建不会自动启用 RKNN 推理。

RV1109 与 RV1126

export ARM_CROSS_COMPILE_TOOLCHAIN=/opt/rv1109-toolchain
"$ARM_CROSS_COMPILE_TOOLCHAIN/bin/arm-linux-gnueabihf-gcc" --version
VERSION=1.2.4 bash command/build_cross_rv1109rv1126_armhf.sh

脚本启用 RKNN,并设置 ISF_RK_DEVICE_TYPE=RV1109RV1126。SDK 目录为 build/inspireface-linux-armv7-rv1109rv1126-armhf-1.2.4/InspireFace。

RV1106 与 uClibc

export ARM_CROSS_COMPILE_TOOLCHAIN=/opt/rv1106-toolchain
"$ARM_CROSS_COMPILE_TOOLCHAIN/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc" --version
VERSION=1.2.4 bash command/build_cross_rv1106_armhf_uclibc.sh

该构建使用 RKNPU2,设置 ISF_RK_DEVICE_TYPE=RV1106、ISF_RK_COMPILER_TYPE=armhf-uclibc 并启用 RGA。首次构建还会将 MNN 2.3.0 源码下载到 .rknpu2_cache。SDK 位于 build/inspireface-linux-armv7-rv1106-armhf-uclibc-1.2.4/InspireFace。

应用也使用板端对应的 uClibc 工具链。glibc 可执行文件或 Python wheel 无法通过修改文件名变成 uClibc 兼容产物。

RK356x 与 RK3588

export ARM_CROSS_COMPILE_TOOLCHAIN=/opt/rk-aarch64-toolchain
"$ARM_CROSS_COMPILE_TOOLCHAIN/bin/aarch64-linux-gnu-gcc" --version
VERSION=1.2.4 bash command/build_cross_rk356x_rk3588_aarch64.sh

RK356x 与 RK3588 共用这条 ARM64 RKNPU2 构建路径。脚本设置 ISF_RK_DEVICE_TYPE=RK356X、ISF_RK_COMPILER_TYPE=aarch64 并启用 RGA,模型包仍按实际 SoC 选择。SDK 位于 build/inspireface-linux-aarch64-rk356x-rk3588-1.2.4/InspireFace。

检查 Linux 产物

以上 Linux 脚本均生成动态库,关闭示例、测试和 benchmark,安装后只保留 SDK 产物并删除编译中间文件。使用 SDK 目录内配套的 include/ 和 lib/libInspireFace.so。

file build/inspireface-linux-aarch64-rk356x-rk3588-1.2.4/InspireFace/lib/libInspireFace.so
"$ARM_CROSS_COMPILE_TOOLCHAIN/bin/aarch64-linux-gnu-readelf" -d \
  build/inspireface-linux-aarch64-rk356x-rk3588-1.2.4/InspireFace/lib/libInspireFace.so

这里以 RK356x / RK3588 的产物和工具链为例。根据列出的动态依赖检查板端文件系统,包括 RKNN / RGA 库及其驱动配套关系。板端环境提供 ldd 时可直接检查;主机加载器不能通过加载异构库来验证板端依赖。

RK356x 与 RK3588 的 Android 构建

Rockchip Android 设备使用 NDK 构建脚本,不能使用上述 Linux 工具链产物。将 ANDROID_NDK 设为已安装的 NDK 目录:

export ANDROID_NDK=/path/to/android-ndk
VERSION=1.2.4 bash command/build_android_rk356x_rk3588.sh

脚本分别构建 arm64-v8a 和 armeabi-v7a,均使用 Android API 24 与 c++_static,启用 RKNN,关闭 RGA。整理后的产物包含:

build/inspireface-android-rk356x-rk3588-1.2.4/
  lib/arm64-v8a/libInspireFace.so
  lib/armeabi-v7a/libInspireFace.so
  version.txt

按 Android 打包说明配套 Java 类与 JNI 库,为每个 ABI 配齐所需的厂商运行库,并在装有匹配驱动的 Rockchip 设备上使用对应 NPU 模型验证。这个脚本整理后的目录不保留安装头文件;编译自定义 JNI 适配层时,使用同一源码提交的公共头文件。

接入应用或打包 Python

Rockchip 部署指南提供完整 C 示例、应用交叉编译、设备文件布局和 RGA 选择。Python 接入先按 Rockchip 上的 Python验证封装与板端库,再按 Python 打包将库放入 wheel。模型包和板端运行库需要单独准备。

编辑此页
最近更新: 2026/9/28 15:20
贡献者: Jingyu
上一页
NVIDIA TensorRT
下一页
Python 打包