Appendix A. Specifications#
Runtime performance for mobile environment#
Face detection performance depends on input image parameters, including resolution, bit depth, and the size of the detected face. The Aurora platform uses Mobilenet by default.
Input data characteristics:
- Image resolution: 640x480px
- Image format: 24 BPP RGB
Aurora#
When the number of threads is set to auto
, the maximum number of available threads will be utilized. To enable this mode, use the value -1
for the numThreads
parameter in the runtime.conf file. This setting corresponds to the number of available processor cores. We strongly recommend following this guideline; otherwise, performance may be significantly reduced. You can find descriptions of the relevant settings in the "Configuration Guide - Runtime Settings."
The performance measurements are presented for a device with the following configuration:
- Architecture: armv7l
- Byte Order: Little Endian
- CPU(s): 4
- On-line CPU(s) list: 0-3
- Thread(s) per core: 1
- Core(s) per socket: 4
- Socket(s): 1
- Vendor ID: ARM
- Model: 5
- Model name: Cortex-A7
- Stepping: r0p5
- CPU max MHz: 1267.2000
- CPU min MHz: 200.0000
- BogoMIPS: 38.40
- Flags: swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 evtstrm
You can find the number of threads in tables below.
Aurora environment. Matcher performance#
The table below shows the performance of Matcher on the Aurora environment.
Model | CPU threads | Batch Size | PerSecond | RAM Memory (Mb) |
---|---|---|---|---|
59 | 1 | 1 | 280905.0 | 28.0 |
60 | 1 | 1 | 271945.0 | 29.0 |
Aurora environment. Extractor performance#
The table below shows the performance of Extractor on the Aurora environment.
Model | CPU threads | Batch Size | Percentile 95 (ms) | RAM Memory (Mb) |
---|---|---|---|---|
59 | 1 | 1 | 16852.5 | 80.0 |
59 | auto | 1 | 10893.2 | 95.0 |
59 | auto | 4 | 8095.95 | 104.0 |
59 | auto | 8 | 9923.07 | 136.0 |
60 | 1 | 1 | 14017.8 | 76.0 |
60 | auto | 1 | 8906.65 | 93.0 |
60 | auto | 4 | 6270.54 | 92.0 |
60 | auto | 8 | 6812.0 | 117.0 |
Aurora environment. Detector performance#
The table below shows the performance of Detector on the Aurora environment.
Measurement | CPU threads | Batch Size | Percentile 95 (ms) | RAM Memory (Mb) |
---|---|---|---|---|
Detector easy | 1 | 1 | 1327.5 | 47.0 |
Detector easy | auto | 1 | 1700.1 | 57.0 |
Detector image_1080 | 1 | 1 | 4833.14 | 65.0 |
Detector image_1080 | auto | 1 | 4606.99 | 79.0 |
Detector 6 faces | 1 | 1 | 6311.0 | 50.0 |
Detector 6 faces | auto | 1 | 3905.79 | 64.0 |
Detector complex | 1 | 1 | 1125.63 | 44.0 |
Detector complex | auto | 1 | 1702.98 | 57.0 |
Redetect easy | 1 | 1 | 90.1 | 46.0 |
Redetect easy | auto | 1 | 198.67 | 58.0 |
Redetect image_1080 | 1 | 1 | 116.38 | 64.0 |
Redetect image_1080 | auto | 1 | 204.13 | 75.0 |
Redetect 6 faces | 1 | 1 | 284.62 | 51.0 |
Redetect 6 faces | auto | 1 | 691.81 | 63.0 |
Redetect complex | 1 | 1 | 100.86 | 42.0 |
Redetect complex | auto | 1 | 199.18 | 56.0 |
Aurora environment. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Aurora environment for estimators that have a batch interface.
Measurement | CPU threads | Batch Size | Percentile 95 (ms) | RAM Memory (Mb) |
---|---|---|---|---|
HeadPose | 1 | 1 | 84.85 | 72.0 |
HeadPose | auto | 1 | 194.67 | 82.0 |
HeadPose | auto | 4 | 121.55 | 101.0 |
HeadPose | auto | 8 | 74.47 | 123.0 |
Warper | 1 | 1 | 27.94 | 65.0 |
Warper | auto | 1 | 29.84 | 78.0 |
Warper | auto | 4 | 22.49 | 89.0 |
Warper | auto | 8 | 19.97 | 102.0 |
Eyes (RGB, useStatusPlan=0) | 1 | 1 | 421.38 | 67.0 |
Eyes (RGB, useStatusPlan=0) | auto | 1 | 804.28 | 98.0 |
Eyes (RGB, useStatusPlan=0) | auto | 4 | 576.17 | 100.0 |
Eyes (RGB, useStatusPlan=0) | auto | 8 | 549.41 | 102.0 |
Eyes (RGB, useStatusPlan=1) | 1 | 1 | 413.87 | 67.0 |
Eyes (RGB, useStatusPlan=1) | auto | 1 | 902.2 | 100.0 |
Eyes (RGB, useStatusPlan=1) | auto | 4 | 573.86 | 100.0 |
Eyes (RGB, useStatusPlan=1) | auto | 8 | 550.05 | 100.0 |
AGS | 1 | 1 | 80.09 | 69.0 |
AGS | auto | 1 | 194.11 | 80.0 |
AGS | auto | 4 | 100.57 | 98.0 |
AGS | auto | 8 | 87.44 | 121.0 |
BestShotQuality | 1 | 1 | 165.36 | 73.0 |
BestShotQuality | auto | 1 | 193.43 | 83.0 |
BestShotQuality | auto | 4 | 124.57 | 104.0 |
BestShotQuality | auto | 8 | 87.31 | 126.0 |
MedicalMask | 1 | 1 | 3721.47 | 91.0 |
MedicalMask | auto | 1 | 2606.46 | 102.0 |
MedicalMask | auto | 4 | 3826.09 | 120.0 |
MedicalMask | auto | 8 | 3382.0 | 143.0 |
Quality | 1 | 1 | 704.1 | 66.0 |
Quality | auto | 1 | 1008.27 | 97.0 |
Quality | auto | 4 | 925.42 | 97.0 |
Quality | auto | 8 | 833.71 | 97.0 |
Glasses | 1 | 1 | 446.09 | 65.0 |
Glasses | auto | 1 | 595.49 | 77.0 |
Glasses | auto | 4 | 398.76 | 77.0 |
Glasses | auto | 8 | 462.4 | 77.0 |
LivenessOneShotRGBEstimator Mobile | 1 | 1 | 3986.45 | 88.0 |
LivenessOneShotRGBEstimator Mobile | auto | 1 | 5198.73 | 120.0 |
LivenessOneShotRGBEstimator Mobile | auto | 4 | 4700.3 | 121.0 |
LivenessOneShotRGBEstimator Mobile | auto | 8 | 4276.0 | 159.0 |
LivenessOneShotRGBEstimator Lite | 1 | 1 | 31473.2 | 112.0 |
LivenessOneShotRGBEstimator Lite | auto | 1 | 34983.0 | 138.0 |
LivenessOneShotRGBEstimator Lite | auto | 4 | 29981.5 | 281.0 |
LivenessOneShotRGBEstimator Lite | auto | 8 | 31244.1 | 457.0 |
FaceOcclusion | 1 | 1 | 3640.46 | 66.0 |
FaceOcclusion | auto | 1 | 2904.98 | 80.0 |
FaceOcclusion | auto | 4 | 3426.17 | 111.0 |
FaceOcclusion | auto | 8 | 3012.77 | 150.0 |
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 59 (60) | 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 only in the complete edition.
The table below shows FaceEngine features supported by the complete edition for mobile platforms.
"Feature matrix"
Facility | Module | Complete |
---|---|---|
Core | Yes | |
Face detection & alignment | Face detector | Yes |
Parameter estimation | BestShotQuality estimation | Yes |
Color estimation | Yes | |
Eye estimation | Yes | |
Head pose estimation | Yes | |
AGS estimation | Yes | |
LivenessOneShotRGB estimation | Yes | |
Medical Mask estimation | Yes | |
Quality estimation | Yes | |
Mouth estimation | Yes | |
Glasses estimation | Yes | |
Face descriptors | Descriptor extraction | Yes |
Descriptor matching | Yes | |
Descriptor batching | Yes | |
Descriptor search acceleration | Yes |
See file "doc/FeatureMapMobile.htm" for more details.