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

Настройка#

Данный раздел описывает способы настройки 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.

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

Детекторы ТС предназначены для детекции ТС на изображениях. Список детекторов ТС и их описание приведены в Таблице 27.

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

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

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

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

Поле Тип Описание Возможные значения
detections Массив, содержащий координаты и размер детекций каждого ТС на изображении, а также оценку точности детекции ТС Список детектированных ТС.
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": 298,
            "score": 0.9394,
            "width": 514.006,
            "x": 0,
            "y": 0
        }
    ],
    "detector": "car",
    "execution_time": 153
}

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

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

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

Название детектора Описание
PlateDetectorV4 Детектор ГРЗ последней версии, позволяющий получать информацию о положении ГРЗ на изображении. Имеет ряд преимуществ:
- Улучшенная производительность;
- Повышенная скорость работы;
- Настройка дополнительных параметров детектора ГРЗ
PlateDetectorV3 Детекторы ГРЗ версий 1, 2 и 3 – детекторы прошлого поколения, позволяющие получать информацию о положении ГРЗ на последовательности кадров.
PlateDetectorV2 Наличие возможности использования детекторов предыдущих версии обусловлено требованиями обратной совместимости.
PlateDetectorV1 Во всех новых рабочих контурах рекомендуется использовать детектор версии 4

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

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

Поле Тип Описание Возможные значения
detection Массив, содержащий координаты и размер детекций каждого ГРЗ на изображении, а также оценку точности детекции ГРЗ Список детектированных ТС, каждая детекция имеет 5 полей: height, score, width, x, y.
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 Детектор животных, позволяющий получать информацию о нахождении и положении животных в последовательности кадров.

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

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

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

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

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

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

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

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

Пример ответа:

{
    "detections": [
        {
            "height": 958,
            "score": 0.828738808631897,
            "type": "fire",
            "width": 955,
            "x": 0,
            "y": 0
        }
    ],
    "detector": "smoke_fire",
    "execution_time": 518
}

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

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

В системе 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 на последовательности кадров
Рисунок 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"