← ブログ一覧へ戻る
製品SDKエッジコンピューティング

InspireFace: エッジデバイス向けクロスプラットフォーム C/C++ 顔認識 SDK

はじめに

高性能な C/C++ 顔認識 SDK である InspireFace の提供を開始できることを嬉しく思います。InspireFace は、InsightFace の最先端の顔解析技術を、モバイル、デスクトップ、組み込みデバイスへ統一された API で提供するために設計されています。

主な特長

圧倒的なパフォーマンス

InspireFace は速度を重視して設計されています。

  • iPhone 13 (CoreML/ANE) でフル pipeline を 2ms 未満で実行
  • CPU、GPU、NPU 推論を最適化
  • リソース制約のあるエッジ機器にも適した軽量モデル

クロスプラットフォーム対応

多様なプラットフォームに展開できます。

  • 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: 高精度なランドマーク検出
  • Attribute Analysis: 年齢、性別、表情推定
  • Liveness Detection: Presentation Attack 対策の 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 などの pluggable 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 には 2 つのライセンス形態があります。

  • Academic License: 研究・教育用途は無償
  • Commercial License: 本番導入向けの商用ライセンスはお問い合わせください

導入の第一歩

詳しいドキュメント、サンプル、ビルド済みバイナリは InspireFace GitHub repository を参照してください。商用ライセンスのご相談は contact@insightface.ai までご連絡ください。