Пересечение линий
Линия — это зона, размечаемая поверх кадра видеопотока. Как только объект определенного класса полностью пересечёт эту зону, OMNI Agent отправит результаты детекции и трекинга этого объекта в OMNI Platform или во внешний сервис в формате процессов и событий.
Обнаружение пересечения линии доступно для следующих классов объектов:
- силуэт человека;
- лицо человека;
- отдельные части тела человека: ладонь, лодыжка, колено и др.
На превью линия обозначается светло-красным цветом, а при пересечении объектом определенного класса становится красной.
Как добавить линии
Нажмите на шестеренку в строке камеры. В разделе ROI открывшейся вкладки нажмите
+
.Заполните название линии, выберите тип «Линия» и набор классов отслеживаемых объектов. Разметьте две точки на кадре видеопотока и укажите размер абстрактной зоны при помощи стрелки. После заполнения нажмите Сохранить.
Вернитесь на главную страницу веб-интерфейса. Теперь добавленная линия отображается на превью с камеры.
Конфигурация линий
Для добавления и изменения линии откройте файл конфигурации run_params.json и отредактируйте следующие поля объекта mutlistream_ROI
:
regions
: массив объектов областей интереса. Координаты зоны линии — это координаты точек, ограничивающих область интереса (ROI)
Пример объекта в массиве regions
:
"regions": [
{ // объект (область интереса)
"name": "_region_name_", // название линии (зоны)
"classes": [
{
"class": "body", // класс отсеживаемых объектов
"reduction_kind": "BBOX_BOTTOM_CENTER", // метод преобразования bbox объекта в точку
},
{
"class": "face",
"reduction_kind": "BBOX_CENTER",
},
{
"class": "left_hand",
"reduction_kind": "BBOX_CENTER",
}
],
"points": [ // координаты точек, ограничивающих зону линии
{
"x": 0,
"y": 0.975 // в относительных координатах кадра
},
{
"x": 1,
"y": 0.975
},
{
"x": 0.5,
"y": 0.5
}
],
"trigger_settings": // ключевой объект, превращающий область интереса в линию
{
"is_roi": true, // true — передача процессов при пересечении зоны линии и процессов нахождения в области интереса
"direction": // вектор направления входа (пересечение линии в обратном направлении считается выходом)
{
"x": 0.5,
"y": 0.3,
}
}
"uuid": "6acb27c7-c967-46ed-a32f-0085c0454c4c" // uuid линии. При отсутствии добавляется автоматически.
}
]