Статьи

К списку статей

Что делать, когда поворотных камер много. Часть 2

Начало статьи

Сегментация объектов
Сегментация объектов - преобразование множества пикселов переднего плана в множество объектов, т.е. семантически связных областей изображения, принадлежащих одному движущемуся объекту (человеку, автомобилю и др.). Используется простой и очень быстрый однопроходной алгоритм сегментации, моделирующий каждый наблюдаемый объект в виде прямоугольного региона с границей, имеющей определенную толщину.
На каждом шаге работы алгоритма вычитания фона из пикселов переднего плана формируется множество непересекающихся регионов R, имеющих границу с фиксированной толщиной l.
  1. Если очередной пиксел попадает внутрь или на границу уже существующего региона, то регион расширяется до координат этого пиксела.
  2. Если региона, соответствующего пикселу, не найдено, то создается новый регион размером 1х1 с центром в этом пикселе.
  3. В случае пересечения 2-х регионов происходит их слияние, т.е. создается один новый регион, включающий в себя два предыдущих.
  4. После обработки всего кадра регионы, размер которых меньше заранее установленного минимума, удаляются.
Фактически, сегментация объектов - это объединение разрозненных, «инородных», не принадлежащих фону точек в конкретные объекты, которые на следующем этапе подлежат обработке и классификации.
Сопровождение объектов
Алгоритм сопровождения объектов разработан на основании координат, скорости и времени нахождения объекта на кадре. Входные данные алгоритма - множество регионов, найденных на этапе сегментации объектов. Не буду глубоко вникать в математику процесса, она очень сложна для понимания и находится под защитой авторского права. Кратко все выглядит так: сегментированным объектам присваивается свой уникальный номер, определяются координаты его центра, после этого начинается анализ, в процессе которого определяется смещение относительно предыдущего кадра и время его жизни (количество кадров, на которых был идентифицирован объект), а также определяется его актуальность. На основании анализа машинный интеллект прогнозирует дальнейшее поведение объекта и определяет возможные дальнейшие его координаты, на основании проведенных вычислений анализируется следующий кадр и на нем определяется текущее положение ранее идентифицированных объектов. Пример показан на рисунке 4.
Каждому отслеживаемому объекту присваивается уникальный номер
Рис. 4. Каждому отслеживаемому объекту присваивается уникальный номер
Разработанный алгоритм сопровождения объектов позволяет восстанавливать связь с перемещающимся объектом даже в том случае, если он на короткое время скрылся из поля зрения видеокамеры. Одновременно система может вести до 50 объектов.

Практическая реализация

Выше была описана математика работы интеллекта системы видеонаблюдения, теперь перейдем к практической реализации новой технологии. Итак, какие возможности дает нам многолетний труд группы одаренных программистов? Пойдем от простого к сложному - вначале не совсем будет понятно, как все это связано с поворотными видеокамерами, но я расскажу об этом немного позже.
Детектор оставленных предметов
Детектор оставленных предметов на сегодняшний день очень востребован на рынке систем безопасности, в связи с возрастающей каждый день в мире террористической угрозой. Работает он очень просто, если вам удалось разобраться в описанном выше алгоритме. У нас есть фоновая картинка, есть идентифицированный движущейся объект, и, если на последних N кадрах (величина определяется пользователем системы) его положение не изменилось или изменилось на какую-то малую величину, данный предмет считается оставленным, в системе возникает новое событие и далее происходит последовательность действий, определенных во встроенном скриптовом языке (работа скриптового языка описана выше). Этот алгоритм относится как к предмету, попавшему в кадр извне (перекинутый через забор мешок), так и к предмету, отделившемуся от движущегося объекта (оставленный человеком портфель).

Детектор пересечения линии

Детектор пересечения линии на сегодняшний день тоже очень востребован на рынке систем безопасности, а в определенных областях даже незаменим (охрана подходов к охраняемой территории без использования технических средств охраны, создание временных рубежей охраны, подсчет посетителей в магазине, нарушение ПДД и т.д.). Работает тоже очень просто. У нас есть движущийся идентифицированный объект, в кадре создается виртуальная линия, если объект пересекает эту линию, формируется событие, и далее предпринимаются определенные действия по сценарию встроенного в систему языка программирования. Система имеет возможность подсчета проходов и определения, в какую сторону произошло пересечение, что тоже в некоторых случаях незаменимая функция.
Определение скорости движения
Функция определения скорости движения вытекает из возможностей детектора пересечения линии, но этот алгоритм пока является ноу-хау. Кстати, тесты показали, что данный метод определения скорости оказался немного точнее обычного милицейского радара, принцип работы которого основан на эффекте Доплера. Эта функция вряд ли получит широкое применение в системах безопасности, но, безусловно, может эффективно применяться на службе у сотрудников ГИБДД.

