Распознавание живых лиц (liveness
)
Детектор витальности лиц FindFace Multi отличает живое лицо от его имитации, представленной, например, фотографией, видеозаписью или маской. Детектор оценивает витальность лица с определенным уровнем достоверности и возвращает оценку достоверности вместе с бинарным результатом истинное лицо
/изображение
, в зависимости от предустановленного порога liveness
.
Для видеопотоков с камер и видеофайлов определение liveness
осуществляется сервисом findface-video-worker
. Включить определение liveness
можно в ходе стандартной установки продукта, ответив y
на вопрос Enable liveness and attempt to continue installation?(y/n)
(Включить детектор витальности лиц liveness
и продолжить установку? (y/n). При пропуске данного шага можно впоследствии включить детектор витальности лиц вручную, руководствуясь инструкцией в данном разделе.
Примечание
Детектор витальности лиц работает как на CPU-, так и на GPU-ускорении, однако на CPU он гораздо медленнее.
Помимо определения liveness
сервисом findface-video-worker
, FindFace Multi предоставляет сервис определения живых лиц на основе API findface-liveness-api
. Сервис findface-liveness-api
автоматически устанавливается и включается во время стандартного развертывания, так как FindFace Multi использует его для аутентификации по лицу. Данный сервис поддерживает CPU- или GPU-декодирование.
Определение liveness
можно включить на внешних детекторах. Кадры с внешних детекторов обрабатываются сервисом findface-extraction-api
, который поддерживает CPU- или GPU-ускорение. Модель экстракции для определения витальности лиц faceattr.liveness_web.v1
, включенная в конфигурацию findface-extraction-api.yaml
по умолчанию, используется для аутентификации по лицу. Если сценарий использования подразумевает определение liveness
на внешнем детекторе, вы можете заменить модель, установленную по умолчанию, на модель нейронной сети, рекомендуемую для обнаружения живых лиц на камерах СКУД. Подробнее см. в разделе Настройка модели распознавания витальности.
В этом разделе:
Включение детектора витальности лиц
Для включения детектора витальности лиц на видеопотоках и загруженных видеофайлах выполните следующие действия:
Откройте файл конфигурации
/opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml
. В разделеliveness
укажите модели нейронных сетей, как показано в примере:GPU
sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml liveness: fnk: /usr/share/findface-data/models/faceattr/faceattr.liveness_pacs.v3.gpu.fnk norm: /usr/share/findface-data/models/facenorm/crop2x.v2_maxsize400.gpu.fnk ...
CPU
sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml liveness: fnk: /usr/share/findface-data/models/faceattr/faceattr.liveness_pacs.v3.cpu.fnk norm: /usr/share/findface-data/models/facenorm/crop2x.v2_maxsize400.cpu.fnk ...
Перезапустите контейнер
findface-multi-findface-video-worker-1
.sudo docker restart findface-multi-findface-video-worker-1
Настройка порога liveness
При необходимости вы можете настроить пороговое значение для liveness
в файле конфигурации /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
. Детектор витальности лиц оценивает витальность лица с определенной степенью достоверности. В зависимости порогового значения достоверности, он возвращает бинарный результат истинное лицо
или изображение
.
Примечание
Значение по умолчанию является оптимальным. Перед изменением порога проконсультируйтесь у наших специалистов по адресу support@ntechlab.com.
sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
FFSECURITY = {
...
# feature specific confidence thresholds
'LIVENESS_THRESHOLD': 0.885, # model: [faceattr.liveness_pacs.v3]
...
Выполните перезапуск контейнеров FindFace Multi.
cd /opt/findface-multi/
sudo docker-compose restart