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

Содержание

Введение

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

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

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

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

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

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

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

К достоинствам СНС можно также отнести обеспечение частичной устойчивости к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям. Сверточные нейронные сети объединяют в себе три архитектурных идеи:

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

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

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

Цель работы – разработка собственной системы распознавания лиц на основе сверточной нейронной сети.

Для выполнения заданной цели нужно решить следующие задачи:

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

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

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

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

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

Во время выполнения поиска было найдено решение от компании Интеллектуальные системы безопасности (ISS). Интеллектуальные системы безопасности со штаб-квартирой в Вудбридже, штат Нью-Джерси, являются ведущим разработчиком систем наблюдения и управления безопасностью для сетевой цифровой видео- и аудиозаписи, обработки изображений и обработки цифровых изображений. Системы МКС могут быть интегрированы с системами контроля доступа, пожарной и спасательной безопасностью и могут быть совместимы практически с любым оборудованием сторонней безопасности [10].

Так же найдена библиотека с открытым кодом OpenCV. OpenCV (Open Source Computer Vision Library) выпускается под лицензией BSD и, следовательно, бесплатна как для академического, так и для коммерческого использования. Он имеет интерфейсы C ++, Python и Java и поддерживает Windows, Linux, Mac OS, iOS и Android. OpenCV был разработан для вычислительной эффективности и с большим вниманием к приложениям реального времени. Написанная в оптимизированном C / C ++, библиотека может использовать многоядерную обработку. Включенный с помощью OpenCL, он может воспользоваться аппаратным ускорением базовой гетерогенной вычислительной платформы [11].

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

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

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

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

  • Умяров Н. Х. Нейросетевая система распознавания лица на снимке из видеопотока [3];
  • Исаенко  А. П. Использование нейронных сетей для решения задач распознавания образов [4];
  • Стадник А. С. Выявления схожего видеоматериала, используя методы распознавания образов [5];
  • Личканенко И. С. Исследование методов и поиск эффективного алгоритма для задачи распознавания номерных знаков транспортных средств [6];
  • Сова А. А. Распознавание лиц человека с помощью нейронной сети типа неокогнитрон [7];
  • Федоров А. В. Исследование методов контурной сегментации для построения системы оптического распознавания символов [8];
  • Шеремет Н. Н. Исследование и разработка адаптивного метода активных контуров для выделения объектов в видеопотоке [9].

4. Структура и функционирование сверточной нейронной сети

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

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

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

В последние годы в СНС очень часто применяется функция активации под названием «выпрямитель» (см. рис 2). Нейроны с данной функцией активации называются ReLU (rectified linear unit). ReLU имеет следующую формулу f(x) = max(0, x) и реализует простой пороговый переход в нуле.

Положительные стороны такой функции:

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

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

Рисунок 2 - Функция активации ReLU

5. Функции и параметры сверточного слоя

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

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

Размеры всех карт сверточного слоя одинаковы и вычисляются по формуле:

w = mW – kW + 1,
h = mH – kH + 1,

где w – новая ширина сверточной карты; h – новая высота сверточной карты; mW – ширина предыдущей карты; mH – высота предыдущей карты; kW – ширина ядра; kH – высота ядра.

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

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

Принцип работы сверточного слоя

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

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

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

Рисунок 3 - Процесс подвыборки

7. Структура последнего слоя сверточной нейронной сети

На выходе СНС установлен слой обычного многослойного персептрона (см. рис. 4). Он служит для определения класса, к которому относится распознаваемый образ лица. Работа слоя организуется путем обращения к выходу предыдущего слоя и определения свойств, которые наиболее характерны для определенного класса.

Рисунок 4 - Структура полносвязного слоя

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

xlj = f(∑xl-1i * wl-1i,j + bl-1j),

где xlj - карта признаков j (выход слоя l); f() – функция активации; bl – коэффициент сдвига слоя l; wl-1i,j – матрица весовых коэффициентов первого слоя

Вывод

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

Замечания

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

Список источников

  1. Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество. [Электронный ресур]. – Режим доступа: https://habr.com/post/348000/
  2. Что такое сверточная нейронная сеть. [Электронный ресур]. – Режим доступа: https://habr.com/post/309508/
  3. Умяров Н. Х. Нейросетевая система распознавания лица на снимке из видеопотока – Режим доступа: http://masters.donntu.ru/2012/fknt/umiarov/diss/index.htm
  4. Исаенко А. П. Использование нейронных сетей для решения задач распознавания образов – Режим доступа: http://masters.donntu.ru/2006/fvti/isaenko/library/index.htm
  5. Стадник А. С. Выявления схожего видеоматериала, используя методы распознавания образов – Режим доступа: http://masters.donntu.ru/2011/fknt/stadnik/diss/index.htm
  6. Личканенко И. С. Исследование методов и поиск эффективного алгоритма для задачи распознавания номерных знаков транспортных средств – Режим доступа: http://masters.donntu.ru/2013/fknt/lichkanenko/diss/index.htm
  7. Сова А. А. Распознавание лиц человека с помощью нейронной сети типа неокогнитрон – Режим доступа: http://masters.donntu.ru/2011/fknt/sova/links/index.htm
  8. Федоров А. В. Исследование методов контурной сегментации для построения системы оптического распознавания символов – Режим доступа: http://masters.donntu.ru/2010/fknt/fedorov/diss/index.htm
  9. Шеремет Н. Н. Исследование и разработка адаптивного метода активных контуров для выделения объектов в видеопотоке – Режим доступа: http://masters.donntu.ru/2015/fknt/sheremet/diss/index.htm
  10. Система распознавания образов от IIS. [Электронный ресур]. – Режим доступа: https://issivs.com/about-us//
  11. Библиотека OpenCV с большим количеством возможностей для компьютерного зрения. [Электронный ресур]. – Режим доступа: https://opencv.org/
  12. Система распознавания образов от AxxonSoft. [Электронный ресур]. – Режим доступа: https://www.axxonsoft.com/ua/