Распознавание целей

Распознавание целей является одной из самых сложных функций, реализованных на данный момент времени, это обуславливается очень сложной математикой процесса. Простым языком это выглядит так: после модуля сегментации объекта мы получаем сгруппированные между собой пикселы, примерно как на рисунке 3, понаблюдав за ним несколько кадров и собрав статистику, мы получаем некий усредненный образ цели. А если у нас есть образ, то мы можем сравнить его с чем-то, уже существующим в базе данных образов, и, если там есть что-то похожее, выдать результат. Система может самостоятельно определять разнообразные виды объектов (легковой автомобиль, грузовой автомобиль, человек, собака, мотоциклист и т.д.) и записывать данное событие в журнал событий, например, так: «С вероятностью 95% видеокамера «Въездные ворота » зарегистрировала объект «Легковой автомобиль». На это событие может включаться алгоритм действий, написанный до этого на встроенном в систему языке программирования. Более того, система является самообучаемой и пользователь может добавлять в базу данных объектов новые, не известные до этого объекты - для этого, правда, придется несколько раз пояснить системе, что же она видит.
Переход с координатной системы 2D на координатную систему 3D
И наконец, мы плавно подошли к самому главному - как все эти алгоритмы, функции, возможности должны облегчить жизнь рядовому оператору систем безопасности, у которого на объекте много поворотных видеокамер. Одной из главных трудностей автоматического наведения видеокамер на объект является то, что с видеокамеры мы получаем «плоскую» 2D-картинку и машинному интеллекту очень трудно объяснить, далеко объект или близко, большой он или маленький. Но и в этом случае на помощь пришли человеческий интеллект и математика. Принцип перехода в трехмерную систему координат очень прост, но математически очень трудно реализуем. Если взять и на плоской картинке нанести определенное количество (не менее 3) виртуальных точек, а потом на каждую из них четко навести видеокамеру, используя ее трансфокатор, то, используя математические преобразования, система сможет построить условную 3D-сетку координат. В 3D-системе координат наводить поворотную видеокамеру на движущийся объект значительно проще. Понятно, что, чем сложнее рельеф на объекте, тем больше должно быть опорных «виртуальных точек». Используя 3D-систему координат и имея идентифицированный объект, мы сразу же получаем возможность навести видеокамеру на него в «одно касание» простым кликом мыши по интересующему нас объекту. Преимущества данной технологии перед обычным ручным пультом управления очевидны.

Функция Fine Track

Итак, у нас есть 3D-система координат, у нас есть реализованный алгоритм идентификации и распознавания цели, почему бы это все не объединить и не заставить видеокамеру наводиться на объект самостоятельно. И решение было найдено: рядом с поворотной видеокамерой устанавливаем видеокамеру стационарную. Со стационарной видеокамеры получаем опорную картинку и применяем на нее все вышеизложенные алгоритмы, если в кадре есть движение, то вычисляем координаты движущегося объекта, переводим координаты в 3D-сетку и даем команду поворотному устройству навестись на объект. Обновляя координаты цели, корректируем положение видеокамеры. Если объектов много, то наводимся на все по очереди, тут можно задействовать функцию «Распознавание объекта» и выставить приоритеты, например, наблюдать только за людьми или только за автомобилями, а можно управлять и вручную, кликнув на подозрительном объекте мышкой наблюдать только за ним.
Функция Fine Dome
Fine Dome - это следующая реализация функции Fine Track, за одним лишь отличием: стационарная видеокамера не нужна, опорный кадр получается с видеокамеры поворотной. Физически это выглядит так: поворотная видеокамера становится на позицию, с которой лучше всего видно контролируемую территорию (фактически, исполняет функцию стационарной), кадры с которой приходят с видеокамеры, анализируются, если в них есть движение, то видеокамера наводится на движущийся объект, если объектов несколько, наводится поочередно, периодически возвращаясь к позиции опорного кадра, при необходимости можно кликнуть на подозрительном объекте и видеокамера будет следить только за ним.
Функция «Локатор»
Функция «Локатор» - это последняя на сегодняшний день из реализованных опций в системе, в данный момент времени она находится на стадии тестирования, суть ее сводится к следующему. Представьте себе, что у нас есть господствующая высота (вышка), на которой установлена мощная поворотная камера, или тепловизор, 70% подступов к высоте непроходимы (горы, болота, леса и т.д.), остальные 30% проходимы (поля, дороги, тропы и т.п.). Задача: организовать систему раннего оповещения о подходе злоумышленников к объекту. Раньше такую сложную задачу могла решить только РЛС (радиолокационная станция), но у РЛС есть существенный недостаток: она может показать на карте то, что движется объект - однозначно идентифицировать этот объект РЛС не может. Функция «Локатор» позволяет нам идентифицировать объект, нанести на карту и подать тревожный сигнал. Физически решается это так: на проходимые места рельефа настраиваются в 3D-системе координат пресет-позиции, с небольшой периодичностью камера наводится на них и в течение 2-3 с анализирует картинку на предмет возможного движения (см. алгоритм работы функции Fine Dome), и, если движение есть, объект распознается (см. алгоритм работы функции «Распознавание цели»), определяются его координаты и в виде соответствующей пиктограммы цель наносится на карту местности. Одновременно с нахождением цели можно включить тревогу, прожектор и т.п. (см. возможности встроенного языка программирования).
Заключение
Сегодня мы рассмотрели ряд совершенно новых функций систем видеонаблюдения, некоторые из них являются уникальными для мирового рынка. Вывод можно сделать только один: использование машинного интеллекта очень сильно облегчит жизнь оператору систем безопасности и, безусловно, поднимет защищенность объекта на новую, совершенно недосягаемую до этого высоту. Кстати, производители «железа» тоже не сидят на месте и на одной из последних выставок некоей японской компанией была представлена видеокамера со встроенной функцией детектора пересечения линии и детектора оставленных предметов. Детекторы, встроенные в видеокамеру, работали очень неплохо, у нее был единственный минус - цена.
Тенденция развития рынка такова, что производители «железа» всегда на несколько шагов позади производителей «интеллекта», и даже сейчас, во время написания этой статьи, у нас очень много идей, как сделать систему немножко лучше, а жизнь оператора немножко легче. К сожалению, эти идеи пока являются «совершенно секретными», но, надеюсь, уже к выходу следующего номера журнала я смогу вам о них рассказать.

