Отслеживание объектов в видеопотоке. Методы построения траекторий

Видеоанализ – крайне необходимый инструмент в системах с большим количеством камер. Наиболее перспективной функцией при этом является отслеживание перемещений объектов – трекинг. Рассмотрим как алгоритмы построения траекторий по одной камере, так и технологии, позволяющие получить более общую, связную информацию по нескольким камерам системы.

Трекинг для одной камеры

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

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

Трекинг по нескольким кадрам
Объекты в кадре могут перемещаться по-разному: их траектории могут пересекаться, они могут пропадать и возникать вновь, несколько объектов могут объединяться или резко менять направление движения. В этих случаях задача построения точной траектории усложняется. Для анализа подобных сложных перемещений метод построения траектории по двум кадрам не подходит, он дает высокую погрешность. Для повышения точности трекинга часть производителей использует технологию анализа последовательности кадров и непрерывной постобработки полученных результатов.

Программа строит графы – анализирует переходы объектов из одного состояния в другое. Чтобы понять, какому объекту какое перемещение соответствует, также анализируются скорости и направления движения, положения, цветовые характеристики. В качестве результата выдается набор наиболее вероятных перемещений объекта, образующий траекторию. Разница методов состоит в том, что при обработке последовательности кадров учитывается как текущее положение объекта, так и история его переходов, что позволяет повысить точность в сложных ситуациях пересечения движения, исчезновений и возникновений объекта.

Рассмотренные алгоритмы хорошо работают со сценами, в которых объекты движутся отдельно друг от друга, но для движения в скоплениях они не применимы

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

В качестве поисковой области также может выступать любой движущийся объект, на который среагировал детектор движения, или объект определенного типа, который обнаружил классификатор ПО. Программа составляет гистограмму цветов выделенной области, отмечает особые точки (характерные углы, расстояния), затем происходит их поиск на следующих кадрах.

Главный недостаток корреляционного метода – его высокая ресурсоемкость, так как на первичный анализ поискового образца (выделение цветов, построение гистограммы, определение особых точек) требуется в десятки, а иногда в сотни раз больше вычислительных мощностей, чем требует метод, основанный на детекторе движения. Кроме того, корреляционный метод строит траектории только заданных для поиска объектов. Методы трекинга по двум или нескольким кадрам строят траектории всех движущихся объектов, предоставляя инструмент поиска траектории по объекту или объекта по его траектории. Корреляционный метод не применим для сцен с высокой интенсивностью движения

Межкамерный трекинг

Межкамерный трекинг, или построение траектории объекта по нескольким камерам системы, может быть реализован двумя способами.

Первый способ
Предполагает установку синхронизированных видеокамер, наблюдающих за связанными областями. Объект просто переходит из поля зрения одной камеры в поле зрения другой, программа фиксирует этот переход и как бы "подхватывает" объект и выдает траекторию. Очень важно для точной отработки этого метода провести калибровку камер системы, подобрать оборудование со схожими характеристиками, ведь объект должен быть идентичен при переходе от одной сцены наблюдения к другой. Чем длиннее переход объекта, чем больше движущихся объектов в кадре, чем больше количество камер, между которыми он перемещается, тем выше вероятность ошибки в результатах межкамерного трекинга.

Второй способ
Основан на работе интерактивного поиска по приметам и не требует установки специального оборудования. Оператору необходимо обозначить существующие камеры на плане в программе, задать среднее время перехода от одной камеры к другой, выбрать из архива образец объекта, траекторию которого будет строить система, или создать его самостоятельно – задать пропорции, размер, указать цветовые характеристики. Программа выдаст все объекты, похожие на поисковый запрос, – оператору необходимо выбрать нужный. Далее осуществляется поиск данного образца на соседних камерах системы, программа анализирует план территории, определяет, когда выбранный объект мог достичь той или иной камеры, и выдает соответствующие результаты в виде набора треков – сгруппированных кадров объекта с одного IP-канала. Группировка изображений происходит на основании неразрывного движения объекта в поле зрения камеры. Оператор выбирает из представленных наборов результат, соответствующий искомому объекту, запускает дальнейший поиск. Таким образом, поиск происходит пошагово, и его можно продолжать до тех пор, пока объект не исчезнет из поля зрения всех камер системы или пока оператор не получит достаточные данные. Построение траектории можно остановить на любом этапе.

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

Перенос траектории с видео на план

Тема многокамерного видеоанализа очень интересна для разработчиков, потенциал для совершенствования технологий еще крайне велик. Например, современные технологии межкамерного слежения позволяют отмечать на планах траектории переходов от одной камеры к другой, а также строить пути перемещения объектов на плане в рамках одной камеры – переносить перемещения объекта с видео на план.

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

Задача переноса траектории с видео на план очень сложна по ряду причин.

1. Необходимость связать плоскости наблюдения камеры и плана – главная сложность. Программе надо рассчитать координаты объекта и его перемещения в одной плоскости и перенести их на план, представляющий собой вид помещения в другой плоскости. Пересчитать эти координаты по кадру с одной камеры – нетривиальная задача: недостаточно просто вычислить расстояния и граничные точки и перенести их на план (план – это вид объекта сверху, тогда как камеры в общем случае могут располагаться произвольно). Решением может стать организация стереосистемы: минимум 2 камеры устанавливаются в разном положении, ведут наблюдение за одной областью кадра, тогда программа сможет построить 3D-модель помещения и отметить точное перемещение объекта.

2. Искажения. Как и любая оптическая система, камера вносит искажения, которые приводят к погрешностям при построении траектории на плане.

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

4. Отделение объектов друг от друга. Если разница в положениях двух различных объектов есть только в одной координате, а в двух других она несущественная (например, объекты движутся параллельно, но на разных планах – вблизи и вдали), то для камеры эти объекты совпадают, соединяются в один, и их траектории сливаются. Но на самом деле траектории разные, и перемещения объектов на плане (виде сверху) должны быть отделены друг от друга, то есть одни точки на кадре могут быть разными точками на плане. А это значит, что необходимы точные алгоритмы группировки пикселей изображения в объект и разделения соприкасающихся и совпадающих объектов. Частично такую задачу можно решить с помощью стереозрения.

Точность методов трекинга

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

Трекинг для одной камеры

  • Построение траектории с помощью последовательного анализа двух кадров – текущего и предыдущего. Имеет низкую точность при сложных перемещениях объектов.
  • Построение траектории с постобработкой предыдущих кадров и анализом истории перемещений объекта. Повышает вероятность верного построения траектории для сложных перемещений в кадре.
  • Корреляционный метод – построение траектории путем сравнения положений выделенной области на последовательности кадров. Ресурсоемкий, не применим для кадров с интенсивным движением.

Многокамерный трекинг

  • Построение траектории с использованием синхронизированных видеокамер. Требует точной калибровки камер, направленных на смежные области, точность построения траектории снижается при росте интенсивности движения, увеличении количества камер и переходов между ними.
  • Пошаговое построение траектории, использующее поиск по приметам. Требует включения оператора в процесс фильтрации результатов, но предоставляет точные результаты.
  • Перенос траектории перемещения объекта с видео на план. При реализации этой функции разработчики сталкиваются с рядом сложных задач, из которых на сегодня не все нашли свое решение.
Источник: Secuteck