Skip to main content
Version: 3.17.2

Benchmarks

Face Recognition

Face recognition accuracy (NIST Standards)

The table below shows Face SDK quality metrics based on the National Institute of Standards and Technology (NIST) Standards:

NIST Face Recognition Vendor Test (FRVT) 1:1Score
VISA* True Acceptance Rate (@FAR 1E-6)99.70%
Mugshot* True Acceptance Rate (@FAR 1E-5)99.76%
Border* True Acceptance Rate (@FAR: 1E-6)99.75%
WILD* True Acceptance Rate (@FAR 1E-4)96.94%
Click here to see the description of image types from the table*
  • VISA – Full Frontal image type. The images have a size of 252x300 pixels. The mean interocular distance (IOD) is 69 pixels.
  • Mugshot – Full Frontal image type. The images are of variable sizes. The mean IOD is 113 pixels.
  • Border – The images are taken with a camera, which is oriented by an attendant toward a cooperating subject. This is done under time constraints so there are role, pitch and yaw angle variations. Background illumination is sometimes strong, so the face is under-exposed. There is some perspective distortion due to close range images. Some faces are partially cropped.
  • Wild – The images include many photojournalism-style images. Resolution varies very widely. The images are very unconstrained with wide yaw and pitch pose variation. Faces can be occluded, including hair and hands.

Face recognition accuracy on extended LFW dataset with Wild images

For this test we used extended LFW dataset (LFW dataset + our internal dataset). The set of mismatched pairs was increased and LFW errors were fixed to get accurate measurements at low FAR.

FAR9.300 TAR (%)12.30 TAR (%)12.50 TAR (%)12.100 TAR (%)12.1000 TAR (%)
1e-4 98.7 98.9 99.2 99.4 99.5
1e-5 98.0 98.1 98.7 99.1 99.4
1e-6 96.6 96.7 97.9 98.5 99.3
1e-7 93.2 94.3 96.3 97.5 98.9
1e-8 32.2 88.0 89.5 94.1 97.7
1e-9 10.5 82.0 80.9 84.9 93.9

ROC-curve

img.png

Template extraction speed using CPU and GPU

Desktop

MethodGPU (NVIDIA GTX 1070)CPU (Core i5-9400 4.0GHz)
12v100047 ms442 ms
9v30010 ms292 ms
12v1008 ms49 ms
12v506 ms21 ms
12v305 ms12 ms

Mobile

MethodCPU (Qualcomm Snapdragon 845)
12v10007968ms
9v3001960ms
12v100801ms
12v50270ms
12v30150ms

Note: The speed test was performed using Google Pixel 3.

Face recognition speed for Core i7 4.5 GHz*

Recognition methodTemplate generation (ms)Accelerated Matching 1:N (ms)Matching 1:1 (ms)
N = 104 N = 106 N = 107
6.7 40 (45**) 0.25 12.1 126 0.04
7.7 170 (180**) 0.25 12.1 126 0.04
8.7 20 (20**) 0.25 12.1 126 0.04
9.30 30 0.18 12.0 117 0.04
9.300 260 (125***) 0.18 12.0 117 0.04
9.1000 730 (305***) 0.18 12.0 117 0.04
9.30mask 20 0.18 12.0 117 0.04
9.300mask 160 (79***) 0.18 12.0 117 0.04
9.1000mask 290 (144***) 0.18 12.0 117 0.04
10.30 24 (16***) 0.18 12.0 117 0.04
10.100 40 (24***) 0.18 12.0 117 0.04
10.1000 690 (355***) 0.18 12.0 117 0.04
11.1000 865 (425***) 0.22 15.0 151 0.04
12.30 10*** 0.20 15.0 120 0.04
12.50 18*** 0.20 15.0 120 0.04
12.100 41*** 0.20 15.0 120 0.04
12.1000 412*** 0.40 20.0 170 0.04

* – characteristics specified in this table are given for a single-core CPU.
** – template extraction time when processing_less_memory_consumption was set to true in the FacerecService.createRecognizer call for creating a Recognizer.
*** – template extraction time using the AVX2 instruction set (see Face Recognition).

Note:

  • Accelerated search time is given for k=1. As for larger values of k, the time will increase up to the search time without acceleration.
  • Accelerated search is implemented only for the recognition methods 6.5, 6.6, 6.7, 7.3, 7.6, 7.7, 8.6, 8.7, 9.30, 9.300, 9.1000, 10v30, 10v100, 10v1000, 11v1000, 12.30, 12.50 , 12.100, 12.1000.
  • To achieve this speed, the templates in the index must be located in order of creation (by using the Recognizer.processing or Recognizer.loadTemplate method).
  • To achieve higher speed, use GPU (see GPU Usage).

