Пересечение линии
Проверяет, что определенные треки объектов пересекли заданную линию в определенном направлении, вперед или назад.
Входные параметры
Название блока - впишите любое название блока, чтобы отличать его от других блоков в рабочем пространстве. Например, "Подсчет людей"
Линия пересечения – переменная, хранящая координаты линии, пересечения которой блок будет фиксировать
Треки объектов – переменная, хранящая треки, получаемые из блока "Трекер"
Результаты
Треки, пересекшие линию вперед – поле принимает переменную, записывающую определенные треки
Треки, пересекшие линию вперед - поле принимает переменную, записывающую определенные треки
Треки, не пересекшие линию - поле принимает переменную, записывающую определенные треки
Работа блока
Что значит “Пересечение вперед?” Что значит “Пересечение назад?”
Для работы блока нужно указать линию в настройках камеры. У линии должно быть указано две и только лишь две точки. Первая точка будет началом линии, а вторая - концом линии. Представьте часы со стрелками. Минутная стрелка часов указывает на 3 часа. Если начало линии лежит в центре циферблата, а конец на кончике стрелки (3 часа) то пересечение такое линии вперед будет значить, что мы пересекли эту линию снизу вверх. Пересечение назад же будет значить, что мы пересекли эту стрелку сверху вниз.
Очень важно то, как именно вы нарисуете линию пересечения. В зависимости от этого направления пересечения изменяются так, как показано ниже(точка начала - центр циферблата)
Ограничения блока:
-
Проверяет пересечения одной линии за раз
-
В линии должно быть отмечено только 2 точки
-
Корректная работа блока сильно зависит от fps камеры. Мы указывали 3 fps
-
Корректная работа блока сильно зависит от качества работы трекера, который зависит от fps камеры
-
Для работы блока требуется, чтобы в сценарии перед ним был блок “трекер”, т.к. блока работает с треками, а не bbox’aми.
Как проверить, что трек пересек линию?
Сравните выходную переменную с текстовой переменной “[]”. Список пустых треков, т.е. отсутствие треков в блоке обозначается как пустой список - “[]”.
Может возникнуть путаница с сравнением отсутствия bbox’ов и треков. Когда нет bbox’ов - блоки детекторов возвращают пустые строки, когда нет треков - возвращается строка с открывающей и закрывающей квадратными скобками “[]”.