Перейти к содержанию

Настройка#

Данный раздел описывает способы настройки CARS Stream.

Процесс настройки необходимо выполнять под учётной записью суперпользователя (с root правами).

Конфигурационные файлы#

Список конфигурационных файлов представлен в Таблице 4.

Таблица 4. Конфигурационные файлы CARS Stream

Название Расположение Описание Примечание
csConfig.conf /bin/data/ Конфигурационный файл с общими параметрами CARS Stream Приложение 2
TrackEngine.conf /bin/data/ Параметры настройки библиотеки TrackEngine Приложение 3
vehicleEngine.conf /bin/data/ Параметры детекторов объектов Приложение 4
runtime.conf /bin/data/ Параметры запуска CARS Stream Приложение 5
Input.json /bin/data/ Параметры источников См. п.4.4
faceengine.conf /bin/data/ Параметры детектора пешеходов Приложение 6

Каждый параметр имеет свою рекомендацию по изменению (Приложение 1).

Детекторы#

В данном разделе приведена информация о детекторах ТС, ГРЗ, огня, дыма, пешеходов и животных. Информация о тестировании производительности детекторов приведена в Разделе 7.

Детекторы ТС#

Детекторы ТС предназначены для детекции, редетекции и трекинга ТС на видеопотоках и видеофайлах. Список детекторов ТС приведен в Таблице 5.

Таблица 5. Описание детекторов ТС

Название детектора Описание
VehicleDetectorV4 Детектор ТС последней версии, который позволяет получать информацию о положении ТС на видеопотоке или видеофайле. Имеет ряд преимуществ:
- Улучшенная производительность;
- Повышенная скорость работы;
- Наличие алгоритма повторной детекции ТС (редетекция) для повышения точности работы;
- Возможность работы с изображениями, полученными с камер, установленных на значительной высоте (birdview кадры);
- Исправлена ошибка появления ложных детекций объекта там, где его нет, для придомовых камер.
Данная версия включает в себя настройку дополнительных параметров детектора ТС

Поля детекций, получаемые при помощи детекторов ТС, описаны в Таблице 6.

Таблица 6. Описание полей детекций ТС

Поле Тип Описание Возможные значения
detection Массив, содержащий координаты и размер детекций каждого ТС на изображении, а также оценку точности детекции ТС Список детектированных ТС, каждая детекция имеет 5 полей: height, score, width, x, y.
execution_time int Время исполнения в миллисекундах -
height int Высота BBox 0…1080
score float Оценка точности детекции ТС 0.0000…1.0000
width int Ширина BBox 0…1920
x int Горизонтальная координата левого верхнего угла BBox 0…1920
y int Вертикальная координата левого верхнего угла BBox 0…1080
detector string Название типа детектора car

Пример ответа системы при детекции ТС:

{
    "detections": [
        {
            "height": 438,
            "score": 0.7983,
            "width": 915,
            "x": 52,
            "y": 150
        }
    ],
    "detector": "car"
}

Детекторы ГРЗ#

Список детекторов ГРЗ приведен в Таблице 7.

Таблица 7. Описание детекторов ГРЗ

Название детектора Описание
PlateDetectorV5 Детектор ГРЗ последней версии, позволяющий получать информацию о положении ГРЗ на изображении. Имеет ряд изменений относительно прошлых версий:
- Улучшенная точность;
- Теперь можем детектировать несколько номеров на одном ТС;
- Определение релевантного номера (относятся к нужному ТС);
- Снижена скорость работы относительно PlateDetectorV4.

Поля детекций, получаемые при помощи детекторов ТС, описаны в Таблице 8.

Таблица 8. Описание полей детекции ГРЗ

Поле Тип Описание Возможные значения
detection Массив, содержащий координаты и размер детекций каждого ГРЗ на изображении, а также оценку точности детекции ГРЗ Список детектированных ТС, каждая детекция имеет 5 полей: height, score, width, x, y.
execution_time int Время исполнения в миллисекундах -
height int Высота BBox 0…1080
score float Оценка точности детекции ГРЗ 0.0000…1.0000
width int Ширина BBox 0…1920
x int Горизонтальная координата левого верхнего угла BBox 0…1920
y int Вертикальная координата левого верхнего угла BBox 0…1080
detector string Название типа детектора grz

Пример ответа системы при детекции ГРЗ:

{
    "detections": [
        {
            "height": 35,
            "score": 0.9343,
            "width": 139,
            "x": 748,
            "y": 444
        }
    ],
    "detector": "grz"
}

Детектор пешеходов#

Детектор пешеходов предназначен для детекции, редетекции и трекинга пешеходов на видеопотоках или видеофайлах.

Для работы детектора требуется лицензия (см. «LUNA CARS. Руководство по установке»).

Описание детектора пешеходов приведено в Таблице 9.

Таблица 9. Описание детектора пешеходов

Название детектора Описание
HumanDetector Детектор пешеходов первой версии, позволяющий получать информацию о нахождении и положении пешеходов в последовательности кадров

Детектор животных#

Детектор животных предназначен для детекции, редетекции и трекинга животных на мультимедийных файлах.

Для работы детектора требуется лицензия (см. «LUNA CARS. Руководство по установке»).

Описание детектора животных приведено в Таблице 10.

Таблица 10. Описание детектора животных

Название детектора Описание
AnimalDetectorV1 Детектор животных, позволяющий получать информацию о нахождении и положении животных в последовательности кадров.

Детектор дыма и огня#

Детектор дыма и огня предназначен для детекции возгораний на видеопотоках и видеофайлах.

Описание детектора дыма и огня приведено в Таблице 11.

Таблица 11. Описание детектора дыма и огня

Название детектора Описание
smokeFireDetectorV1 Детектор дыма и огня, позволяющий получать информацию о обнаружении дыма и/или огня на видеопотоке или видеофайле.

