Магистр ДонНТУ Сова Анна Александровна

   Сова Анна Александровна

   Факультет компьютерных наук и технологий
   Специальность: "Программное обеспечение автоматизированных систем"
   Научный руководитель: доцент, к.т.н., Федяев Олег Иванович


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

Распознавание лиц человека с помощью нейронной сети типа неокогнитрон


Введение

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

Актуальность

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

Научная и практическая значимость

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

Обзор исследований неокогнитрона в ДонНТУ

Научный и практический интерес к нейросети типа неокогнитрон возник в связи с разработкой систем распознавания речевых и графических образов на кафедре «Прикладная математика и информатика» факультета компьютерных наук и технологий ДонНТУ. Работы по созданию программных моделей неокогнитрона начаты на кафедре в 2000 году и ведутся под руководством доцента Федяева О.И. Большой вклад в изучение принципов функционирования и обучения неокогнитрона, а также в разработку действующих программных моделей внесли магистры Куликов С.А., Дрига К.В. и Махно Ю.С.

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

Базовая модель неокогнитрона была введена Фукушимой в 1980 году как расширение когнитрона - нейросетевого алгоритма, способного распознавать сложные образы. Неокогнитрон показал отличные результаты по распознаванию образов, подвергнутых смещениям в позиции, зашумлению, искажению формы. Тем не менее, когнитрон не справлялся с задачами распознавания образов, повернутых на некоторый угол, а процесс распознавания занимал довольно длительное время [1, 6].
В течение многих лет неокогнитрон усовершенствовался благодаря труду многих ученых, например, Уоссерман, Фриман, Сакура и др. Так же были введены 2 модели обучения неокогнитрона для распознавания входного образа:

  • обучение с учителем;

  • обучение без учителя.

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

Структура неокогнитрона

Неокогнитрон имеет иерархическую структуру, ориентированную на моделирование зрительной системы человека. Он состоит из последовательности обрабатывающих слоев (S-слоя и С-слоя), организованных в иерархическую структуру. Входной образ подается на первый слой и передается через плоскости, соответствующие последующим слоям, до тех пор, пока не достигнет выходного слоя, в котором идентифицируется распознаваемый образ [1- 4, 7, 8, 12].
Входной, сенсорный, слой неокогнитрона является прямоугольным полем, которое состоит из светочувствительных клеток. Каждый последующий слой состоит из групп нейронов, причем нейроны одной группы имеют одинаковые веса и распознают одни и те же части образа. Эти нейроны образуют так называемые S-клетки, расположенные в соответствующих S-слоях. S-клетки служат для выделения свойств образов, поступающих с предыдущего слоя [6, 10, 11].
Выходы нейронов S-слоя соединены с нейронами С-слоя. Следует так же отметить, что все клетки в отдельной плоскости, имеют входные взаимосвязи того же самого пространственного распределения и только позиции предшествующих клеток, от которых их входные взаимосвязи прибывают, сдвинуты параллельно. Эта ситуация проиллюстрирована на рисунке 1. Даже в процессе обучения, в котором значения входных взаимосвязей S-клеток различны, переменные взаимосвязи всегда изменяются согласно этому ограничению [2, 4, 7, 9, 10].
Связи, соединяющие S-клетки и С-клетки одного модуля, являются жесткими и не изменяются в процессе обучения. Связи, соединяющие нейроны S-слоя с нейронами предыдущего С-слоя, являются изменяющимися и могут изменяться в процессе обучения. S-клетка активизируется только тогда, когда найден определенный образ в точно определенном месте предыдущего слоя. Образ, на который реагирует клетка, определяется в процессе обучения [1, 3, 6, 10].

Иллюстрация, показывающая входные связи к    нейронам    в    соответствующих    плоскостях

Рисунок 1 – Иллюстрация, показывающая входные связи к нейронам в соответствующих плоскостях


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


Иерархическая структура неокогнитрона, иллюстрирующая связи между слоями

Рисунок 2 – Иерархическая структура неокогнитрона, иллюстрирующая связи между слоями


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


Алгоритм распознавания образов с помощью неокогнитрона

Рисунок 3 – Алгоритм распознавания образов с помощью неокогнитрона (анимация: объем - 42.5 КБайт, количество кадров - 6, количество циклов повторов - 6, размер - 393 х 608)


Ячейки, используемые в неокогнитроне

