InspireFace: SDK multiplataforma de reconhecimento facial em C/C++ para dispositivos edge
Introdução
Temos o prazer de apresentar o InspireFace, um SDK de reconhecimento facial em C/C++ de alto desempenho, projetado para implantações edge multiplataforma. O InspireFace leva os recursos mais avançados de face analysis da InsightFace para dispositivos móveis, desktop e embedded por meio de uma API unificada e fácil de integrar.
Principais recursos
Desempenho extremo
O InspireFace foi desenvolvido com foco em velocidade:
- pipeline completo (detecção + alinhamento + extração de features) em menos de 2 ms no iPhone 13 com CoreML/ANE
- inferência otimizada para CPU, GPU e NPU
- modelos leves para dispositivos com recursos limitados
Suporte multiplataforma
É possível implantar em uma ampla variedade de plataformas:
- Linux: x86_64, ARM64, RISC-V
- macOS: Intel e Apple Silicon
- iOS: iPhone e iPad com aceleração CoreML
- Android: ARM e x86 com suporte a NNAPI
- Embedded: Rockchip NPU (RK3588/RK3566/RK3568)
- CUDA: aceleração com GPU NVIDIA para servidores
Funcionalidade abrangente
O InspireFace fornece um pipeline completo de análise facial:
- Face Detection: localização facial de alta precisão
- Face Recognition: extração de identity embeddings baseados em ArcFace
- Face Alignment: detecção precisa de landmarks
- Attribute Analysis: estimativa de idade, gênero e expressão
- Liveness Detection: anti-spoofing contra presentation attacks
- Head Pose Estimation: estimativa de yaw, pitch e roll
- Facial Action Detection: detecção de piscar, aceno e balanço de cabeça
- Mask Detection: detecção de máscara
Arquitetura
O InspireFace é construído sobre uma arquitetura modular em camadas:
1. C API Layer: ABI estável para interoperabilidade entre linguagens
2. Core Engine: pipeline de inferência otimizado
3. Backend Abstraction: backends intercambiáveis como ONNX Runtime, CoreML, TensorRT e RKNN
4. Model Management: carregamento eficiente e cache de modelos
Início rápido
Integração em 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);
Integração em 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)}")
Benchmarks de desempenho
| 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 |
Licenciamento
O InspireFace está disponível em duas modalidades:
- Academic License: gratuito para pesquisa e educação
- Commercial License: entre em contato para implantações em produção
Como começar
A documentação, exemplos e binários pré-compilados estão no InspireFace GitHub repository. Para licenciamento comercial, envie um e-mail para contact@insightface.ai.