Skip to content

Appendix A. Specifications#

Runtime performance#

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;
  • Typical face size: ~260x260px.

IOS#

  Performance measurements are presented for ARM of iPhones X, 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 accoding settings you can find in "Configuration Guide - Runtime settings".

"Performance of iPhone X. Extractor and matcher"

Measurement Model Threads Average (ms) Units
Extractor 54 1 91.6 ms
54 auto 51.4
Matcher 54 - 3.0 M matches/sec

"Performance of iPhone X. Extractor batch"

Measurement Model Threads Average (ms) Batch Size
Extractor Batch 54 auto 51.6 1
54 auto 46.1 4
54 auto 53.3 8

"Performance of iPhone X. Detection and estimation"

Measurement Threads Average (ms) Batch Size
Detector (FaceDetV2) 1 11.3 / 12.7 / 32.6 -
(Easy/complex/6 faces) auto 10.2 / 11.0 / 28.9 -
-
Warper 1 1.4 -
auto 1.4 -
Head Pose by Image 1 0.9 -
auto 0.9 -
Head Pose Batch auto 0.9 1
auto 0.6 4
auto 0.5 8
Eyes 1 7.7 -
auto 5.7 -
Eyes Batch auto 5.8 1
auto 3.4 4
auto 2.9 8
AGS 1 1.7 -
auto 1.5 -
AGS Batch auto 1.5 1
auto 1.1 4
auto 1.0 8
Best Shot Quality 1 4.8 -
auto 4.2 -
Best Shot Quality Batch auto 4.2 1
auto 2.6 4
auto 2.3 8

"Performance of iPhone 7. Extractor and matcher"

Type Model NumThreads Average Units
Extractor 54 1 105.0 ms
54 auto 62.0
Matcher 54 - 1.0 M matches/sec

"Performance of iPhone 7. Extractor batch"

Type Model NumThreads Average (ms) Batch Size
Extractor Batch 54 auto 69.0 1
54 auto 69.1 4
54 auto 75.6 8

"Performance of iPhone 7. Detection and estimation"

Measurement Threads Average (ms) Batch Size
Detector (FaceDetV2) 1 14.3 / 13.2 / 59.3 -
(Easy/complex/6 faces) auto 14.0 / 12.9 / 41.8 -
-
Warper 1 2.0 -
auto 2.0 -
Head Pose by Image 1 1.1 -
auto 1.1 -
Head Pose Batch auto 1.1 1
auto 0.7 4
Eyes 1 9.3 -
auto 8.2 -
Eyes Batch auto 8.5 1
auto 6.0 4
auto 5.7 8
AGS 1 1.8 -
auto 1.7 -
AGS Batch auto 1.7 1
auto 1.2 4
auto 1.2 8
Best Shot Quality 1 4.5 -
auto 4.3 -
Best Shot Quality Batch auto 4.7 1
auto 3.2 4
auto 2.8 8

"Performance of iPhone 6. Extractor and matcher"

Measurement Model Threads Average Units
Extractor 54 1 191.4 ms
54 auto 106.7
Matcher 54 - 0.5 M matches/sec

"Performance of iPhone 6. Extractor batch"

Measurement Model Threads Average (ms) Batch Size
Extractor Batch 54 auto 138.2 1
54 auto 139.6 4
54 auto 143.5 8

"Performance of iPhone 6. Detection and estimation"

Measurement Threads Average (ms) Batch Size
Detector (FaceDetV2) 1 32.5 / 28.6 /121.8 -
(Easy/complex/6 faces) auto 37.0 / 31.2 /101.2 -
-
Warper 1 5.1 -
auto 5.0 -
Head Pose by Image 1 2.9 -
auto 3.7 -
Head Pose Batch auto 3.7 1
auto 2.2 4
auto 2.0 8
Eyes 1 14.2 -
auto 11.7 -
Eyes Batch auto 14.4 1
auto 9.9 4
auto 9.1 8
AGS 1 5.3 -
auto 5.0 -
AGS Batch auto 5.5 -
auto 4.1 -
auto 3.9 -
Best Shot Quality 1 11.9 -
auto 11.0 -
Best Shot Quality Batch auto 13.2 1
auto 8.9 4
auto 8.2 8

Descriptor size#

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 54 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.

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

Back to top