С. Солодянкин, руководитель отдела продаж ЗАО «Стилсофт»
"Алгоритм Безопасности" № 6, 2008 год.

Видеонаблюдение

Внешний вид AN5-21B3.6I Внешний вид AN5-21B3.6I
AN5-21B3.6I
1 947

Производитель Axycam
Внешний вид AD4-P37B3.6I-MG Внешний вид AD4-P37B3.6I-MG
AD4-P37B3.6I-MG
Доступно: 58 шт.
1 250

Производитель Axycam
Внешний вид AN4-37B3.6I-MG white Внешний вид AN4-37B3.6I-MG white
AN4-37B3.6I-MG white
Доступно: 197 шт.
1 350

Производитель Axycam
Внешний вид AD-P31B3.6I-AHD Внешний вид AD-P31B3.6I-AHD
  • - 1/4" 1Мр Omnivision
  • - 720p ( 30 к/с)
  • - 3.6mm
  • - подсветка - 20м
1 233

Производитель Axycam
Внешний вид AD-P31B2.8I-AHD Внешний вид AD-P31B2.8I-AHD
AD-P31B2.8I-AHD
1 363

Производитель Axycam
Внешний вид AN5-31B3.6I-AHD white/dark grey Внешний вид AN5-31B3.6I-AHD white/dark grey
AN5-31B3.6I-AHD white/dark grey
2 402

Производитель Axycam
Внешний вид AD-31B3.6I-AHD Внешний вид AD-31B3.6I-AHD
  • - 1/4" 1Мр Omnivision
  • - 720p ( 30 к/с)
  • - 3.6mm
  • - подсветка - 25м
2 012

Производитель Axycam
Внешний вид AD7-31V12I-AHD Внешний вид AD7-31V12I-AHD
  • - 1/4" 1Мр Omnivision
  • - 720p ( 30 к/с)
  • - 2.8-12mm
  • - подсветка - 25м
3 310

Производитель Axycam
Внешний вид AD-P33B3.6NIL Внешний вид AD-P33B3.6NIL
AD-P33B3.6NIL
Доступно: 3 шт.
4 024

Производитель Axycam
Внешний вид AN4-37V12I-MG Внешний вид AN4-37V12I-MG
  • - 1/4" 1Мр H42
  • - 720p ( 30 к/с)
  • - 2.8-12mm
  • - подсветка - 40м
4 219

Производитель Axycam
Найдено товаров: 1802
1 2 3 4 5

Возврат к списку

Создание проекта системы видеонаблюдения всего за несколько минут;
Все РЕАЛЬНО: в т.ч. сектора наблюдения, параметры кабельных трасс;
Загрузка готовых планов и их масштабирование;
Спецификация обрудования и смета создается автоматически;
Дружелюбный интерфейс;
Индивидуальные настройки программы и оборудования.
Техподдержка встроена непосредственно в программу.
Регистрация занимает одну минуту.

ОТ ЗАПРОСА ДО ОФОРМЛЕННОГО ПРЕДЛОЖЕНИЯ - 15 МИНУТ