← Zurück zum Blog
ProduktSDKEdge Computing

InspireFace: Plattformübergreifendes C/C++-SDK für Face Recognition auf Edge-Geräten

Einleitung

Wir freuen uns, InspireFace vorzustellen – ein leistungsstarkes C/C++-SDK für Face Recognition, das speziell für plattformübergreifige Edge-Deployments entwickelt wurde. InspireFace bringt die State-of-the-Art-Face-Analysis-Technologien von InsightFace mit einer einheitlichen, leicht integrierbaren API auf Mobile-, Desktop- und Embedded-Systeme.

Kernfunktionen

Extreme Performance

InspireFace ist konsequent auf Geschwindigkeit optimiert:

  • vollständige Pipeline (Detection + Alignment + Feature Extraction) in unter 2 ms auf dem iPhone 13 mit CoreML/ANE
  • optimierte Inferenz für CPU, GPU und NPU
  • kompakte Modelle für ressourcenbeschränkte Hardware

Plattformübergreifende Unterstützung

Deployments sind auf vielen Plattformen möglich:

  • Linux: x86_64, ARM64, RISC-V
  • macOS: Intel und Apple Silicon
  • iOS: iPhone und iPad mit CoreML-Beschleunigung
  • Android: ARM und x86 mit NNAPI-Unterstützung
  • Embedded: Rockchip NPU (RK3588/RK3566/RK3568)
  • CUDA: NVIDIA-GPU-Beschleunigung für Serverumgebungen

Umfassende Funktionalität

InspireFace liefert eine vollständige Face-Analysis-Pipeline:

  • Face Detection: hochpräzise Lokalisierung von Gesichtern
  • Face Recognition: Extraktion von ArcFace-basierten Identity Embeddings
  • Face Alignment: präzise Landmark-Erkennung
  • Attribute Analysis: Schätzung von Alter, Geschlecht und Ausdruck
  • Liveness Detection: Anti-Spoofing gegen Presentation Attacks
  • Head Pose Estimation: Schätzung von Yaw, Pitch und Roll
  • Facial Action Detection: Erkennung von Blinzeln, Nicken und Kopfschütteln
  • Mask Detection: Erkennung von Gesichtsmasken

Architektur

InspireFace basiert auf einer modularen, mehrschichtigen Architektur:

1. C API Layer: stabiles ABI für Sprachinteroperabilität

2. Core Engine: optimierte Inferenz-Pipeline

3. Backend Abstraction: austauschbare Backends wie ONNX Runtime, CoreML, TensorRT und RKNN

4. Model Management: effizientes Laden und Caching von Modellen

Schnellstart

C/C++-Integration

#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-Integration

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)}")

Performance-Benchmarks

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

Lizenzierung

InspireFace ist in zwei Lizenzmodellen verfügbar:

  • Academic License: kostenfrei für Forschung und Lehre
  • Commercial License: für produktive Nutzung kontaktieren Sie uns bitte

Nächste Schritte

Dokumentation, Beispiele und vorgefertigte Binärdateien finden Sie im InspireFace GitHub repository. Für kommerzielle Lizenzanfragen erreichen Sie uns unter contact@insightface.ai.