Appendix A. Specifications#
Classification performance#
Classification performance was measured on a two datasets:
- Cooperative dataset (containing 20K images from various sources obtained at several banks);
- Non cooperative dataset (containing 20K).
The two tables below contain true positive rates corresponding to select false positive rates.
"Classification performance @ low FPR on cooperative dataset"
FPR | TPR CNN 54 | TPR CNN 56 | TPR CNN 57 | TPR CNN 58 | TPR CNN 59 | TPR CNN 54m | TPR CNN 56m | TPR CNN 59m | TPR CNN 60 | TPR CNN 60m |
---|---|---|---|---|---|---|---|---|---|---|
10^-7^ | 0.9765 | 0.9907 | 0.9906 | 0.9910 | 0.9911 | 0.9699 | 0.9652 | 0.9876 | 0.9917 | 0.9660 |
10^-6^ | 0.9849 | 0.9914 | 0.9915 | 0.9916 | 0.9915 | 0.9829 | 0.9814 | 0.9904 | 0.9917 | 0.9824 |
10^-5^ | 0.9892 | 0.9916 | 0.9917 | 0.9918 | 0.9919 | 0.9887 | 0.9886 | 0.9915 | 0.9919 | 0.9889 |
10^-4^ | 0.9909 | 0.9917 | 0.9918 | 0.9919 | 0.9921 | 0.9910 | 0.9910 | 0.9919 | 0.9921 | 0.9909 |
"Classification performance @ low FPR on non cooperative dataset"
FPR | TPR CNN 54 | TPR CNN 56 | TPR CNN 57 | TPR CNN 58 | TPR CNN 59 | TPR CNN 54m | TPR CNN 56m | TPR CNN 59m | TPR CNN 60 | TPR CNN 60m |
---|---|---|---|---|---|---|---|---|---|---|
10^-7^ | 0.9638 | 0.9698 | 0.9723 | 0.9767 | 0.9832 | 0.8813 | 0.8844 | 0.9377 | 0.9893 | 0.8797 |
10^-6^ | 0.9773 | 0.9809 | 0.9817 | 0.9839 | 0.9880 | 0.9233 | 0.9229 | 0.9629 | 0.9914 | 0.9246 |
10^-5^ | 0.9852 | 0.9871 | 0.9873 | 0.9880 | 0.9908 | 0.9538 | 0.9561 | 0.9794 | 0.9914 | 0.9595 |
10^-4^ | 0.9896 | 0.9902 | 0.9905 | 0.9909 | 0.9924 | 0.9752 | 0.9757 | 0.9880 | 0.9925 | 0.9821 |
Runtime performance for CentOS Linux environment#
Face detection performance depends on input image parameters such as resolution and bit depth as well as the size of the detected face.
Input data characteristics:
- Image resolution: 1920x1080px;
- Image format: 24 BPP RGB;
Performance measurements are presented for CPU, GPU and NPU execution modes in tables below. Measured values are averages of at least 100 experiments.
Estimated values of memory consumption are also presented for CPU and GPU. These values are highly depend on the input data and the conditions of the experiment.
The results for minimum batch size and optimal batch size are shown in the tables below. All the intermediate and non-optimal values are omitted.
Face detections are performed using FaceDetV3 NN.
All types of face detection and redetect performed with capturing bounding boxes and 5 facial landmarks.
CPU performance#
Benchmarking for CPU was performed on the server with the following hardware configuration:
CPU:
- Intel(R) Xeon(R) Silver 4210 CPU @ 2.20GHz;
- CPU(s): 40
- Thread(s) per core: 2
- Core(s) per socket: 10
- Socket(s): 2
- NUMA node(s): 2
- CPU with AVX2 instruction set was used
OS: CentOS Linux release 8.3.2011
RAM: 128 GB DDR4 (Clock Speed: 2133 MHz)
In experiments listed in tables below face detection and descriptor extraction algorithms used all available CPU cores, whereas matching performance is specified per-core.
Descriptor matching is only implemented on CPU.
CPU. Detector performance#
The table below shows the performance of Detector on the CPU.
Measurement | CPU threads | BatchSize | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
Detector (minFaceSize=20) | 1 | 1 | 373.92 | 1889.0 |
Detector (minFaceSize=20) | 8 | 1 | 152.73 | 2076.0 |
Detector (minFaceSize=20) | 8 | 4 | 147.26 | 4411.0 |
Detector (minFaceSize=20) | 8 | 8 | 148.32 | 7329.0 |
Detector (minFaceSize=50) | 1 | 1 | 63.23 | 1261.0 |
Detector (minFaceSize=50) | 8 | 1 | 27.52 | 1482.0 |
Detector (minFaceSize=50) | 8 | 4 | 23.43 | 1810.0 |
Detector (minFaceSize=50) | 8 | 8 | 24.61 | 2358.0 |
Detector (minFaceSize=90) | 1 | 1 | 23.11 | 1184.0 |
Detector (minFaceSize=90) | 8 | 1 | 11.62 | 1364.0 |
Detector (minFaceSize=90) | 8 | 4 | 8.03 | 1470.0 |
Detector (minFaceSize=90) | 8 | 8 | 8.23 | 1748.0 |
Redetect | 1 | 1 | 0.63 | 1252.0 |
Redetect | 8 | 1 | 0.83 | 1284.0 |
Redetect | 8 | 4 | 0.32 | 1673.0 |
Redetect | 8 | 8 | 0.25 | 2153.0 |
FaceLandmarks5Detector | 1 | 1 | 0.22 | 1225.0 |
FaceLandmarks5Detector | 8 | 1 | 0.37 | 1225.0 |
FaceLandmarks5Detector | 8 | 8 | 0.09 | 1226.0 |
FaceLandmarks68Detector | 1 | 1 | 3.2 | 1226.0 |
FaceLandmarks68Detector | 8 | 1 | 2.0 | 1230.0 |
FaceLandmarks68Detector | 8 | 8 | 1.0 | 1237.0 |
CPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the CPU.
Measurement | CPU threads | BatchSize | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
HumanDetector (imageSize=320) | 1 | 1 | 10.27 | 1697.0 |
HumanDetector (imageSize=320) | 8 | 1 | 6.63 | 1869.0 |
HumanDetector (imageSize=320) | 8 | 8 | 4.01 | 2009.0 |
HumanDetector (imageSize=640) | 1 | 1 | 36.06 | 1714.0 |
HumanDetector (imageSize=640) | 8 | 1 | 16.89 | 1797.0 |
HumanDetector (imageSize=640) | 8 | 8 | 15.07 | 2337.0 |
HumanLandmarksDetector | 1 | 1 | 32.3 | 1270.0 |
HumanLandmarksDetector | 8 | 1 | 13.8 | 1384.0 |
HumanLandmarksDetector | 8 | 4 | 8.8 | 1688.0 |
HumanLandmarksDetector | 8 | 8 | 8.4 | 1831.0 |
HumanRedetect | 1 | 1 | 2.61 | 1239.0 |
HumanRedetect | 8 | 1 | 2.76 | 1545.0 |
HumanRedetect | 8 | 4 | 1.24 | 1770.0 |
HumanRedetect | 8 | 8 | 1.26 | 1987.0 |
CPU. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the CPU.
Measurement | CPU threads | BatchSize | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 1 | 425.37 | 2558 |
HumanFaceDetector (minFaceSize=20) | 8 | 1 | 183.5 | 2600 |
HumanFaceDetector (minFaceSize=20) | 8 | 8 | 182.35 | 9340 |
HumanFaceDetector (minFaceSize=50) | 1 | 1 | 66.97 | 1783 |
HumanFaceDetector (minFaceSize=50) | 8 | 1 | 28.9 | 1812 |
HumanFaceDetector (minFaceSize=50) | 8 | 8 | 29.17 | 2900 |
HumanFaceDetector (minFaceSize=90) | 1 | 1 | 22.6 | 1734 |
HumanFaceDetector (minFaceSize=90) | 8 | 1 | 10.71 | 1758 |
HumanFaceDetector (minFaceSize=90) | 8 | 8 | 9.17 | 2072 |
CPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the CPU.
Measurement | CPU threads | BatchSize | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
HeadDetector (minHeadSize=20) | 1 | 1 | 361.9 | 2374 |
HeadDetector (minHeadSize=20) | 8 | 1 | 158.72 | 2423 |
HeadDetector (minHeadSize=20) | 8 | 8 | 153.9 | 7710 |
HeadDetector (minHeadSize=50) | 1 | 1 | 59.02 | 1754 |
HeadDetector (minHeadSize=50) | 8 | 1 | 26.18 | 1801 |
HeadDetector (minHeadSize=50) | 8 | 8 | 25.43 | 2797 |
HeadDetector (minHeadSize=90) | 1 | 1 | 21.08 | 1731 |
HeadDetector (minHeadSize=90) | 8 | 1 | 10.9 | 1778 |
HeadDetector (minHeadSize=90) | 8 | 8 | 8.34 | 2168 |
CPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the CPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | BatchSize | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1 | 0.6 | 1184.0 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 1 | 0.4 | 1204.0 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 8 | 0.3 | 1202.0 |
Eyes (RGB, useStatusPlan=0) | 1 | 1 | 1.2 | 1237.0 |
Eyes (RGB, useStatusPlan=0) | 8 | 1 | 0.8 | 1259.0 |
Eyes (RGB, useStatusPlan=0) | 8 | 8 | 0.5 | 1258.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1 | 0.6 | 1187.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 1 | 0.4 | 1207.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 8 | 0.3 | 1205.0 |
Eyes (RGB, useStatusPlan=1) | 1 | 1 | 1.1 | 1241.0 |
Eyes (RGB, useStatusPlan=1) | 8 | 1 | 0.8 | 1257.0 |
Eyes (RGB, useStatusPlan=1) | 8 | 8 | 0.5 | 1255.0 |
Infra-Red | 1 | 1 | 2 | 1191.0 |
Infra-Red | 8 | 1 | 1.0 | 1209.0 |
Infra-Red | 8 | 8 | 0.7 | 1218.0 |
AGS | 1 | 1 | 0.3 | 1242.0 |
AGS | 8 | 1 | 0.2 | 1259.0 |
AGS | 8 | 8 | 0.07 | 1303.0 |
HeadPoseByImage | 1 | 1 | 0.3 | 1188.0 |
HeadPoseByImage | 8 | 1 | 0.3 | 1220.0 |
HeadPoseByImage | 8 | 8 | 0.09 | 1252.0 |
Warper | 1 | 1 | 2.1 | 1180.0 |
Warper | 8 | 1 | 2.2 | 1219.0 |
Warper | 8 | 8 | 0.9 | 1230.0 |
Child | 1 | 1 | 18.7 | 1263.0 |
Child | 8 | 1 | 6.3 | 1281.0 |
Child | 8 | 8 | 5.2 | 1297.0 |
BlackWhite | 1 | 1 | 1.3 | 1249.0 |
BlackWhite | 8 | 1 | 0.7 | 1265.0 |
BlackWhite | 8 | 8 | 1.2 | 1263.0 |
BestShotQuality | 1 | 1 | 0.3 | 1238.0 |
BestShotQuality | 8 | 1 | 0.2 | 1259.0 |
BestShotQuality | 8 | 8 | 0.08 | 1299.0 |
MedicalMask | 1 | 1 | 5.6 | 1258.0 |
MedicalMask | 8 | 1 | 3.2 | 1287.0 |
MedicalMask | 8 | 8 | 2.8 | 1318.0 |
LivenessOneShotRGBEstimator | 1 | 1 | 246.17 | 1909.0 |
LivenessOneShotRGBEstimator | 8 | 1 | 71.6 | 2030.0 |
LivenessOneShotRGBEstimator | 8 | 8 | 77.31 | 3155.0 |
Orientation | 1 | 1 | 5.06 | 1609.0 |
Orientation | 8 | 1 | 3.33 | 1682.0 |
Orientation | 8 | 8 | 1.86 | 1875.0 |
CredibilityCheck | 1 | 1 | 120.3 | 1332.0 |
CredibilityCheck | 8 | 1 | 35.1 | 1351.0 |
CredibilityCheck | 8 | 8 | 34.1 | 1558.0 |
FacialHair | 1 | 1 | 12.86 | 1751.0 |
FacialHair | 8 | 1 | 4.84 | 1770.0 |
FacialHair | 8 | 8 | 4.24 | 1794.0 |
PortraitStyle | 1 | 1 | 1.54 | 1738.0 |
PortraitStyle | 8 | 1 | 2.2 | 1846.0 |
PortraitStyle | 8 | 8 | 0.95 | 1915.0 |
Background | 1 | 1 | 1.1 | 1239.0 |
Background | 8 | 1 | 1.2 | 1258.0 |
Background | 8 | 8 | 1.7 | 1305.0 |
NaturalLight | 1 | 1 | 2.37 | 1250.0 |
NaturalLight | 8 | 1 | 1.49 | 1267.0 |
NaturalLight | 8 | 8 | 1.97 | 1276.0 |
FishEye | 1 | 1 | 12.8 | 1747.0 |
FishEye | 8 | 1 | 4.8 | 1747.0 |
FishEye | 8 | 8 | 0.6 | 1771.0 |
RedEye | 1 | 1 | 5.7 | 1241.0 |
RedEye | 8 | 1 | 1.9 | 1260.0 |
RedEye | 8 | 8 | 1.6 | 1264.0 |
HeadWear | 1 | 1 | 4.09 | 1742.0 |
HeadWear | 8 | 1 | 2.63 | 1769.0 |
HeadWear | 8 | 8 | 1.2 | 1773.0 |
EyeBrowEstimator | 1 | 1 | 13.06 | 1751.0 |
EyeBrowEstimator | 8 | 1 | 4.82 | 1769.0 |
EyeBrowEstimator | 8 | 8 | 4.27 | 1781.0 |
HumanAttributeEstimator | 1 | 1 | 11.93 | 1624.0 |
HumanAttributeEstimator | 8 | 1 | 5.83 | 1651.0 |
HumanAttributeEstimator | 8 | 8 | 3.78 | 1699.0 |
Mouth | 1 | 1 | 6.64 | 1252.0 |
Mouth | 8 | 1 | 2.64 | 1271.0 |
Mouth | 8 | 8 | 2.12 | 1290.0 |
CrowdEstimator (Single, minHeadSize=6) | 1 | 1 | 6115.94 | 3133 |
CrowdEstimator (Single, minHeadSize=6) | 8 | 1 | 1577.25 | 3164 |
CrowdEstimator (Single, minHeadSize=6) | 8 | 8 | 1454.59 | 12200 |
CrowdEstimator (Single, minHeadSize=12) | 1 | 1 | 1534.97 | 2205 |
CrowdEstimator (Single, minHeadSize=12) | 8 | 1 | 389.63 | 2232 |
CrowdEstimator (Single, minHeadSize=12) | 8 | 8 | 368.08 | 4481 |
CrowdEstimator (TwoNets, minHeadSize=6) | 1 | 1 | 6208.43 | 3184 |
CrowdEstimator (TwoNets, minHeadSize=6) | 8 | 1 | 1600.78 | 3400 |
CrowdEstimator (TwoNets, minHeadSize=6) | 8 | 8 | 1480.87 | 16651 |
CrowdEstimator (TwoNets, minHeadSize=12) | 1 | 1 | 1568.06 | 2274 |
CrowdEstimator (TwoNets, minHeadSize=12) | 8 | 1 | 394.9 | 2373 |
CrowdEstimator (TwoNets, minHeadSize=12) | 8 | 8 | 371.6 | 5220 |
DynamicRange | 1 | 1 | 1.49 | 1721 |
DynamicRange | 8 | 1 | 1.61 | 1749 |
DynamicRange | 8 | 8 | 0.81 | 1793 |
CPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the CPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | Average (ms) | RAM Memory (Mb) |
---|---|---|---|
EyesGaze | 1 | 2.2 | 1250 |
EyesGaze | 8 | 1.4 | 1270 |
Emotions | 1 | 13.6 | 1262 |
Emotions | 8 | 4.9 | 1275 |
Attributes | 1 | 63.3 | 1265 |
Attributes | 8 | 19.8 | 1291 |
Quality | 1 | 1.2 | 1178 |
Quality | 8 | 0.6 | 1220 |
Overlap | 1 | 4.5 | 1248 |
Overlap | 8 | 1.3 | 1267 |
Glasses | 1 | 1.8 | 1240 |
Glasses | 8 | 0.8 | 1264 |
PPE | 1 | 10.04 | 1695 |
PPE | 8 | 4.71 | 1718 |
LivenessFlyingFaces | 1 | 15.07 | 1804 |
LivenessFlyingFaces | 8 | 7.21 | 1913 |
LivenessRGBMEstimator | 1 | 30.6 | 1245 |
LivenessRGBMEstimator | 8 | 9.7 | 1265 |
LivenessFPR | 1 | 44.2 | 1263 |
LivenessFPR | 8 | 19.9 | 1293 |
CPU. Extractor performance#
The table below shows the performance of Extractor on the CPU.
Model | CPU threads | Batch Size | Average (ms) | RAM Memory (Mb) |
---|---|---|---|---|
57 | 1 | 1 | 221.2 | 1475 |
57 | 8 | 8 | 58.3 | 1551 |
58 | 1 | 1 | 219.3 | 1470 |
58 | 8 | 8 | 58.0 | 1543 |
59 | 1 | 1 | 219.7 | 1473 |
59 | 8 | 8 | 58.2 | 1550 |
60 | 1 | 1 | 258.0 | 1473 |
60 | 8 | 8 | 51.1 | 1550 |
102 | 1 | 1 | 1.8 | 1149 |
102 | 8 | 8 | 2.1 | 1190 |
103 | 1 | 1 | 142.2 | 1459 |
103 | 8 | 8 | 50.6 | 1494 |
104 | 1 | 1 | 12.6 | 1186 |
104 | 8 | 8 | 6.2 | 1243 |
105 | 1 | 1 | 1.68 | 1590 |
105 | 8 | 8 | 0.69 | 1644 |
106 | 1 | 1 | 138.48 | 1877 |
106 | 8 | 8 | 38.74 | 1931 |
107 | 1 | 1 | 11.82 | 1625 |
107 | 8 | 8 | 3.7 | 1709 |
CPU. Matcher performance#
The table below shows the performance of Matcher on the CPU. The table includes average matcher per second for descriptors received using the following CNN model versions:
- face descriptors: 57, 58, 59
- human body descriptors: 102, 103, 104, 105, 106, 107
Model | CPU threads | Batch Size | Average (matches/sec) | RAM Memory (Mb) |
---|---|---|---|---|
57 | 1 | 1000 | 28 M | 20 |
58 | 1 | 1000 | 28 M | 18 |
59 | 1 | 1000 | 28 M | 15 |
60 | 1 | 1000 | 42.2 M | 15.0 |
102 | 1 | 1000 | 10.17 M | 16 |
103 | 1 | 1000 | 10.17 M | 16 |
104 | 1 | 1000 | 10.17 M | 20 |
105 | 1 | 1000 | 28.64 M | 111 |
106 | 1 | 1000 | 28.64 M | 106 |
107 | 1 | 1000 | 28.64 M | 109 |
Note: The above value is the maximum performance of the matcher on a particular piece of hardware. Performance in general does not depend on the size of the batch, but may be limited by memory performance at large values of the batch size.
GPU performance#
Benchmarking for GPU was performed on the following hardware configuration:
GPU: NVIDIA Tesla T4.
OS: CentOS Linux release 8.3.2011
GPU. Detector performance#
The table below shows the performance of Detector on the GPU.
Measurement | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
Detector (minFaceSize=20) | 1 | 29.02 | 1485.0 | 1663.0 |
Detector (minFaceSize=20) | 4 | 34.37 | 3611.0 | 1691.0 |
Detector (minFaceSize=20) | 8 | 38.09 | 6539.0 | 1741.0 |
Detector (minFaceSize=50) | 1 | 7.46 | 847.0 | 1653.0 |
Detector (minFaceSize=50) | 4 | 6.56 | 1207.0 | 1682.0 |
Detector (minFaceSize=50) | 8 | 6.24 | 1779.0 | 1702.0 |
Detector (minFaceSize=90) | 1 | 4.95 | 835.0 | 1655.0 |
Detector (minFaceSize=90) | 4 | 3.44 | 907.0 | 1669.0 |
Detector (minFaceSize=90) | 8 | 3.17 | 1381.0 | 1694.0 |
Redetect | 1 | 2.52 | 847.0 | 1657.0 |
Redetect | 4 | 1.64 | 1207.0 | 1660.0 |
Redetect | 8 | 1.47 | 1779.0 | 1663.0 |
Redetect | 16 | 1.38 | 2781.0 | 1667.0 |
FaceLandmarks5Detector | 1 | 2.33 | 821.0 | 1651.0 |
FaceLandmarks5Detector | 8 | 0.32 | 821.0 | 1651.0 |
FaceLandmarks5Detector | 16 | 0.17 | 821.0 | 1657.0 |
FaceLandmarks68Detector | 1 | 2.6 | 821.0 | 1669.0 |
FaceLandmarks68Detector | 8 | 1.5 | 821.0 | 1668.3 |
FaceLandmarks68Detector | 16 | 1.4 | 949.0 | 1663.0 |
GPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the GPU.
Measurement | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
HumanDetector (imageSize=320) | 1 | 4.38 | 907.0 | 1672.0 |
HumanDetector (imageSize=320) | 4 | 2.52 | 993.0 | 1690.0 |
HumanDetector (imageSize=320) | 8 | 2.27 | 937.0 | 1729.0 |
HumanDetector (imageSize=640) | 1 | 5.41 | 875.0 | 1687.0 |
HumanDetector (imageSize=640) | 4 | 4.53 | 1265.0 | 1708.0 |
HumanDetector (imageSize=640) | 8 | 4.36 | 1277.0 | 1730.0 |
HumanLandmarksDetector | 1 | 11.0 | 821.0 | 821.0 |
HumanLandmarksDetector | 4 | 4.0 | 1013.0 | 965.0 |
HumanLandmarksDetector | 8 | 3.0 | 1283.0 | 1109.0 |
HumanRedetect | 1 | 2.74 | 789.0 | 1696.0 |
HumanRedetect | 4 | 1.67 | 1013.0 | 1695.0 |
HumanRedetect | 8 | 1.47 | 1251.0 | 1689.0 |
HumanRedetect | 16 | 1.4 | 1867.0 | 1709.0 |
GPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the GPU.
Measurement | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
HeadDetector (minHeadSize=20) | 1 | 28.29 | 1533 | 1679 |
HeadDetector (minHeadSize=20) | 4 | 33.81 | 3691 | 1698 |
HeadDetector (minHeadSize=20) | 8 | 37.59 | 6623 | 1755 |
HeadDetector (minHeadSize=50) | 1 | 7.07 | 915 | 1668 |
HeadDetector (minHeadSize=50) | 4 | 6.42 | 1255 | 1687 |
HeadDetector (minHeadSize=50) | 8 | 6.11 | 1827 | 1713 |
HeadDetector (minHeadSize=90) | 1 | 4.75 | 915 | 1674 |
HeadDetector (minHeadSize=90) | 4 | 3.27 | 955 | 1684 |
HeadDetector (minHeadSize=90) | 8 | 3.03 | 1129 | 1714 |
GPU. HumanFace detector performance#
The table below shows the performance of HumanFaceDetector on the GPU.
Measurement | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 34.1 | 1675.0 | 1703.0 |
HumanFaceDetector (minFaceSize=20) | 4 | 42.6 | 4415.0 | 1774.0 |
HumanFaceDetector (minFaceSize=20) | 8 | 50.32 | 8041.0 | 1889.0 |
HumanFaceDetector (minFaceSize=50) | 1 | 7.99 | 903.0 | 1674.0 |
HumanFaceDetector (minFaceSize=50) | 4 | 7.15 | 1487.0 | 1706.0 |
HumanFaceDetector (minFaceSize=50) | 8 | 6.83 | 2067.0 | 1764.0 |
HumanFaceDetector (minFaceSize=90) | 1 | 5.3 | 903.0 | 1672.0 |
HumanFaceDetector (minFaceSize=90) | 4 | 3.52 | 929.0 | 1685.0 |
HumanFaceDetector (minFaceSize=90) | 8 | 3.24 | 1125.0 | 1719.0 |
GPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the GPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
HeadPoseByImage | 1 | 2.32 | 733.0 | 1679.0 |
HeadPoseByImage | 32 | 1.43 | 923.0 | 1864.0 |
Warper | 1 | 0.11 | 739.0 | 1672.0 |
Warper | 32 | 0.03 | 931.0 | 1672.0 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 0.65 | 811.0 | 1668.0 |
Eyes (INFRA_RED, useStatusPlan=0) | 16 | 0.23 | 811.0 | 1667.0 |
Eyes (INFRA_RED, useStatusPlan=0) | 32 | 0.2 | 811.0 | 1674.0 |
Eyes (RGB, useStatusPlan=0) | 1 | 1.19 | 821.0 | 1681.0 |
Eyes (RGB, useStatusPlan=0) | 16 | 0.44 | 821.0 | 1669.0 |
Eyes (RGB, useStatusPlan=0) | 32 | 0.43 | 853.0 | 1683.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 0.64 | 811.0 | 1666.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 16 | 0.23 | 811.0 | 1678.0 |
Eyes (INFRA_RED, useStatusPlan=1) | 32 | 0.2 | 811.0 | 1672.0 |
Eyes (RGB, useStatusPlan=1) | 1 | 0.66 | 821.0 | 1671.0 |
Eyes (RGB, useStatusPlan=1) | 16 | 0.24 | 821.0 | 1673.0 |
Eyes (RGB, useStatusPlan=1) | 32 | 0.23 | 853.0 | 1680.0 |
Infra-Red | 1 | 1.11 | 811.0 | 1666.0 |
Infra-Red | 32 | 0.54 | 811.0 | 1679.0 |
AGS | 1 | 2.2 | 821.0 | 1676.0 |
AGS | 16 | 1.46 | 917.0 | 1764.0 |
Child | 1 | 2.66 | 853.0 | 1694.0 |
Child | 16 | 1.11 | 963.0 | 1697.0 |
BlackWhite | 1 | 1.05 | 821.0 | 1676.0 |
BlackWhite | 16 | 0.4 | 853.0 | 1677.0 |
BestShotQuality | 1 | 2.31 | 821.0 | 1677.0 |
BestShotQuality | 16 | 1.45 | 917.0 | 1765.0 |
MedicalMask | 1 | 5.01 | 821.0 | 1702.0 |
MedicalMask | 16 | 1.69 | 917.0 | 1791.0 |
LivenessOneShotRGBEstimator | 1 | 26.25 | 1316 | 1843.0 |
LivenessOneShotRGBEstimator | 8 | 19.39 | 2364 | 1851.0 |
LivenessOneShotRGBEstimator | 16 | 20.17 | 4016 | 1847.0 |
Orientation | 1 | 3.12 | 799.0 | 1670.0 |
Orientation | 16 | 1.73 | 963.0 | 1664.0 |
Orientation | 32 | 1.69 | 1141.0 | 1669.0 |
CredibilityCheck | 1 | 5.54 | 947.0 | 1774.0 |
CredibilityCheck | 16 | 3.72 | 1339.0 | 1771.0 |
FacialHair | 1 | 1.86 | 853.0 | 1687.0 |
FacialHair | 16 | 0.32 | 853.0 | 1683.0 |
FacialHair | 32 | 0.28 | 853.0 | 1685.0 |
PortraitStyle | 1 | 2.84 | 895.0 | 1671.0 |
PortraitStyle | 16 | 1.51 | 915.0 | 1770.0 |
PortraitStyle | 32 | 1.48 | 1085.0 | 1861.0 |
Background | 1 | 2.6 | 821.0 | 1679.0 |
Background | 16 | 1.5 | 917.0 | 1770.0 |
NaturalLight | 1 | 3.61 | 853.0 | 1692.0 |
NaturalLight | 16 | 0.27 | 853.0 | 1695.0 |
FishEye | 1 | 2.37 | 895.0 | 1692.0 |
FishEye | 16 | 0.14 | 895.0 | 1694.0 |
RedEye | 1 | 1.1 | 821.0 | 1675.0 |
RedEye | 16 | 0.15 | 821.0 | 1675.0 |
HeadWear | 1 | 4.14 | 853.0 | 1696.0 |
HeadWear | 16 | 0.36 | 853.0 | 1699.0 |
HeadWear | 32 | 0.27 | 853.0 | 1697.0 |
EyeBrowEstimator | 1 | 2.56 | 895.0 | 1694.0 |
EyeBrowEstimator | 16 | 0.8 | 895.0 | 1693.0 |
EyeBrowEstimator | 32 | 0.76 | 803.0 | 1079.0 |
HumanAttributeEstimator | 1 | 5.53 | 853.0 | 1691.0 |
HumanAttributeEstimator | 16 | 0.57 | 853.0 | 1722.0 |
Mouth | 1 | 4.03 | 853.0 | 1690.0 |
Mouth | 16 | 0.42 | 949.0 | 1691.0 |
Mouth | 32 | 0.37 | 1043.0 | 1690.0 |
CrowdEstimator (Single, minHeadSize=6) | 1 | 162.51 | 2583 | 2101 |
CrowdEstimator (Single, minHeadSize=6) | 4 | 172.04 | 6599 | 2101 |
CrowdEstimator (Single, minHeadSize=6) | 8 | 172.38 | 11683 | 2100 |
CrowdEstimator (Single, minHeadSize=12) | 1 | 50.93 | 2337 | 2091 |
CrowdEstimator (Single, minHeadSize=12) | 4 | 42.02 | 2635 | 2100 |
CrowdEstimator (Single, minHeadSize=12) | 8 | 44.09 | 4405 | 2096 |
CrowdEstimator (TwoNets, minHeadSize=6) | 1 | 173.88 | 3003 | 2110 |
CrowdEstimator (TwoNets, minHeadSize=6) | 4 | 186.91 | 7543 | 2102 |
CrowdEstimator (TwoNets, minHeadSize=6) | 8 | 189.06 | 13507 | 2098 |
CrowdEstimator (TwoNets, minHeadSize=12) | 1 | 55.91 | 2651 | 2106 |
CrowdEstimator (TwoNets, minHeadSize=12) | 4 | 45.5 | 2905 | 2110 |
CrowdEstimator (TwoNets, minHeadSize=12) | 8 | 50.0 | 4865 | 2108 |
GPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the GPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|
EyesGaze | 1.65 | 821 | 1675 |
Emotions | 1.99 | 821 | 1689 |
Attributes | 4.95 | 815 | 1717 |
Quality | 0.98 | 731 | 1665 |
Overlap | 1.23 | 821 | 1688 |
PPE | 4.66 | 869 | 1696 |
Glasses | 1.01 | 821 | 1679 |
LivenessFlyingFaces | 6.39 | 927 | 1694 |
LivenessRGBMEstimator | 6.96 | 821 | 1674 |
LivenessFPR | 12.56 | 885 | 1697 |
GPU. Extractor performance#
The table below shows the performance of Extractor on the GPU.
Model | Batch Size | Average (ms) | GPU Memory (Mb) | RAM Memory (Mb) |
---|---|---|---|---|
57 | 1 | 10.2 | 929.0 | 1841 |
57 | 16 | 6.5 | 1341.0 | 1834 |
58 | 1 | 10.2 | 989.0 | 1835 |
58 | 16 | 6.4 | 1781.0 | 1825 |
59 | 1 | 10.2 | 929.0 | 1833 |
59 | 16 | 6.4 | 1341.0 | 1837 |
60 | 1 | 16.0 | 931.0 | 1840 |
60 | 16 | 8.9 | 1343.0 | 1845 |
102 | 1 | 3.7 | 733.0 | 1659 |
102 | 16 | 0.3 | 763.0 | 1658 |
103 | 1 | 7.2 | 913.0 | 1817 |
103 | 16 | 3.7 | 1279.0 | 1821 |
104 | 1 | 4.5 | 759.0 | 1686 |
104 | 16 | 0.6 | 865.0 | 1690 |
105 | 1 | 3.93 | 781 | 1664 |
105 | 16 | 0.31 | 811 | 1664 |
106 | 1 | 6.84 | 949 | 1884 |
106 | 16 | 3.55 | 1315 | 1879 |
107 | 1 | 4.38 | 803 | 1691 |
107 | 16 | 0.59 | 907 | 1684 |
NPU Performance#
Benchmarking for NPU was performed on the server with the following hardware configuration:
NPU: Huawei Atlas 300I (inference card).
OS: Ubuntu 18.04
CPU: Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz x 48
RAM: 64GB
NPU. Detector performance#
The table below shows the performance of Detector on the NPU.
Measurement | BatchSize | Average (ms) |
---|---|---|
Detector (minFaceSize=20) | 1 | 24.4 |
Detector (minFaceSize=20) | 4 | 18.01 |
Detector (minFaceSize=20) | 8 | 17.73 |
Detector (minFaceSize=50) | 1 | 24.53 |
Detector (minFaceSize=50) | 4 | 18.0 |
Detector (minFaceSize=50) | 8 | 17.74 |
Detector (minFaceSize=90) | 1 | 24.44 |
Detector (minFaceSize=90) | 4 | 17.91 |
Detector (minFaceSize=90) | 8 | 17.44 |
Redetect | 1 | 7.56 |
Redetect | 8 | 4.31 |
Redetect | 16 | 4.08 |
NPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the NPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | BatchSize | Average (ms) |
---|---|---|
HeadPoseByImage | 1 | 8.0 |
HeadPoseByImage | 16 | 4.2 |
HeadPoseByImage | 32 | 3.9 |
AGS | 1 | 6.6 |
AGS | 16 | 3.7 |
AGS | 32 | 3.7 |
BestShotQuality | 1 | 15.6 |
BestShotQuality | 16 | 7.8 |
BestShotQuality | 32 | 7.6 |
MedicalMask | 1 | 6.1 |
MedicalMask | 16 | 3.8 |
MedicalMask | 32 | 3.7 |
NPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the NPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | Average (ms) |
---|---|
Warper | 2.1 |
NPU. Extractor performance#
The table below shows the performance of Extractor on the NPU.
Type | Model | Batch Size | Average (ms) |
---|---|---|---|
Extractor | 57 | 1 | 10.9 |
Extractor | 57 | 16 | 7.4 |
Runtime performance for macOS environment#
Face detection performance depends on input image parameters such as resolution and bit depth as well as the size of the detected face.
Input data characteristics:
- Image resolution: 1920x1080px;
- Image format: 24 BPP RGB;
Performance measurements are presented for CPU execution modes in tables below. Measured values are averages of at least 1000 experiments.
The results for minimum batch size and optimal batch size are shown in the tables below. All the intermediate and non-optimal values are omitted.
Face detections are performed using FaceDetV3 NN.
Intel-based processor performance (x86_64)#
Benchmarking for CPU was performed on the device with the following configuration:
Hardware Overview:
- Model Name: Mac mini
- Processor Name: 6-Core Intel Core i5
- Processor Speed: 3 GHz
- Number of Processors: 1
- Total Number of Cores: 6
- Memory: 16 GB
- CPU with AVX2 instruction set was used
OS: macOS 11.2.1
In experiments listed in tables below face detection and descriptor extraction algorithms used all available CPU cores, whereas matching performance is specified per-core.
Intel-based processor. Detector performance#
The table below shows the performance of Detector on the Intel-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
Detector (minFaceSize=20) | 1 | 1 | 284.79 |
Detector (minFaceSize=20) | 8 | 1 | 159.0 |
Detector (minFaceSize=20) | 8 | 4 | 168.68 |
Detector (minFaceSize=20) | 8 | 8 | 171.88 |
Detector (minFaceSize=50) | 1 | 1 | 45.3 |
Detector (minFaceSize=50) | 8 | 1 | 27.3 |
Detector (minFaceSize=50) | 8 | 4 | 28.58 |
Detector (minFaceSize=50) | 8 | 8 | 29.06 |
Detector (minFaceSize=90) | 1 | 1 | 18.91 |
Detector (minFaceSize=90) | 8 | 1 | 9.7 |
Detector (minFaceSize=90) | 8 | 4 | 9.6 |
Detector (minFaceSize=90) | 8 | 8 | 10.02 |
Redetect | 1 | 1 | 0.75 |
Redetect | 8 | 1 | 0.87 |
Redetect | 8 | 4 | 0.28 |
Redetect | 8 | 8 | 0.27 |
FaceLandmarks5Detector | 1 | 1 | 0.2 |
FaceLandmarks5Detector | 8 | 1 | 0.3 |
FaceLandmarks5Detector | 8 | 8 | 0.1 |
FaceLandmarks68Detector | 1 | 1 | 2.3 |
FaceLandmarks68Detector | 8 | 1 | 1.7 |
FaceLandmarks68Detector | 8 | 8 | 1.1 |
Intel-based processor. HumanDetector performance#
The table below shows the performance of HumanDetector on the Intel-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HumanDetector (imageSize=320) | 1 | 1 | 10.28 |
HumanDetector (imageSize=320) | 8 | 1 | 4.55 |
HumanDetector (imageSize=320) | 8 | 4 | 4.94 |
HumanDetector (imageSize=320) | 8 | 8 | 4.84 |
HumanDetector (imageSize=640) | 1 | 1 | 27.99 |
HumanDetector (imageSize=640) | 8 | 1 | 15.12 |
HumanDetector (imageSize=640) | 8 | 4 | 17.04 |
HumanDetector (imageSize=640) | 8 | 8 | 17.98 |
HumanLandmarksDetector | 1 | 1 | 22.5 |
HumanLandmarksDetector | 8 | 1 | 10.5 |
HumanLandmarksDetector | 8 | 4 | 9.8 |
HumanLandmarksDetector | 8 | 8 | 9.8 |
HumanRedetect | 1 | 1 | 3.69 |
HumanRedetect | 8 | 1 | 1.96 |
HumanRedetect | 8 | 4 | 1.21 |
HumanRedetect | 8 | 8 | 1.33 |
Intel-based processor. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the Intel-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 1 | 331.58 |
HumanFaceDetector (minFaceSize=20) | 4 | 1 | 192.95 |
HumanFaceDetector (minFaceSize=20) | 4 | 4 | 200.72 |
HumanFaceDetector (minFaceSize=20) | 4 | 8 | 203.85 |
HumanFaceDetector (minFaceSize=50) | 1 | 1 | 52.02 |
HumanFaceDetector (minFaceSize=50) | 4 | 1 | 28.25 |
HumanFaceDetector (minFaceSize=50) | 4 | 4 | 31.48 |
HumanFaceDetector (minFaceSize=50) | 4 | 8 | 32.59 |
HumanFaceDetector (minFaceSize=90) | 1 | 1 | 20.5 |
HumanFaceDetector (minFaceSize=90) | 4 | 1 | 9.8 |
HumanFaceDetector (minFaceSize=90) | 4 | 4 | 9.55 |
HumanFaceDetector (minFaceSize=90) | 4 | 8 | 9.91 |
Intel-based processor. HeadDetector performance#
The table below shows the performance of HeadDetector on the Intel-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HeadDetector (minHeadSize=20) | 1 | 1 | 281.76 |
HeadDetector (minHeadSize=20) | 8 | 1 | 150.13 |
HeadDetector (minHeadSize=20) | 8 | 8 | 167.13 |
HeadDetector (minHeadSize=50) | 1 | 1 | 44.18 |
HeadDetector (minHeadSize=50) | 8 | 1 | 24.76 |
HeadDetector (minHeadSize=50) | 8 | 8 | 28.49 |
HeadDetector (minHeadSize=90) | 1 | 1 | 21.22 |
HeadDetector (minHeadSize=90) | 8 | 1 | 7.92 |
HeadDetector (minHeadSize=90) | 8 | 8 | 10.1 |
Intel-based processor. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Intel-based processor for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HeadPoseByImage | 1 | 1 | 0.21 |
HeadPoseByImage | 8 | 1 | 0.17 |
HeadPoseByImage | 8 | 8 | 0.07 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1 | 0.45 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 1 | 0.29 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 8 | 0.23 |
Eyes (RGB, useStatusPlan=0) | 1 | 1 | 0.85 |
Eyes (RGB, useStatusPlan=0) | 8 | 1 | 0.58 |
Eyes (RGB, useStatusPlan=0) | 8 | 8 | 0.48 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1 | 0.85 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 1 | 0.57 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 8 | 0.47 |
Eyes (RGB, useStatusPlan=1) | 1 | 1 | 0.85 |
Eyes (RGB, useStatusPlan=1) | 8 | 1 | 0.58 |
Eyes (RGB, useStatusPlan=1) | 8 | 8 | 0.47 |
Infra-Red | 1 | 1 | 1.51 |
Infra-Red | 8 | 1 | 0.71 |
Infra-Red | 8 | 8 | 0.81 |
AGS | 1 | 1 | 0.18 |
AGS | 8 | 1 | 0.13 |
AGS | 8 | 8 | 0.05 |
Child | 1 | 1 | 12.22 |
Child | 8 | 1 | 4.67 |
Child | 8 | 8 | 6.37 |
BlackWhite | 1 | 1 | 1.0 |
BlackWhite | 8 | 1 | 0.4 |
BlackWhite | 8 | 8 | 1.0 |
BestShotQuality | 1 | 1 | 0.18 |
BestShotQuality | 8 | 1 | 0.14 |
BestShotQuality | 8 | 8 | 0.06 |
MedicalMask | 1 | 1 | 4.15 |
MedicalMask | 8 | 1 | 2.2 |
MedicalMask | 8 | 8 | 2.2 |
LivenessOneShotRGBEstimator | 1 | 1 | 180.7 |
LivenessOneShotRGBEstimator | 8 | 1 | 78.65 |
LivenessOneShotRGBEstimator | 8 | 8 | 90.68 |
Orientation | 1 | 1 | 5.58 |
Orientation | 8 | 1 | 3.07 |
Orientation | 8 | 8 | 2.37 |
CredibilityCheck | 1 | 1 | 2.37 |
CredibilityCheck | 8 | 1 | 36.0 |
CredibilityCheck | 8 | 8 | 37.9 |
PortraitStyle | 1 | 1 | 1.97 |
PortraitStyle | 8 | 1 | 2.0 |
PortraitStyle | 8 | 8 | 1.09 |
Background | 1 | 1 | 0.7 |
Background | 8 | 1 | 0.7 |
Background | 8 | 8 | 1.4 |
NaturalLight | 1 | 1 | 2.9 |
NaturalLight | 8 | 1 | 1.7 |
NaturalLight | 8 | 8 | 1.8 |
FishEye | 1 | 1 | 16.7 |
FishEye | 8 | 1 | 4.0 |
FishEye | 8 | 8 | 0.7 |
RedEye | 1 | 1 | 7.5 |
RedEye | 8 | 1 | 1.4 |
RedEye | 8 | 8 | 1.5 |
HeadWear | 1 | 1 | 3.07 |
HeadWear | 8 | 1 | 2.07 |
HeadWear | 8 | 8 | 1.07 |
EyeBrowEstimator | 1 | 1 | 14.04 |
EyeBrowEstimator | 8 | 1 | 6.06 |
EyeBrowEstimator | 8 | 8 | 4.84 |
HumanAttributeEstimator | 1 | 1 | 12.13 |
HumanAttributeEstimator | 8 | 1 | 5.78 |
HumanAttributeEstimator | 8 | 8 | 4.22 |
Mouth | 1 | 1 | 5.24 |
Mouth | 8 | 1 | 2.16 |
Mouth | 8 | 8 | 2.36 |
DynamicRange | 1 | 1 | 0.29 |
DynamicRange | 8 | 1 | 0.3 |
DynamicRange | 8 | 8 | 0.09 |
Intel-based processor. Estimations performance without batch interface#
The table below shows the performance of Estimations on the Intel-based processor for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | Average (ms) |
---|---|---|
EyesGaze | 1 | 1.7 |
EyesGaze | 8 | 0.9 |
Emotions | 1 | 10.5 |
Emotions | 8 | 4.1 |
Attributes | 1 | 49.4 |
Attributes | 8 | 16.4 |
Quality | 1 | 1.4 |
Quality | 8 | 0.6 |
Warper | 1 | 1.3 |
Warper | 8 | 1.0 |
Overlap | 1 | 3.4 |
Overlap | 8 | 1.1 |
PPE | 1 | 8.83 |
PPE | 8 | 4.83 |
Glasses | 1 | 1.3 |
Glasses | 8 | 0.5 |
LivenessFlyingFaces | 1 | 17.86 |
LivenessFlyingFaces | 8 | 5.96 |
LivenessRGBMEstimator | 1 | 20.4 |
LivenessRGBMEstimator | 8 | 8.9 |
LivenessFPR | 1 | 31.2 |
LivenessFPR | 8 | 18.0 |
Intel-based processor. Extractor performance#
The table below shows the performance of Extractor on the Intel-based processor.
Model | CPU threads | Batch Size | Average (ms) |
---|---|---|---|
57 | 1 | 1 | 169.3 |
57 | 8 | 8 | 60.7 |
58 | 1 | 1 | 168.9 |
58 | 8 | 8 | 63.8 |
59 | 1 | 1 | 168.8 |
59 | 8 | 8 | 68.6 |
102 | 1 | 1 | 2.4 |
102 | 8 | 8 | 1.56 |
103 | 1 | 1 | 113.2 |
103 | 8 | 8 | 44.9 |
104 | 1 | 1 | 10.8 |
104 | 8 | 8 | 9.21 |
105 | 1 | 1 | 2.73 |
105 | 8 | 8 | 1.45 |
106 | 1 | 1 | 139.81 |
106 | 8 | 8 | 45.25 |
107 | 1 | 1 | 15.91 |
107 | 8 | 8 | 4.22 |
Intel-based processor. Matcher performance#
The table below shows the performance of Matcher on the Intel-based processor. The table includes average matcher per second for descriptors received using CNN 57, 58, 59, 102, 103, 104, 105, 106, 107.
Model | CPU threads | Batch Size | Average (matches/sec) |
---|---|---|---|
57, 58 | 1 | 10000 | 37.34 M |
59 | 1 | 10000 | 28 M |
102 | 1 | 10000 | 14.46 M |
103 | 1 | 10000 | 9.26 M |
104 | 1 | 10000 | 14.66 M |
105, 106, 107 | 1 | 10000 | 28.64 M |
Note: The above value is the maximum performance of the matcher on a particular piece of hardware. Performance in general does not depend on the size of the batch, but may be limited by memory performance at large values of the batch size.
ARM-based processor performance (aarch64)#
Benchmarking for CPU was performed on the device with the following configuration:
Hardware Overview:
- Model Name: Mac mini
- Chip: Apple M1
- Total Number of Cores: 8 (4 performance and 4 efficiency)
- Memory: 16 GB
- AVX2 instruction is not available
OS: macOS 11.2
In experiments listed in tables below face detection and descriptor extraction algorithms used all available CPU cores, whereas matching performance is specified per-core.
ARM-based processor. Detector performance#
The table below shows the performance of Detector on the ARM-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
Detector (minFaceSize=20) | 1 | 1 | 627.78 |
Detector (minFaceSize=20) | 8 | 1 | 201.45 |
Detector (minFaceSize=20) | 8 | 4 | 202.34 |
Detector (minFaceSize=20) | 8 | 8 | 205.36 |
Detector (minFaceSize=50) | 1 | 1 | 107.57 |
Detector (minFaceSize=50) | 8 | 1 | 40.73 |
Detector (minFaceSize=50) | 8 | 4 | 34.36 |
Detector (minFaceSize=50) | 8 | 8 | 33.91 |
Detector (minFaceSize=90) | 1 | 1 | 37.9 |
Detector (minFaceSize=90) | 8 | 1 | 17.99 |
Detector (minFaceSize=90) | 8 | 4 | 13.28 |
Detector (minFaceSize=90) | 8 | 8 | 12.35 |
Redetect | 1 | 1 | 1.01 |
Redetect | 8 | 1 | 1.13 |
Redetect | 8 | 4 | 0.55 |
Redetect | 8 | 8 | 0.49 |
FaceLandmarks5Detector | 1 | 1 | 0.4 |
FaceLandmarks5Detector | 8 | 1 | 0.6 |
FaceLandmarks5Detector | 8 | 8 | 0.2 |
FaceLandmarks68Detector | 1 | 1 | 3.4 |
FaceLandmarks68Detector | 8 | 1 | 2.3 |
FaceLandmarks68Detector | 8 | 8 | 1.6 |
ARM-based processor. HumanDetector performance#
The table below shows the performance of HumanDetector on the ARM-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HumanDetector (imageSize=320) | 1 | 1 | 21.74 |
HumanDetector (imageSize=320) | 8 | 1 | 11.47 |
HumanDetector (imageSize=320) | 8 | 4 | 8.0 |
HumanDetector (imageSize=320) | 8 | 8 | 1.15 |
HumanDetector (imageSize=640) | 1 | 1 | 79.3 |
HumanDetector (imageSize=640) | 8 | 1 | 30.38 |
HumanDetector (imageSize=640) | 8 | 4 | 25.2 |
HumanDetector (imageSize=640) | 8 | 8 | 24.77 |
HumanLandmarksDetector | 1 | 1 | 47.0 |
HumanLandmarksDetector | 8 | 1 | 29.6 |
HumanLandmarksDetector | 8 | 4 | 23.7 |
HumanLandmarksDetector | 8 | 8 | 20.5 |
HumanRedetect | 1 | 1 | 3.51 |
HumanRedetect | 8 | 1 | 2.31 |
HumanRedetect | 8 | 4 | 1.67 |
HumanRedetect | 8 | 8 | 1.51 |
ARM-based processor. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the ARM-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 1 | 715.22 |
HumanFaceDetector (minFaceSize=20) | 8 | 1 | 237.4 |
HumanFaceDetector (minFaceSize=20) | 8 | 8 | 239.92 |
HumanFaceDetector (minFaceSize=50) | 1 | 1 | 121.26 |
HumanFaceDetector (minFaceSize=50) | 8 | 1 | 49.4 |
HumanFaceDetector (minFaceSize=50) | 8 | 8 | 39.39 |
HumanFaceDetector (minFaceSize=90) | 1 | 1 | 41.92 |
HumanFaceDetector (minFaceSize=90) | 8 | 1 | 22.01 |
HumanFaceDetector (minFaceSize=90) | 8 | 8 | 14.1 |
ARM-based processor. HeadDetector performance#
The table below shows the performance of HeadDetector on the ARM-based processor.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HeadDetector (minHeadSize=20) | 1 | 1 | 631.68 |
HeadDetector (minHeadSize=20) | 8 | 1 | 207.81 |
HeadDetector (minHeadSize=20) | 8 | 8 | 213.2 |
HeadDetector (minHeadSize=50) | 1 | 1 | 108.83 |
HeadDetector (minHeadSize=50) | 8 | 1 | 42.13 |
HeadDetector (minHeadSize=50) | 8 | 8 | 34.64 |
HeadDetector (minHeadSize=90) | 1 | 1 | 37.87 |
HeadDetector (minHeadSize=90) | 8 | 1 | 18.67 |
HeadDetector (minHeadSize=90) | 8 | 8 | 12.46 |
ARM-based processor. Estimations performance with batch interface#
The table below shows the performance of Estimations on the ARM-based processor for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | BatchSize | Average (ms) |
---|---|---|---|
HeadPoseByImage | 1 | 1 | 0.41 |
HeadPoseByImage | 8 | 1 | 0.35 |
HeadPoseByImage | 8 | 8 | 0.19 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1 | 0.92 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 1 | 0.59 |
Eyes (INFRA_RED, useStatusPlan=0) | 8 | 8 | 0.4 |
Eyes (RGB, useStatusPlan=0) | 1 | 1 | 1.07 |
Eyes (RGB, useStatusPlan=0) | 8 | 1 | 0.63 |
Eyes (RGB, useStatusPlan=0) | 8 | 8 | 0.48 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1 | 1.07 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 1 | 0.63 |
Eyes (INFRA_RED, useStatusPlan=1) | 8 | 8 | 0.48 |
Eyes (RGB, useStatusPlan=1) | 1 | 1 | 2.06 |
Eyes (RGB, useStatusPlan=1) | 8 | 1 | 1.24 |
Eyes (RGB, useStatusPlan=1) | 8 | 8 | 0.95 |
Infra-Red | 1 | 1 | 4.72 |
Infra-Red | 8 | 1 | 2.4 |
Infra-Red | 8 | 8 | 1.82 |
AGS | 1 | 1 | 0.37 |
AGS | 8 | 1 | 0.29 |
AGS | 8 | 8 | 0.17 |
Child | 1 | 1 | 39.43 |
Child | 8 | 1 | 22.54 |
Child | 8 | 8 | 18.1 |
BlackWhite | 1 | 1 | 2.9 |
BlackWhite | 8 | 1 | 1.3 |
BlackWhite | 8 | 8 | 1.3 |
BestShotQuality | 1 | 1 | 0.39 |
BestShotQuality | 8 | 1 | 0.31 |
BestShotQuality | 8 | 8 | 0.18 |
MedicalMask | 1 | 1 | 12.5 |
MedicalMask | 8 | 1 | 6.28 |
MedicalMask | 8 | 8 | 4.53 |
LivenessOneShotRGBEstimator | 1 | 1 | 648.45 |
LivenessOneShotRGBEstimator | 8 | 1 | 156.36 |
LivenessOneShotRGBEstimator | 8 | 8 | 153.41 |
Orientation | 1 | 1 | 10.28 |
Orientation | 8 | 1 | 5.93 |
Orientation | 8 | 8 | 3.51 |
CredibilityCheck | 1 | 1 | 296.2 |
CredibilityCheck | 8 | 1 | 103.2 |
CredibilityCheck | 8 | 8 | 105.9 |
PortraitStyle | 1 | 1 | 2.66 |
PortraitStyle | 8 | 1 | 3.32 |
PortraitStyle | 8 | 8 | 1.86 |
Background | 1 | 1 | 2.4 |
Background | 8 | 1 | 2.3 |
Background | 8 | 8 | 2.1 |
NaturalLight | 1 | 1 | 5.2 |
NaturalLight | 8 | 1 | 2.9 |
NaturalLight | 8 | 8 | 2.6 |
FishEye | 1 | 1 | 35.7 |
FishEye | 8 | 1 | 13.2 |
FishEye | 8 | 8 | 1.7 |
RedEye | 1 | 1 | 10.5 |
RedEye | 8 | 1 | 3.3 |
RedEye | 8 | 8 | 3.0 |
HeadWear | 1 | 1 | 8.07 |
HeadWear | 8 | 1 | 6.45 |
HeadWear | 8 | 8 | 2.76 |
EyeBrowEstimator | 1 | 1 | 35.77 |
EyeBrowEstimator | 8 | 1 | 13.34 |
EyeBrowEstimator | 8 | 8 | 10.5 |
HumanAttributeEstimator | 1 | 1 | 28.09 |
HumanAttributeEstimator | 8 | 1 | 14.91 |
HumanAttributeEstimator | 8 | 8 | 9.02 |
Mouth | 1 | 1 | 16.26 |
Mouth | 8 | 1 | 7.86 |
Mouth | 8 | 8 | 5.36 |
DynamicRange | 1 | 1 | 0.28 |
DynamicRange | 8 | 1 | 0.29 |
DynamicRange | 8 | 8 | 0.16 |
ARM-based processor. Estimations performance without batch interface#
The table below shows the performance of Estimations on the ARM-based processor for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Measurement | CPU threads | Average (ms) |
---|---|---|
EyesGaze | 1 | 5.3 |
EyesGaze | 8 | 3.0 |
Emotions | 1 | 36.9 |
Emotions | 8 | 15.8 |
Attributes | 1 | 154.9 |
Attributes | 8 | 58.0 |
Quality | 1 | 2.1 |
Quality | 8 | 1.2 |
Warper | 1 | 0.9 |
Warper | 8 | 1.9 |
Overlap | 1 | 9.0 |
Overlap | 8 | 3.6 |
PPE | 1 | 22.33 |
PPE | 8 | 13.12 |
Glasses | 1 | 4.3 |
Glasses | 8 | 2.2 |
LivenessFlyingFaces | 1 | 24.55 |
LivenessFlyingFaces | 8 | 10.85 |
LivenessRGBMEstimator | 1 | 51.5 |
LivenessRGBMEstimator | 8 | 30.6 |
LivenessFPR | 8 | 103.7 |
LivenessFPR | 8 | 56.3 |
ARM-based processor. Extractor performance#
The table below shows the performance of Extractor on the ARM-based processor.
Type | Model | CPU threads | Average (ms) |
---|---|---|---|
Extractor | 57 | 1 | 547.2 |
Extractor | 57 | 8 | 189.3 |
Extractor | 58 | 1 | 547.2 |
Extractor | 58 | 8 | 189.2 |
Extractor | 59 | 1 | 535.6 |
Extractor | 59 | 8 | 188.6 |
ARM-based processor. Matcher performance#
The table below shows the performance of Matcher on the ARM-based processor. The table includes average matcher per second for descriptors received using CNN 57, 58 and 59.
Type | Model | CPU threads | Batch Size | Average (matches/sec) |
---|---|---|---|---|
Matcher | 57, 58 | 1 | 10000 | 2.08 M |
Matcher | 59 | 1 | 10000 | 2.08 M |
Note: The above value is the maximum performance of the matcher on a particular piece of hardware. Performance in general does not depend on the size of the batch, but may be limited by memory performance at large values of the batch size.
Runtime performance for embedded environment#
Face detection performance depends on input image parameters such as resolution and bit depth as well as the size of the detected face.
Input data characteristics:
- Image resolution: 640x480px;
- Image format: 24 BPP RGB;
The results for minimum batch size and optimal batch size are shown in the tables below. All the intermediate and non-optimal values are omitted.
Face detections are performed using FaceDetV3 NN.
Jetson#
Jetson does not use mobilenet by default.
Performance measurements are presented for Jetson. Measured values are averages of at least 100 experiments. Mobilenet is not used by default.
Jetson TX#
Jetson TX GPU. Detector performance#
The table below shows the performance of Detector on the Jetson TX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
Detector (minFaceSize=20) | 1 | 333.73 |
Detector (minFaceSize=20) | 4 | 415.49 |
Detector (minFaceSize=50) | 1 | 63.49 |
Detector (minFaceSize=50) | 4 | 57.71 |
Detector (minFaceSize=50) | 8 | 57.25 |
Detector (minFaceSize=90) | 1 | 27.5 |
Detector (minFaceSize=90) | 4 | 23.11 |
Detector (minFaceSize=90) | 8 | 22.34 |
Redetect | 1 | 6.19 |
Redetect | 4 | 3.52 |
Redetect | 8 | 3.38 |
Redetect | 16 | 3.26 |
FaceLandmarks5Detector | 1 | 6.3 |
FaceLandmarks5Detector | 8 | 0.8 |
FaceLandmarks5Detector | 16 | 0.5 |
FaceLandmarks68Detector | 1 | 6.3 |
FaceLandmarks68Detector | 8 | 1.7 |
FaceLandmarks68Detector | 16 | 1.2 |
Jetson TX GPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the Jetson TX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanDetector (imageSize=320) | 1 | 43.94 |
HumanDetector (imageSize=320) | 4 | 40.04 |
HumanDetector (imageSize=320) | 8 | 38.53 |
HumanDetector (imageSize=640) | 1 | 43.61 |
HumanDetector (imageSize=640) | 4 | 39.91 |
HumanDetector (imageSize=640) | 8 | 38.46 |
HumanLandmarksDetector | 1 | 51.9 |
HumanLandmarksDetector | 4 | 20.0 |
HumanLandmarksDetector | 8 | 17.8 |
HumanRedetect | 1 | 6.15 |
HumanRedetect | 4 | 4.09 |
HumanRedetect | 8 | 3.5 |
HumanRedetect | 16 | 3.41 |
Jetson TX GPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the Jetson TX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HeadDetector (minHeadSize=20) | 1 | 330.71 |
HeadDetector (minHeadSize=20) | 4 | 404.94 |
HeadDetector (minHeadSize=20) | 8 | 493.58 |
HeadDetector (minHeadSize=50) | 1 | 61.17 |
HeadDetector (minHeadSize=50) | 4 | 57.06 |
HeadDetector (minHeadSize=50) | 8 | 56.85 |
HeadDetector (minHeadSize=90) | 1 | 25.02 |
HeadDetector (minHeadSize=90) | 4 | 22.2 |
HeadDetector (minHeadSize=90) | 8 | 21.86 |
Jetson TX GPU. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the Jetson TX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 409.59 |
HumanFaceDetector (minFaceSize=50) | 1 | 79.89 |
HumanFaceDetector (minFaceSize=50) | 4 | 70.5 |
HumanFaceDetector (minFaceSize=50) | 8 | 69.27 |
HumanFaceDetector (minFaceSize=90) | 1 | 31.13 |
HumanFaceDetector (minFaceSize=90) | 4 | 28.66 |
HumanFaceDetector (minFaceSize=90) | 8 | 27.18 |
Jetson TX GPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Jetson TX GPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
HeadPoseByImage | 1 | 8.85 |
HeadPoseByImage | 32 | 2.82 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1.53 |
Eyes (INFRA_RED, useStatusPlan=0) | 16 | 1.02 |
Eyes (INFRA_RED, useStatusPlan=0) | 32 | 0.93 |
Eyes (RGB, useStatusPlan=0) | 1 | 2.83 |
Eyes (RGB, useStatusPlan=0) | 16 | 1.68 |
Eyes (RGB, useStatusPlan=0) | 32 | 1.65 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1.49 |
Eyes (INFRA_RED, useStatusPlan=1) | 16 | 1.17 |
Eyes (INFRA_RED, useStatusPlan=1) | 32 | 1.1 |
Eyes (RGB, useStatusPlan=1) | 1 | 2.82 |
Eyes (RGB, useStatusPlan=1) | 16 | 1.68 |
Eyes (RGB, useStatusPlan=1) | 32 | 1.6 |
Infra-Red | 1 | 3.29 |
AGS | 1 | 5.02 |
AGS | 16 | 2.57 |
Child | 1 | 15.23 |
Child | 16 | 8.95 |
BlackWhite | 1 | 3.0 |
BlackWhite | 16 | 1.1 |
BestShotQuality | 1 | 5.41 |
BestShotQuality | 16 | 2.59 |
MedicalMask | 1 | 13.4 |
MedicalMask | 32 | 4.98 |
LivenessOneShotRGBEstimator | 1 | 221.9 |
LivenessOneShotRGBEstimator | 8 | 202.94 |
LivenessOneShotRGBEstimator | 16 | 202.78 |
Orientation | 1 | 9.98 |
Orientation | 16 | 8.3 |
Orientation | 32 | 8.19 |
CredibilityCheck | 1 | 44.5 |
CredibilityCheck | 8 | 35.7 |
CredibilityCheck | 16 | 34.4 |
CredibilityCheck | 32 | 34.1 |
FacialHair | 1 | 10.6 |
FacialHair | 16 | 8.9 |
FacialHair | 32 | 8.76 |
PortraitStyle | 1 | 6.69 |
PortraitStyle | 16 | 3.85 |
PortraitStyle | 32 | 3.8 |
Background | 1 | 7.2 |
Background | 16 | 3.9 |
NaturalLight | 1 | 13.8 |
NaturalLight | 16 | 1.5 |
FishEye | 1 | 10.7 |
FishEye | 16 | 0.7 |
RedEye | 1 | 2.1 |
RedEye | 16 | 0.8 |
HeadWear | 1 | 14.01 |
HeadWear | 16 | 2.22 |
HeadWear | 32 | 2.15 |
EyeBrowEstimator | 1 | 10.56 |
EyeBrowEstimator | 16 | 8.87 |
EyeBrowEstimator | 32 | 8.76 |
HumanAttributeEstimator | 1 | 20.78 |
HumanAttributeEstimator | 16 | 4.93 |
Mouth | 1 | 14.76 |
Mouth | 16 | 4.14 |
Mouth | 32 | 4.0 |
Jetson TX. Estimations performance for CPU based algorithms#
The table below shows the performance of Estimations on the Jetson Jetson TX for estimators with cpu based algorithms. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
DynamicRange | 1 | 1.01 |
DynamicRange | 16 | 0.45 |
DynamicRange | 32 | 0.4 |
Jetson TX GPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the Jetson TX GPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Average (ms) |
---|---|
EyesGaze | 4.29 |
Emotions | 11.96 |
Attributes | 27.24 |
Quality | 2.17 |
Warper | 8.08 |
Overlap | 3.98 |
Glasses | 3.63 |
PPE | 22.41 |
LivenessFlyingFaces | 18.76 |
LivenessRGBMEstimator | 64.42 |
LivenessFPR | 62.67 |
Jetson TX GPU. Extractor performance#
The table below shows the performance of Extractor on the Jetson TX GPU.
Model | Batch Size | Average (ms) |
---|---|---|
57 | 1 | 76.07 |
57 | 8 | 62.03 |
58 | 1 | 76.15 |
58 | 8 | 61.63 |
59 | 1 | 76.15 |
59 | 8 | 61.64 |
60 | 1 | 75.0 |
60 | 8 | 61.0 |
102 | 1 | 17.31 |
102 | 8 | 2.61 |
103 | 1 | 45.64 |
103 | 8 | 32.34 |
104 | 1 | 15.23 |
104 | 8 | 5.41 |
105 | 1 | 16.39 |
105 | 8 | 2.41 |
106 | 1 | 44.83 |
106 | 8 | 32.2 |
107 | 1 | 14.4 |
107 | 8 | 5.43 |
Jetson Xavier#
Jetson Xavier GPU. Detector performance#
The table below shows the performance of Detector on the Jetson Xavier GPU.
Type | Batch Size | Average (ms) |
---|---|---|
Detector (minFaceSize=20) | 1 | 145.24 |
Detector (minFaceSize=20) | 4 | 202.78 |
Detector (minFaceSize=20) | 8 | 260.95 |
Detector (minFaceSize=50) | 1 | 30.65 |
Detector (minFaceSize=50) | 4 | 27.8 |
Detector (minFaceSize=50) | 8 | 26.82 |
Detector (minFaceSize=90) | 1 | 15.36 |
Detector (minFaceSize=90) | 4 | 11.71 |
Detector (minFaceSize=90) | 8 | 10.78 |
Redetect | 1 | 3.35 |
Redetect | 4 | 1.84 |
Redetect | 8 | 1.51 |
Redetect | 16 | 1.36 |
FaceLandmarks5Detector | 1 | 3.0 |
FaceLandmarks5Detector | 8 | 0.6 |
FaceLandmarks5Detector | 16 | 0.3 |
FaceLandmarks68Detector | 1 | 4.5 |
FaceLandmarks68Detector | 8 | 0.9 |
FaceLandmarks68Detector | 16 | 0.7 |
Jetson Xavier GPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the Jetson Xavier GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanDetector (imageSize=320) | 1 | 10.44 |
HumanDetector (imageSize=320) | 4 | 7.34 |
HumanDetector (imageSize=320) | 8 | 6.47 |
HumanDetector (imageSize=640) | 1 | 21.32 |
HumanDetector (imageSize=640) | 4 | 18.4 |
HumanDetector (imageSize=640) | 8 | 17.55 |
HumanLandmarksDetector | 1 | 29.2 |
HumanLandmarksDetector | 4 | 14.4 |
HumanLandmarksDetector | 8 | 11.7 |
HumanRedetect | 1 | 3.83 |
HumanRedetect | 4 | 1.98 |
HumanRedetect | 8 | 1.71 |
HumanRedetect | 16 | 1.48 |
Jetson Xavier GPU. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the Jetson Xavier GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 174.06 |
HumanFaceDetector (minFaceSize=20) | 4 | 279.21 |
HumanFaceDetector (minFaceSize=20) | 8 | 342.85 |
HumanFaceDetector (minFaceSize=50) | 1 | 36.6 |
HumanFaceDetector (minFaceSize=50) | 4 | 32.84 |
HumanFaceDetector (minFaceSize=50) | 8 | 31.67 |
HumanFaceDetector (minFaceSize=90) | 1 | 18.45 |
HumanFaceDetector (minFaceSize=90) | 4 | 13.64 |
HumanFaceDetector (minFaceSize=90) | 8 | 12.53 |
Jetson Xavier GPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the Jetson Xavier GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HeadDetector (minHeadSize=20) | 1 | 144.01 |
HeadDetector (minHeadSize=20) | 4 | 203.21 |
HeadDetector (minHeadSize=20) | 8 | 265.55 |
HeadDetector (minHeadSize=50) | 1 | 29.46 |
HeadDetector (minHeadSize=50) | 4 | 27.28 |
HeadDetector (minHeadSize=50) | 8 | 26.56 |
HeadDetector (minHeadSize=90) | 1 | 14.23 |
HeadDetector (minHeadSize=90) | 4 | 11.31 |
HeadDetector (minHeadSize=90) | 8 | 10.49 |
Jetson Xavier GPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Jetson Xavier GPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
HeadPoseByImage | 1 | 4.38 |
HeadPoseByImage | 32 | 0.89 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1.12 |
Eyes (INFRA_RED, useStatusPlan=0) | 16 | 0.53 |
Eyes (INFRA_RED, useStatusPlan=0) | 32 | 0.48 |
Eyes (RGB, useStatusPlan=0) | 1 | 2.17 |
Eyes (RGB, useStatusPlan=0) | 16 | 1.0 |
Eyes (RGB, useStatusPlan=0) | 32 | 0.99 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1.12 |
Eyes (INFRA_RED, useStatusPlan=1) | 16 | 0.51 |
Eyes (INFRA_RED, useStatusPlan=1) | 32 | 0.5 |
Eyes (RGB, useStatusPlan=1) | 1 | 2.16 |
Eyes (RGB, useStatusPlan=1) | 16 | 1.1 |
Eyes (RGB, useStatusPlan=1) | 32 | 0.99 |
Infra-Red | 1 | 2.3 |
Infra-Red | 32 | 1.25 |
AGS | 1 | 2.83 |
AGS | 32 | 0.86 |
Child | 1 | 8.37 |
Child | 8 | 5.88 |
BlackWhite | 1 | 2.2 |
BlackWhite | 16 | 0.6 |
BestShotQuality | 1 | 3.04 |
BestShotQuality | 32 | 0.88 |
MedicalMask | 1 | 6.59 |
MedicalMask | 32 | 3.45 |
LivenessOneShotRGBEstimator | 1 | 118.91 |
LivenessOneShotRGBEstimator | 8 | 98.02 |
LivenessOneShotRGBEstimator | 16 | 97.22 |
Orientation | 1 | 5.43 |
Orientation | 16 | 3.69 |
Orientation | 32 | 3.59 |
CredibilityCheck | 1 | 35.2 |
CredibilityCheck | 8 | 25.09 |
CredibilityCheck | 16 | 24.64 |
CredibilityCheck | 32 | 24.22 |
FacialHair | 1 | 7.18 |
FacialHair | 16 | 4.95 |
FacialHair | 32 | 4.86 |
PortraitStyle | 1 | 3.58 |
PortraitStyle | 16 | 1.84 |
PortraitStyle | 32 | 1.79 |
Background | 1 | 3.8 |
Background | 16 | 1.8 |
NaturalLight | 1 | 3.6 |
NaturalLight | 16 | 1.5 |
FishEye | 1 | 7.0 |
FishEye | 16 | 0.4 |
RedEye | 1 | 2.0 |
RedEye | 16 | 0.5 |
HeadWear | 1 | 6.3 |
HeadWear | 16 | 2.39 |
HeadWear | 32 | 2.21 |
EyeBrowEstimator | 1 | 6.97 |
EyeBrowEstimator | 16 | 4.96 |
EyeBrowEstimator | 32 | 4.86 |
HumanAttributeEstimator | 1 | 10.73 |
HumanAttributeEstimator | 16 | 4.03 |
Mouth | 1 | 5.84 |
Mouth | 16 | 2.63 |
Mouth | 32 | 2.33 |
Jetson Xavier. Estimations performance for CPU based algorithms#
The table below shows the performance of Estimations on the Jetson Xavier for estimators with CPU based algorithms. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
DynamicRange | 1 | 0.7 |
DynamicRange | 16 | 0.27 |
DynamicRange | 32 | 0.24 |
Jetson Xavier GPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the Jetson Xavier GPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Average (ms) |
---|---|
EyesGaze | 2.99 |
Emotions | 7.48 |
Attributes | 20.3 |
Quality | 1.64 |
Warper | 6.63 |
Overlap | 3.03 |
PPE | 8.28 |
Glasses | 2.14 |
LivenessFlyingFaces | 8.84 |
LivenessRGBMEstimator | 27.14 |
LivenessFPR | 39.41 |
Jetson Xavier GPU. Extractor performance#
The table below shows the performance of Extractor on the Jetson Xavier GPU.
Model | Batch Size | Average (ms) |
---|---|---|
57 | 1 | 66.4 |
57 | 8 | 44.1 |
58 | 1 | 66.2 |
58 | 8 | 44.1 |
59 | 1 | 66.3 |
59 | 8 | 44.1 |
60 | 1 | 66.0 |
60 | 8 | 44.0 |
102 | 1 | 8.3 |
102 | 8 | 0.98 |
103 | 1 | 18.3 |
103 | 8 | 19.4 |
104 | 1 | 6.6 |
104 | 8 | 2.4 |
105 | 1 | 8.68 |
105 | 8 | 1.7 |
106 | 1 | 32.58 |
106 | 8 | 33.87 |
107 | 1 | 8.19 |
107 | 8 | 4.44 |
Jetson Xavier NX#
Jetson Xavier NX GPU. Detector performance#
The table below shows the performance of Detector on the Jetson Xavier NX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
Detector (minFaceSize=20) | 1 | 143.5 |
Detector (minFaceSize=20) | 4 | 213.2 |
Detector (minFaceSize=20) | 8 | 30.6 |
Detector (minFaceSize=50) | 1 | 27.88 |
Detector (minFaceSize=50) | 4 | 26.97 |
Detector (minFaceSize=50) | 8 | 14.96 |
Detector (minFaceSize=90) | 1 | 11.5 |
Detector (minFaceSize=90) | 4 | 10.65 |
Detector (minFaceSize=90) | 8 | 4.05 |
Redetect | 1 | 1.97 |
Redetect | 4 | 1.69 |
Redetect | 8 | 1.48 |
FaceLandmarks5Detector | 1 | 2.5 |
FaceLandmarks5Detector | 8 | 1.0 |
FaceLandmarks5Detector | 16 | 0.8 |
FaceLandmarks68Detector | 1 | 4.9 |
FaceLandmarks68Detector | 8 | 2.0 |
FaceLandmarks68Detector | 16 | 1.8 |
Jetson Xavier NX GPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the Jetson Xavier NX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanDetector (imageSize=320) | 1 | 19.95 |
HumanDetector (imageSize=320) | 4 | 18.21 |
HumanDetector (imageSize=320) | 8 | 17.5 |
HumanDetector (imageSize=640) | 1 | 19.79 |
HumanDetector (imageSize=640) | 4 | 18.33 |
HumanDetector (imageSize=640) | 8 | 17.59 |
HumanLandmarksDetector | 1 | 33.6 |
HumanLandmarksDetector | 4 | 12.7 |
HumanLandmarksDetector | 8 | 10.9 |
HumanRedetect | 1 | 4.1 |
HumanRedetect | 4 | 2.07 |
HumanRedetect | 8 | 1.74 |
HumanRedetect | 16 | 1.57 |
HumanDetector (imageSize=640) | 1 | 28.2 |
HumanDetector (imageSize=640) | 16 | 30.2 |
HumanDetector (imageSize=640) | 32 | 35.5 |
Jetson Xavier NX GPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the Jetson Xavier NX GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HeadDetector (minHeadSize=20) | 1 | 141.38 |
HeadDetector (minHeadSize=20) | 4 | 185.18 |
HeadDetector (minHeadSize=50) | 1 | 28.37 |
HeadDetector (minHeadSize=50) | 4 | 27.83 |
HeadDetector (minHeadSize=50) | 8 | 26.8 |
HeadDetector (minHeadSize=90) | 1 | 12.97 |
HeadDetector (minHeadSize=90) | 4 | 11.04 |
HeadDetector (minHeadSize=90) | 8 | 10.41 |
Jetson Xavier NX GPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Jetson Xavier NX GPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
HeadPoseByImage | 1 | 5.6 |
HeadPoseByImage | 32 | 1.3 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 1.36 |
Eyes (INFRA_RED, useStatusPlan=0) | 16 | 0.65 |
Eyes (INFRA_RED, useStatusPlan=0) | 32 | 0.6 |
Eyes (RGB, useStatusPlan=0) | 1 | 2.21 |
Eyes (RGB, useStatusPlan=0) | 16 | 1.09 |
Eyes (RGB, useStatusPlan=0) | 32 | 1.01 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 1.37 |
Eyes (INFRA_RED, useStatusPlan=1) | 16 | 0.71 |
Eyes (INFRA_RED, useStatusPlan=1) | 32 | 0.65 |
Eyes (RGB, useStatusPlan=1) | 1 | 2.48 |
Eyes (RGB, useStatusPlan=1) | 16 | 1.31 |
Eyes (RGB, useStatusPlan=1) | 32 | 1.21 |
Infra-Red | 1 | 2.32 |
Infra-Red | 32 | 1.49 |
AGS | 1 | 3.41 |
AGS | 32 | 1.25 |
Child | 1 | 7.85 |
Child | 8 | 5.49 |
BlackWhite | 1 | 2.4 |
BlackWhite | 16 | 0.7 |
BestShotQuality | 1 | 3.59 |
BestShotQuality | 32 | 1.27 |
MedicalMask | 1 | 7.01 |
MedicalMask | 32 | 3.41 |
LivenessOneShotRGBEstimator | 1 | 146.14 |
LivenessOneShotRGBEstimator | 8 | 100.95 |
LivenessOneShotRGBEstimator | 16 | 99.96 |
Orientation | 1 | 5.21 |
Orientation | 16 | 3.75 |
Orientation | 32 | 3.66 |
CredibilityCheck | 1 | 31.05 |
CredibilityCheck | 8 | 22.59 |
CredibilityCheck | 16 | 21.91 |
CredibilityCheck | 32 | 21.5 |
FacialHair | 1 | 6.53 |
FacialHair | 16 | 4.73 |
FacialHair | 32 | 4.62 |
PortraitStyle | 1 | 4.42 |
PortraitStyle | 16 | 1.92 |
PortraitStyle | 32 | 1.86 |
Background | 1 | 4.0 |
Background | 16 | 2.1 |
NaturalLight | 1 | 4.48 |
NaturalLight | 16 | 1.26 |
FishEye | 1 | 6.5 |
FishEye | 16 | 0.4 |
RedEye | 1 | 2.1 |
RedEye | 16 | 0.5 |
HeadWear | 1 | 4.57 |
HeadWear | 16 | 1.27 |
HeadWear | 32 | 1.18 |
EyeBrowEstimator | 1 | 6.54 |
EyeBrowEstimator | 16 | 4.77 |
EyeBrowEstimator | 32 | 4.69 |
HumanAttributeEstimator | 1 | 11.71 |
HumanAttributeEstimator | 16 | 3.63 |
Mouth | 1 | 6.91 |
Mouth | 16 | 2.36 |
Mouth | 32 | 2.14 |
Jetson Xavier NX. Estimations performance for CPU based algorithms#
The table below shows the performance of Estimations on the Jetson Xavier NX for estimators with cpu based algorithms. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
DynamicRange | 1 | 1.05 |
DynamicRange | 16 | 0.38 |
DynamicRange | 32 | 0.36 |
Jetson Xavier NX GPU. Estimations performance without batch interface#
The table below shows the performance of Estimations on the Jetson Xavier NX GPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Average (ms) |
---|---|
EyesGaze | 3.7 |
Emotions | 6.8 |
Attributes | 17.36 |
Quality | 1.59 |
Warper | 9.82 |
Overlap | 3.56 |
PPE | 8.79 |
Glasses | 2.05 |
LivenessFlyingFaces | 9.63 |
LivenessRGBMEstimator | 28.1 |
LivenessFPR | 40.5 |
Jetson Xavier NX GPU. Extractor performance#
The table below shows the performance of Extractor on the Jetson Xavier NX GPU.
Model | Batch Size | Average (ms) |
---|---|---|
57 | 1 | 58.2 |
57 | 16 | 38.1 |
58 | 1 | 58.0 |
58 | 16 | 38.1 |
59 | 1 | 58.0 |
59 | 16 | 38.0 |
60 | 1 | 58.0 |
60 | 16 | 39.0 |
102 | 1 | 10.7 |
102 | 16 | 1.0 |
103 | 1 | 28.4 |
103 | 16 | 41.3 |
104 | 1 | 9.8 |
104 | 16 | 3.6 |
105 | 1 | 12.7 |
105 | 16 | 1.8 |
106 | 1 | 20.3 |
106 | 16 | 35.3 |
107 | 1 | 8.1 |
107 | 16 | 3.0 |
Jetson Nano#
Jetson Nano GPU. Detector performance#
The table below shows the performance of Detector on the Jetson Nano GPU.
Type | Batch Size | Average (ms) |
---|---|---|
Detector (minFaceSize=20) | 1 | 1594.53 |
Detector (minFaceSize=50) | 1 | 304.12 |
Detector (minFaceSize=50) | 4 | 308.74 |
Detector (minFaceSize=50) | 8 | 313.25 |
Detector (minFaceSize=90) | 1 | 127.69 |
Detector (minFaceSize=90) | 4 | 116.31 |
Detector (minFaceSize=90) | 8 | 117.14 |
Redetect | 1 | 11.08 |
Redetect | 8 | 6.78 |
Redetect | 16 | 6.8 |
FaceLandmarks5Detector | 1 | 7.0 |
FaceLandmarks5Detector | 8 | 3.0 |
FaceLandmarks5Detector | 16 | 2.0 |
FaceLandmarks68Detector | 1 | 12.0 |
FaceLandmarks68Detector | 8 | 6.0 |
FaceLandmarks68Detector | 16 | 5.7 |
Jetson Nano GPU. HumanDetector performance#
The table below shows the performance of HumanDetector on the Jetson Nano GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanDetector (imageSize=320) | 1 | 99.39 |
HumanDetector (imageSize=320) | 4 | 95.06 |
HumanDetector (imageSize=320) | 8 | 93.46 |
HumanDetector (imageSize=640) | 1 | 99.05 |
HumanDetector (imageSize=640) | 4 | 94.89 |
HumanDetector (imageSize=640) | 8 | 92.83 |
HumanLandmarksDetector | 1 | 140.5 |
HumanLandmarksDetector | 4 | 103.2 |
HumanLandmarksDetector | 8 | 98.0 |
HumanRedetect | 1 | 10.69 |
HumanRedetect | 4 | 8.14 |
HumanRedetect | 8 | 7.25 |
HumanRedetect | 16 | 7.61 |
Jetson Nano GPU. HeadDetector performance#
The table below shows the performance of HeadDetector on the Jetson Nano GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HeadDetector (minHeadSize=20) | 1 | 807.96 |
HeadDetector (minHeadSize=50) | 1 | 144.36 |
HeadDetector (minHeadSize=50) | 4 | 142.21 |
HeadDetector (minHeadSize=50) | 8 | 141.49 |
HeadDetector (minHeadSize=90) | 1 | 55.65 |
HeadDetector (minHeadSize=90) | 4 | 52.83 |
HeadDetector (minHeadSize=90) | 8 | 52.22 |
Jetson Nano GPU. HumanFaceDetector performance#
The table below shows the performance of HumanFaceDetector on the Jetson Nano GPU.
Type | Batch Size | Average (ms) |
---|---|---|
HumanFaceDetector (minFaceSize=20) | 1 | 977.41 |
HumanFaceDetector (minFaceSize=50) | 1 | 181.66 |
HumanFaceDetector (minFaceSize=50) | 4 | 171.81 |
HumanFaceDetector (minFaceSize=50) | 8 | 169.98 |
HumanFaceDetector (minFaceSize=90) | 1 | 70.55 |
HumanFaceDetector (minFaceSize=90) | 4 | 65.34 |
HumanFaceDetector (minFaceSize=90) | 8 | 63.85 |
Jetson Nano GPU. Estimations performance with batch interface#
The table below shows the performance of Estimations on the Jetson Nano GPU for estimators that have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
HeadPoseByImage | 1 | 6.59 |
HeadPoseByImage | 4 | 5.2 |
HeadPoseByImage | 16 | 3.49 |
Warper | 1 | 1.8 |
Warper | 4 | 1.62 |
Warper | 16 | 1.68 |
Eyes (INFRA_RED, useStatusPlan=0) | 1 | 3.5 |
Eyes (INFRA_RED, useStatusPlan=0) | 4 | 2.93 |
Eyes (INFRA_RED, useStatusPlan=0) | 16 | 2.71 |
Eyes (RGB, useStatusPlan=0) | 1 | 6.9 |
Eyes (RGB, useStatusPlan=0) | 4 | 5.82 |
Eyes (RGB, useStatusPlan=0) | 16 | 5.23 |
Eyes (INFRA_RED, useStatusPlan=1) | 1 | 3.51 |
Eyes (INFRA_RED, useStatusPlan=1) | 4 | 2.88 |
Eyes (INFRA_RED, useStatusPlan=1) | 16 | 2.63 |
Eyes (RGB, useStatusPlan=1) | 1 | 7.44 |
Eyes (RGB, useStatusPlan=1) | 4 | 5.77 |
Eyes (RGB, useStatusPlan=1) | 16 | 5.33 |
Infra-Red | 1 | 9.76 |
Infra-Red | 4 | 8.62 |
Infra-Red | 16 | 8.32 |
AGS | 1 | 6.26 |
AGS | 4 | 4.19 |
AGS | 16 | 3.5 |
Child | 1 | 63.82 |
Child | 4 | 48.97 |
Child | 16 | 42.4 |
BlackWhite | 1 | 6.17 |
BlackWhite | 4 | 3.41 |
BlackWhite | 16 | 2.76 |
BestShotQuality | 1 | 6.68 |
BestShotQuality | 4 | 4.43 |
BestShotQuality | 16 | 3.53 |
MedicalMask | 1 | 26.13 |
MedicalMask | 4 | 19.52 |
MedicalMask | 16 | 17.62 |
LivenessOneShotRGBEstimator | 1 | 518.35 |
LivenessOneShotRGBEstimator | 4 | 505.36 |
Orientation | 1 | 19.93 |
Orientation | 4 | 18.15 |
Orientation | 16 | 17.6 |
CredibilityCheck | 1 | 282.77 |
CredibilityCheck | 4 | 250.91 |
CredibilityCheck | 16 | 240.66 |
FacialHair | 1 | 23.97 |
FacialHair | 4 | 23.43 |
FacialHair | 16 | 23.0 |
PortraitStyle | 1 | 8.41 |
PortraitStyle | 4 | 6.35 |
PortraitStyle | 16 | 6.04 |
Background | 1 | 12.8 |
Background | 4 | 10.82 |
Background | 16 | 9.98 |
NaturalLight | 1 | 27.08 |
NaturalLight | 4 | 10.89 |
NaturalLight | 16 | 7.43 |
FishEye | 1 | 24.5 |
FishEye | 4 | 6.0 |
FishEye | 16 | 1.0 |
RedEye | 1 | 7.9 |
RedEye | 4 | 5.2 |
RedEye | 16 | 4.63 |
HeadWear | 1 | 26.33 |
HeadWear | 4 | 6.62 |
HeadWear | 16 | 5.36 |
EyeBrowEstimator | 1 | 23.8 |
EyeBrowEstimator | 4 | 23.33 |
EyeBrowEstimator | 16 | 22.98 |
HumanAttributeEstimator | 1 | 33.19 |
HumanAttributeEstimator | 8 | 15.07 |
HumanAttributeEstimator | 16 | 13.04 |
Mouth | 1 | 41.05 |
Mouth | 4 | 35.52 |
Mouth | 16 | 24.92 |
Jetson Nano. Estimations performance for CPU based algorithms#
The table below shows the performance of Estimations on the Jetson Nano for estimators with only CPU based algorithms. All these measurements are performed with minFaceSize=50
.
Type | Batch Size | Average (ms) |
---|---|---|
DynamicRange | 1 | 1.25 |
DynamicRange | 4 | 0.74 |
DynamicRange | 16 | 0.61 |
Jetson Nano GPU. Estimation performance without batch interface#
The table below shows the performance of Estimations on the Jetson Nano GPU for estimators that do not have a batch interface. All these measurements are performed with minFaceSize=50
.
Type | Average (ms) |
---|---|
EyesGaze | 12.37 |
Emotions | 49.04 |
Attributes | 140.48 |
Quality | 4.35 |
Overlap | 10.28 |
PPE | 32.25 |
Glasses | 10.83 |
LivenessFlyingFaces | 23.64 |
LivenessRGBMEstimator | 172.06 |
LivenessFPR | 206.17 |
Jetson Nano GPU. Extractor performance#
The table below shows the performance of Extractor on the Jetson Nano GPU.
Model | Batch Size | Average (ms) |
---|---|---|
58 | 1 | 442.35 |
58 | 4 | 403.95 |
59 | 1 | 428.35 |
59 | 4 | 411.47 |
60 | 1 | 176.3 |
60 | 4 | 163.4 |
102 | 1 | 26.17 |
102 | 4 | 9.9 |
103 | 1 | 254.11 |
103 | 4 | 215.07 |
104 | 1 | 39.97 |
104 | 4 | 31.63 |
105 | 1 | 20.65 |
105 | 4 | 9.9 |
106 | 1 | 296.11 |
106 | 4 | 245.15 |
107 | 1 | 32.92 |
107 | 4 | 35.55 |
Descriptor size#
Table below shows size of serialized face descriptors to estimate memory requirements.
"Descriptor size"
Face descriptor version | Data size (bytes) | Metadata size (bytes) | Total size |
---|---|---|---|
CNN 54 | 512 | 8 | 520 |
CNN 56 | 512 | 8 | 520 |
CNN 57 | 512 | 8 | 520 |
CNN 58 | 512 | 8 | 520 |
CNN 59 | 512 | 8 | 520 |
Table below shows size of serialized human descriptors to estimate memory requirements. Human descriptors are used only for reidentification tasks.
"Human descriptor size (used only for reidentification tasks)"
Human descriptor version | Data size (bytes) | Metadata size (bytes) | Total size |
---|---|---|---|
CNN 102 | 2048 | 8 | 2056 |
CNN 103 | 2048 | 8 | 2056 |
CNN 104 | 2048 | 8 | 2056 |
CNN 105 | 512 | 8 | 520 |
CNN 106 | 512 | 8 | 520 |
CNN 107 | 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.