experience the next
 
Главная  > Журнал «Experience the Next»  > Статьи из журнала

Чище, четче, умнее

24.07.2006

Автоматизированный анализ изображения: настоящее и будущее

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

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

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

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

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

Главное применение распознавания текстов в сфере безопасности - автоматическое чтение автомобильных номеров. Задача эта давно и с успехом решена производителями систем безопасности. Обычно та часть системы видеонаблюдения, которая распознает номера, выполняется в виде отдельного программного модуля.

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

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

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

Гораздо более житейский, мирный вид деятельности для системы распознавания номеров - учет железнодорожных вагонов. Здесь речь идет о диспетчерских функциях в пределах нормального производственного процесса. С автомобилями такое тоже возможно -всегда полезно автоматизировать учет прибытия и убытия машин в таксопарке или на автобазе.

Отделение объектов от фона

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

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

Один из наиболее эффективных и неожиданно простых методов отделения объекта от фона - нахождение его контура. Вот как выглядит элементарный алгоритм нахождения контура.

Возьмем отдельную точку на изображении и умножим яркость картинки в этой точке на 9. Затем умножим яркость 9 ближайших соседних с нею точек на (-1). Теперь просуммируем полученные 10 величин.

Если контур объекта не проходит через выбранный нами массив, то все точки имеют примерно одинаковую яркость, и мы получаем величину, близкую к нулю. Если же контур проходит через них, то яркость точек вне и внутри контура значительно отличается и при суммировании «вылезет» заметная разность.

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

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

Простейший способ деления объектов на два класса:
«человек» и «транспортное средство». Более совершенная система
«знает» больше классов

Еще один путь состоит в том, чтобы программа обработки изображения определяла область, которая движется, как единое целое. Для этого она пытается найти корреляцию между смещениями отдельных участков картинки или переводит изображение, заданное как зависимость яркости от координаты пиксела, в другое представление. Иные системы даже строят многомерные вектора, каждый из которых имеет столько измерений, сколько пикселов он описывает. Словом, какой процессор разработчикам алгоритмов анализа изображения ни дай - загрузят его «по полной». Такая у них работа.

Счетчик людей

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

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

Там, где люди идут не «в колонну по одному», как через турникет, а толпой, фотоэлементы вообще бессильны. А вот анализ видеоизображения здесь применять можно: он позволит сосчитать количество проходящих людей, хотя эту задачу следует признать чрезвычайно сложной.

Счетчик транспорта

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

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

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

Распознавание объектов

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

Более совершенная система «знает» больше классов. Например, она сможет отличать человека от животного, а автомобиль - от мотоцикла. Чем сложнее система и чем тщательнее проработан алгоритм распознавания, тем больше таких классов.

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

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

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

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

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

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

Лучший, не имеющий себе равных,
объект
для системы распознавания -
автомобиль

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

Важный метод - обучение системы. Человек, оператор системы делает это вручную. Он по очереди вводит в систему объекты и сообщает ей, что это такое.

Чем больше объектов система уже «знает», тем точнее она сама идентифицирует новый, очередной объект. Когда систему вдоволь напичкали знаниями, ее можно отправлять работать.

Что поручат автоматизированной системе, которая может распознавать объекты?

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

Более сложная реакция - на человека в униформе: если система обнаружила объект, который она считает человеком, то дальше следует попытка определить по его расцветке, не является ли он работником, который имеет право находиться здесь.

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

Это - пример ситуации потенциально опасной, но не экстренной.

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

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

Распознавание транспортных объектов

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

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

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

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

Мониторинг парковок

Об этом методе решения проблем транспорта с помощью видеонаблюдения мы уже упоминали в прошлом номере нашего журнала, который был посвящен борьбе с потерями в торговле. Назначение модуля мониторинга парковок достаточно простое: автоматически следить за тем, какие места на стоянке заняты, а какие свободны (рис. 1).

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

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

Определение траекторий объектов

Когда видеодетектор обнаруживает движение в кадре, он помечает то место, где это происходит, каким-либо значком. Если объект перемещается, то этот значок послушно ползет по кадру. На самом же деле система не воспринимает это как движение определенного предмета. На каждом шаге она заново детектирует движение и отмечает то место, где это происходит.

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

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

При таком слежении очень пригодится поворотная телекамера. Система определит координаты объекта, за которым ведется слежение, направление и скорость его движения. Она будет передавать телекамере команды, а телекамера - держать объект в кадре.

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

3D-видеонаблюдение

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

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

Заодно трехмерное изображение можно показывать оператору через специальные очки или на особом мониторе. Пусть тоже будет в курсе дела.

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

Стабилизация изображения

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

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

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

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

Анализ поведения

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

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

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

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

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

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

Когда наш человек, проносясь на большой скорости по дороге, объезжает предмет, выпавший за несколько минут до этого из грузовика, он не позвонит с мобильника в ГАИ, чтобы сообщить об опасной вещи. Сам не налетел на «подарочек» - и хорошо. Здесь нужна интеллектуальная видеосистема, которая способна выполнять нехитрый вариант анализа поведения. Ее задача - установить, что все автомобили в одном и том же месте из данной полосы перестраиваются в соседние, обтекая невидимое системе препятствие.

У службы безопасности предприятия задачи более земные. Ей анализ поведения пригодится, чтобы выявлять, например, подозрительных людей, «отирающихся» поблизости. Хорошо, если такой человек не слишком маскируется, и все его намерения при правильном анализе видны, как на ладони. Ведь уметь по поведению отличить человека, затевающего что-то недоброе, - это крайне сложная задача.

Распознавание, отслеживание и анализ поведения покупателей в магазине

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

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

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

В магазине покупатели ведут себя
независимо друг от друга.
Поэтому
наблюдение за ними дает богатый
материал для системы анализа поведения

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

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

Что дальше?

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

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

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

Итак, перед нами - «передняя часть головы». Как компьютер отличает ее от других таких же? Что это дает нам? Об этом - в следующей публикации.


Полезные материалы