Настройка#
Данный раздел описывает способы настройки 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).
Кадры с детекцией, полученные в рамках одного трека, последовательно сохраняются в буфер. Фиксируются только те кадры, где 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
"