Документация Flussonic Watcher

Contents

Cобытия распознавания автомобильных номеров

Flussonic умеет находить и распозновать номера российских автомобилей, попавших в кадр IP камеры, включая спецтранспорт (пожарные и скорые). Эта функциональность известна как ANPR (automatic number plate recognition).

Flussonic делает следующее:

  • Создает события детекции номеров.

    Видео приходит с IP камер на транслирующий сервер (в кластерной установке) или на управляющий сервер (в обычной установке), на котором и происходит распознавание номеров.

  • Предоставляет Watcher UI для просмотра событий раcпознавания номеров.

    В веб-интерфейсе к Watcher можно посмотреть зарегистрированные события и видео с места событий.

  • Предоставляет API для выгрузки событий во внешние системы.

Чтобы начать раcпознавать автомобильные номера:

  1. Подготовьте аппаратную и программную часть на сервере Flussonic, который будет распознавать номера.

  2. Включите и настройте распознавание номеров. Настроить можно как через файл, так и в веб-интерфейсе Watcher, но некоторые параметры сейчас можно указать только в файле.

Содержание:

Установка модуля распознавания номеров

Чтобы распознавать номера, нужно установить Flussonic Media Server и Watcher (если вы ещё не работали с ними). Функция распознавания работает как в одиночной установке Flussonic вместе с Watcher, так и в кластере.

Распознавание номеров происходит на транслирующем сервере (в кластерной установке) или на управляющем сервере (в обычной установке). К этому серверу нужно подключить камеру, c которой вы хотите распознавать номера. Необходимо, чтобы сервер имел минимум одну производительную видеокарту NVIDIA GPU, у которой не менее 6 Гб видеопамяти.

Требования к системе, на которой будет работать ANPR

  • ОС: Ubuntu 16.04 x64
  • GPU: Nvidia (Pascal) от 6 Гб VRAM (более точные рекомендации мы можем дать только для конкретного проекта).
  • Процессор: не менее 4-х ядер.
  • Память: не менее 8 ГБ ОЗУ.
  • Flussonic Media Server (для стримера в кластерной установке)
  • Flussonic Media Server + Watcher (в одиночной установке)

Важно. В кластерной установке система распознавания работает на транслирующем сервере (стримере), где уже должен быть установлен Flussonic Media Server. В одиночной установке система распознавания требует установленного Flussonic Watcher вместе с Flussonic Media Server.

Установка

Для установки модуля распознавания номеров подключите официальный репозиторий Nvidia и установите пакет flussonic-vision из нашего репозитория:

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
apt update
apt install flussonic-vision

Настройка распознавания номеров через конфигурационный файл

Замечание. Всё то же самое можно сделать через UI — настройки сами запишутся в файл. Но вам потребуется проверить номер GPU в конфигурационном файле и при необходимости отредактировать его вручную.

  1. Откройте файл /etc/flussonic/flussonic.conf.
  2. Для включения системы распознавания добавьте строку с плагином plugin vision;
  3. Добавьте директиву vision в конфигурацию потока, указав номер GPU:
stream cam1 {
  url rtsp://192.168.0.11:554/h264;
  vision gpu=0;
}

stream cam2 {
  url rtsp://192.168.0.12:554/h264;
  vision gpu=1;
}

plugin vision;
  • gpu (обязательная опция) – номер видеокарты, его можно получить с помощью утилиты nvidia-smi.

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

Перегрузите конфигурацию, чтобы изменения, сделанные в файле, вступили в силу.

Настройка распознавания номеров через UI

Предварительное условие

Прежде чем настраивать камеры в UI, убедитесь, что система распознавания включена. Для этого в файл /etc/flussonic/flussonic.conf добавьте строку:

plugin vision;

Настройка камеры для распознавания номерных знаков

Чтобы включить детекцию и распознавание номеров для камеры:

  1. В Watcher UI перейдите в раздел Камеры. Найдите камеру в списке камер и откройте ее настройки, щелкнув в правом верхнем углу плеера значок настроек.

  2. Выберите опцию Распознавание номерных знаков и нажмите Сохранить.

    Теперь система распознавания Flussonic будет определять номера в кадре этой камеры и фиксировать время, когда номер появился в кадре и когда он покинул кадр. Flussonic добавит опции потока в конфигурационный файл /etc/flussonic/flussonic.conf.

  3. Вам может потребоваться вручную отредактировать номер GPU в конфигурационном файле (см. предыдущий раздел о настройке через файл).

ANPR

Просмотр событий распознавания номеров в UI

Flussonic создает события двух видов:

  • enter – номер появился в кадре (в поле видимости камеры)
  • leave – номер покинул кадр.

Чтобы посмотреть, какие номера появлялись в кадре камеры:

  1. В Watcher UI перейдите в раздел Статистика. Откроется список всех событий.
  2. Используйте фильтры и поиск справа, чтобы найти камеру:

    • В поле Источник выберите Plate detector.

      ANPR

    • В полях С и По выберите дату и время начала и окончания интервала времени, за который хотите посмотреть событие.

      ANPR

    • В поле Поиск введите номер машины.

    • Чтобы очистить введенные параметры поиска, нажмите Очистить фильтры.

  3. Список событий фильтруется сам по мере ввода вами критериев поиска.

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

    ANPR

API модуля распознавания номеров

Если система правильно настроена, то вы сможете получить данные о событиях в формате JSON через Watcher API. Подробная документация по API доступна по ссылке.

Ниже пример запроса и ответа:

root@ubuntu:~# curl localhost/vsaas/api/v2/events?type=activity -H 'x-vsaas-api-key: dfb21d1f-3e00-44a2-a706-36d99f9e9d73'
  {
    "start_at": 1538645882872,
    "type": "activity",
    "id": "7ecb0a13-414c-462f-a206-3c5d047baad4",
    "ext_data": null,
    "object_id": "A123AA 77",  
    "end_at": null,
    "source": "plate_detector",
    "camera_id": "cam0-00",
    "source_id": "0",
    "object_class": "leave",
    "event_data": null
  }
  • start_at - время события
  • id - уникальный ID записи
  • object_id - номер автомобиля
  • camera_id - имя камеры в Watcher
  • object_class - событие, может быть enter и leave (машина появилась или покинула наблюдаемую зону).