Стратегии обработки кадров#

Стратегии обработки кадров необходимы для выбора лучших кадров объектов. Каждая новая стратегия имеет преимущество в виде ускорения процессов детекции и редетекции, а также точности распознавания.

В системе CARS Stream реализованы следующие стратегии обработки кадров:

  • Common;
  • Redetect;
  • DROI;
  • DROIFgs;
  • LpDROI;
  • Coroutine;
  • CoroutineV2.

Стратегии, параметры лучших кадров и треков настраиваются в конфигурационном файле TrackEngine.conf. Актуальная стратегия для работы в последней версии системы указана в конфигурационном файле TrackEngine.conf. Изменять стратегию по умолчанию не рекомендуется.

Common#

Работа данной стратегии строится на детекции объектов на полном кадре. Для каждого видеопотока запускается стратегия, которая определяет BBox объектов интереса на всем кадре.

Детекция объектов на всем кадре повторяется с периодичностью в несколько кадров, из обнаруженных на каждом кадре BBox объектов впоследствии составляется трек объекта.

Redetect#

Стратегия Redetect осуществляется на основе стратегии Common. После детекции объектов на всем кадре и определении BBox объектов, стратегия Redetect выполняет последующую редетекцию для составления трека объекта только в рамках обнаруженных BBox для каждого объекта. Это сокращает затрачиваемое время и ресурсы на обработку кадров.

DROI#

В рамках данной стратегии на кадре задается область для пересечения (DROI) и пороговое значение пересечения BBox объекта в область DROI. После чего, при попадании BBox объекта в область DROI (т.е. при пересечении области DROI BBox’ом на значение равное или больше порогового), система отслеживает нахождение данного BBox в области DROI.

Область для пересечения (DROI) – область интереса на исходном кадре видеопотока или видеофайла, в которой происходит выбор лучшего кадра и формируется трек объекта. Область для пересечения задается в интерфейсе CARS Analytics. Детекция и слежение за объектом происходит на всем исходном кадре.

Все геометрические параметры задаются в пикселях. К геометрическим параметрами относятся:

  • х – горизонтальная координата левой верхней точки BBox или области DROI;
  • y – вертикальная координата левой верхней точки BBox или области DROI;
  • width – ширина BBox или области DROI;
  • height – высота BBox или области DROI.

Формирование списка кадров в рамках одного трека возможно только для объектов, BBox которых пересекает область DROI. Пересеченные области выделены красным цветом (Рисунок 3).

Схематичное изображение следования объекта через область DROI на последовательности кадров

Кадры с детекцией, полученные в рамках одного трека, последовательно сохраняются в буфер. Фиксируются только те кадры, где BBox объекта пересекает область DROI или находится внутри неё см. Рисунок 3.

При переполнении буфера алгоритм определения лучшего кадра сравнивает параметры нового кадра со старыми:

  • Размер BBox в пикселях;
  • Отсутствие перекрытий объекта интереса другими объектами.

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

DROIFgs#

Данная стратегия использует принцип работы стратегии DROI с добавлением алгоритма FGS. При отсутствии движения в зоне детекции, стратегия не запускается и не использует ресурсы системы.

LpDROI#

Данная стратегия использует принцип работы стратегии DROI для детекции и выбора лучших кадров только для ГРЗ. Система использует для дальнейшей работы только BBox ГРЗ, имеющих пересечение с заданной областью DROI.

Coroutine#

Стратегия Coroutine объединяет в себе алгоритмы всех предыдущих стратегий, при этом значительно сокращает затраты временных и системных ресурсов на обработку кадров за счет единовременной обработки нескольких видеопотоков.

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

Обработка кадров и формирование треков объектов осуществляется по алгоритмам стратегий DROIFgs и LpDROI.

CoroutineV2#

Обновленная версия стратегии Coroutine, включающая в себя несколько разных алгоритмов поиска лучших детекций и выбора лучших кадров. Выбор алгоритма осуществляется в CARS Analytics UI.

Управление источниками#

Настройка источников производится в конфигурационном файле "/data/input.json".

Видеофайлы#

CARS Stream поддерживает работу с видеофайлами. Добавление видеофайлов производится в блоке video-sources. Описание параметров приведено в Таблице 11.

Таблица 11. Описание параметров блока video-sources

Параметр Описание Возможные значения Значения по умолчанию
name Имя источника. Имя для каждого видеофайла должно быть уникальным Буквы латинского алфавита, цифры 0…9 и символы «.», «_», «-» video_id_0
roi Координаты области для пересечения в пикселях. Область для пересечения задаёт область интереса, которую обрабатывает CARS Stream для целей детекции и трекинга объектов. Задается четырьмя координатами [x, y, w, h]: Значения координат в границах кадра зависят от разрешения кадра 0, 0, 0, 0
х – горизонтальная координата левого верхнего угла области для пересечения;
y – вертикальная координата левого верхнего угла области для пересечения;
w – ширина области для пересечения;
h – высоты области для пересечения
rotation Угол поворота видеофайла. Используется в случае, если входящий видеопоток повернут, например, если камера установлена «вверх ногами» 0, 90, 180, 270 0
transport Протокол передачи видеопотока. UDP или TCP TCP
url Путь до видеофайла. Путь может быть абсолютным или относительным Любое расположение, доступное из директории CARS Stream /media/storage/ example_video1.avi

Для подключения нескольких видеофайлов необходимо добавить объект в блоке video-sources с уникальным именем. Количество подключаемых видеофайлов неограниченно.

Видеопотоки#

Добавление и управление видеопотоками осуществляется с помощью API-запросов.

Детальное описание запросов находится в файле "/docs/stream/rus/rest_api/CarStreamServerApi.html"