Skip to content

Appendix A. Specifications#

Runtime performance for mobile environment#

Face detection performance depends on input image parameters such as resolution and bit depth as well as the size of the detected face. The iOS platform uses mobilenet by default.

Input data characteristics:

  • Image resolution: 640x480px;
  • Image format: 24 BPP RGB;

IOS#

  Performance measurements are presented for ARM of iPhones 7 and 6 in tables below. Measured values are averages of at least 100 experiments. Mobilenet is used by default. The number of threads auto means that will be taken the maximum number of available threads. For this mode use the -1 value for the numThreads parameter in the runtime.conf. This number of threads is equal to according number of available processor cores. We strongly recommend you to follow this recommendation; otherwise, performance can be significantly reduced. Description of according settings you can find in "Configuration Guide - Runtime settings".

iPhone 7. Matcher performance#

The table below shows the performance of Matcher on the iPhone 7.

Type Model Threads Average Units RAM Memory (Mb)
Matcher 59 1 1.0 M matches/sec 322
Matcher 60 1 1.0 M matches/sec 322

iPhone 7. Extractor performance#

The table below shows the performance of Extractor on the iPhone 7.

Type Model Threads Batch Size Average (ms) RAM Memory (Mb)
Extractor 59 1 1 112.4 128
Extractor 59 auto 1 112.0 274
Extractor 59 auto 4 113.4 298
Extractor 59 auto 8 105.9 322
Extractor 60 1 1 86.9 128
Extractor 60 auto 1 90.1 274
Extractor 60 auto 4 90.4 298
Extractor 60 auto 8 94.6 322

iPhone 7. Detector performance#

The table below shows the performance of Detector on the iPhone 7.

Measurement Threads Average (ms) RAM Memory (Mb)
Detector (FaceDetV2) 1 13.0 / 12.0 / 51.0 92
(Easy/complex/6 faces) auto 13.0 / 12.0 / 51.0 92

iPhone 7. Estimations performance with batch interface#

The table below shows the performance of Estimations on the iPhone 7 for estimators that have a batch interface.

Measurement Threads Batch Size Average (ms) RAM Memory (Mb)
HeadPose 1 1 0.9 322
HeadPose auto 1 0.9 322
HeadPose auto 4 0.8 322
HeadPose auto 8 0.8 322
Eyes (RGB, useStatusPlan=1) 1 1 5.0 92
Eyes (RGB, useStatusPlan=1) auto 1 4.9 92
Eyes (RGB, useStatusPlan=1) auto 4 4.8 92
Eyes (RGB, useStatusPlan=1) auto 8 4.8 92
AGS 1 1 0.9 48
AGS auto 1 0.8 61
AGS auto 4 0.8 64
AGS auto 8 0.8 71
BestShotQuality 1 1 1.0 71
BestShotQuality auto 1 0.9 82
BestShotQuality auto 4 0.9 85
BestShotQuality auto 8 0.9 92
Medical Mask 1 1 29.4 322
Medical Mask auto 1 29.4 322
Medical Mask auto 4 28.1 322
Medical Mask auto 8 28.1 322
OneShot Liveness 1 1 255.0 322
OneShot Liveness auto 1 254.0 818
OneShot Liveness auto 4 253.0 852
OneShot Liveness auto 8 250.0 887
Glasses 1 1 5.51 237
Glasses auto 1 5.49 241

iPhone 7. Estimations performance without batch interface#

The table below shows the performance of Estimations on the iPhone 7 for estimators that do not have a batch interface.

Measurement Threads Average (ms) RAM Memory (Mb)
Warper 1 2.0 322
Warper auto 2.0 322
Quality 1 5.0 322
Quality auto 5.0 322

iPhone 6. Matcher performance#

The table below shows the performance of Matcher on the iPhone 6.

Measurement Model Threads Average Units RAM Memory (Mb)
Matcher 59 1 0.5 M matches/sec 249
Matcher 60 1 0.5 M matches/sec 249

