Technology Sharing

InspireFace-commercial-grade cross-platform open source face analysis SDK

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

InspireFace-commercial-grade cross-platform open source face analysis SDK

InspireFaceSDK is made byinsightfaceA face recognition software development kit (SDK) developed by . It provides a series of functions to meet the face recognition needs in various application scenarios, including but not limited to gates, face access control, face verification, etc.

The SDK includes a variety of commonly used face recognition algorithms, covering face detection, face attribute analysis, face feature extraction, and face comparison. These algorithms are carefully designed to have industry-leading face recognition capabilities and algorithm accuracy. In order to meet different deployment requirements, InspireFaceSDK provides deployment options for four different platforms.

These options cover various inference scenarios, including gate chips, end devices (such as smartphones, tablets), CPUs (central processing units) and servers (CUDA), NPUs (neural processing units), etc. Developers can choose a deployment solution that suits their applications based on actual conditions.

insert image description here

How to get it

  • You can directlyinsightface.aiEnter the repository to obtain the source code of the stable version of InspireFaceSDK;
  • If you keep following the code updates, you canInspireFaceThe development repository is used to obtain the development version of the resources;

Features

InspireFaceSDK currently supports the following features, and more features are under development:

IndexFunctionAdaptationNote
1Face DetectionsupportSupports input of images of various scales
2Dense keypoint detectionsupport
3Face RecognitionsupportHigh-precision model based on arcface
4Face TrackingsupportWith multiple tracking modes
5Mask detectionsupport
6Silent face liveness detectionsupportMiniVision
7quality analysissupport
8Head pose estimationsupport
9Attribute analysissupportAge, race, gender, etc.
10Expression and movement analysisIn developmentBlink, shake your head, nod
11Face infrared liveness detectionIn development

Platform and architecture support

We have completed software adaptation and testing across various operating systems and CPU architectures. This includes compatibility verification for platforms such as Linux, macOS, iOS, and Android, as well as testing for support for specific hardware such as some Rockchip devices, to ensure stable operation in different environments.

No.Operating SystemCPU ArchitectureSpecial Device SupportAdaptedPassed Tests
1LinuxARMv7-Already adaptedThrough offline testing
2ARMv8-Already adaptedThrough offline testing
3x86/x86_64-Already adaptedPass the online test
4ARMv7RV1109RV1126Already adaptedThrough offline testing
5x86/x86_64CUDAAlready adaptedThrough offline testing
6macOSIntel x86-Already adaptedThrough offline testing
7Apple Silicon-Already adaptedThrough offline testing
8iOSARM-Already adaptedThrough offline testing
9AndroidARMv7-Already adapted
10ARMv8-Already adapted

[Compilation] Preparation

Install OpenCV

If you plan to use the SDK locally or on a server,Please make sure you have installed OpenCV on your host device., in order to successfully link during compilation. For cross-compiling targets, such as Android or ARM embedded boards, you can use3rdparty/ inspirreface -precompile/ OpenCV /Provides precompiled OpenCV libraries, so you canSkip this step

Install MNN

3rdpartyThe directory already contains the MNN library and specifies a specific version as the stable version. If you need to enable or disable other configuration options during compilation, you can refer to the CMake options provided by MNN. If you need to use your own precompiled version, feel free to replace it if not neededPlease skip this step

Get Project

You can pull the stable version or development version of the project code to your local computer:

# Pull the stable version
git clone https://github.com/deepinsight/insightface
cd insightface/cpp-package/inspireface/

# or, Pull the develop version
git clone https://github.com/HyperInspire/InspireFace