Авторы: Александр Коробков
директор по разработкам MACROSCOP
Михаил Сушков
менеджер по развитию бизнеса, Россия и СНГ
компании Samsung
В 1965 году Гордон Мур обнаружил закономерность: появление новых моделей микросхем наблюдалось спустя примерно год после предшественников, при этом количество транзисторов в них возрастало каждый раз приблизительно вдвое. Мур пришел к выводу, что при сохранении этой тенденции мощность вычислительных устройств за относительно короткий промежуток времени может вырасти экспоненциально. Это наблюдение получило название закона Мура.
По мере роста вычислительной мощности микропроцессоров наряду с уменьшением их размеров, камеры охранного наблюдения стали оснащаться сигнальными процессорами DSP с детекторами движения и лиц, а также другими интеллектуальными функциями. Впоследствии IP-камеры также обрели данный функционал и даже его расширили.
В то же время по мере развития компьютерных микросхем появилась программная возможность реализации все более сложных алгоритмов видеоанализа.
Предлагаем читателям рассмотреть на примере программного обеспечения MACROSCOP и IP-камер Samsung некоторые возможности видеоанализа, доступные на данный момент.
В первой части статьи будут рассмотрены возможности ПО.
Видеоаналитика программного обеспечения
Детектирование движения
Это, пожалуй, самая простая и в то же время самая основная функция видеосистемы. Большинство видеосистем начинают запись событий на объекте по детектору движения, что позволяет разгрузить систему и исключить запись в архив видеофрагментов, на которых ничего не происходит.
Для того чтобы учитывалось движение только в интересующей части кадра, оператор может настроить зоны детектирования, задать минимальный и максимальный размер движущегося объекта для каждой зоны. Если движущийся объект, соответствующий заданным размерам, попадает в зону детектирования, запускается видеозапись.
Детектирование в меняющихся условиях
Для систем видеоанализа и распознавания в видеопотоках крайне важно правильное выделение движущихся объектов. В реальных условиях на качество работы детектора влияют тени, шумы, изменение освещенности и заднего плана, интенсивное движение и т.п.
Большинство существующих методов выделения движения учитывают наличие шума – влияние окружающих условий, но не учитывают изменение уровня шума в пространстве и времени. Они адаптируются к резкому изменению освещенности или фона, но после изменения эти методы продолжительное время работают некорректно, что приводит к неправильному выделению объектов и, как следствие, неточным результатам видеоанализа.
Для максимально корректной работы детектора движения необходимо выполнение следующих требований:
Устойчивая работа при наличии шума, автоматическое вычисление уровня шума для разных частей изображения;
Автоматическая адаптация к медленно и быстро меняющимся условиям освещенности;
Устойчивость при изменении заднего плана;
Автоматическое определение тени движущегося объекта и ее удаление;
Высокая скорость обработки данных (для параллельной обработки множества видеопотоков реального времени).
Разработчики MACROSCOP учли все особенности работы детектора в реальных условиях, поэтому созданный детектор движения подстраивается даже к постоянно изменяющемуся уровню шума и обеспечивает точный результат выделения движения.
Рассмотрим подробнее алгоритм работы детектора движения.
Пусть задана видеопоследовательность кадров со стационарной камеры видеонаблюдения.
Для выделения областей движения используется модификация метода «вычитания фона»: строится передний план (движущиеся области) и задний план (статический фон).
Для правильного выделения движущихся объектов необходимо определить и исключить отбрасываемые ими тени. Для удаления теней используется алгоритм фильтрации.
Дело в том, что тень, падая на поверхность, затеняет ее, при этом наблюдаются следующие особенности:
текстура в области тени остается практически неизменной;
яркость всегда уменьшается, а оттенок остается практически неизменным.
Методика выделения теней основывается на анализе яркости и оттенка. Падение тени в большинстве случаев приводит к значительному изменению (уменьшению) яркости при минимальном изменении оттенка. Для того, чтобы произвести фильтрацию тени, проводится анализ пикселей, входящих в области движения объекта. Анализ сводится к определению степени изменения текстуры (по отношению к заднему плану). Чем меньше значение в некотором пикселе, тем больше вероятность принадлежности пиксела к тени.
Таким образом, получаем высокое качество детектирования движения даже при постоянно меняющихся внешних условиях, при этом детектировать можно не только кадр целиком, но и его области.
Подсчет посетителей и трекинг
Модуль трекинга позволяет отслеживать движущиеся объекты в поле зрения камеры. Трекинг регистрирует направление движения объекта , пересечение линий или контрольных зон, длительное пребывание в зоне.
Задачу подсчета посетителей, столь популярную, например, в сфере ритэйла, решает одноименный программный модуль. Модуль подсчета посетителей позволяет определять количество вошедших и вышедших людей в реальном времени, а также строить статистику о посетителях, находящихся в помещении, покинувших его или вошедших. Отчеты можно построить за любой промежуток времени, по одной или нескольким камерам.
Рассмотрим подробнее подсчет посетителей.
Вообще, существует несколько основных способов автоматического подсчета посетителей: механический способ, на основе датчиков (тепловых и пересечения инфракрасного луча), и на основе анализа видеопотока. По сравнению с другими методами, анализ видеопотока выигрывает за счет того, что не требует от посетителей совершать какие-либо действия (например, задерживаться в случае механических турникетов), и может работать при большей плотности людей (по сравнению с тепловыми и инфракрасными датчиками).
В самом простом случае, когда видеокамера расположена над входом, в кадре появляется не более одного человека и движение происходит редко, подсчет посетителей становится тривиальной задачей. Алгоритм просто фиксирует пересечение движущимся объектом заданной виртуальной линии и в зависимости от направления движения увеличивает число вошедших или вышедших на единицу.
Ситуация усложняется, когда камера установлена наклонно, а через виртуальную линию проходят люди, которые перекрывают друг друга, либо движутся в группе и соприкасаются.
Можно выделить два подхода к решению задачи подсчета прошедших людей в таких условиях – прямой и косвенный.
При прямом подходе люди непосредственно выделяются и отслеживаются, строится траектория их движения. Данный метод применим при небольшом взаимном перекрытии движущихся объектов, когда их можно легко отделить друг от друга.
Косвенные же методы не строят траекторию непосредственно. Они используют вычисление характеристик особенностей изображения (края, углы, особые точки, информация о текстуре и т.д.), или определение характеристик оптического потока. Данные методы применимы для плотного потока людей, когда традиционные способы отслеживания движущихся объектов (трекинга) неэффективны.
От выбора метода зависит, в каких условиях сможет работать системы и как может быть расположена видеокамера. В случае если камера направлена вертикально вниз, можно добиться хорошего отделения людей друг от друга. Перекрытия людей в таком случае быть практически не может, поэтому оператору достаточно задать типичные размеры человека, и программа сможет автоматически выделить всех людей даже из группы.
В более сложных случаях, когда камера направлена не строго вертикально вниз и люди могут перекрывать друг друга, используются более сложные методы отслеживания. Например, поиск и отслеживание определенных частей человеческого тела (головы и плеч, головы).
Также определить количество посетителей можно, используя информацию о величине и направлении векторов оптического потока на последовательности видеокадров. Происходит выявление статистических характеристик особенностей изображения, считается, что количество людей в определенной области зависит от количества выделенных особенностей изображения. Обычно количество людей прямо пропорционально количеству особенностей. Исходя из полученной информации об особенностях, строится статистика по посетителям.
Распознавание лиц
Программные модули распознавания лиц обеспечивают автоматическое выделение из видеопотока оптимального изображения лица, сохранение его в базе данных и последующую идентификацию в режиме реального времени или при работе с архивом.
Распознавание и поиск людей по лицам сводится к работе системы с базой индексов.
Механизм индексирования
Вместе с записью видеоархива система осуществляет запись индексов объектов, попавших в кадр. Индексы –особые характеристики, соответствующие индивидуальным признакам объекта (например, лицо, цвет, размер). В дальнейшем поиск по тем или иным приметам объекта работает с этой базой индексов.
Когда в системе установлен модуль распознавания лиц, программа выделяет из видеопотока изображение всех лиц, попавших кадр, при этом уже не важно, было движение или нет. Затем выявляются индивидуальные признаки лица, заносятся в базу. Оператор может создать эталонную базу лиц, как только соответствующее лицо попадет в кадр, на экран выведется информация о человеке.
Искать по лицам можно также либо загрузив фотографию, либо выбрав образец из видеоархива. В результате оператору выдаются изображения лиц, соответствующие определенным фрагментам видеоархива.
Различные программные комплексы накладывают разные ограничения на условия съемки для распознавания. Модуль требует четкого отображения лица в видеопотоке, огромное влияние оказывают положение и выражение лица, его освещенность и размер в кадре. Распознавать лица в неорганизованном потоке людей крайне тяжело, поэтому чаще всего модули используются там, где можно обеспечить наилучший обзор лиц, например, на проходных. Камеры при этом необходимо устанавливать напротив лица или под небольшим углом.
Существуют алгоритмы, не предъявляющие таких жестких условий. Такие системы предназначены для распознавания лиц в толпе: на стадионах, в торговых центрах, кинотеатрах, и используют мегапиксельные камеры для получения подробного изображения. При этом программа анализирует не отдельный кадр, а серию кадров, выделяет лицо или лица, попавшие в поле зрения камеры, и далее записывает признаки в базу.
Распознавание автомобильных номеров
Принцип работы модуля распознавания автономеров остается таким же: формирование индексов, занесение в базу, дальнейшее сравнение при поиске. Индекс автономера представлен в простой текстовой форме, поэтому поиск по базе номеров- очень быстрая и несложная операция.
Система распознавания номеров позволяет не только искать в видеоархиве фрагменты, на которых автомобиль попадал в кадр, оператор может создать базу интересующих номеров, включив описание автомобилей или какие-то дополнительные комментарии, а затем получать статистическую информацию, где и когда появлялся автомобиль из этой базы. Еще одно полезное дополнение: для поиска автомобиля не обязательно знать точный регистрационный номер: неизвестные оператору цифры или буквы, можно заменить звездочками (*), программа выдаст все варианты, попавшие в архив.
Конечно, программы для распознавания номеров также предъявляют некоторые требования к полученным видеокадрам: изображение номера должно быть зафиксировано под определенным углом, скорость автомобиля ограничивается некоторой величиной, камеры, ведущие съемку, должны быть мегапиксельными, поддерживать режим «день-ночь», иметь матрицу большого размера, поддерживать черно-белый режим.
Поиск по приметам
Поиск по приметам позволяет искать объект по заданным визуальным признакам. Оператор может запросить у системы человека в красной рубашке и черных штанах или загрузить образец: фотографию, кадр из архива- и ПО выдаст все объекты, удовлетворяющие критериям поиска.
Результаты поиска выдаются в виде набора изображений, оператору необходимо выбрать нужный вариант, после чего он сможет просмотреть отрезок видео из архива.
Вероятность пропуска нужной информации мала, так как анализ направлен не столько на поиск похожих объектов, сколько на отбрасывание несоответствующих. Система скорее выдаст несколько лишних вариантов, но это не страшно, так как оператор всегда сможет найти необходимое вручную.
Поиск по приметам объекта также сводится к работе с базой индексов.
Поиск по приметам MACROSCOP: поиск в архиве по заданным цветам, по фотографии или по образу из записанного видеоархива
Поиск по цветам позволяет искать объект по заданным визуальным признакам: запросить у системы человека в зеленой рубашке и черных штанах. Также можно искать по фотографии или образцу, загруженному из видеоархива.
Производители программного решения MACROSCOP не ставят перед собой задачу стопроцентного распознавания - найденные результаты будут соответствовать запросу или образцу, но окончательную идентификацию осуществляет сам оператор. Поисковые результаты выдаются в виде набора кадров, человеку необходимо выбрать нужный вариант, после чего он сможет перейти к отрезку видео из записанного архива.
Задача поиска по приметам нетривиальна по ряду причин: субъективность цветового восприятия человеком; влияние условий съемки, зачастую постоянно меняющихся в течение съемки и т.п.
Для того чтобы запустить поиск по приметам, оператору необходимо раскрасить шаблон человека в соответствующие цвета.
Шаблон необходимо раскрасить вручную, для удобства оператора регулируется размер кисти. Раскрашенный шаблон можно сохранить для последующих поисков.
Поисковые результаты выдаются в виде набора изображений, оператору необходимо выбрать нужный вариант, после чего он сможет просмотреть отрезок видео из архива
Для поиска по фотографии необходимо загрузить образец в или выбрать кадр с изображением объекта из видеоархива.
Анализ направлен не столько на поиск абсолютно похожих объектов, сколько на отбрасывание несоответствующих, поэтому вероятность пропуска нужного объекта мала. Система скорее выдаст несколько лишних вариантов, что не критично, так как оператор всегда может найти необходимый результат вручную.
Выделение примет объектов
Индексированию подвергаются кадры, на которых присутствует движение. Далее происходит выделение маски - области движущегося объекта. Возможны два варианта реализации механизма выделения цвета.
В первом случае программа ищет маски, соответствующие объекту «человек». Далее выделяется нижняя и верхняя часть маски (ноги и туловище), определяется один или несколько основных цветов для частей, данные записываются. При поисковом запросе анализируются эти данные, если совпадает хотя бы один цвет соответствующих частей, объект выдается в результаты.
Программа ищет маски, соответствующие объекту «человек».
Далее выделяется нижняя и верхняя часть маски (ноги и туловище)
Для образца, по которому осуществляется поиск, также производится деление на две части, затем выделение основных цветов, сопоставление с данными объектов из архива.
Во втором случае сначала проводится классификация движущегося объекта: классификатор определяет, человек это, машина или какой-то посторонний предмет, потенциально не представляющий интереса для оператора. В данном случае рассмотрим работу только с объектами типа «человек». Маска человека подвергается кластеризации - выделению одинаковых по цвету участков. Для каждого кластера определяются его характеристики, которые в результате образуют необходимый для поиска индекс.
Аналогично для образца (фотографии или кадра из архива), по которому производится поиск, осуществляется кластеризация, присваиваются индексы, далее идет их сравнение с индексами, содержащимися в базе. Объекты, чьи индексы совпадают, выдаются оператору.
Образцом для поиска может служить фотография или кадр из архива. Основное требование - четкое изображение человека, по которому будет осуществляться поиск. Дополнительно в программе можно удалить фон вокруг объекта (воспользоваться ластиком).
Съемка в меняющихся условиях
При обработке данных, поступающих с IP-видеокамеры, приходится учитывать влияние условий, в которых проводится съемка. Качество съемки зависит от степени освещенности, качества IP?камеры - нередко встречаются камеры, искажающие цвета. Для решения этих проблем программным обеспечением проводится постоянный динамический анализ видеопотока. Интеллектуальная система сама определяет ту или иную проблему и подстраивается под неидеальные условия - программе необходима всего пара минут для анализа состояния видео, приходящего с камеры, после чего в зависимости от проблемы производятся корректировки. Если освещение яркое или тусклое на последовательности кадров, система соответственно затемняет изображение или повышает контрастность - преобразует картинку к нормальным условиям. Если IP?камера вносит цветовые искажения в кадр, программа нейтрализует их подстройкой баланса белого. Таким образом, интеллектуальная система регулирует качество картинки, приводя его к состоянию, максимально близкому к идеальному.
Сложности
Несмотря на высокий уровень существующих технологий поиска, еще есть задачи, требующие дальнейших разработок. Сложности возникаю, когда:
Появляются цветные узоры, изображения на одежде, складки, тени, заломы ткани. Человек воспринимает цвет независимо от его освещенности или затенения. Однако реальные значения цвета в RGB могут в этом случае заметно отличаться.
Одежда человека или ее часть совпадает или приближена по цвету к фону.
Человек попадает в кадр частично или принимает нехарактерную позу. В этом случае тяжело провести корректное распознавание и выделение объекта.
Однако, разработчики MACROSCOP результативно решают возникающие сложности, уже сегодня предоставляя точный инструмент поиска по приметам.
Точность поиска
Важно отметить, что MACROSCOP различает не оттенки, а именно цвета объектов. Разработчики не ставят задачу распознавания всех оттенков фиолетового, но если оператор ищет фиолетовый объект, он получит все результаты с различными вариациями оттенков. Далее человек может самостоятельно выбрать необходимый вариант.
MACROSCOP использует две метрики для определения точности поиска по приметам: во-первых, мы оцениваем количество треков похожих объектов, которые были найдены. На сегодняшний день эта цифра составляет 80%. Во-вторых, MACROSCOP определяет количество непохожих объектов, попавших в выдачу результатов. Этот показатель составляет 10%.
Видеоаналитика IP-камер (на примере IP-камер Samsung)
Все IP-камеры Samsung имеют встроенную видеоаналитику на базе DSP процессоров WiseNet S, WiseNet, WiseNet II, которые поддерживают ряд аналитических алгоритмов. Рассмотрим каждый из них в отдельности:
Вход/Выход, Пересечение: Пользователь создает виртуальную линию, при пересечении которой в направлении направо или налево, генерируется соответствующая тревога. Обнаружение движения объекта происходит, когда его центральная точка перемещается извне (вход) в заданную область или за ее пределы (выход).
Появление/исчезновение: Срабатывание происходит при нахождении/ отсутствии объекта в заданной зоне дольше определенного времени.
Детекция лиц:
Данный алгоритм позволяет обнаруживать до 35 объектов в 4 зонах.
Минимальный размер лица – 40 пикселей, максимальный – 340. Через веб-интерфейс камеры возможна настройка 10 уровней чувствительности детектора.
Допустимый порог наклона вне плоскости составляет 30 градусов по вертикали и 60 градусов по горизонтали. При вращении в плоскости этот показатель составляет 45 градусов.
Одна из областей применения алгоритма детекции лиц – так называемая «умная компрессия». При обнаружении лиц в поле зрения камеры, область в которой они были замечены, подвергается сжатию с высоким качеством, в то время как «неактивные» области передаются в сеть с «низким» качеством. Это позволяет уменьшить поток видеоданных с IP-камеры и более рационально использовать дисковое пространство архива.
Детекция звука: Позволяет обнаруживать звуковые колебания в заданный временной промежуток, которые превышают установленный уровень даже при отсутствии объекта в кадре.
Изменение сцены наблюдения: Генерирует тревожное сообщение в случае изменения сцены наблюдения на протяжении определенного временного интервала.
Вместе с тем, наибольшую выгоду от использования IP-камер со встроенной видеоаналитикой пользователь получает в сочетании с профессиональным программным обеспечением.
Профессиональное программное обеспечение ведет запись метаданных синхронно с видео- и аудиопотоком, что позволяет пользователю системы в дальнейшем осуществлять быстрый и точный поиск событий в видеоархиве по категориям.
Кроме того, благодаря тому, что метаданные содержат не только данные о зоне, где было зафиксировано событие, но и обо всей сцене наблюдения камеры в целом, пользователь получает возможность выбрать новую логику и категории поиска событий уже после их наступления.
Это, например, может быть использовано в ситуации, когда камера направлена на коридор между прилавками магазина с целью пресечения воровства продукции и выполнения прочих охранных задач. В свою очередь, департамент маркетинга может использовать данную камеру для создания отчетов об интенсивности людского потока в данном коридоре, и создании популярных маршрутов и полок с продукцией, или тепловых карт покупательской активности.
Таким образом, по мере развития профессионального программного обеспечения и технологий, «вживленных» в IP-камеры, алгоритмы видеоанализа будут совершенствоваться и выполнять все более сложные задачи. Уже сейчас можно говорить о тенденции переадресации простых задач анализа на IP-камеры, в то же время, сложные задачи, такие как распознавание лиц, автомобильных номеров, требующие больших вычислительных мощностей, по-прежнему будут решаться средствами профессионального программного обеспечения.
Именно, рациональное распределение этих задач, грамотное проектирование и настройка системы, позволят получить максимальную пользу от использования функций видеоанализа.
Источник: Daily (.sec ru)