← 返回博客
产品SDK边缘计算

InspireFace:面向边缘设备的跨平台 C/C++ 人脸识别 SDK

引言

我们很高兴推出 InspireFace,这是一款面向跨平台边缘部署场景打造的高性能 C/C++ 人脸识别 SDK。它将 InsightFace 最先进的人脸分析能力,以统一且易集成的 API 形式带到移动端、桌面端和嵌入式设备。

核心特性

极致性能

InspireFace 从设计之初就强调速度:

  • 在 iPhone 13(CoreML/ANE)上,完整 pipeline(检测 + 对齐 + 特征提取)可在 2ms 内完成
  • 对 CPU、GPU 与 NPU 推理进行优化
  • 使用适合资源受限设备的轻量模型

跨平台支持

可部署到多种硬件与系统环境:

  • Linux:x86_64、ARM64、RISC-V
  • macOS:Intel 与 Apple Silicon
  • iOS:支持 CoreML 加速的 iPhone 与 iPad
  • Android:支持 NNAPI 的 ARM 与 x86
  • Embedded:Rockchip NPU(RK3588/RK3566/RK3568)
  • CUDA:面向服务器场景的 NVIDIA GPU 加速

完整能力栈

InspireFace 提供完整的人脸分析 pipeline:

  • Face Detection:高精度人脸定位
  • Face Recognition:基于 ArcFace 的身份特征提取
  • Face Alignment:高精度关键点定位
  • Attribute Analysis:年龄、性别与表情分析
  • Liveness Detection:对抗展示攻击的 anti-spoofing
  • Head Pose Estimation:yaw、pitch、roll 姿态估计
  • Facial Action Detection:眨眼、点头、摇头检测
  • Mask Detection:口罩识别

架构设计

InspireFace 采用模块化分层架构:

1. C API Layer:提供稳定 ABI,方便多语言集成

2. Core Engine:负责优化后的推理 pipeline

3. Backend Abstraction:支持 ONNX Runtime、CoreML、TensorRT、RKNN 等可插拔 backend

4. Model Management:高效模型加载与缓存管理

快速开始

C/C++ 集成

#include "inspireface.h"

// Initialize

HResult ret = HFLaunchInspireFace(model_path);

// Create session

HFSession session;

HFCreateInspireFaceSession(

HF_ENABLE_FACE_RECOGNITION | HF_ENABLE_LIVENESS,

HF_DETECT_MODE_ALWAYS_DETECT,

3, // max face count

-1, // use default pixel format

0, // use default thread count

&session

);

// Process image

HFImageData image = {width, height, 3, data};

HFImageStream stream;

HFCreateImageStream(&image, &stream);

// Detect and recognize

HFMultipleFaceData faces;

HFExecuteFaceTrack(session, stream, &faces);

HFFaceFeature feature;

HFExtractFaceFeature(session, stream, faces.tokens[0], &feature);

Python 集成

import cv2

import inspireface as isf

# Initialize and create session

session = isf.InspireFaceSession(

isf.HF_ENABLE_FACE_RECOGNITION | isf.HF_ENABLE_LIVENESS,

isf.HF_DETECT_MODE_ALWAYS_DETECT

)

# Process image

image = cv2.imread("face.jpg")

faces = session.face_detection(image)

# Extract features

for face in faces:

feature = session.face_feature_extract(image, face)

print(f"Feature dimension: {len(feature)}")

性能基准

PlatformDetectionRecognitionFull Pipeline
iPhone 13 (CoreML)0.8ms0.6ms1.8ms
Rockchip RK3588 (NPU)3.2ms2.1ms6.5ms
Intel i7-12700 (CPU)4.1ms2.8ms8.2ms
NVIDIA RTX 3090 (CUDA)0.5ms0.3ms1.2ms

授权方式

InspireFace 提供两种授权模式:

  • Academic License:科研与教学用途免费
  • Commercial License:生产环境部署请联系我们获取商业授权

开始使用

更多文档、示例与预编译二进制可访问 InspireFace GitHub repository。如需咨询商业授权,请联系 contact@insightface.ai。