Встроенная видеоаналитика

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

Конечно серверные решения предлагают значительно больше вариантов видеоаналитических функций. Но встроенных возможностей камеры уже достаточно для решения самых распространенных задач. Причем набор встроенных функций все время растет. Важным этапом в развитии видеоаналитики в камерах стало ее использование не только в сфере обеспечения безопасности, но в сборе статистики и в сфере продаж. Как только появилась возможность анализа маркетинговых данных, стало развиваться ПО, которое может обрабатывать видеоданные с обычных камер. Например, распознавание пола посетителей или наполненности полок товаром. А есть и производители, которые предлагают некий аналог магазина приложений. Так сторонние компании могут распространять любое ПО, устанавливаемое пользователями на свои камеры.

Если говорить о самой ходовой функции видеоаналитики, то это безусловно будет детекция движения. Такой алгоритм заложен практически в любой IP-камере доступной на рынке. Мы же решили посмотреть какие другие встроенные в видеокамеру алгоритмы видеоаналитики может приобрести инсталлятор.

И список получился достаточно обширный:

  • Пересечение линии
  • Вторжение в область
  • Детекция лиц/людей
  • Подсчет людей
  • Слежение за объектом
  • Температурная карта
  • Детекция очереди
  • Праздношатание
  • Быстрое движение
  • Разворот/поворот при движении
  • Оставленный предмет/остановка
  • Смена сцены/Детектор саботажа
  • Расфокусировка/Детекция тумана
  • Распознавание автономеров
  • Распознавание лиц

Детектор движения

Наиболее классический и распространенный тип видеоаналитики в камерах. На самом деле и самый востребованный в сфере обеспечения безопасности. Благодаря грамотно настроенному детектору движения получается существенно сэкономить на эксплуатации системы видеонаблюдения. Во-первых, можно записывать видео в архив только в случае детекции движения на объекте. А значит происходит снижение затрат на сам архив. Во-вторых, нет необходимости постоянно следить за всеми камерами на объекте, а значит нужно меньше сотрудников и вычислительных мощностей сервера видеонаблюдения. Принцип работы детектора движения в современных камерах заключается в основном, в попиксельном сравнении двух соседних кадров между собой. Для установки численного различия между кадрами, при котором будет срабатывать детектор, обычно используется регулируемая чувствительность детектора движения. Важно понимать, что высокая чувствительность детектора движения приводит к тому, что камера будет реагировать на любое мелкое изменение картинки. При низкой чувствительности – напротив, будет пропускать множество перемещений. Отдельной проблемой можно выделить срабатывание на движение деревьев и тряску самой камеры от ветра. Но это можно компенсировать выделением только интересующей зоны на сцене. Часто камеры позволяют задать сразу несколько участков с разными настройками. А вот неизлечимой слабостью такого исполнения детекторов является то, что ошибки в них часто возникают при включении и отключении прожекторов видимого света или ИК-подсветки. Кроме того, казалось бы, не резкое изменение освещения может вызвать ложное срабатывание. А если куплена некачественная камера, или проектировщик сэкономил на подсветке, то внутренние шумы устройства при низкой освещенности приведут к постоянному срабатыванию детектора. Хотя эти проблемы отчасти решены в детекторах движения, анализирующих именно перемещение объекта, а не изменение всей картинки. Проще говоря – следят за изменением групп только соседних пикселей. И все чаще производители подчёркивают, что их новые алгоритмы детекции движения избавлены от этой проблемы. Кто-то называет их расширенными алгоритмами, кто-то отмечает применение нейросетевых технологий. Но, в любом случае, инсталлятору стоит по возможности проверить работу детектора в камере именно при работе в упомянутых условиях.

Рисунок 1 Детектор движения засекает любые изменения в усьановленной части изображения

Пересечение линии

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

Рисунок 2 Яркий пример анализа пересечения линии – контроль пересечения автодорожной разметки

Вторжение в область

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

Детектор людей/лиц

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

Рисунок 3 Детекция людей будет полезна там, где срабатывание на любое движение не нужно

Подсчет людей

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

Слежение за объектом

В PTZ камерах может присутствовать функция, автоматически позиционирующая камеру для наблюдения за движущимся объектом. В некоторых случаях такой функционал может быть удобнее детектора движения в обычной камере. Как минимум объект не сможет выйти за пределы угла обзора и всегда будет под наблюдением. А по видеозаписи всегда можно будет восстановить полную картину происходящего. Слежение за объектом реализуется за счет того, что камера при помощи своего поворотного механизма будет стараться держать зафиксированный объект в пределах изображения. Значит будет происходить детекция движущегося объекта, построение траектории его движения и управление поворотом камеры. И точность работы всего алгоритма будет складываться из совокупной точности работы каждой подфункции.

Рисунок 4 Слежение за объектом позволит использовать на протяженных объектах всего одну камеру

Температурная карта

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

Рисунок 5 Удобный инструмент визуализации – температурная карта помещения

Детекция очереди

В этом случае происходит не подсчет людей в одном месте за весь интервал времени, а фиксируется количество людей в заданном месте в текущий момент. Для розничных магазинов количество покупателей на кассе принципиально. Большая очередь приводит к отказу людей от покупки, а короткая к повышению затрат. Оптимальной принята длина очереди от 3-х до 5-ти человек. И встроенная видеоаналитика уже позволяет с высокой точностью анализировать этот показатель. А затем можно автоматически оперативно информировать сотрудников о необходимости открытия дополнительных касс, или напротив закрытия невостребованных.

Рисунок 6 Детекция очереди как простой способ уменьшения упущенной выгоды

Праздношатание

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

Рисунок 7 В некоторых странах праздношатание является правонарушением

Быстрое движение

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

Разворот/Поворот при движении

Дальнейшее развитие идеи анализа движения объекта в области. В этом случае детекция срабатывает, если объект изменил направление движения. Отдельно выделяется срабатывание при изменении направления движения на противоположное.

Оставленный предмет/Остановка

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

Рисунок 8 Оставленные предметы могут представлять серьезную опасность

Смена сцены/ Детектор саботажа

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

Рисунок 9 Детекция саботажа точно вовремя проинформирует о выходе камеры из строя

Расфокусировка/ Детектор тумана

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

Распознавание автономеров

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

Рисунок 10 Доступ на территорию по распознаванию номера

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

Вершина встроенной видеоналитики на текущий момент. Эта функция осуществляет детекцию лица, а затем сравнивает зафиксированное изображение с хранящейся базой лиц. Нетрудно догадаться, что такой алгоритм требует больших вычислительных мощностей уже при малой базе лиц. А использование большой базы закономерно еще больше увеличит эти требования. Кроме того, если вспомнить проблемы с работой даже просто при детекции лиц, становится понятным насколько требователен алгоритм распознавания лиц к качеству изображения. С другой стороны, распознавание лиц зачастую применяется в качестве звена СКУД. Поэтому нет жёстких требований по быстродействию и работе в некомфортных условиях. Отсюда же и вытекает, что сейчас такие алгоритмы применяются не столько в видеокамерах, сколько в домофонах и автономных пропускных пунктах.

Рисунок 11 Доступ на территорию по распознаванию лица

Заключение

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

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

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

Статьи

Рассмотрим существующие варианты стабилизации изображения в видеокамерах.

Информация о том, какие технические характеристики видеокамер являются наиболее важными для создания профессиональной системы видеонаблюдения.

Какие комбинации матричных цветофильтров могут увеличить количество информации об изображении, гарантируя большее разрешение и минимум шумов?

Тесты