Научная статья на тему 'Алгоритм распознавания объектов'

Алгоритм распознавания объектов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2059
288
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДУЛЬ ВИЗУАЛЬНОГО РАСПОЗНАВАНИЯ / MODULE OF VISUAL RECOGNITION / АЛГОРИТМ АДАПТИВНОГО УСИЛЕНИЯ / ALGORITHM OF ADAPTIVE BOOSTING / ОБМЕН ДАННЫМИ / ПРОГРАММНОЕ ПРИЛОЖЕНИЕ / PROGRAMME APPLICATION / WEB-ТЕХНОЛОГИИ / WEB-TECHNOLOGY / СИСТЕМА ВИДЕОМОНИТОРИНГА / VIDEO MONITORING SYSTEM / DATA EXCHANGE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Локтев Алексей Алексеевич, Алфимцев Александр Николаевич, Локтев Даниил Алексеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Локтев Алексей Алексеевич, Алфимцев Александр Николаевич, Локтев Даниил Алексеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM OF OBJECT RECOGNITION

The second important problem to be resolved to the algorithm and its software, that comprises an automatic design of a complex closed circuit television system, represents object recognition, by virtue of which an image is transmitted by the video camera. Since imaging of almost any object is dependent on many factors, including its orientation in respect of the camera, lighting conditions, parameters of the registering system, static and dynamic parameters of the object itself, it is quite difficult to formalize the image and represent it in the form of a certain mathematical model. Therefore, methods of computer-aided visualization depend substantially on the problems to be solved. They can be rarely generalized. The majority of these methods are non-linear; therefore, there is a need to increase the computing power and complexity of algorithms to be able to process the image. This paper covers the research of visual object recognition and implementation of the algorithm in the view of the software application that operates in the real-time mode

Текст научной работы на тему «Алгоритм распознавания объектов»

ВЕСТНИК .-f««..«

5/2012

УДК 681.7 + 004.33

А.А. Локтев, А.Н. Алфимцев*, Д.А. Локтев*

ФГБОУВПО «МГСУ», *ФГБОУ ВПО «МГТУ им. Н.Э. Баумана»

АЛГОРИТМ РАСПОЗНАВАНИЯ ОБъЕКТОВ

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

Ключевые слова: модуль визуального распознавания, алгоритм адаптивного усиления, обмен данными, программное приложение, Web-технологии, система видеомониторинга.

Для автоматизированной системы видеомониторинга помещения одна из основных задач — это определение наличия или отсутствия в видеоданных характерных объектов, вновь появившихся особенностей представления изображений и движения отдельных объектов. В большинстве интеллектуальных систем видеомониторинга [1, 2] и распознавания образов через их изображение рассматриваются такие объекты, как человеческие лица, печатные и рукописные символы, транспортные средства, причем условия получения изображения достаточно жесткие, есть ограничения на освещенность, фон, расположение относительно объектива и т.д. В данной работе большинство этих проблем можно решить с помощью привлечения нескольких камер, так как при перемещении по зданию объект будет попадать в разные зоны обзора под разными ракурсами.

Для задач распознавания существует несколько стандартных средств [3—6], которые могут быть интегрированы в программное обеспечение стандартной вычислительной системы. Одним из таких средств является библиотека компьютерного зрения с открытым исходным кодом OpenCV, которая реализована с помощью языков программирования C и C++ и может работать со многими популярными операционными системами (Linux, Windows и Mac OS X). Библиотека содержит более 500 функций, которые охватывают такие области, как мониторинг конвейерной продукции, медицинскую визуализацию, безопасность, пользовательские интерфейсы, калибровку камер, зрение для робототехники. Компьютерное зрение и решение задач распознавания непосредственно связаны с процедурами обучения программного комплекса. В OpenCV содержится комплексная библиотека машинного обучения общего назначения Machine Learning Library (MLL). Эта подсистема ориентирована на статистическое распознавание образов, в т.ч. лиц людей, и их последующую кластеризацию [3]. В основе методики лежит алгоритм адаптивного усиления AdaBoost (adaptive boosting). Адаптивность алгоритма заключается в том, что каждый последующий классификатор получается из объектов, которые были неправильно классифицированы на основе предыдущих классификаторов [4]. Для выбора того или иного

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