Все ячейки, используемые в неокогнитроне, имеют аналоговый тип: т.е. сигналы ввода и вывода ячеек принимают неотрицательные аналоговые значения. Каждая ячейка имеет характеристики, аналогичные биологическому нейрону, если мы полагаем, что сигнал вывода ячейки соответствует мгновенной частоте обстрела фактического биологического нейрона.
В неокогнитроне мы используем четыре различных вида ячеек, то есть, S-ячейки, С-ячейки, Vs-ячейки и Vc - ячейки. Как типичный пример этих ячеек, мы сначала обсудим характеристики S-ячейки.
Как показано на рисунке 3, S-ячейка имеет много входных терминалов, эксцитатных и запрещающих. Если ячейка получает сигналы из эксцитатных входных терминалов, выход ячейки увеличится. С другой стороны, сигнал из запрещающего входного терминала подавит вывод. Каждый входной терминал имеет свой собственный коэффициент соединения, чье значение положительно. Хотя ячейка имеет только один терминал вывода, она может посылать сигналы множеству входных терминалов других ячеек. S-ячейка имеет запрещающий ввод, который производит эффект шунтирования. Пусть u(1), u(2)...u(N) - эксцитатные вводы, а v - запрещающий ввод. Для расчёта выходного сигнала подавляющего нейрона используется следующая формула:


Расчёт выходного сигнала подавляющего нейрона (1)


где: v – выход тормозящего узла;
i – область над всеми комплексными узлами, с которыми связан тормозящий узел;
bi – вес i-й связи от эксцитатного узла к тормозящему узлу;
ui – выход i-го эксцитатного узла.
Веса bi выбираются монотонно уменьшающимися с увеличением расстояния от центра области реакции, при этом сумма их значений должна быть равна единице.
Тогда вывод w этой S-ячейки определен так:


Выходное значение S-ячейки (2)


где: a(i) и b представляют эксцитатные и запрещающие коэффициенты соединения, соответственно. Коэффициент b рассчитывается по формуле (1) [7, 9, 10].
Функция определяется следующим уравнением:


Уравнение для выходной функции


Входная-выходная характеристика с S-ячейками

Рисунок 3 – Входная-выходная характеристика с S-ячейками


Пусть е – сумма всех эксцитатные вводов перемноженных с коэффициентами соединения и h – запрещающий ввод, умноженный на коэффициент соединения; то есть:


Расчет коэффициентов для преобразования формулы (2) (3)


Таким образом, подставляя в уравнение (2) уравнения (3), его можно записать так:


Новый вид уравнения (2) (4)


Входной сигнал для нейронов С-слоя вычисляется по формуле:


Входной сигнал для нейронов С-слоя (5)


где si –выходной сигнал простых нейронов;
ui–весовые коэффициенты от простых нейронов к нейронам комплексного слоя [5, 12].
Для нейронов комплексных слоёв использовались различные функции активации.


Алгоритм обучения неокогнитрона

Для обучения неокогнитрона была использована система «обучение без учителя». Коэффициенты, которые необходимо настроить, выступали от нейронов комплексного слоя к нейронам простого слоя и коэффициент от подавляющего нейрона к нейрону простого слоя. Коэффициенты от комплексных нейронов к подавляющему нейрону и от простых нейронов к комплексным являются фиксированными, поэтому необходимо определить значения фиксированных коэффициентов. В самом начале предполагается, что значения коэффициентов должны уменьшаться с удалением от центра области видимости.
При настройке весовых коэффициентов использовалась простая формула расчета а, которая зависит от величины входных сигналов [2, 3, 5-7]. Формула расчета коэффициентов для нейрона заданного вектором n:


Формулы для вычисления весов


Величина a для весового коэффициента подавляющего нейрона выбирается так, чтобы процесс обучения мог завершиться. По поводу формулы, которую лучше использовать, нет единого мнения. Поэтому исследовались следующие возможные два способа [4, 7].
Первый способ основывался на формуле:

Первый способ расчета весового коэффициента


В этом случае настраиваемый коэффициент зависит только от центрального элемента предыдущего слоя. Это накладывает некоторые ограничения на расположение обучающего образа, то есть образ должен быть расположен так, чтобы нейроном предыдущего слоя с максимальным возбуждением был нейрон, который находится в центре области видимости. Такое ограничение накладывается в силу того, что в противном случае в процессе обучения числитель дроби, используемой при расчёте входа на S-нейрон, будет расти быстрее знаменателя, что приведёт к невозможности обучения [2, 4, 7, 9].
Второй способ основывался на формуле:

Второй способ расчета весового коэффициента


