← Voltar ao Blog
ProdutoSDKEdge Computing

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

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

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.