Процедура использования примитивов заключается в их наложении на эталонное изображение [5] и определении обобщенной характеристики анизотропии выделенной области N

N=- , (1)

здесь Qw, Qы — суммарное количество соответственно белых и черных пикселей в примитивах, расположенных в выделенной области изображения.

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

Задача проектирования модуля визуального распознавания непосредственно связана с созданием программного обеспечения, прототип которого может быть представлен в виде схемы (рис. 1). Для создания приложения предлагается использовать Web-среду, поскольку она позволяет использовать различные языки программирования и может приминяется для создания распределенной информационной системы, которая будет работать как на стороне сервера, так и на стороне пользователя. Взаимодействие между пользовательским Web-приложением, которое запускает администратор системы видеомониторинга или охранник здания, и модулем распознавания происходит через специализированное приложение на стороне пользователя, которое будет управлять приемом и передачей данных. Согласно этому подходу Web-приложение может функционировать независимо от всей системы, а модуль распознавания может работать непрерывно, не останавливаясь при сеансовых обновлениях Web-страниц.

систему

Рис. 1. Схема прототипа системы распознавания

На схеме обмена данными между уровнями прототипа рис. 2, видно, что основной поток данных между клиентской и серверной частью проходит через средний связующий уровень, реализация которого выполнена на стороне пользователя [6]. Модуль распознавания первоначально загружается с сервера и далее функционирует самостоятельно на стороне пользователя, взаимодействуя лишь со средним уровнем. Потоки данных для Web-приложения регулируются средним уровнем, который сам не участвует в работе приложения, а лишь обеспечивает обмен данными с сервером и загрузку модулей самого Web-приложения.

ВЕСТНИК

5/2012

Рис. 2. Схема обмена данными элементов прототипа

Для организации непрерывной работы модуля распознавания и приложения среднего уровня без обновления страницы в браузере и одновременного функционирования пользовательского Web-приложения предлагается использовать пакет программных продуктов Ajax, который объединяет технологии стандартизованного представления информации с использованием XHTML и CSS, динамического отображения и взаимодействия при помощи Document Object Model (DOM), обмена и управления данными через XML и XSLT, асинхронного получения данных с использованием XMLHttpRequest и языка написания сценариев JavaScript, который позволяет связывать между собой все предыдущие компоненты.

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

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

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

В качестве тестовой серверной части возможно использование комплекта «Денвер» Дмитрия Котерова, который включает в себя набор дистрибутивов (Apache, PHP, SSL, SSI, MySQL, Perl и т.д.) и программную оболочку, используемую Web-разработчиками для создания сайтов на локальной Windows-машине без необходимости выхода в Internet.

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

ты компонентов комплекса и улучшения совместимости с реальным Unix-хостером при старте создается специальный виртуальный диск, присоединенный к основной директории. За счет применения виртуального диска пакет «Денвер» может представлять собой уменьшенную копию Unix: у него есть своя директория /home, /usr, /tmp. Различные компоненты и серверы расположены так, как это принято в Unix-системах.

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

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

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

Связующее приложение системы распознавания будет использоваться как контейнер для модуля распознавания и конечного Web-приложения и как канал обмена управляющими командами между ними [6]. Связующее приложение целесообразно реализовать в виде одной HTML-страницы, содержащей в себе теги внешнего оформления, объект модуля распознавания и ряд необходимых функций, реализованных на языке написания сценариев JavaScript, управляющих поведением модуля распознавания и самого Web-приложения. Модуль распознавания размещается на Web-странице с использованием стандартных методов встраивания сценариев JavaScript.

Программная часть связующего модуля состоит из нескольких специализированных функций, первая из которых function_start() вызывается модулем распознавания сразу после разрешения пользователем использования видеокамеры. Эта функция загружает в рабочую область стартовую страницу Web-приложения, которое затем через связующий модуль посылает обратный сигнал, реализованный через функцию function_test(). Если модуль распознавания обнаружил ошибочную ситуацию и необходимо подать сигнал тревоги, то вызывается функция function_ alarm().

ВЕСТНИК

5/2012

Рис. 3. Алгоритм работы модуля распознавания

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

IЙУ111 • Ii Ii..............Iii I Uli IИ...... II 111 1111 II

Hl I III ■!■>! Mill Ч11» ^ | ■! 111 |||»ЩЩИ|ИЙ'ЧИ1>1ЧИ|1М M '

Рис. 4. Страница Web-приложения системы распознавания с предварительно полученными изображениями

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

После того как пользователь системы распознавания дал разрешение сценарию модуля распознавания на работу с камерой (или с предварительно загруженными изображениями — для случая тестирования самого приложения), модуль дает команду связующему приложению на загрузку стартовой страницы системы.

На рис. 4 показана работа приложения, которое анализирует данные с видеокамер (кадры 1 и 2, расположенные в правом фрейме), обнаруживает на них лица людей и сравнивает с имеющимися в базе, отмечает синей рамкой распознанные, закрепляет за ними виртуальную метку и обнаруживает их же на изображениях, полученных спустя какое-то время. Если изображения будут получаться с видеокамеры в режиме реального времени (в тестируемой системе они выбирались приложением из имеющейся базы данных), то система позволит прослеживать путь каждого объекта по помещению.

В качестве алгоритма распознавания используется достаточно простой алгоритм виолы — джонса, но в общем случае модуль распознавания можно реализовать в виде собственного Ай^еХ-компонента, который способен задействовать более точные и более требовательные к ресурсам алгоритмы распознавания.

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

ВЕСТНИК 5/2012

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

Библиографический список

1. Никитин В.В., Цыцулин А.К. Телевидение в системах физической защиты. СПб. : Изд-во СПбГЭТУ «ЛЭТИ», 2001. 135 с.

2. Волхонский Г.В. Критерии выбора разрешающей способности в системах теленаблюдения // PROSystem CCTV. 2009. № 2 (38). С. 60—64.

3. Друки А.А. Система поиска, выделения и распознавания лиц на изображениях // Известия Томского политехнического университета. 2011. Т. 318. № 5. С. 64—70.

4. Черномордик И.В. Об одном алгоритме восстановления в задаче распознавания изображения // Вестник Пермского университета. Сер. Математика. Механика. Информатика. 2010. В. 4(4). С. 50—53.

5. Глумов Н.И., Мясников Е.В., Копенков В.Н., Чичева М.А. Метод быстрой корреляции с использованием тернарных шаблонов при распознавании объектов на изображениях // Компьютерная оптика. 2008. Т. 32. № 3. С. 277—282.

6. Кравченко П.П., Хусаинов Н.Ш., Хаджинов А.А., Погорелов К.В., Шкурко А.Н. Программная система многостороннего обмена аудиовидеоинформацией для использования в системах видеонаблюдения // Информационное противодействие угрозам терроризма. 2002. № 1. С. 109—114.

Поступила в редакцию в апреле 2012 г.

Об авторах: Локтев Алексей Алексеевич—кандидат физико-математических наук, доцент кафедры теоретической механики и аэродинамики, ФГБОУ ВПО «Московский государственный строительный университет» (ФГБОУ ВПО «МГСУ»), 129337, г. Москва, Ярославское шоссе, д. 26, 8 (499) 183-24-01, aaloktev@yandex.ru;

Алфимцев Александр Николаевич — кандидат технических наук, доцент кафедры информационных систем и телекоммуникаций, ФГБОУ ВПО «Московский государственный технический университет им. Н.Э. Баумана» (ФГБОУ ВПО «МГТУ им. Н.Э. Баумана»), 105005, г. Москва, ул. 2-я Бауманская, д. 5, 8 (499) 267-65-37, kaf@iu3.bmstu.ru;

Локтев Даниил Алексеевич — студент факультета информатики и систем управления, ФГБОУ ВПО «Московский государственный технический университет им. Н.Э. Баумана» (ФГБОУ ВПО «МГТУ им. Н.Э. Баумана»), 105005, г Москва, ул. 2-я Бауманская, д. 5, 8 (499) 267-65-37, loktevdan@yandex.ru.

Для цитирования: Локтев А.А., Алфимцев А.Н., Локтев Д.А. Алгоритм распознавания объектов // Вестник МГСУ 2012. № 5. С. 194—201.

A.A. Loktev, A.N. Alfimtsev, D.A. Loktev

ALGORITHM OF OBJECT RECOGNITION

The second important problem to be resolved to the algorithm and its software, that comprises an automatic design of a complex closed circuit television system, represents object recognition, by virtue of which an image is transmitted by the video camera. Since imaging of almost any object is dependent on many factors, including its orientation in respect of the camera, lighting conditions, parameters of the registering system, static and dynamic parameters of the object itself, it is quite difficult to formalize the image and represent it in the form of a certain mathematical model. Therefore, methods of computer-aided visualization depend substantially on the problems to be solved. They can be rarely generalized. The majority of these methods are non-linear; therefore, there is a need to increase the computing power and complexity of algorithms to be able to process the image. This paper covers the research of visual object recognition and implementation of the algorithm in the view of the software application that operates in the real-time mode.

Key words: module of visual recognition, algorithm of adaptive boosting, data exchange,

programme application, Web-technology, video monitoring system.

References

1. Nikitin V.V., Tsytsulin A.K. Televidenie v sistemakh fizicheskoy zashchity [Television within the Framework of Systems of Physical Protection: Tutorial]. St.Petersburg, LETI Publ., 2001,135 p.

2. Volkhonskiy G.V. Kriterii vybora razreshayushchey sposobnosti v sistemakh telenablyudeniya [Criteria of Choice of Resolution of Videosurveillance Systems]. PROSystem CCTV, 2009, no.2 (38), pp. 60—64.

3. Druki A.A. Sistema poiska, vydeleniya i raspoznavaniya lits na izobrazheniyakh [System of Search, Identification, and Recognition of Faces in Images]. Izvestiya Tomskogo politekhnicheskogo universiteta [News Bulletin of Tomsk Polytechnic University]. 2011, no. 5, vol. 318, pp. 64—70.

4. Chernomordik I.V. Ob odnom algoritme vosstanovleniya v zadache raspoznavaniya izobrazheniya [About the Algorithm of Recovery within the Framework of Image Recognition Problem]. Vestnik Permskogo universiteta. Seriya: Matematika. Mekhanika. Informatika [Proceedings of Perm University. Series: Mathematics. Mechanics. Informatics]. 2010, vol. 4(4), pp. 50—53.

5. Glumov N.I. Myasnikov E.V., Kopenkov V.N., Chicheva M.A. Metod bystroy korrelyatsii s ispol'zovaniem ternarnykh shablonov pri raspoznavanii ob"ektov na izobrazheniyakh [Method of Fast Correlation Based on the Use of Ternary Patterns as Part of Object Recognition in Images]. Komp'yuternaya optika [Computer Optics]. 2008, no. 3, vol. 32, pp. 277—282.

6. Kravchenko P.P., Khusainov N.Sh., Khadzhinov A.A., Pogorelov K.V., Shkurko A.N. Programmnaya sistema mnogostoronnego obmena audiovideoinformatsiey dlya ispol'zovaniya v sistemakh videonablyudeniya [Software System of Multilateral Exchange of Audio Information to Be Implemented in Systems of Video Surveillance]. Informatsionnoe protivodeystvie ugrozam terrorizma [Informational Resistance to Threats of Terrorism]. 2002, no. 1, pp. 109—114.

About the authors: Loktev Alexey Alexeevich — Candidate of Physical and Mathematical Sciences, Associated Professor, Department of Theoretical Mechanics and Aerodynamics, Moscow State University of Civil Engineering (IVISUCE), 26 Yaroslavskoe shosse, Moscow, 129337, Russian Federation, aaloktev@yandex.ru, +7 (499) 183-24-01;

Alfimtsev Alexander Nikolaevich — Candidate of Technical Sciences, Associated Professor, Department of Information Systems and Telecommunications, Moscow State Technical University named after N.E. Bauman (MSTU), 5 2-nd Baumanskaya st., Moscow, 105005, Russian Federation, kaf@iu3.bmstu.ru; +7 (499) 267-65-37;

Loktev Daniil Alexeevich — student, Department of Informatics and Control Systems, Moscow State Technical University named after N.E. Bauman (MSTU), 5 2-nd Baumanskaya st., Moscow, 105005, Russian Federation, loktevdan@yandex.ru, +7 (499) 267-65-37.

For citation: Loktev A.A., Alfimtsev A.N., Loktev D.A. Algoritm raspoznavaniya ob"ektov [Algorithm of Object Recognition]. Vestnik MGSU [Proceedings of Moscow State University of Civil Engineering]. 2012, no. 5, pp. 194—201.

i Надоели баннеры? Вы всегда можете отключить рекламу.