Sigur

Интеграция FindFace Multi со СКУД Sigur обеспечивает эффективный контроль управления доступом с использованием системы распознавания лиц.

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

Особенности интеграции FindFace Multi и Sigur

  • Интеграция не поддерживает пагинацию.

    Клиент Sigur отдает FindFace Multi все лица сразу в одном json. Для большого количества лиц это занимает много времени (10к лиц более 30 секунд). При настройке необходимо увеличение таймаутов, а также использование версии сервера/клиента Sigur c увеличенными таймаутами (>= 1.0.60.23).

  • Интеграция не поддерживает обработку ошибок фотографий.

    В случае если на фото более одного лица либо качество лица ниже требуемого уровня, досье будет создаваться без фото. При наличии на фото нескольких лиц рекомендуется использовать опцию biggest для выбора самого большого лица.

Установка и настройка FindFace Multi

Установка FindFace Multi не отличается от типовой.

Важно

Если вы настраиваете интеграцию с уже существующей системой FindFace Multi, убедитесь, что в ней в списке наблюдения Default watch list с id = 1 отсутствуют лица, поскольку по умолчанию синхронизация досье Sigur идет с данным списком наблюдения и он должен быть пустым.

Для включения интеграции с Sigur выполните следующие действия:

  1. Откройте файл конфигурации /etc/findface-security/config.py и раскомментируйте блок плагина SIGUR и блок CUSTOM_FIELDS, как показано в примере ниже.

    sudo vi /etc/findface-security/config.py
    
    #================ Sigur =================
    # keep in mind, that SIGUR plugin also uses CUSTOM_FIELDS and THUMBNAIL_MAX_WIDTH settings
    INSTALLED_APPS.append('ffsecurity_sigur')
    SIGUR = {
        'LOGIN': 'admin',
        'PASSWORD': 'admin',
        'MF_SELECTOR': 'biggest',  # what to do with several faces in sigur person photo; allowed ['biggest', 'reject']
        'ONLY_RT_EVENTS': True,  # only events with bs_type == realtime,
        'EVENT_DELAY': 0.004 # minimum time between two events of same person in seconds.
        # If interval between two events with same person is less, than this value, second event will be dropped
    }
    
    ...
    FFSECURITY = {
    
        # -- Optional parameters --
    
        # Edit CUSTOM_FIELDS section to customize dossier content.
        # Below is an example for integration FindFace Security with Sigur.
    
        'CUSTOM_FIELDS': {
            'dossier_meta': {
                'items': [
                    {
                        'name': 'personid',
                        'default': '',
                        'label': 'PersonID',
                        'display': ['list', 'form'],
                        'description': 'Sigur person ID',
                        'editable': False
                    },
                    {
                        'name': 'firstname',
                        'default': '',
                        'label': 'First Name',
                        'display': ['list', 'form'],
                        'description': 'Sigur first name',
                        'editable': False
                    },
                    {
                        'name': 'lastname',
                        'default': '',
                        'label': 'Last Name',
                        'display': ['list', 'form'],
                        'description': 'Sigur last name',
                        'editable': False
                    },
                    {
                        'name': 'version',
                        'default': '',
                        'label': 'Version',
                        'display': ['list', 'form'],
                        'description': 'Sigur photo version',
                        'editable': False
                    }
                ],
                'filters': [
                    {
                        'name': 'personid',
                        'label': 'Sigur person ID filter',
                        'field': 'personid'
                    }
                ]
            },
    #        'face_object': {
    #            'items': [
    #                {
    #                    "field_name": "tag_name_1",
    #                    "type": "string",
    #                    "default": "change_me"
    #                },
    #                {
    #                    "field_name": "tag_name_2",
    #                    "type": "uint",
    #                    "default": 123
    #                },
    #                {
    #                    "field_name": "tag_name_3",
    #                    "type": "bool",
    #                    "default": True
    #                },
    #            ]
    #        }
        },
    
  2. Придумайте логин и пароль, которые будут использоваться для авторизации FindFace Multi в ПО Sigur, и укажите их в полях LOGIN и PASSWORD блока SIGUR.

  3. В параметре MF_SELECTOR того же блока укажите, как должна выполняться обработка фото, если на нем присутствует несколько лиц: обработать самое большое лицо (biggest) или отклонить фотографию (reject).

  4. Перенесите структуру основной базы данных из FindFace Multi в PostgreSQL. Для этого достаточно выполнить приведенную ниже команду.

    sudo findface-security migrate
    
  5. В веб-интерфейсе FindFace Multi откройте настройки той камеры, которую планируется использовать для распознавания лиц в интеграции с ПО Sigur. На вкладке Аналитика включите отправку в ПО Sigur всех событий, установив false для параметра Буферный режим (overall_only).

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

    sudo systemctl restart findface-security.service
    

Установка и настройка ПО Sigur

Установка ПО Sigur

Для установки ПО Sigur выполните следующие действия:

  1. На сайте Sigur узнайте имена deb-пакетов для самой актуальной версии Sigur.

  2. Загрузите скрипт установки sigur_install.sh в произвольный каталог на сервере (например, в /home/username/). Замените в нем имена загружаемых пакетов на актуальные.

    Пример скрипта

    #!/bin/bash
    #Очистка перед установкой
    cd ~/
    rm -R spnx/
    mkdir spnx
    cd spnx
    #Для активации sudo
    sudo ls
    #Установка зависимостей
    sudo apt update
    sudo apt install -y openjdk-8-jre
    sudo apt install -y mysql-server
    #Загрузка пакетов - ИЗМЕНИТЕ ИМЕНА НА АКТУАЛЬНЫЕ
    wget https://sigur.com/dl/spnxclient_1.0.60.1-0_all.deb
    wget https://sigur.com/dl/spnxserver_1.0.60.1-0_amd64.deb
    #Установка
    sudo dpkg -i spnx*
    #Запуск
    sudo spnxadmin &
    spnxclient &
    
  3. Из каталога со скриптом сделайте скрипт исполняемым.

    chmod +x sigur_install.sh
    
  4. Выполните скрипт.

    sudo ./sigur_install.sh
    

Настройка удаленного подключения к базе данных (опционально)

Для настройки базы данных выполните следующие действия:

  1. Задайте пароль для пользователя root.

    ~/spnx$ sudo mysql
    
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword';
    Query OK, 0 rows affected (0.00 sec)
    
  2. В случае если требуется запускать клиент Sigur на машине из локальной сети, а не с localhost, использование пользователя root будет невозможным, поскольку для него есть только локальный доступ.

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

    Ниже приведен пример создания пользователя skud с паролем xxx.

    # mysql
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON `TC-DB-MAIN`.* TO 'skud' IDENTIFIED BY 'xxx';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON `TC-DB-LOG`.* TO 'skud';
    Query OK, 0 rows affected (0.00 sec)
    
    MariaDB [(none)]> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    

Настройка Сервера Sigur

Для настройки и запуска Сервера Sigur выполните следующие действия:

  1. Откройте панель администратора Сервера Sigur.

    sudo spnxadmin
    
  2. Создайте базу данных:

    1. В открывшемся окне перейдите База данных -> Параметры. Введите логин и пароль от базы данных.

    2. Выберите тип Сервера базы данных Внешний MySQL.

    3. Выполните Тест подключения. Должна отобразится ошибка Недостаточно прав на доступ к базе.... Это значит подключение есть, но база данных еще не создана.

    4. Нажмите ОК.

      sigur_server_db

    5. Для создания базы данных нажмите кнопку Сброс/Создание базы.

  3. После создания базы данных запустите серверный модуль ПО Sigur. Для этого перейдите на вкладку Состояние. Нажмите кнопку Старт для пункта Серверный модуль.

    sigur_server_start

Настройка Клиента Sigur

Для настройки Клиента Sigur выполните следующие действия:

  1. Откройте панель клиента Sigur.

    spnxclient
    
  2. Добавьте сервер FindFace Multi в Sigur:

    1. В главном меню перейдите Файл -> Настройки -> Видеонаблюдение.

      sigur_client_menu

    2. В открывшемся окне выберите поставщика NtechLab и введите произвольное имя сервера.

      sigur_client_connection

    3. После того как в списке появится сервер, введите настройки доступа, которые вы указали в файле конфигурации findface-security (логин и пароль в блоке плагина Sigur). Порт для доступа Sigur к серверу FindFace Multi - 80.

      sigur_client_settings

    4. Нажмите Применить.

  3. Перейдите на вкладку Распознавание лиц и поставьте флажок Включить распознавание лиц.

    Важно

    Значение в поле Точность распознавания лица (%) рекомендуется устанавливать ниже или равным установленному в настройках FindFace Multi.

    sigur_client_recognition

  4. Привяжите камеры к точкам входа:

    Важно

    Оборудование должно быть доступно в сети и заранее добавлено в Sigur.

    1. Перейдите в главное окно программы, выберите вкладку Оборудование.

    2. Выберите точку входа, перейдите на вкладку Видеонаблюдение.

      sigur_client_cameras

    3. Установите следующие настройки:

      • Система: NtechLab.

      • Камера: в соответствии с камерой на данной точке входа.

      • флажки Разрешить верификацию по лицу и Разрешить идентификацию по лицу установлены.

    4. Нажмите Применить.

Добавление пользователей

Для добавления пользователя выполните следующие действия:

  1. В главном окне программы перейдите на вкладку Персонал. Нажмите кнопку + и в появившемся диалоговом окне введите имя пользователя. Нажмите ОК.

    sigur_client_users

  2. Прикрепите фотографию к профилю пользователя.

    Важно

    Если фотографии были сделаны в портретном режиме, необходимо их предварительно пересохранить в нужной ориентации.

  3. Нажмите Применить.

Проверка синхронизации систем

После того как вы загрузили профили пользователей в Sigur, убедитесь, что они были синхронизированы с FindFace Multi. Для этого выполните следующие действия:

  1. В FindFace Multi перейдите в список наблюдения id = 1. В нем должны отображаться все пользователи Sigur.

  2. Отфильтруйте досье по наличию лица. Если синхронизация была выполнена успешно и все данные верные, не должно быть досье без лиц.