iPhone 6. Extractor performance#

The table below shows the performance of Extractor on the iPhone 6.

Measurement Model Threads Batch Size Average (ms) RAM Memory (Mb)
Extractor 59 1 1 229.5 111
Extractor 59 auto 1 229.8 222
Extractor 59 auto 4 230.4 239
Extractor 59 auto 8 209.8 243
Extractor 60 1 1 213.4 111
Extractor 60 auto 1 212.8 222
Extractor 60 auto 4 213.8 239
Extractor 60 auto 8 213.6 243

iPhone 6. Detector performance#

The table below shows the performance of Detector on the iPhone 6.

Measurement Threads Average (ms) RAM Memory (Mb)
Detector (FaceDetV2) 1 30.0 / 25.0 /111.0 78
(Easy/complex/6 faces) auto 28.0 / 25.2 /111.0 78

iPhone 6. Estimations performance with batch interface#

The table below shows the performance of Estimations on the iPhone 6 for estimators that have a batch interface.

Measurement Threads Batch Size Average (ms) RAM Memory (Mb)
HeadPose 1 1 2.0 246
HeadPose auto 1 2.0 249
HeadPose auto 4 1.7 249
HeadPose auto 8 1.6 249
Eyes (RGB, useStatusPlan=1) 1 1 16.0 78
Eyes (RGB, useStatusPlan=1) auto 1 16.0 78
Eyes (RGB, useStatusPlan=1) auto 4 17.0 78
Eyes (RGB, useStatusPlan=1) auto 8 18.0 78
AGS 1 1 4.0 34
AGS auto 1 4.0 47
AGS auto 4 3.2 51
AGS auto 8 3.1 58
BestShotQuality 1 1 4.0 58
BestShotQuality auto 1 4.0 68
BestShotQuality auto 4 3.3 71
BestShotQuality auto 8 3.2 78
MedicalMask 1 1 52.8 249
MedicalMask auto 1 52.8 249
MedicalMask auto 4 51.5 255
MedicalMask auto 8 51.3 276
OneShot Liveness 1 1 546.0 276
Glasses auto 4 5.48 243
Glasses auto 8 5.59 245

iPhone 6. Estimations performance without batch interface#

The table below shows the performance of Estimations on the iPhone 6 for estimators that do not have a batch interface.

Measurement Threads Average (ms) RAM Memory (Mb)
Warper 1 4.4 276
Warper auto 4.3 279
Quality 1 9.0 276
Quality auto 9.0 276

The table below shows size of serialized descriptors to estimate memory requirements.

"Descriptor size"

Descriptor version Data size (bytes) Metadata size (bytes) Total size
CNN 62 512 8 520

Metadata includes signature and version information that may be omitted during serialization if the NoSignature flag is specified.

When estimating individual descriptor size in memory or serialization storage requirements with default options, consider using values from the "Total size" column.

When estimating memory requirements for descriptor batches, use values from the "Data size" column instead, since a descriptor batch does not duplicate metadata per descriptor and thus is more memory-efficient.

These numbers are for approximate computation only, since they do not include overhead like memory alignment for accelerated SIMD processing and the like.

Feature matrix#

Mobile versions come in two editions: the frontend edition (or FE for short) and the complete edition.

The table below shows FaceEngine features supported by different editions of mobile platform.

"Feature matrix"

Facility Module Complete Frontend
Core Yes Yes
Face detection & alignment Face detector Yes Yes
Parameter estimation BestShotQuality estimation Yes Yes
Color estimation Yes Yes
Eye estimation Yes Yes
Head pose estimation Yes Yes
AGS estimation Yes Yes
LivenessOneShotRGB estimation Yes Yes
Medical Mask estimation Yes Yes
Quality estimation Yes Yes
Glasses estimation Yes Yes
Face descriptors Descriptor extraction Yes No
Descriptor matching Yes No
Descriptor batching Yes No
Descriptor search acceleration Yes No

See file "doc/FeatureMapMobile.htm" for more details.