findface-security

Компонент findface-security обеспечивает доступ конечного пользователя к функциям ядра FindFace. Отвечает за взаимодействие между ядром FindFace Core и веб-интерфейсом, а также функционирование системы как единого целого, реализует HTTP- и веб-сокеты (вместе с Django), обновление базы данных и вебхуки.

Компонент findface-security также выполняет функции компонента findface-facerouter (часть ядра FindFace), задавая правила обработки обнаруженных лиц. Он получает рамку с лицом и нормализованное изображение лица вместе с исходным кадром и другими данными (например, датой и временем детекции) от сервиса findface-video-worker и перенаправляет их для дальнейшей обработки в сервис findface-sf-api.

Настройка компонента findface-security выполняется через файл конфигурации /etc/ffsecurity/config.py.

sudo vi /etc/ffsecurity/config.py

MEDIA_ROOT = "/var/lib/ffsecurity/uploads"
STATIC_ROOT = "/var/lib/ffsecurity/static"

EXTERNAL_ADDRESS = "http://172.20.77.58"

DEBUG = False

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.postgresql',
       'NAME': 'ffsecurity',
   }
}

# use pwgen -sncy 50 1|tr "'" "." to generate your own unique key
SECRET_KEY = 'c8b533847bbf7142102de1349d33a1f6'

FFSECURITY = {
   'VIDEO_DETECTOR_TOKEN': '381b0f4a20495227d04185ab02f5085f',
   'CONFIDENCE_THRESHOLD': 0.75,
   'MINIMUM_DOSSIER_QUALITY': -2,
   'IGNORE_UNMATCHED': False,
   'EXTRACTION_API': 'http://127.0.0.1:18666/',
   'VIDEO_MANAGER_ADDRESS': 'http://127.0.0.1:18810',
   'EVENTS_MAX_AGE': 30,
   'NTLS_HTTP_URL': 'http://127.0.0.1:3185',
   'ROUTER_URL': 'http://172.20.77.58',
   'MONITORING_UPDATE_INTERVAL': 60,
   'SF_API_ADDRESS': 'http://127.0.0.1:18411',
   'EVENTS_FEATURES': ['gender', 'age', 'emotions', 'beard', 'glasses'],
   'LIVENESS_THRESHOLD': 0.945,
   'BEARD_THRESHOLD': 0.7,
}

ASGI_THREADS = 16

UVICORN_SETTINGS = {
   'workers': 4,
   'host': 'localhost',
   'port': 8002,
 }

FFSECURITY_UI_CONFIG = {
   "event": {
       "features": {
           "f_gender_class": ["male", "female"],
           "age": {
               "f_age_gte": "",
               "f_age_lte": ""
           },
           "f_emotions_class": ["angry", "disgust", "fear", "happy", "sad", "surprise"],
           "f_glasses_class": ["none", "eye", "sun"],
           "f_beard_class": ["none", "beard"],
           "f_liveness_class": ["real", "fake"],
       }
   }
}

# integration plugins
INSTALLED_APPS.append('ffsecurity_genetec')  # remove or comment out this line to disable genetec integration

Пользовательская настройка findface-security выполняется с использованием следующих параметров:

Параметр Описание
EXTERNAL_ADDRESS Внешний IP-адрес или URL, который будет использован для доступа к веб-интерфейсу FindFace Security.
VIDEO_DETECTOR_TOKEN Придумайте токен и укажите его в данном параметре, чтобы авторизовать модуль видеодетекции лиц.
VIDEO_MANAGER_ADDRESS IP-адрес сервера findface-video-manager.
NTLS_HTTP_URL IP-адрес сервера findface-ntls.
ROUTER_URL IP-адрес сервера findface-security, который будет получать обнаруженные на видео лица от экземпляров findface-video-worker. Адрес указывается внутренний или внешний, в зависимости от сети, в которой findface-video-worker взаимодействует с findface-security.
SF_API_ADDRESS IP-адрес сервера findface-sf-api.
IGNORE_UNMATCHED Отключает запись события в базу данных, если обнаруженное лицо отсутствует в списках наблюдения (верификация дала отрицательный результат). Данную настройку рекомендуется использовать при большом количестве посетителей. Пороговая степень схожести при верификации лиц определяется параметром CONFIDENCE_THRESHOLD.
CONFIDENCE_THRESHOLD Пороговая степень схожести при верификации
MINIMUM_DOSSIER_QUALITY Минимальное качество лица на фотографии в досье. Если качество лица хуже минимального, пользователь не сможет загрузить такую фотографию в досье. Прямые изображения лиц анфас считаются наиболее качественными. Им соответствуют значения вблизи 0, как правило, отрицательные (такие как -0.00067401276, например). Перевернутые лица и лица, повернутые под большими углами, характеризуются отрицательным значениям от -5 и меньше. По умолчанию ’MINIMUM_DOSSIER_QUALITY’: -2, что соответствует среднему качеству.
EVENTS_FEATURES Перечислите здесь модели для распознавания атрибутов лица, которые вы прописали в файле конфигурации findface-extraction-api.
LIVENESS_THRESHOLD Детектор живых лиц оценивает живость лица с определенной достоверностью. В зависимости от порогового значения достоверности, он возвращает бинарный результат Живой человек или Изображение.
BEARD_THRESHOLD Присутствие на лице бороды оценивается с определенной достоверностью. В зависимости от порогового значения достоверности, система возвращает бинарный результат нет или борода.
EPISODE_SEARCH_INTERVAL (Добавьте вручную для эпизодов) Период времени, предшествующий событию, в течение которого система ищет в биометрической базе данных события с похожими лицами. Если такого события не найдено, система создает новый эпизод. В противном случае она выбирает наиболее подходящее событие из открытого (LIVE) эпизода, отсортировав 100 последних похожих лиц. См. Настройка эпизодов.
EPISODE_MAX_DURATION (Добавьте вручную для эпизодов) Максимальная продолжительность эпизода в секундах. По истечении этого времени эпизод автоматически закрывается.
EPISODE_EVENT_TIMEOUT (Добавьте вручную для эпизодов) Максимальное время в секундах с момента добавления последнего события в эпизод. По истечении этого времени эпизод автоматически закрывается.

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

Секция FFSECURITY должна заканчиваться параметрами EVENTS_FEATURES/ LIVENESS_THRESHOLD/ BEARD_THRESHOLD, которые должны быть расположены друг за другом в указанном порядке.

...
'SF_API_ADDRESS': 'http://127.0.0.1:18411',
'EVENTS_FEATURES': ['gender', 'age', 'emotions', 'beard', 'glasses'],
'LIVENESS_THRESHOLD': 0.945,
'BEARD_THRESHOLD': 0.7,