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
| Platform | Detection | Recognition | Full Pipeline |
|---|---|---|---|
| iPhone 13 (CoreML) | 0.8ms | 0.6ms | 1.8ms |
| Rockchip RK3588 (NPU) | 3.2ms | 2.1ms | 6.5ms |
| Intel i7-12700 (CPU) | 4.1ms | 2.8ms | 8.2ms |
| NVIDIA RTX 3090 (CUDA) | 0.5ms | 0.3ms | 1.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.