Костецкая Галина Юрьевна
ru ua en

Костецкая Галина Юрьевна

Факультет: Вычислительной техники и информатики

Кафедра: Прикладной математики и информатики

Специальность: Программное обеспечение автоматизированных Систем

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

Научный руководитель: доцент, кандидат технических наук Федяев Олег Иванович

Автореферат по теме «Исследование программной модели сверточной нейронной сети для распознавания изображений человеческих лиц»

 

Введение

 

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

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

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

 

Цели и задачи, которые должны решаться

 

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

Намечено решение следующих задач:

  1. Построение структуры системы распознавания лиц на основе сверточной нейронной сети
  2. Разработатка структуры сверточной нейросети, выбор методики ее обучения и обучающее множество, обладающее достаточной репрезентативностью.
  3. Разработатка структуры модуля предобработки изображений для создания обучающего множества сверточной нейронной сети на основе самоорганизующейся карты Кохонена;
  4. Создание программной модели системы распознавания человеческих лиц, которая бы демонстрировала процесс обучения и распознавания, а также позволяла производить исследования работы сверточной нейронной сети.

 

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

 

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

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

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

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

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

Предполагаемая научная новизна

 

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

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

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

Планируемые практические результаты

 

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

Также планируется проведение комплексного исследования на программной модели основе сверточной нейронной сети на этапе обучения и распознавания.

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

 

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

  • FaceIt, Ibis — разработки корпорации Identix. FaceIt – система сканирования лиц, которая идентифицирует людей в режиме реального времени в то время как они проходят через пункты контроля безопасности. Данная система широко используется государственными службами США. Ibis — программно-аппаратный комплекс для проверки лиц, находящихся на закрытой территории или на улице (в случае применения в полиции). Система состоит из центра обработки информации и переносных терминалов сканирования.
  • Smart Camera — разработанная компанией BioIdentity система распознавания лиц. Это система цифровых камер для распознавания по форме лица. Фотографирует лица людей в радиусе до 20 метров. На качество изображения не влияет освещение или какие-либо другие условия окружающей среды. На национальном уровне разрабатываются системы распознавания лиц в Киевском Институте Кибернетики на основе статистических методов, а также в Институте Искусственного интеллекта в Донецке.

Представители локального уровня:

  • Дрига Константин Владимирович "Распознавание зашумленных и искаженных образов с помощью неокогнитрона" [2]. Работа посвящена исследованию возможностей нейросетевого алгоритма "Неокогнитрон" в области распознавания образов, подвергнутых различным искажениям: сдвигам, поворотам, изменению формы, шуму. Данная работа подразумевает реализацию оптимальной модели неокогнитрона, справляющуюся с поставленными задачами, в частности, с распознаванием арабских цифр, используя минимум вычислительных ресурсов компьютера.
  • Багликов Вадим Геннадиевич «Разработка компьютеризированной подсистемы биометрической идентификации личности по фотопортрету» [3]. Основное отличие работы Вадима Геннадиевича от данной состоит в том, что для распознавания используется принципиально иной метод — скрытые Марковкие модели.
  • Евстюничева Анастасия Викторовна «Автоматизированная система контроля доступа на основании распознавания отпечатков пальцев» [4]. Данная работа посвящена одному из биометрических методов — распознаванию отпечатков пальцев.

 

Нейросетевой подход к распознаванию образов

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

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

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

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

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

Во-вторых, недостаток полносвязной архитектуры — то, что топология ввода полностью игнорируется. Входные переменные могут быть представлены в любом порядке, не затрагивая цель обучения. Напротив, изображения имеют строгую 2-мерную местную структуру: переменные (пиксели), которые являются пространственно соседними, чрезвычайно зависимы [8].

От данных недостатков свободны так называемые свёрточные нейронные сети. Свёрточные нейронные сети обеспечивают частичную устойчивость к изменениям масштаба, смещениям [6].

Теория сверточных нейронных сетей

Сверточная нейронная сеть представляет собой особый класс НС, наилучшим образом подходящий для интеллектуальной обработки визуальных данных. Идея сверточных нейронных сетей заключается в чередовании сверточных слоев (C-layers), субдискретизирующих слоев (S-layers) и наличии полносвязных (F-layers) слоев на выходе. Они объединяют в себе три архитектурных идеи для достижения инвариантности к сдвигу и искажению исходного изображения:  локальные поля восприятия, разделяемые веса и пространственная субдискретизация [9].

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

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

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

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