Memory Characteristics

Recognition methodSerialized template size (Bytes)Template size in RAM (Bytes)Memory consumption* (MB)
6.7536636105 (85**)
7.7536636195 (163**)
8.753663652 (40**)
9.30280380155
9.300280380210
9.1000280380290
10.30 280 380 160
10.100 280 380 180
10.1000 280 380 270
11.1000 296 396 480
12.30 230 330 160
12.50 261 361 170
12.100 337 437 180
12.1000 400 500 440

* – the amount of memory consumed doesn't depend on the number of the Recognizer objects created by this method
** – memory consumption when processing_less_memory_consumption was set to true in the FacerecService.createRecognizer call for Recognizer creation

Face Detection

Face Detection speed

Core i7 4.5 GHz (Single-Core)

Configuration fileCapture time (ms)
640x480, 1 face640x480, 4 faces1280x720, 1 face1280x720, 4 faces1920x1080, 1 face1920x1080, 4 faces
common_capturer4_fda.xml13 25 34 49 81 103
common_capturer4_fda_with_angles.xml282 387 260 356 273 370
common_capturer4_mesh.xml18 47 39 72 87 735
common_capturer4_mesh_with_angles.xml291 415 268 383 281 398
common_capturer_blf_fda_auto.xml6-30 12-36 8-32 14-38 19-44 26-51
common_capturer_blf_fda_back.xml30 36 32 38 44 51
common_capturer_blf_fda_front.xml6 12 8 14 19 26
common_capturer_refa_fda_a.xml644 650 512 518 580 586
common_capturer_uld_fda.xml (min_size=150)12 18 13 19 21 28
common_capturer_uld_fda.xml (min_size=90)58 70 60 73 77 91
common_capturer_uld_fda.xml (min_size=50)253 272 253 273 281 302
common_capturer4_fda_singleface.xml16 - 51 - 123 -
common_capturer4_mesh_singleface.xml23 - 58 - 129 -

GPU

Configuration fileCapture time (ms)
640x480, 1 face640x480, 4 faces1280x720, 1 face1280x720, 4 faces1920x1080, 1 face1920x1080, 4 faces
common_capturer_blf_fda_auto.xml4-5 10-12 6-8 13-14 17-20 24-27
common_capturer_blf_fda_back.xml5 12 8 14 20 27
common_capturer_blf_fda_front.xml4 10 6 13 17 24
common_capturer_refa_fda_a.xml236 240 229 235 170 176
common_capturer_uld_fda.xml (min_size=150)4 10 5 11 13 20
common_capturer_uld_fda.xml (min_size=90)14 21 17 23 26 34
common_capturer_uld_fda.xml (min_size=50)27 34 27 35 47 49

Note: Actual capture time may vary depending on the image content.

