Результаты бенчмарков
Тестирование методов распознавания Face SDK
Точность работы методов распознавания по результатам NIST
В таблице представлены показатели точности работы методов распознавания Face SDK по результатам Национального института стандартов и технологий (National Institute of Standards and Technology, NIST):
NIST Face Recognition Vendor Test (FRVT) 1:1 | Показатель |
VISA* True Acceptance Rate (@FAR 1E-6) | 99,65% |
Mugshot* True Acceptance Rate (@FAR 1E-5) | 99,76% |
Border* True Acceptance Rate (@FAR: 1E-6) | 99,35% |
WILD* True Acceptance Rate (@FAR 1E-4) | 96,94% |
Нажмите, чтобы ознакомиться с описанием типов изображений из таблицы*
- VISA – полнофронтальные изображения размером 252x300 пикселей. Среднее расстояние между глазами (IOD) составляет 69 пикселей.
- Mugshot – полнофронтальное изображения разных размеров. Среднее значение IOD составляет 113 пикселей.
- Border – изображения сделаны камерой. Возможны различные значения углов наклона и поворота головы. Присутствует сильное фоновое освещение, в результате чего изображение лица затемнено. Присутствует некоторое искажение перспективы из-за съемок с близкого расстояния. Некоторые лица частично обрезаны.
- Wild – множество изображений в стиле фотожурналистики. Разрешение варьируется в очень широких пределах. Углы поворота и наклона головы варьируются. Лица могут быть закрыты, например, волосами и руками.
Точность работы методов распознавания на расширенном LFW датасете с типом изображений Wild
В тесте используется расширенный LFW датасет (LFW датасет + наш внутренний датасет), увеличен набор mismatch-пар и исправлены ошибки LFW для точных измерений при низких значениях FAR.
FAR | 9.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-кривая
Скорость извлечения биометрического шаблона с использованием CPU и GPU
Результаты замеров для ПК (Desktop)
Метод распознавания | GPU (NVIDIA GTX 1070) | CPU (Core i5-9400 4.0GHz) |
12v1000 | 47 мс | 442 мс |
9v300 | 10 мс | 292 мс |
12v100 | 8 мс | 49 мс |
12v50 | 6 мс | 21 мс |
12v30 | 5 мс | 12 мс |
Результаты замеров для мобильных устройств
Метод распознавания | CPU (Qualcomm Snapdragon 845) |
12v1000 | 7968 мс |
9v300 | 1960 мс |
12v100 | 801 мс |
12v50 | 270 мс |
12v30 | 150 мс |
Примечание. Тестирование производилось с использованием Google Pixel 3.
Скорость работы методов распознавания на CPU
- Intel Xeon E5-2683 v4 GHz*
- CPU Core i7 4.5 GHz*
Метод распознавания | Создание шаблона (мс) | Идентификация 1:N с ускорением (мс) | Верификация 1:1 (мс) | ||
---|---|---|---|---|---|
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 | 55 | 0,18 | 12,0 | 117 | 0,04 |
9.300 | 402 | 0,18 | 12,0 | 117 | 0,04 |
9.1000 | 1092 | 0,18 | 12,0 | 117 | 0,04 |
9.30mask | 38 | 0,18 | 12,0 | 117 | 0,04 |
9.300mask | 263 | 0,18 | 12,0 | 117 | 0,04 |
9.1000mask | 469 | 0,18 | 12,0 | 117 | 0,04 |
10.30 | 44 | 0,18 | 12,0 | 117 | 0,04 |
10.100 | 71 | 0,18 | 12,0 | 117 | 0,04 |
10.1000 | 1061 | 0,18 | 12,0 | 117 | 0,04 |
11.1000 | 1396 | 0,22 | 15,0 | 151 | 0,04 |
12.30 | 23*** | 0,20 | 15,0 | 120 | 0,04 |
12.50 | 37*** | 0,20 | 15,0 | 120 | 0,04 |
12.100 | 79*** | 0,20 | 15,0 | 120 | 0.04 |
12.1000 | 647*** | 0,40 | 20,0 | 170 | 0,04 |
Метод распознавания | Создание шаблона (мс) | Идентификация 1:N с ускорением (мс) | Верификация 1:1 (мс) | ||
---|---|---|---|---|---|
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 |
* – Характеристики указаны для одного ядра процессора.
** – Время создания шаблона при параметре processing_less_memory_consumption
с установленным значением true
при вызове метода FacerecService.createRecognizer
для создания объекта Recognizer.
*** – Время создания шаблона с использованием инструкций AVX2 (Узнайте больше в разделе Распознавание лиц).
Примечания:
- Время ускоренного поиска приведено для
k=1
, при больших значенияхk
время будет увеличиваться до времени поиска без ускорения. - Ускоренный поиск реализован только для методов распознавания 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 .
- Для достижения этих скоростей шаблоны в индексе дожны быть расположены в порядке их создания (через метод
Recognizer.processing
илиRecognizer.loadTemplate
). - Для достижения более высоких скоростей можно использовать GPU (Узнайте больше в разделе Использование GPU).
Характеристики памяти
Метод распознавания | Размер сериализованного шаблона (Байт) | Размер шаблона в оперативной памяти (Байт) | Потребление памяти* (МБ) |
---|---|---|---|
6.7 | 536 | 636 | 105 (85**) |
7.7 | 536 | 636 | 195 (163**) |
8.7 | 536 | 636 | 52 (40**) |
9.30 | 280 | 380 | 155 |
9.300 | 280 | 380 | 210 |
9.1000 | 280 | 380 | 290 |
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 |
* – Количество используемой памяти не зависит от количества созданных объектов Recognizer
этого метода.
** – Потребление памяти при параметре processing_less_memory_consumption
с установленным значением true
при вызове метода FacerecService.createRecognizer
для создания объекта Recognizer.
Тестирование детекторов Face SDK
Скорость работы детекторов
- CPU Intel Xeon E5-2683 v4 (1 ядро)
- GPU (NVIDIA GTX 1080 Ti)
- CPU Core i7 4.5 GHz (1 ядро)
Файл конфигурации | Время детекции (мс) | |||||
---|---|---|---|---|---|---|
640x480, 1 лицо | 640x480, 4 лица | 1280x720, 1 лицо | 1280x720, 4 лица | 1920x1080, 1 лицо | 1920x1080, 4 лица | |
common_capturer_blf_fda_auto.xml | 9-43 | 17-52 | 17-50 | 17-55 | 33-69 | 25-57 |
common_capturer_blf_fda_back.xml | 43 | 52 | 50 | 55 | 67 | 57 |
common_capturer_blf_fda_front.xml | 9 | 17 | 17 | 17 | 33 | 25 |
common_capturer_refa_fda_a.xml | 1001 | 996 | 777 | 792 | 864 | 858 |
common_capturer_uld_fda.xml (min_size=150) | 19 | 28 | 24 | 29 | 36 | 30 |
common_capturer_uld_fda.xml (min_size=90) | 88 | 97 | 93 | 100 | 109 | 102 |
common_capturer_uld_fda.xml (min_size=50) | 377 | 385 | 375 | 385 | 402 | 397 |
safety_city_q1.xml | 99 | 107 | 100 | 112 | 110 | 117 |
safety_city_q2.xml | 376 | 383 | 379 | 385 | 399 | 393 |
remote_identification_q1.xml | 1000 | 1001 | 773 | 791 | 863 | 858 |
remote_identification_q2.xml | 44 | 51 | 50 | 55 | 66 | 56 |
access_control_system_one_face_q1.xml | 44 | 52 | 50 | 56 | 66 | 56 |
access_control_system_one_face_q2.xml | 43 | 52 | 50 | 55 | 67 | 55 |
access_control_system_one_face_q3.xml | 88 | 96 | 94 | 98 | 107 | 102 |
access_control_system_several_faces_q1.xml | 1004 | 1007 | 773 | 788 | 863 | 858 |
access_control_system_several_faces_q2.xml | 87 | 95 | 92 | 98 | 106 | 101 |
common_capturer4_fda.xml | 23 | 35 | 49 | 108 | 94 | 143 |
common_capturer4_fda_with_angles.xml | 481 | 697 | 414 | 768 | 312 | 410 |
common_capturer4_mesh.xml | 27 | 60 | 57 | 142 | 102 | 175 |
common_capturer4_mesh_with_angles.xml | 492 | 732 | 424 | 788 | 321 | 443 |
common_capturer4_fda_singleface.xml | 31 | - | 60 | - | 112 | - |
common_capturer4_mesh_singleface.xml | 34 | - | 68 | - | 120 | - |
Файл конфигурации | Время детекции (мс) | |||||
---|---|---|---|---|---|---|
640x480, 1 лицо | 640x480, 4 лица | 1280x720, 1 лицо | 1280x720, 4 лица | 1920x1080, 1 лицо | 1920x1080, 4 лица | |
common_capturer_blf_fda_auto.xml | 4-5 | 10-12 | 6-8 | 13-14 | 17-20 | 24-27 |
common_capturer_blf_fda_back.xml | 5 | 12 | 8 | 14 | 20 | 27 |
common_capturer_blf_fda_front.xml | 4 | 10 | 6 | 13 | 17 | 24 |
common_capturer_refa_fda_a.xml | 236 | 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 |
Файл конфигурации | Время детекции (мс) | |||||
---|---|---|---|---|---|---|
640x480, 1 лицо | 640x480, 4 лица | 1280x720, 1 лицо | 1280x720, 4 лица | 1920x1080, 1 лицо | 1920x1080, 4 лица | |
common_capturer4_fda.xml | 13 | 25 | 34 | 49 | 81 | 103 |
common_capturer4_fda_with_angles.xml | 282 | 387 | 260 | 356 | 273 | 370 |
common_capturer4_mesh.xml | 18 | 47 | 39 | 72 | 87 | 735 |
common_capturer4_mesh_with_angles.xml | 291 | 415 | 268 | 383 | 281 | 398 |
common_capturer_blf_fda_auto.xml | 6-30 | 12-36 | 8-32 | 14-38 | 19-44 | 26-51 |
common_capturer_blf_fda_back.xml | 30 | 36 | 32 | 38 | 44 | 51 |
common_capturer_blf_fda_front.xml | 6 | 12 | 8 | 14 | 19 | 26 |
common_capturer_refa_fda_a.xml | 644 | 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.xml | 16 | - | 51 | - | 123 | - |
common_capturer4_mesh_singleface.xml | 23 | - | 58 | - | 129 | - |
Примечание. Время работы может значительно меняться в зависимости от содержания изображения.
Перечень файлов конфигурации объекта Capturer:
Нажмите, чтобы ознакомиться с описанием файлов конфигурации объекта Capturer
Файл | Детектор | Набор точек | Углы (roll/yaw/pitch) | Описание и применение |
common_capturer4_fda.xml | lbf | fda | [-30;30][-60;60][-60;60] | Детектор фронтальных лиц. |
common_capturer4_fda_with_angles.xml | lbf | fda | [-90;90][-60;60][-60;60] | Детектор фронтальных лиц. Адаптирован под работу с большим диапазоном углов поворота головы. |
common_capturer4_fda_with_angles_noise.xml | lbf | fda | [-90;90][-60;60][-60;60] | Детектор фронтальных лиц. Адаптирован под работу с большим диапазоном углов поворота головы. Подходит для изображений с высоким уровнем шума. |
common_capturer4_fda_singleface.xml | lbf | fda | [-30;30][-60;60][-60;60] | Детектируется только одно фронтальное лицо. |
common_capturer4_fda_singleface_with_angles.xml | lbf | fda | [-90;90][-75;75][-60;60] | Детектируется только одно фронтальное лицо. Детектор адаптирован под работу с большим диапазоном углов поворота головы. |
common_capturer4_fda_singleface_with_angles_noise.xml | lbf | fda | [-90;90][-75;75][-60;60] | Детектируется только одно фронтальное лицо. Детектор адаптирован под работу с большим диапазоном углов поворота головы. Подходит для изображений с высоким уровнем шума. |
common_capturer4_lbf.xml | lbf | doublelbf | [-30;30][-60;60][-60;60] | Детектор фронтальных лиц. |
common_capturer4_lbf_singleface.xml | lbf | doublelbf | [-30;30][-60;60][-60;60] | Детектируется только одно фронтальное лицо. |
common_capturer4_mesh.xml | lbf | mesh | [-30;30][-60;60][-60;60] | Детектор фронтальных лиц. Позволяет получить 3D маску лица. |
common_capturer4_mesh_with_angles.xml | lbf | mesh | [-90;90][-60;60][-60;60] | Детектор фронтальных лиц. Адаптирован под работу с большим диапазоном углов поворота головы. Позволяет получить 3D маску лица. |
common_capturer4_mesh_with_angles_noise.xml | lbf | mesh | [-90;90][-60;60][-60;60] | Детектор фронтальных лиц. Адаптирован под работу с большим диапазоном углов поворота головы. Подходит для изображений с высоким уровнем шума. Позволяет получить 3D маску лица. |
common_capturer4_mesh_singleface.xml | lbf | mesh | [-30;30][-60;60][-60;60] | Детектируется только одно фронтальное лицо. Позволяет получить 3D маску лица. |
common_capturer4_mesh_singleface_with_angles.xml | lbf | mesh | [-90;90][-75;75][-60;60] | Детектируется только одно фронтальное лицо. Детектор адаптирован под работу с большим диапазоном углов поворота головы. Позволяет получить 3D маску лица. |
common_capturer4_mesh_singleface_with_angles_noise.xml | lbf | mesh | [-90;90][-75;75][-60;60] | Детектируется только одно фронтальное лицо. Детектор адаптирован под работу с большим диапазоном углов поворота головы. подходит для изображений с высоким уровнем шума. Позволяет получить 3D маску лица. |
common_capturer_blf_fda_front.xml | blf | fda | [-70;70][-90;90][-70;70] | Детекция крупных изображений лиц (т.е. лицо занимает большую часть кадра). Подходит для детекции лиц в масках. |
common_capturer_blf_fda_back.xml | blf | fda | [-70;70][-90;90][-70;70] | Детекция нескольких лиц, либо небольших изображений лица. Подходит для детекции лиц в масках. |
common_capturer_blf_fda_auto.xml | blf | fda | [-70;70][-90;90][-70;70] | Детекция лиц разного размера (требуется указать в конфигурационном файле параметры `resolution_width` и `min_face_size`). Подходит для детекции лиц в масках. |
common_capturer_refa_fda_a.xml | refa | fda | [-70;70][-90;90][-70;70] | Детектор лиц, рекомендуемый для использования в экспертных системах. Обеспечивает детекцию лиц с наибольшим покрытием углов поворота и максимальным качеством (в т.ч. в масках). |
common_capturer_uld_fda.xml | uld | fda | [-70;70][-90;90][-70;70] | Детекция лиц разного размера. Подходит для детекции лиц в масках. |
common_video_capturer_fda.xml | lbf | fda | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц (работает только с цветными изображениями). |
common_video_capturer_lbf.xml | lbf | singlelbf | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц (работает только с цветными изображениями). |
common_video_capturer_mesh.xml | lbf | mesh | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц (работает только с цветными изображениями). Позволяет получить 3D маску лица. |
fda_tracker_capturer.xml | lbf | fda | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц. |
fda_tracker_capturer.w.xml | lbf | fda | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц. Предназначен для детекции лиц при низком качестве освещения. Вероятность ложных детекций при этом немного выше. |
fda_tracker_capturer_mesh.xml | lbf | fda | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц. Позволяет получить 3D маску лица. |
fda_tracker_capturer_fake_detector.xml | lbf | fda | [-30;30][-60;60][-60;60] | Детекция происходит быстрее за счет работы одного фиттера (без детектора). Работает только на лицах, занимающих большую часть изображения. |
fda_tracker_capturer_blf.xml | blf | fda | [-30;30][-60;60][-60;60] | Видеотрекер фронтальных лиц. Подходит для детекции лиц в масках. |
fda_tracker_capturer_refa_a.xml | refa | fda | [-70;70][-90;90][-70;70] | Видеотрекер фронтальных лиц. Предназначен для использования в экспертных системах. Обеспечивает детекцию лиц с наибольшим покрытием углов поворота и максимальным качеством (в т.ч. в масках). |
fda_tracker_capturer_uld_fda.xml | uld | fda | [-70;70][-90;90][-70;70] | Видеотрекер фронтальных лиц. Позволяет детектировать лица разного размера. Подходит для детекции лиц в масках. |
manual_capturer_fda.xml | lbf | fda | [-30;30][-60;60][-60;60] | Требует указания точек глаз вручную. На основании точек глаз рассчитываются остальные точки на лице. |
manual_capturer_mesh.xml | lbf | mesh | [-30;30][-60;60][-60;60] | Требует указания точек глаз вручную. На основании точек глаз рассчитываются остальные точки на лице. Позволяет получить 3D маску лица. |
Тестирование процессинг-блоков Face SDK
Скорость работы детекторов
- CPU Intel Xeon E5-2683 v4 (1 ядро)
Тип | Модификация | Версия | Время детекции (мс) | ||
---|---|---|---|---|---|
640x480, 4 лица | 1280x720, 4 лица | 1920x1080, 4 лица | |||
FACE_DETECTOR | uld (min_size=150) | 1 | 7 | 8 | 9 |
uld (min_size=100) | 1 | 37 | 40 | 43 | |
uld (min_size=50) | 1 | 193 | 192 | 203 | |
ssyv | 1 | 153 | 153 | 157 | |
ssyv | 2 | 47 | 49 | 54 | |
ssyv | 3 | 96 | 99 | 104 | |
blf_front | 1 | 4 | 6 | 11 | |
blf_back | 1 | 12 | 14 | 20 | |
HUMAN_BODY_DETECTOR | ssyv | 1 | 238 | 241 | 244 |
OBJECT_DETECTOR | ssyx | 1 | 2027 | 2023 | 2028 |
Скорость работы эстиматоров
- CPU Intel Xeon E5-2683 v4 (1 ядро)
Тип | Модификация | Версия | Время оценки (мс) |
---|---|---|---|
LIVENESS_ESTIMATOR | v4 | 1 | 733 |
1 | 41 | ||
EMOTION_ESTIMATOR | heavy | 1 | 29 |
AGE_ESTIMATOR | heavy | 1 | 2 |
heavy | 2 | 6 | |
light | 1 | 2 | |
light | 2 | 6 | |
GENDER_ESTIMATOR | heavy | 1 | 2 |
heavy | 2 | 6 | |
light | 1 | 2 | |
light | 2 | 6 | |
MASK_ESTIMATOR | light | 1 | 2 |
light | 2 | 2 | |
QUALITY_ASSESSMENT_ESTIMATOR | assessment | 1 | 65 |
estimation | 1 | 97 | |
HUMAN_POSE_ESTIMATOR | heavy | 1 | 195 |
FACE_FITTER | tddfa_faster | 1 | 3 |
tddfa | 1 | 7 | |
mesh | 1 | 7 |
Точность работы эстиматоров
- QUALITY_ASSESSMENT_ESTIMATOR
- LIVENESS_ESTIMATOR
- AGE_ESTIMATOR
- GENDER_ESTIMATOR
Модификация | Процент отбрасываемых по total_score худших сэмплов | FNMR | FPR |
assessment | 1 | 0.0097 | 1.98E-07 |
5 | 0.0087 | 2.00E-07 | |
10 | 0.0081 | 2.11E-07 | |
estimation | 1 | 0.0079 | 1.93E-07 |
5 | 0.0062 | 1.93E-07 | |
10 | 0.0059 | 1.97E-07 |
Модификация | BPCER | APCER |
0.19 | 0.27 | |
v4 | 0.028 | 0.133 |
Модификация | Версия | Точность, лет(средняя погрешность) |
heavy | 1 | 4.7 |
2 | 3.5 | |
light | 1 | 5.5 |
2 | 4.9 |
Модификация | Версия | Точность, % |
heavy | 1 | 96 |
2 | 97 | |
light | 1 | 95 |
2 | 96 |
Точность определения атрибутов лица
Атрибут | Точность |
Пол | 95% |
Эмоции | 80% |
Возраст | 3.95 лет (средняя погрешность) |
Нет маски на лице | 99% |
Есть маска на лице | 97% |