В первой публикации Хабросообществу мы хотим рассказать об интереснейшем направлении работы компании «Синезис» — многокамерном видеоанализе, точнее, многокамерном алгоритме сопровождения объектов.
Наш коллектив занимается прикладными исследованиями в области видеоаналитики и разрабатывает быстродействующие алгоритмы машинного зрения для автоматической классификации ситуаций по данным поточного видео. Самые интересные результаты мы планируем освещать в корпоративном блоге. Будем благодарны за идеи и критику.
Неотъемлемым компонентом практически любой видеоаналитческой системы является алгоритм сопровождения (трекинга). Зачем он нужен умной системе видеонаблюдения? В общем случае, трекинг объектов необходим для автоматического распознавания ситуаций по правилам, например, человек вошел в контрольную зону, остановился, оставил предмет, или без правил, в самообучающихся системах. Срыв сопровождения практически всегда приводит либо к пропущенной тревожной ситуации, либо к повторным срабатываниям видеоаналитики.
Хабр уже рассказывал о сопровождении объектов в статьях о разработках Zdenek Kalal и Microsoft Research. «Однокамерное» сопровождение, например, в устройстве «MagicBox» работает так:
Результатом работы «однокамерного» алгоритма сопровождения является последовательность пространственно-временных координат каждого объекта. Возможны разрывы траекторий при выходе объекта из поля зрения камеры или при заходе объекта за препятствие.
Алгоритм многокамерного сопровождения, предмет настоящей публикации, непрерывно сопоставляет данные о положении объектов с различных камер, с учетом взаимного расположения и привязке камер к карте местности. Алгоритм строит обобщенную траекторию объекта при движении от камеры к камере и проецирует эту траекторию на карту. При этом объект может наблюдаться несколькими камерам одновременно или находиться в слепой зоне. Многокамерная траектория позволяет реализовать геовизуальные средства поиска, автоматический выбор ракурса и другие функции системы безопасности, которые часто показывают в фантастических фильмах.
Перед началом эксплуатации системы производиться привязка зоны наблюдения каждой камеры к карте контролируемой территории. Наш алгоритм калибровки использует четыре точки, координаты которых пользователь должен задать одновременно на кадре камеры и на карте:
Рекомендуется использовать узловые точки на поверхности местности, которые легко определить визуально с различных ракурсов, например, деревья, углы дома и ограждений. Алгоритмы вычисляет матрицу преобразования координат методом наименьших квадратов:
где r – координаты на кадре камеры, R – глобальный координаты на карте, A – искомая матрица преобразования.
Таким образом, матрица преобразования A позволяет отобразить двумерные координаты объекта в кадре камеры в его глобальные координаты на карте.
Итак, на вход алгоритма многокамерного сопровождения поступает поток пространственно-временных координат подвижных объектов, регистрируемых различными камерами. Так «однокамерный» видеоанализ не синхронизирован по времени, исходные координаты приводятся к единой временной шкале методом линейной интерполяции. Затем координаты преобразуются в глобальную систему координаты при помощи матрицы A.
Так выглядят траектории объекта после проецирования на карту. На иллюстрации показаны зоны действия девяти камер, пять из которых зарегистрировали движение объекта. «Однокамерные» траектории выделены тем же цветом, что и соответствующие камеры и зоны их действия.
На втором шаге производится грубое сопоставление глобальных координат наблюдаемых объектов, которые потенциально могут наблюдаться несколькими камерами, но соответствовать одному физическому объекту. Для этого рассчитывается расстояние между наблюдаемыми объектами на карте для текущего момента времени. Если расстояние меньше выбранного порога, например, 1 метр, то объекты помечаем для следующего шага обработки.
Если данные для камеры отсутствуют для рассматриваемого момента времени (объект находиться вне зоны действия данной камеры), то производиться прогнозирование местонахождение объекта. Предполагается, что скорость объекта вне зоны видимости камеры не меняется.
В результате шага 2 формируется список наблюдаемых объектов и соответствующих им «однокамерных» траекторий, которые могут соответствовать одному физическому объекту.
На третьем шаге мы рассчитываем коэффициент корреляции Пирсона между парами координат двух «однокамерных» траекторий. Если коэффициент корреляции лежит в выбранном интервале значимости, то считаем, что две траектории принадлежат одному объекту.
На четвертом шаге объединяем «однокамерные» траектории в «многокамерные». В области перекрытия, полученных на шаге 3, рассчитываем усредненную траекторию объекта. Если зоны действия камер не перекрываются, то происходит «сшивка» двух траекторий, где координаты слепой зоны интерполируются по граничным координатам, наблюдаемых в каждой камере.
Ниже представлена обобщененая траектория движения объекта на карте с использованием многокамерной видеоаналитики.
С практической точки зрения, разработанный алгоритм многокамерного сопровождения позволяет:
В ходе проведенных исследований создана опытная зона многокамерного сопровождения из 9 камер. Получена обобщенная траектория движения цели по данным нескольким камера. Задачей будущих исследований является оценка эффективности и точности разработанного алгоритма.
Смотрите так же публикации на сайте «Синезис»:
Наш коллектив занимается прикладными исследованиями в области видеоаналитики и разрабатывает быстродействующие алгоритмы машинного зрения для автоматической классификации ситуаций по данным поточного видео. Самые интересные результаты мы планируем освещать в корпоративном блоге. Будем благодарны за идеи и критику.
Сопровождение в поле зрения одной камеры
Неотъемлемым компонентом практически любой видеоаналитческой системы является алгоритм сопровождения (трекинга). Зачем он нужен умной системе видеонаблюдения? В общем случае, трекинг объектов необходим для автоматического распознавания ситуаций по правилам, например, человек вошел в контрольную зону, остановился, оставил предмет, или без правил, в самообучающихся системах. Срыв сопровождения практически всегда приводит либо к пропущенной тревожной ситуации, либо к повторным срабатываниям видеоаналитики.
Хабр уже рассказывал о сопровождении объектов в статьях о разработках Zdenek Kalal и Microsoft Research. «Однокамерное» сопровождение, например, в устройстве «MagicBox» работает так:
Результатом работы «однокамерного» алгоритма сопровождения является последовательность пространственно-временных координат каждого объекта. Возможны разрывы траекторий при выходе объекта из поля зрения камеры или при заходе объекта за препятствие.
Сопровождение в поле зрения нескольких камер
Алгоритм многокамерного сопровождения, предмет настоящей публикации, непрерывно сопоставляет данные о положении объектов с различных камер, с учетом взаимного расположения и привязке камер к карте местности. Алгоритм строит обобщенную траекторию объекта при движении от камеры к камере и проецирует эту траекторию на карту. При этом объект может наблюдаться несколькими камерам одновременно или находиться в слепой зоне. Многокамерная траектория позволяет реализовать геовизуальные средства поиска, автоматический выбор ракурса и другие функции системы безопасности, которые часто показывают в фантастических фильмах.
Пространственная калибровка камер
Перед началом эксплуатации системы производиться привязка зоны наблюдения каждой камеры к карте контролируемой территории. Наш алгоритм калибровки использует четыре точки, координаты которых пользователь должен задать одновременно на кадре камеры и на карте:
Рекомендуется использовать узловые точки на поверхности местности, которые легко определить визуально с различных ракурсов, например, деревья, углы дома и ограждений. Алгоритмы вычисляет матрицу преобразования координат методом наименьших квадратов:
где r – координаты на кадре камеры, R – глобальный координаты на карте, A – искомая матрица преобразования.
Таким образом, матрица преобразования A позволяет отобразить двумерные координаты объекта в кадре камеры в его глобальные координаты на карте.
Шаг 1: Предварительная обработка данных
Итак, на вход алгоритма многокамерного сопровождения поступает поток пространственно-временных координат подвижных объектов, регистрируемых различными камерами. Так «однокамерный» видеоанализ не синхронизирован по времени, исходные координаты приводятся к единой временной шкале методом линейной интерполяции. Затем координаты преобразуются в глобальную систему координаты при помощи матрицы A.
Так выглядят траектории объекта после проецирования на карту. На иллюстрации показаны зоны действия девяти камер, пять из которых зарегистрировали движение объекта. «Однокамерные» траектории выделены тем же цветом, что и соответствующие камеры и зоны их действия.
Шаг 2: Предварительное выделение объектов в зоне перекрытия камер
На втором шаге производится грубое сопоставление глобальных координат наблюдаемых объектов, которые потенциально могут наблюдаться несколькими камерами, но соответствовать одному физическому объекту. Для этого рассчитывается расстояние между наблюдаемыми объектами на карте для текущего момента времени. Если расстояние меньше выбранного порога, например, 1 метр, то объекты помечаем для следующего шага обработки.
Если данные для камеры отсутствуют для рассматриваемого момента времени (объект находиться вне зоны действия данной камеры), то производиться прогнозирование местонахождение объекта. Предполагается, что скорость объекта вне зоны видимости камеры не меняется.
В результате шага 2 формируется список наблюдаемых объектов и соответствующих им «однокамерных» траекторий, которые могут соответствовать одному физическому объекту.
Шаг 3: Сопоставление «однокамерных» траекторий
На третьем шаге мы рассчитываем коэффициент корреляции Пирсона между парами координат двух «однокамерных» траекторий. Если коэффициент корреляции лежит в выбранном интервале значимости, то считаем, что две траектории принадлежат одному объекту.
Шаг 4 Обобщение траекторий
На четвертом шаге объединяем «однокамерные» траектории в «многокамерные». В области перекрытия, полученных на шаге 3, рассчитываем усредненную траекторию объекта. Если зоны действия камер не перекрываются, то происходит «сшивка» двух траекторий, где координаты слепой зоны интерполируются по граничным координатам, наблюдаемых в каждой камере.
Ниже представлена обобщененая траектория движения объекта на карте с использованием многокамерной видеоаналитики.
Заключение
С практической точки зрения, разработанный алгоритм многокамерного сопровождения позволяет:
- повысить точность детектирования целей и уменьшить число ложных срабатываний за счет корреляции метаданных видеоаналитики смежных телевизионных и тепловизионных камер;
- сопоставить образ сопровождаемой цели, наблюдаемый одновременно на телевизионной и тепловизионных камерах;
- исключить повторные срабатывания видеоаналитики при переходе цели из зоны наблюдения одной камеры в зону наблюдения другой камеры;
- отобразить цельную траекторию движения человека на карте охраняемого объекта по результатам видеоанализа сразу по всем камерам;
- применять правила к многокамерной траектории на карте для более точного распознавания поведения человека и событий;
- автоматически выбирать оптимальный ракурс наблюдения за человека по мере его перемещения от камеры к камере.
В ходе проведенных исследований создана опытная зона многокамерного сопровождения из 9 камер. Получена обобщенная траектория движения цели по данным нескольким камера. Задачей будущих исследований является оценка эффективности и точности разработанного алгоритма.
Дополнительная информация
Смотрите так же публикации на сайте «Синезис»:
- Алгоритмы сопровождения целей в системах охраны протяженных объектов
- Алгоритм многокамерного сопровождения человека используя данные от видеокамеры и тепловизора
- Сопровождение объектов в условиях их заслонения движущимися и неподвижными препятствиями
- Будущее систем видеонаблюдения: многокамерное сопровождение