Click here to see the list of the capturer configuration files
FileDetectorSet of pointsAngles (roll/yaw/pitch)Description and use case
common_capturer4_fda.xmllbffda[-30;30][-60;60][-60;60]Frontal face detector.
common_capturer4_fda_with_angles.xmllbffda[-90;90][-60;60][-60;60]Frontal face detector. Adapted for a wide range of head rotation angles.
common_capturer4_fda_with_angles_noise.xmllbffda[-90;90][-60;60][-60;60]Frontal face detector. Adapted for a wide range of head rotation angles. Suitable for images with high noise level.
common_capturer4_fda_singleface.xmllbffda[-30;30][-60;60][-60;60]Only one frontal face is detected.
common_capturer4_fda_singleface_with_angles.xmllbffda[-90;90][-75;75][-60;60]Only one frontal face is detected. The detector is adapted for a wide range of head rotation angles.
common_capturer4_fda_singleface_with_angles_noise.xmllbffda[-90;90][-75;75][-60;60]Only one frontal face is detected. The detector is adapted for a wide range of head rotation angles. Suitable for images with high noise level.
common_capturer4_lbf.xmllbfdoublelbf[-30;30][-60;60][-60;60]Frontal face detector.
common_capturer4_lbf_singleface.xmllbfdoublelbf[-30;30][-60;60][-60;60]Only one frontal face is detected.
common_capturer4_mesh.xmllbfmesh[-30;30][-60;60][-60;60]Frontal face detector that allows you to get a 3D face mask.
common_capturer4_mesh_with_angles.xmllbfmesh[-90;90][-60;60][-60;60]Frontal face detector adapted for a wide range of head rotation angles that allows you to get a 3D face mask.
common_capturer4_mesh_with_angles_noise.xmllbfmesh[-90;90][-60;60][-60;60]Frontal face detector adapted for a wide range of head rotation angles and suitable for images with high noise level. The detector allows you to get a 3D face mask.
common_capturer4_mesh_singleface.xmllbfmesh[-30;30][-60;60][-60;60]Only one frontal face is detected. The detector allows you to get a 3D face mask.
common_capturer4_mesh_singleface_with_angles.xmllbfmesh[-90;90][-75;75][-60;60]Only one frontal face is detected. The detector is adapted for a wide range of head rotation angles and allows you to get a 3D face mask.
common_capturer4_mesh_singleface_with_angles_noise.xmllbfmesh[-90;90][-75;75][-60;60]Only one frontal face is detected. The detector is adapted for a wide range of head rotation angles, suitable for images with high noise level and allows you to get a 3D face mask.
common_capturer_blf_fda_front.xmlblffda[-70;70][-90;90][-70;70]Detection of large face images (the face should take up most of the frame size). Suitable for detection of masked faces.
common_capturer_blf_fda_back.xmlblffda[-70;70][-90;90][-70;70]Detection of several faces or small face images. Suitable for detection of masked faces.
common_capturer_blf_fda_auto.xmlblffda[-70;70][-90;90][-70;70]Detection of large and small face images (the parameters `resolution_width` and `min_face_size` should be specified in the configuration file). Suitable for detection of masked faces.
common_capturer_refa_fda_a.xmlrefafda[-70;70][-90;90][-70;70]Face detector recommended for use in expert systems. The detector provides face detection with the largest coverage of rotation angles and maximum quality (including masked faces).
common_capturer_uld_fda.xml.xmluldfda[-70;70][-90;90][-70;70]Detection of large and small face images. Suitable for detection of masked faces.
common_video_capturer_fda.xmllbffda[-30;30][-60;60][-60;60]Frontal face video tracker (RGB only).
common_video_capturer_lbf.xmllbfsinglelbf[-30;30][-60;60][-60;60]Frontal face video tracker (RGB only).
common_video_capturer_mesh.xmllbfmesh[-30;30][-60;60][-60;60]Frontal face video tracker (RGB only) that allows you to get a 3D face mask.
fda_tracker_capturer.xmllbffda[-30;30][-60;60][-60;60]Frontal face video tracker.
fda_tracker_capturer.w.xmllbffda[-30;30][-60;60][-60;60]Frontal face video tracker that can be used in case of insufficient lighting. Note that false detections can occur a bit more often in this case.
fda_tracker_capturer_mesh.xmllbffda[-30;30][-60;60][-60;60]Frontal face video tracker that allows you to get a 3D face mask.
fda_tracker_capturer_fake_detector.xmllbffda[-30;30][-60;60][-60;60]Detection speed is higher because only fitter is used (no detector). Suitable only if a face takes up most of the image size.
fda_tracker_capturer_blf.xmlblffda[-30;30][-60;60][-60;60]Frontal face video tracker. Suitable for detection of masked faces.
fda_tracker_capturer_refa_a.xmlrefafda[-70;70][-90;90][-70;70]Frontal face video tracker. Recommended for use in expert systems. The tracker provides face detection with the largest coverage of rotation angles and maximum quality (including masked faces).
fda_tracker_capturer_uld_fda.xml.xmluldfda[-70;70][-90;90][-70;70]Frontal face video tracker that can be used to detect faces of different size. Suitable for detection of masked faces.
manual_capturer_fda.xmllbffda[-30;30][-60;60][-60;60]Eye points should be manually specified. The remaining points are calculated based on the eye points.
manual_capturer_mesh.xmllbfmesh[-30;30][-60;60][-60;60]Eye points should be manually specified. The remaining points are calculated based on the eye points that allows you to get a 3D face mask.
video_worker_fdatracker_refa_fda.xmlrefafda[-70;70][-90;90][-70;70]Face detector recommended for use in expert systems. The detector provides face detection with the largest coverage of rotation angles and maximum quality (including masked faces).

Face detection speed using CPU and GPU

The tables in this section show the speed measurements for Face SDK modules using CPU and GPU.

DetectorGPU (NVIDIA GTX 1080 Ti)CPU (Core i7-7700K 4.4GHz)
ULD35ms200ms
BLF14ms38ms
REFA235ms518ms

Speed is indicated for 4 faces in an image with a resolution of 1280x720.

Estimation of Face Attributes

Estimation accuracy

Face AttributesAccuracy
Gender95%
Emotion80%
Age3.95 y/o (mean Average Error)
No mask (face without a mask)99%
Has mask (face with a mask)97%