Cобытия распознавания автомобильных номеров
Flussonic умеет находить и распозновать номера российских автомобилей, попавших в кадр IP камеры. Эта функциональность известна как ANPR (automatic number plate recognition).
Flussonic делает следующее:
-
Создает события детекции номеров.
Видео приходит с IP камер на транслирующий сервер (в кластерной установке) или на управляющий сервер (в обычной установке), на котором и происходит распознавание номеров.
-
Предоставляет Watcher UI для просмотра событий раcпознавания номеров.
В веб-интерфейсе к Watcher можно посмотреть зарегистрированные события и видео с места событий.
-
Предоставляет API для выгрузки событий во внешние системы.
Доступно распознавание номеров автомобилей следующих стран:
- Венгрия
- Чехия
- Молдавия
- Россия
- Абхазия
- Украина
Чтобы начать раcпознавать автомобильные номера:
-
Подготовьте аппаратную и программную часть на сервере Flussonic, который будет распознавать номера.
-
Включите и настройте распознавание номеров. Настроить можно как через файл, так и в веб-интерфейсе Watcher, но некоторые параметры сейчас можно указать только в файле.
Содержание:
- Установка модуля видеоаналитики
- Настройка в конфигурационном файле
- Настройка в веб-интерфейсе
- Просмотр событий распознавания номеров
- API модуля распознавания номеров
Установка модуля видеоаналитики
Функции видеоаналитики работают как в одиночной установке Flussonic вместе с Watcher, так и в кластере.
Важно. Необходимы Flussonic Media Server и Flussonic Watcher. В кластерной установке система распознавания работает на транслирующем сервере (стримере), где уже должен быть установлен Flussonic Media Server. В одиночной установке система распознавания требует установленного Flussonic Watcher вместе с Flussonic Media Server.
Распознавание номеров и лиц происходит на транслирующем сервере (в кластерной установке) или на управляющем сервере (в обычной установке). К серверу нужно подключить камеру, с которой вы хотите распознавать номера или лица. Необходимо, чтобы сервер имел минимум одну производительную видеокарту NVIDIA GPU, у которой не менее 6 Гб видеопамяти.
Требования к системе, на которой будет работать видеоаналитика
- ОС: x64 Ubuntu 18.04 или 20.04
- GPU: Nvidia (Pascal) от 6 Гб VRAM (более точные рекомендации мы можем дать только для конкретного проекта).
- Процессор: не менее 4-х ядер.
- Память: не менее 8 ГБ ОЗУ.
- Flussonic Media Server (для стримера в кластерной установке)
- Flussonic Media Server + Watcher (в одиночной установке)
Установка драйвера видеокарты Nvidia в Ubuntu 18.04 и 20.04
Установите драйвер из официального репозитория Nvidia:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda-10-0
Установка плагина видеоаналитики Flussonic
После установки драйвера видеокарты можно приступить к установке плагина видеоаналитики Flussonic Vision. Для этого выполните команды:
apt update
apt install flussonic-vision
Настройка распознавания номеров через конфигурационный файл
Note
Всё то же самое можно сделать через UI — настройки сами запишутся в файл. Но вам потребуется проверить номер GPU в конфигурационном файле и при необходимости отредактировать его вручную.
- Откройте файл
/etc/flussonic/flussonic.conf
. - Для включения системы распознавания добавьте строку с плагином
plugin vision;
- Добавьте директиву
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;
Настройка камеры для распознавания номерных знаков
Чтобы включить детекцию и распознавание номеров для камеры:
-
В Watcher UI перейдите в раздел Камеры. Найдите камеру в списке камер и откройте ее настройки, щелкнув в правом верхнем углу плеера значок настроек.
-
Выберите опцию Распознавание номерных знаков и нажмите Сохранить.
Теперь система распознавания Flussonic будет определять номера в кадре этой камеры и фиксировать время, когда номер появился в кадре и когда он покинул кадр. Flussonic добавит опции потока в конфигурационный файл
/etc/flussonic/flussonic.conf
. 3. Вам может потребоваться вручную отредактировать номер GPU в конфигурационном файле (см. предыдущий раздел о настройке через файл).
Просмотр событий распознавания номеров в UI
Flussonic создает события двух видов:
- enter – номер появился в кадре (в поле видимости камеры)
- leave – номер покинул кадр.
Чтобы посмотреть, какие номера появлялись в кадре камеры:
- В Watcher UI перейдите в раздел Статистика. Откроется список всех событий.
-
Используйте фильтры и поиск справа, чтобы найти камеру:
-
В поле Источник выберите Plate detector.
* В полях С и По выберите дату и время начала и окончания интервала времени, за который хотите посмотреть событие.
* В поле Поиск введите номер машины. * Чтобы очистить введенные параметры поиска, нажмите Очистить фильтры.
-
-
Список событий фильтруется сам по мере ввода вами критериев поиска.
-
Чтобы просмотреть запись с камеры, щелкните в строке, содержащей данное событие. Внизу экрана откроется плеер и проиграет запись. Чтобы увеличить изображение, нужно сделать двойной щелчок по изображению в плеере.
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 (машина появилась или покинула наблюдаемую зону).