ИССЛЕДОВАНИЕ И РАЗРАБОТКА АВТОМАТИЧЕСКОЙ СИСТЕМЫ ВЫДЕЛЕНИЯ ХАРАКТЕРНЫХ ТОЧЕК ЛИЦА НА БАЗЕ СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ

Кураева Елена Сергеевна
Национальный исследовательский университет «Московский институт электронной техники»
Институт микроприборов и систем управления студент кафедры системы автоматического управления и контроля

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

Ключевые слова: , , , , , , ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кураева Е.С. Исследование и разработка автоматической системы выделения характерных точек лица на базе сверточные нейронные сети // Современные научные исследования и инновации. 2018. № 4 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2018/04/86354 (дата обращения: 14.03.2024).

1. Введение

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

2. Постановка задачи

В данной работе рассматриваются сверточные нейронные сети. На базе исследования алгоритма, будет получена система, выделяющая характерные точки лиц. На этом основывается распознавание людей. После получения теоретических знаний, будут установлены и импортированы необходимые библиотеки для Python: Keras, TensorFlow, NumPy, OpenCV, Math, PIL Для обучения сети выборка будет состоять из 440 примеров, для тестирования – 3400 примеров.

3. Основная часть

Системы распознавании лиц могут применяться для многих случаев:
- подтверждения присутствия студента на лекции, семинаре экзамене;
- поиска преступников в местах массового скопления, используя базу данных местной полиции;
- оплаты товаров и услуг;
- замены человека на предприятиях, где человеческий фактор может мешать производству;
- контроля доступа.
Подобные системы уже входят в нашу жизнь. Их развитие стремительное, но еще много чего предстоит изучить. Важным элементов в распознавании лиц является выделение характерных точек лица человека.
Поэтому, целью данной работы является создание системы выделения характерных точек лица, реализованное на базе сверточных нейронных сетей.
Для достижения поставленной цели, необходимо выполнить следующие задачи:
1. Изучить компьютерное зрение.
2. Изучить нейронные сети, в частности сверточные нейронные сети.
3. Создать сверточную нейронную сеть для распознавания ключевых точек лица, используя язык программирования – Python.
Компьютерное зрение – набор методов, с помощью которых компьютеры способны видеть интересующие объекты. На первом этапе изображение проходит регистрацию, то есть если сенсорный элемент (датчик) среагировал на объект, то полученный аналоговый сигнал преобразовывается в цифровой. Это нужно для дальнейшего преобразования изображения. Важно понимать, что изображение можно представить в виде функции от двух переменных, соответствующих координатам в пространстве на полученном изображении. Данная функция определяет интенсивность (яркость) пикселя с данными координатами. В итоге получается матрица, с которой уже удобно выполнять дальнейшие действия на компьютере [1].
Для определения лица на изображении и распознавании человека, требуются не только знания компьютерного зрения, но и алгоритмов, которые отвечают за распознавание. Самые лучшие результаты для решения данной проблемы показывают нейронные сети. Нейронные сети – это сети, которые могут обучаться, подобно ребенку. Искусственные нейронные сети аналогичны биологическим нейронным сетям. Поэтому важно понимать, как устроен и работает наш мозг при получении и обработке информации. На рисунке 1 представлена простейшая нейронная сеть, где x – входные данные, W – веса, Y – выходные данные.


Рисунок 1 – Простейшая схема нейронной сети

Рисунок 1 можно представить в виде уравнения (1), где знак умножения – сложные математические действия. Для человека W отвечает за запоминание признаков предмета.

X = W * Y         (1)

Обучение нейронных сетей состоит в том, что нужно найти W, если известны входные и выходные данные [2].

Существует огромное количество видов нейронных сетей:
- нейронные сети прямого распространения (feed forward neural networks, FF или FFNN) и персептроны (perceptrons, P) - базовые модели, комбинирую которые получают новые виды;
- нейронная сеть Хопфилда (Hopfield network, HN) – однослойная сеть, в которой выход каждого нейрона связан со входами остальных нейронов;
- глубокие сети доверия (Deep belief networks, DBN) в своей схеме имеют несколько скрытых слоев, причем, каждая сеть обучает предыдущую;
- сверточные нейронные сети (convolutional neural networks, CNN) и глубокие сверточные нейронные сети (deep convolutional neural networks, DCNN) обычно применяются для обработки изображений.
Это лишь малая часть всех видов архитектур нейросетей.
CNN обычно применяются для обработки изображений. Схема представлена на рисунке 2.


Рисунок 2 – Схема сверточных нейронных сетей

Название такого алгоритма означает, что метод основывается на свертке. Свертка получается в результате линейной фильтрации. Исходные данные: x – положение объекта в данный момент времени t, w(a) – весовая функция, а – возраст изменения. Если применять в каждый момент времени средневзвешенную оценку (2), то полученная функция s обеспечивает сглаженную оценку.

         (2)

Результат такой операции и называется сверткой.

Типичный слой сверточной сети состоит из 3 этапов:
- выполнение нескольких сверток одновременно для получения набора линейных активаций;
- каждая полученная линейная активация проходит через нелинейную активационную функцию, этот этап называют детектор;
- использование пулинга (pooling) объединяет результаты в статистику для улучшения сети [3].
При создании системы, которая может выделять ключевые точки после обучения, использовались следующие библиотеки для Python: Keras (нейронная библиотека, является надстройкой над фрейворком TensorFlow), TensorFlow (библиотека для машинного обучения), NumPy (библиотека для работы с массивами и матрицами), OpenCV (библиотека для машинного зрения), Math (библиотека с математическими и логарифмическими функциями), PIL (библиотек для работы с растровой графикой).
Для обучения сети необходимо выборку разбить на две части: тестовая выборка состояла из 3400 примеров, обучающая – 440 примеров. В результате полученная система показывает следующие значения, представленные на рисунке 3, где loss – функция ошибки, acc – точность на обучающей выборке, val_loss и val_acc – на тестовой выборке, Learning rate – скорость обучения, Epooch – эпоха. Пример выделения ключевых точек показан на рисунке 4, где всего получается 15 точек – по 3 точки на выделение глаза, 1 на нос, по 2 на брови и 4 на губы.


Рисунок 3 – Результаты обучения CNN

Рисунок 4 – пример выделения характерных черт лица

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


Библиографический список
  1. Шапиро Л. Ш23 Компьютерное зрение // Л. Шапиро, Дж. Стокман ; пер. с англ.— 2-е изд. (эл.). —М. : БИНОМ. Лаборатория знаний, 2013.—752 с. : ил. — (Лучший зарубежный учебник). ISBN 978-5-9963-1312-9
  2. Microsoft //DevCon School [электронный ресурс] URL: https://events.techdays.ru/Future-Technologies/2017-06  (дата обращения 18.04.2018).
  3. Ian Goodfellow, R700543371822: Иностранная литература //Ian Goodfellow, Yoshua Bengio, Aaron Courville, The MIT Press, 2016 – 800с.


Количество просмотров публикации: Please wait

Все статьи автора «Кураева Елена Сергеевна»


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

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

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

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация