Українська   English
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

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

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

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

1. Актуальноть темы

Задача распознавания лиц становится все боле актуальной. Есть множество мест, где целесообразно применить системы распознавания лиц. Наиболее известными областями применения являются безопасность и криминалистика. Но существуют и другие области применения. Например, в сфере социальных сетей данную технологию можно применить автоматического выделения и подписи людей на фотографиях. Данная технология крайне важна и в робототехнике и военном деле, поскольку позволит разделять людей на «свой» – «чужой» или разделять на классы по уровню доступа[1].

2. Цель и задачи исследования, планируемые результаты

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

Основные задачи исследования:

  1. Анализ методов выделения лица на снимке.
  2. Выбор наиболее эффективного метода выделения лица на снимке.
  3. Анализ алгоритмов распознавания лиц.
  4. Выбор наиболее эффективного алгоритма распознавания лиц на базе нейросетей типа неокогнитрон.
  5. Построение параметрической модели неокогнитрона.
  6. Разработка программной модели неокогнитрона.

Объект исследования: система распознавания лиц на основе нейросетей.

Предмет исследования: алгоритмы выделения и распознавания лиц из видеопотока.

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

  1. Оценка качества выделения лиц.
  2. Определение наиболее эффективной модели выделения лиц.
  3. Оценка качества распознавания лиц с помощью нейронных сетей.
  4. Создание программной модели нейронной сети типа неокогнитрон.
  5. Анализ эффективности работы алгоритмов выделения и распознавания лиц из видеопотока.

3. Обзор исследований и разработок

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

3.1 Обзор международных источников

Еще в далеком 1998 г. В работе Папагеоргиу был описан принцип использования вейвлетов Хаара для задачи выделения лиц [2]. А В 2001 году П. Виола и М. Джонс опубликовали несколько статей, среди которых были [3] и [4], посвященных модификации этой идеи. Применение более сложных признаков позволило повысить эффективность. Вместе с тем еще в 1999 г. была опубликована статья [5], описывающая основные принципы адаптивного обучения. Данный подход также используется в алгоритме Виолы-Джонса. Поскольку алгоритм дает неплохие результаты, то после 2001 года появилось достаточно много статей, описывающих как базовые принципы алгоритма, так и реализацию [6] и даже модификацию для различных задач, в том числе для фиксирования эмоций и движений.

Нейронные сети типа неокогнитрон выросли из сетей типа когнитрон. Одна из первых работ [7] появилась еще в 1980 г. Позже идея развивалась и применялась для распознавания различных типов объектов, в том числе рукописного текста [8] и лиц [9]

3.2 Обзор локальных источников

В Донецком национальном техническом университете проблемами распознавания лиц занимаются несколько человек. Основной вклад делает доцент кафедры прикладной математики и информатики Федяев О.И. в таких работах, как [10-13]. Также необходимо отметить работы доцента Ладыженского Ю.В., в числе которых работа [14]

4. Описание выделения лица с помощью алгоритма Виолы-Джонса

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

Схема работы алгоритма Виолы-Джонса

Рисунок 1 – Схема работы алгоритма Виолы-Джонса
(анимация: 23 кадра, 7 циклов повторения, 81,5 килобайт)

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

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

Подводя итог, можно сказать, что основная концепция алгоритма Виолы-Джонса – быстрое выделение, но медленное обучение – позволяет применять его для работы в режиме реального времени.

Описание нейронной сети типа неокогнитрон

Неокогнитрон был разработан Кунихикой Фукусимой в 1980 г. Данная нейронная сеть является продолжателем идеи, реализованной в когнитроне, разработанном этим же автором в 1975 г. Основная особенность неокогнитрона в сравнении с его предшественником – более соответствует модели зрительной системы.

Неокогнитрон представляет собой многослойную сверточную нейронную сеть. В неокогнитроне используются два типа нейронов: простые (S) и комплексные (C). Задача простого нейрона – следить за своим рецепсивным полем и определять на нем образ, на который он обучен. Под рецепсивным полем следует понимать область, в которой нейрон отвечает за распознавание образа. Простые нейроны организованы в группы, называемые слоями. Внутри одного слоя нейроны настроены на обнаружение одного и того же образа, но в разных рецептивных полях. При этом веса внутри одного слоя у них одинаковые. Все нейроны одного слоя перебираю всевозможные положения образа. Такой подход позволяет учесть любое положение образа.

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

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

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

Пример работы неокогнитрона при распознании символа

Рисунок 2 – Пример работы неокогнитрона при распознании символа

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

Выводы

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

References

  1. В. Вежневец, А. Дегтярева, Обнаружение и локализация лица на изображении, Компьютерная Графика и Мультимедиа, Сетевой журнал.
  2. C. Papageorgiou, M. Oren and T. Poggio. A General Framework for Object Detection. International Conference on Computer Vision, 1998, C. 555 – 562.
  3. P. Viola and M. Jones, "Rapid object detection using a boosted cascade of simple features", Computer Vision and Pattern Recognition, 2001, vol.1, C. 511 – 518.
  4. P. Viola, M. Jones, Robust Real-time Object Detection, 2000, 24 c.
  5. Y. Freund, R. E. Schapire, A Short Introduction to Boosting, Journal of Japanese Society for Artificial Intelligence, 1999.
  6. C. de Souza, Haar-feature Object Detection in C#, 2001.
  7. K. Fukushima, "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position", Biological Cybernetics, 1980. – C. 193-202.
  8. K. Fukushima, N. Wake, Handwritten alphanumeric Character Recognition by the Neocognitron – IEEE Transactions on neural networks, Vol. 2, No 3, 1991. – C. 355-365.
  9. G. Poli, J. H. Saito, J. F. Mari, M. R. Zorzan, Processing Neocognitron of Face Recognition on High Performance Environment Based on GPU with CUDA Architecture – 20th International Symposium on Computer Architecture and High Performance Computing, 2008. – c. 81-88.
  10. О. И. Федяев, Ю. С. Махно, Система распознавания зашумлённых и искажённых графических образов на основе нейронной сети типа неокогнитрон // Одиннадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2008: Труды конференции. Т. 3. – М .: ЛЕНАНД, 2008. – 464 с.
  11. А. А. Сова, О. И. Федяев, Исследование моделей S- и С нейронов неокогнитрона при обучении и распознавании образов – VII международная научно-техническая конференция студентов, аспирантов и молодых научных работников Информатика и компьютерные технологии – Донецк, ДонНТУ, 2011. – С. 164-168.
  12. Г. Ю. Костецкая, О. И. Федяев, Кодирование изображений человеческих лиц с помощью самоорганизующейся карты Кохонена – V международная научно-техническая конференция студентов, аспирантов и молодых научных работников Информатика и компьютерные технологии – Донецьк, ДонНТУ, 2009. – С. 265-268.
  13. Н. Х. Умяров, О. И. Федяев, Выделение лица на снимке из видеопотока с целью его распознавания – VII международная научно-техническая конференция студентов, аспирантов и молодых научных работников Информатика и компьютерные технологии – Донецьк, ДонНТУ, 2011. – С. 173-177.
  14. А. В. Колесник, Ю. В. Ладыженский, Распределенная программная система распознавания лиц – VI международная научно-техническая конференция студентов, аспирантов и молодых научных работников Информатика и компьютерные технологии – Донецк, ДонНТУ, 2010. – С. 248-251.