Распознавание атрибутов лица

ПК FindFace позволяет распознавать в реальном времени такие атрибуты лица, как пол, возраст, эмоции, очки, борода и медицинская маска. Данный функционал доступен как на GPU-, так и на CPU-видеодетекторе лиц.

В этом разделе:

Включение распознавания атрибутов лица

Важно

На данном шаге включается распознавание атрибутов лица на уровне HTTP API.

Для того чтобы включить автоматическое распознавание атрибутов лица, откройте файл конфигурации /etc/findface-extraction-api.ini и включите соответствующие модели: пол, возраст, эмоции, очки, борода и медицинская маска. Удостоверьтесь, что для каждой модели вы указали правильный тип ускорения CPU или GPU: он должен совпадать с типом ускорения findface-extraction-api. Обратите внимание, что findface-extraction-api на CPU может работать только с CPU-моделями, в то время как findface-extraction-api на GPU поддерживает как GPU-, так и CPU-модели.

sudo vi /etc/findface-extraction-api.ini

models:
  age: faceattr/age.v1.cpu.fnk
  emotions: faceattr/emotions.v1.cpu.fnk
  face: face/jackfruit_480.cpu.fnk
  gender: faceattr/gender.v2.cpu.fnk
  beard: faceattr/beard.v0.cpu.fnk
  glasses3: faceattr/glasses3.v0.cpu.fnk
  medmask3: faceattr/medmask3.v2.cpu.fnk

Доступны следующие модели:

Примечание

Вы можете найти модели для распознавания атрибутов лица в каталоге /usr/share/findface-data/models/faceattr/.

ls /usr/share/findface-data/models/faceattr/
age.v1.cpu.fnk  age.v1.gpu.fnk  beard.v0.cpu.fnk  beard.v0.gpu.fnk  emotions.v1.cpu.fnk  emotions.v1.gpu.fnk  gender.v2.cpu.fnk  gender.v2.gpu.fnk  glasses3.v0.cpu.fnk  glasses3.v0.gpu.fnk medmask3.v2.cpu.fnk medmask3.v2.gpu.fnk liveness.alleyn.v2.gpu.fnk quality.v1.cpu.fnk quality.v1.gpu.fnk

Атрибут лица

Ускорение

Параметр в файле конфигурации

биометрия лица

CPU

face: face/ifruit_320.cpu.fnk face: face/jackfruit_160.cpu.fnk face: face/jackfruit_320.cpu.fnk face: face/jackfruit_480.cpu.fnk

GPU

face: face/ifruit_320.gpu.fnk face: face/jackfruit_160.gpu.fnk face: face/jackfruit_320.gpu.fnk face: face/jackfruit_480.gpu.fnk

возраст

CPU

age: faceattr/age.v1.cpu.fnk

GPU

age: faceattr/age.v1.gpu.fnk

пол

CPU

gender: faceattr/gender.v2.cpu.fnk

GPU

gender: faceattr/gender.v2.gpu.fnk

эмоции

CPU

emotions: faceattr/emotions.v1.cpu.fnk

GPU

emotions: faceattr/emotions.v1.gpu.fnk

очки

CPU

glasses3: faceattr/glasses3.v0.cpu.fnk

GPU

glasses3: faceattr/glasses3.v0.gpu.fnk

борода

CPU

beard: faceattr/beard.v0.cpu.fnk

GPU

beard: faceattr/beard.v0.gpu.fnk

медицинская маска

CPU

medmask3: faceattr/medmask3.v2.cpu.fnk

GPU

medmask3: faceattr/medmask3.v2.gpu.fnk

Совет

Для того чтобы отключить модель распознавания, передайте в соответствующий параметр пустое значение. Не удаляйте сам параметр, поскольку в этом случае будет выполняться поиск модели по умолчанию.

models:
  gender: ""
  age: ""
  emotions: ""

Перезапустите findface-extraction-api.

sudo systemctl restart findface-extraction-api

После включения моделей обязательно настройте отображение атрибутов в веб-интерфейсе.

Отображение результатов распознавания атрибутов в событиях

Для отображения результатов распознавания атрибутов лица в списке событий, добавьте следующую строку в секцию FFSECURITY: ’EVENTS_FEATURES’: [‘gender’, ‘age’, ‘emotions’, ‘beard’, ‘glasses’, ‘medmask’], в зависимости от того, какие модели были включены.

Предупреждение

Данная строка должна быть расположена между строками SF_API_ADDRESS и LIVENESS_THRESHOLD, как показано в примере ниже.

sudo vi /etc/findface-security/config.py

...
FFSECURITY = {
...
'SF_API_ADDRESS': 'http://127.0.0.1:18411',
'EVENTS_FEATURES': ['gender', 'age', 'emotions', 'beard', 'glasses', 'medmask'],
'LIVENESS_THRESHOLD': 0.85,
'BEARD_THRESHOLD': 0.7,
 }

Перезапустите findface-security.

sudo systemctl restart findface-security

Атрибуты лиц в событиях

После настройки распознавания атрибутов лиц результат распознавания будет выводится для каждого обнаруженного лица в следующем формате:

Атрибут лица

Формат результата

Пример

Возраст

Атрибут: возраст: количество лет

возраст: 33

Пол

Результат: мужской/женский (атрибут: пол): уверенность алгоритма в результате

женский (пол): 0.95

Эмоции

Результат: злость/отвращение/страх/счастье/грусть/удивление (атрибут: эмоции): уверенность алгоритма в результате

счастье (эмоции): 0.99

Очки

Результат: медицинские/солнечные/нет (атрибут: очки): уверенность алгоритма в результате

нет (очки): 0.87

Борода

Результат: борода/нет (атрибут: борода): уверенность алгоритма в результате

нет (борода): 0.91

Медицинская маска

Результат: нет/есть/неправильно (атрибут: медицинская маска): уверенность алгоритма в результате

нет (медицинская маска): 0.93

При необходимости выполните фильтрацию событий по атрибутам лица.

filters_ru