Типичная структура сверточной нейронной сети представлена на рисунке 1.

Структура сверточной нейронной сети

Рисунок 1 — Структура сверточной нейронной сети

Анимация, 67,3 кб, 200×600 px, состоит из 6 кадров, задержка между кадрами 200мс,
Количество циклов воспроизведения ограничено семью.

 

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

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

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

Для обучения сверточной нейронной сети используется алгоритм обратного распространения ошибки [5].

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

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

Задача обучения состояла в такой настройке весов W, чтобы они для любой обучающей пары (lp,Dp) давали минимальную ошибку Ep. Чтобы посчитать ошибку для всей обучающей выборки просто бралось среднее арифметическое по ошибкам для всех обучающих пар.

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

Начальная инициализация нейронной сети имеет огромное влияние на количество итераций обучения. От того, насколько удачно выбраны начальные значения весов зависит, как долго сеть за счет обучения и подстройки будет искать их оптимальные величины, и найдет ли она их [10].

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

Система распознавания на основе сверточной нейронной сети имеет несколько модулей. Ее структура показана на рисунке 2.

Система распознавания человеческих лиц на основе сверточной нейронной сети

Рисунок 2 — Система распознавания человеческих лиц на основе сверточной нейронной сети

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

Заключение

 

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

Разработана топология сверточной нейронной сети, подобрано обучающее множество, обладающее достаточной репрезентативностью — ORL Database of Faces. Также реализована первая версия программной модели сверточной нейронной сети и модуля предобработки изображений на основе самоорганизующейся карты Кохонена.

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

 

Список использованной литературы

 

  1. Дзюба В. Г. Анализ методов распознавания лиц / Ю. И. Якименко, В. Г. Дзюба // Электроника и связь. — 2003. — № 20. — С. 149–152.
  2. Дрига К.В. «Распознавание зашумленных и искаженных образов с помощью неокогнитрона». [Электронный ресурс] / Портал магистров ДонНТУ, — http://masters.donntu.ru/2006/fvti/driga/diss/index.htm
  3. Багликов В.Г. «Разработка компьютеризированной подсистемы биометрической идентификации личности по фотопортрету». [Электронный ресурс] / Портал магистров ДонНТУ, — http://masters.donntu.ru/2008/kita/baglikov/diss/index.htm
  4. Евстючева А.В. «Автоматизированная система контроля доступа на основании распознавания отпечатков пальцев» [Электронный ресурс] / Портал магистров ДонНТУ, — http://masters.donntu.ru/2006/kita/yevstyunicheva/diss/index.htm
  5. Moody J., Darken C.J. Fast Learning In Netwoks of Locally TunedProcessing Units // Neural Computation. — 1989. — № 1. — P . 281–284.
  6. LeCun Y. Generalization and network design strategies // Proc. Of the Intern. Conf. Connectionism in Perspective. — University of Zurich, 10–13 October 1988. — P . 143–155.
  7. Царегородцев В.Г. Общая неэффективность использования суммарного градиента выборки при обучении нейронной сети // Нейроинформатика и ее приложения: Матер. XII Всеросс. семинара. — Красноярск, 2004. — С. 145–151.
  8. Макаренко А.А. Сверточные нейронные сети в задаче классификации изображений // Информационные системы. Вып. 4.: Тр. постоянно действующего научно-техн. семинара. — Томск: Изд-во Том. гос. ун-та систем управления и радиоэлектроники. — 2006. — С. 3‑9.
  9. Lawrence S., Giles C. L., Tsoi A. C. and Back A. D. Face recognition:a convolutional neural network approach// IEEE Trans. on Neural Networks. — Special Issue on Neural Networks and Pattern Recognition. — 1997. — P.97-113.
  10. R. Brunelli and T. Poggio. Face recognition: Features versus templates // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 1993. — №15(10). — P.142–152.
  11. Rumelhart D.E., Hinton G.E., Williams R.J. Learning internal representations by error propagation // Parallel distributed processing. — 1986. — V. 1. — P . 318–362.

 

Примечание

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