Интеграция с удаленными системами распознавания лиц
Вы можете интегрировать свой экземпляр FindFace CIBR с удаленными системами распознавания лиц. В этом случае сервер, известный как «кукловод», будет отправлять биометрические данные из поставленных на мониторинг карточек на удаленные серверы-«марионетки». В ответ он будет получать события распознавания с совпадениями по данным карточкам. Вы можете настроить ежедневный поиск, который позволяет серверу-кукловоду получать события по расписанию.
Спектр возможных применений данной функциональности широк. Одним из направлений является отслеживание местонахождения и маршрутов преступников и выявление предполагаемых сообщников. Другое направление — поиск пропавших людей. Результаты особенно хороши, если данная функциональность применяется к системам общественной и транспортной безопасности с тысячами камер.
В текущей версии поддерживается только интеграция с системами распознавания лиц из семейства FindFace.
В этом разделе:
Расписание синхронизации
Данные между сервером-кукловодом и сервером-марионеткой синхронизируются следующим образом:
Сервер-кукловод доставляет предназначенные для мониторинга карточки серверу-марионетке с интервалом, указанным в параметре
REMOTE_MONITORING_SYNC_INTERVAL
(см. настройку ниже).Сервер-марионетка отправляет совпадающие события распознавания серверу-кукловоду, как только они появляются.
Настройка сервера-кукловода
Для настройки экземпляра FindFace CIBR в качестве сервера-кукловода выполните следующие действия:
Откройте файл конфигурации
/opt/findface-cibr/configs/findface-multi-legacy/findface-multi-legacy.py
. Убедитесь, что параметрEXTERNAL_ADDRESS
заполнен.sudo vi /opt/findface-cibr/configs/findface-multi-legacy/findface-multi-legacy.py EXTERNAL_ADDRESS = 'http://192.168.0.4'
Примечание
Значение
EXTERNAL_ADDRESS
определяется во время развертывания.Найдите раздел
Puppeteer
.# ============== Puppeteer =============== # INSTALLED_APPS.append('ffsecurity_puppeteer') # PUPPETEER_CONFIG = { # 'UNSAVED_RESULTS_DELETION_TIMEOUT': 3600, # maximum lifetime of search results not saved involuntarily # 'REMOTE_MONITORING_SYNC_INTERVAL': 600, # monitoring data synchronization interval, seconds # 'REMOTE_MONITORING_EVENTS_MAX_AGE': 30*24*60*60, # monitoring events older than this number of days will be # # automatically deleted (every night at 1:17 am by default) # 'ENABLE_DAILY_SEARCH': False, # daily search activation (default False) # 'DAILY_SEARCH_PUSH_HOUR': 2, # daily search cards synchronization hour # 'DAILY_SEARCH_PULL_HOUR': 6, # hour in which results of daily search will be obtained # 'puppets': [ # { # 'id': 'first_puppet', # puppet ID # 'url': 'http://1.1.1.1:8010/', # puppet URL # 'token': 'first_puppet_token', # use pwgen -s 64 1 (should match the token in puppet) # 'facen_model': 'mango_320' # face model in puppet # }, # { # 'id': 'second_puppet', # 'url': 'http://1.1.1.1:8010/', # 'token': 'second_puppet_token', # # # if remote installation has a different face model than the one used in FFSecurity - # # you need to specify its name and ExtractionAPI URL where the corresponding face model is specified # 'facen_model': 'grapefruit_480', # 'extractor': 'http://127.0.0.1:18667', # }, # ] # } #
Раскомментируйте раздел, как показано в примере ниже, и укажите следующие параметры:
REMOTE_MONITORING_SYNC_INTERVAL
: интервал в секундах, с которым сервер-кукловод отправляет предназначенные для мониторинга карточки на сервер-марионетку.REMOTE_MONITORING_EVENTS_MAX_AGE
: события мониторинга старше указанного количества дней будут автоматически удаляться (по умолчанию каждую ночь в 1:17).puppets
→id
: идентификатор сервера-марионетки.puppets
→url
: IP-адрес и порт сервера-марионетки.Укажите порт следующим образом:
Оставьте без изменений, если сервер-марионетка является общественной или транспортной системой безопасности (т. е. в его основе лежит сервис
public-security
).Измените номер на
80
или вообще не указывайте его, если сервер-марионетка построен на сервисеfindface-security
(т. е. на нем установлен продукт FindFace Security или FindFace Multi).
puppets
→token
: токен, который будут использовать сервер-кукловод и сервер-марионетка для взаимной аутентификации.Совет
Для создания случайного токена используйте следующую команду.
pwgen -s 64 1
puppets
→facen_model
: модель нейронной сети, используемая на сервере-марионетке для распознавания лиц.puppets
→extractor
: IP-адрес и порт сервиса, используемого для извлечения биометрических данных на сервере-марионетке, если модель нейросети для распознавания лиц на нем отличается от модели на сервере-кукловоде.
Оставьте закомментированными остальные параметры в разделе.
# ============== Puppeteer =============== INSTALLED_APPS.append('ffsecurity_puppeteer') PUPPETEER_CONFIG = { # 'UNSAVED_RESULTS_DELETION_TIMEOUT': 3600, # maximum lifetime of search results not saved involuntarily 'REMOTE_MONITORING_SYNC_INTERVAL': 600, # monitoring data synchronization interval, seconds 'REMOTE_MONITORING_EVENTS_MAX_AGE': 30*24*60*60, # monitoring events older than this number of days will be # # automatically deleted (every night at 1:17 am by default) # 'ENABLE_DAILY_SEARCH': False, # daily search activation (default False) # 'DAILY_SEARCH_PUSH_HOUR': 2, # daily search cards synchronization hour # 'DAILY_SEARCH_PULL_HOUR': 6, # hour in which results of daily search will be obtained 'puppets': [ { 'id': '1', # puppet ID 'url': 'http://192.168.0.5:8010/', # puppet URL 'token': '1234567890', # use pwgen -s 64 1 (should match the token in puppet) 'facen_model': 'mango_320' # face model in puppet }, { 'id': '2', 'url': 'http://192.168.0.6:8010/', 'token': '0987654321', 'facen_model': 'grapefruit_480', 'extractor': 'http://192.168.0.6:18667', # # # if remote installation has a different face model than the one used in FFSecurity - # # you need to specify its name and ExtractionAPI URL where the corresponding face model is specified }, ] }
При необходимости включите ежедневный поиск. Для этого снимите комментарий и установите значение
'ENABLE_DAILY_SEARCH': True
. Установите расписание отправки карточек на сервер-марионетку и получения событий, имеющих совпадение с отправленными карточками.PUPPETEER_CONFIG = { ... 'ENABLE_DAILY_SEARCH': True, # daily search activation (default False) 'DAILY_SEARCH_PUSH_HOUR': 2, # daily search cards synchronization hour 'DAILY_SEARCH_PULL_HOUR': 6, # hour in which results of daily search will be obtained ...
Перейдите во вкладку Списки наблюдения и установите флажок
Сбор данных о местоположении
для интересующего вас списка наблюдения.Перезапустите контейнер
findface-multi-findface-multi-legacy-1
.sudo docker container restart findface-cibr-findface-multi-legacy-1
Настройка сервера-марионетки
Для настройки удаленного экземпляра FindFace Multi 2.0+ в качестве сервера-марионетки выполните следующие действия:
Откройте файл конфигурации
/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
. Убедитесь, что параметрEXTERNAL_ADDRESS
заполнен.sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py EXTERNAL_ADDRESS = 'http://192.168.0.5'
Найдите раздел
Vns
.# ================= Vns ================== # A plugin for using FindFace Security as a puppeteer server # INSTALLED_APPS.append('ffsecurity_vns') # VNS_CONFIG = { # 'USERS': { # 'user1': 'token1', # 'user2': 'token2' # }, # 'MONITORING_THRESHOLD': 0.75, # 'DAILY': { # 'ENABLED': False, # 'THRESHOLD': 0.75, # 'START_TIME': "00:00:00" # } # }
Раскомментируйте раздел, как показано в примере ниже, и укажите следующие параметры:
token
: токен, который будут использовать сервер-марионетка и сервер-кукловод для взаимной аутентификации. Вы можете указать несколько пользователей и токенов, если марионетка взаимодействует с несколькими кукловодами. Имена пользователей (user
) можно оставить без изменений.MONITORING_THRESHOLD
: порог достоверности в событиях распознавания лиц, отправляемых на сервер-кукловод.
Оставьте закомментированными остальные параметры в разделе.
# ================= Vns ================== # A plugin for using FindFace Security as a puppeteer server INSTALLED_APPS.append('ffsecurity_vns') VNS_CONFIG = { 'USERS': { 'user1': '1234567890' }, 'MONITORING_THRESHOLD': 0.75, # 'DAILY': { # 'ENABLED': False, # 'THRESHOLD': 0.75, # 'START_TIME': "00:00:00" # } }
Если вы включили ежедневный поиск на сервере-кукловоде (см. шаг №4 выше), раскомментируйте и включите параметры
'DAILY'
. Укажите время для сопоставления событий с карточками, которые были получены от сервера-кукловода.================= Vns ================== A plugin for using FindFace Security as a puppeteer server INSTALLED_APPS.append('ffsecurity_vns') VNS_CONFIG = { ... 'DAILY': { 'ENABLED': True, 'THRESHOLD': 0.75, 'START_TIME': "00:00:00" } }
Перезапустите контейнер
findface-multi-findface-multi-legacy-1
.sudo docker container restart findface-multi-findface-multi-legacy-1
Для настройки удаленного экземпляра FindFace Multi версии 1.2 и более ранней в качестве сервера-марионетки выполните следующие действия:
Откройте файл конфигурации
/etc/findface-security/config.py
. Убедитесь, что параметрEXTERNAL_ADDRESS
заполнен.sudo vi /etc/findface-security/config.py EXTERNAL_ADDRESS = 'http://192.168.0.5'
Найдите раздел
Vns
.Раскомментируйте раздел, как показано в примере выше, и укажите параметры
token
иMONITORING_THRESHOLD
.Если вы включили ежедневный поиск на сервере-кукловоде (см. шаг №4 выше), снимите комментарий и включите параметры
'DAILY'
. Укажите время для сопоставления событий с карточками, которые были получены от сервера-кукловода.Перезапустите сервис
findface-security
.sudo systemctl restart findface-security.service
Выполните миграцию, чтобы синхронизировать сервер-марионетку с серверами-кукловодами.
sudo findface-security migrate