← 블로그로 돌아가기
제품SDK엣지 컴퓨팅

InspireFace: 엣지 디바이스를 위한 크로스플랫폼 C/C++ 얼굴 인식 SDK

소개

InspireFace는 크로스플랫폼 edge 배포를 위해 설계된 고성능 C/C++ 얼굴 인식 SDK입니다. InsightFace의 최첨단 얼굴 분석 기능을 통합된 API 형태로 모바일, 데스크톱, 임베디드 디바이스에 제공합니다.

주요 기능

뛰어난 성능

InspireFace는 속도를 최우선으로 설계되었습니다.

  • iPhone 13(CoreML/ANE)에서 전체 pipeline(검출 + 정렬 + 특징 추출)을 2ms 미만으로 실행
  • CPU, GPU, NPU 추론 최적화
  • 자원이 제한된 edge 디바이스를 위한 경량 모델

크로스플랫폼 지원

다양한 플랫폼에 배포할 수 있습니다.

  • 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 기반 identity embedding 추출
  • Face Alignment: 정밀한 landmarks 검출
  • Attribute Analysis: 나이, 성별, 표정 추정
  • Liveness Detection: presentation attacks에 대응하는 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로 보내주세요.