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" # SERVICE_EXTERNAL_ADDRESS prioritized for webhooks and genetec SERVICE_EXTERNAL_ADDRESS = 'http://172.20.77.10' EXTERNAL_ADDRESS = '' 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 = 'b9bd9f8e2ae9df0ab4671f87983a4738' FFSECURITY = { 'VIDEO_DETECTOR_TOKEN': '638f4788aa1401bf1f4d6f6b56604774', 'CONFIDENCE_THRESHOLD': 0.75, 'EPISODES_THRESHOLD': 0.7, '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_MATCHED_AGE': 30, 'EVENTS_MAX_UNMATCHED_AGE': 30, 'NTLS_HTTP_URL': 'http://127.0.0.1:3185', 'ROUTER_URL': 'http://127.0.0.1', 'MONITORING_UPDATE_INTERVAL': 60, 'SF_API_ADDRESS': 'http://127.0.0.1:18411', 'LIVENESS_THRESHOLD': 0.75, 'BEARD_THRESHOLD': 0.7, } ASGI_THREADS = 32 UVICORN_SETTINGS = { 'workers': 'auto', 'host': 'localhost', 'port': 8002, 'ws-workers': 'auto', 'ws-host': 'localhost', 'ws-port': 8003, } 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 . |
EVENTS_MAX_MATCHED_AGE |
Возраст, при достижении которого должно происходить автоматическое удаление из базы данных событий, для которых есть совпадения с досье. |
EVENTS_MAX_UNMATCHED_AGE |
Возраст, при достижении которого должно происходить автоматическое удаление из базы данных событий, для которых отсутствуют совпадения с досье. |
NTLS_HTTP_URL |
IP-адрес сервера findface-ntls . |
ROUTER_URL |
IP-адрес сервера findface-security , который будет получать обнаруженные на видео лица от экземпляров findface-video-worker . Адрес указывается внутренний или внешний, в зависимости от сети, в которой findface-video-worker взаимодействует с findface-security . |
EXTRACTION_API |
IP-адрес сервера findface-extraction-api . |
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 |
(Добавьте вручную для эпизодов) Максимальное время в секундах с момента добавления последнего события в эпизод. По истечении этого времени эпизод автоматически закрывается. |
CUSTOM_FIELDS |
Добавьте этот раздел вручную, чтобы настроить содержание досье. Подробнее см. Пользовательские вкладки, поля и фильтры в досье. |
Предупреждение
Секция 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,