В этом случае дельта зависит от выхода тормозящего нейрона, а сам выход тормозящего нейрона зависит от всех нейронов предыдущего слоя, с которыми связан обучаемый нейрон.
Обучение неокогнитрона происходит слой за слоем. При обучении нейронов использовался метод, при котором в каждой матрице обучается только один нейрон (обычно используется центральный нейрон). После завершения обучения весовые коэффициенты этого нейрона переносятся на все остальные нейроны в этой матрице [3]. Таким образом, процесс обучения производится достаточно быстро, так как на каждом слое необходимо обучить лишь столько нейронов, сколько матриц в данном слое, а их количество обычно не превосходит 100 [1, 2, 7, 10].
Для обучения нейронов первого слоя шаблон обучения записывается на входном слое и после этого начинается обучение центральных нейронов каждой матрицы. После того, как первый слой обучен, переходят к обучению второго слоя. Для этого необходимый образ записывают на входном слое, вычисляют выходы всех нейронов первого простого слоя, первого комплексного слоя и на основе полученных результатов (выходов нейронов первого комплексного слоя) обучают нейроны второго простого слоя. Для третьего и последующих слоёв всё аналогично (вычисление выходов нейронов на втором, третьем и других слоях происходит лишь после записи шаблона обучения ) [1, 3, 5, 10].
Нейроны последнего слоя должны видеть полностью входной образ, иначе теряется смысл распознавания. Это условие является обязательным, но, как показывают исследования, размер рецептивного поля не обязательно должен стать равным размеру входного изображения лишь на последнем слое, это может происходить и раньше.


Заключение

Анализ различных методов распознавания лица человека показал, что неокогнитрон является перспективным для распознавания образов в условиях различных видов помех. Это обусловлено особой структурой данного типа нейросетей, в определённой степени имитирующей работу зрительной системы человека.
Обобщая результаты исследований процесса распознавания образов, отметим ряд его свойств, благодаря которым неокогнитрон превосходит другие нейросети, ориентированные на распознавание образов:

  • малая чувствительность к основным искажениям, которым подвергаются графические изображения (масштабирование, перенос, хаотические шумы);

  • обучение неокогнитрона происходит за приемлемое время;

  • при обучении каждый образ из входного набора необходимо подавать минимальное число раз;

  • способность решать задачу распознавания графических образов за короткое время;

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



Литература

  1. Дрига К.В. Распознавание зашумлённых и искажённых образов с помощью неокогнитрона, сб. трудов Международной студенческой научно-практической конференции “Информатика и компьютерные технологии”. – Донецк, ДонНТУ, 15 декабря 2005. – с.233-234.

  2. Махно Ю.С. Программный эмулятор нейросети типа неокогнитрон для распознавания графических образов, Научн. тр. Донецкого национального технического университета, серия „Информатика, кибернетика и вычислительная техника” (ИКВТ-2008), выпуск 9(132) – Донецк: ДонНТУ, 2008. – с.265-269.

  3. Уоссермен Ф. Нейрокомпьютерная техника. Теория и практика. – М.: Мир, 1992. – 260.

  4. Fukushima K.: Neocognitron for handwritten digit recognition. Tokyo University of Technology, Tokyo, Japan – 2002. – Р. 161-170.

  5. Freeman J., Skapura D. Neural Networks. Algorithms, Applications and Programming Techniques. // Addison-Wesley. – 1991. – P. 373-392.

  6. Satoh S., Aso H., Miyake S., Kuroiwa J.: Pattern Recognition System with Top-Down Process of Mental Rotation //Proc. of IWANN'99, 1. – 1999. – P. 816-825.

  7. Fukushima K.: Neocognitron capable of incremental learning. Tokyo University of Technology, Tokyo, Japan – 2003. – Р. 37-43.

  8. Fukushima K. Neocognitron: a self-organising neural network for mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics 36, 1980, pp. 193-202.

  9. Fukushima K., Miyake S. Neocognitrot: a new algorithm for pattern recognition tolerant of deformations and shifts in position. NHK Broadcasting Science Reserch Laboratories, 1981, pp. 455-469.

  10. Fukushima K. Analysis of the Process of Visual Pattern Recognition by the Neocognitron, Osaka University, 1988, pp. 413-420.

  11. Fukumi, Omatu S. and Nishikawa Y., Rotation-Invariant Neural Pattern Recognition System Estimating a Rotation Angle, IEEE, Trans., Neural Network, 8, 1997, pp. 568–581.

  12. Shunji Saton, Jousuke Kuroiwa, Hirotomo Aso , Shogo Miyake Recognition of rotated patterns using neocognitron. , IEEE, Trans., Neural Network, 9, 1997, pp. 588–597


Важное замечание
При написании данного автореферата магистерская работа еще не завершена. Окончательное завершение: декабрь 2011 г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.