ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ и ИНФОРМАТИКИ Тарасюк Александр Евгеньевич СИСТЕМА РАСПОЗНАВАНИЯ ЛИЦ НА ОСНОВЕ НЕЙРОННОЙ СЕТИ
Постановка задачи Выбор базового алгоритма Модификация алгоритма Программная реализация Результаты экспериментов Заключение
Задача распознавания человека по портретному изображению лица Количество классов до 100 Множественные изображения для каждого класса в обучающей выборке Требования к алгоритму устойчивость к местоположению лица, уровню освещённости и помехам приемлимое время обучения и работы
Описан в работе Lawrence S., Giles C. L., Tsoi A. C., Back A. D. Face Recognition: A Convolutional Neural Network Approach Обучение Предобработка (масштабирование) Прямое распространение по свёрточной сети Вычисление ошибки сети Обратное распространение и корректировка весов (шаг обучения зависит от эпохи) Распознавание Предобработка (масштабирование) Прямое распространение по свёрточной сети Принятие решения на основе выходного вектора Характеристики: Высокая точность Устойчивость к изменению местоположения лица Слабая устойчивость к уровню освещённости и шумам Большая вычислительная сложность (особенно процесс обучения)
Слабая устойчивость к уровню освещённости: Проявляется в первом свёрточном слое – нейроны реагируют на яркость Локальная нормализация входящих данных: Для каждого набора входных значений первого свёрточного слоя Слабая устойчивость к помехам на изображении: В результате масштабирования помехи на изначальном изображении смазывают детали портрета Вейвлетная предобработка изображения: Вейвлетное сжатие путём отбрасывания малозначительных коэффициентов преобразования
Большая вычислительная сложность алгоритма: Для обучения свёрточной сети требуется больше эпох, больше операций в каждой эпохе Выбор адаптивного шага обучения: Шаг обучения выбирается с целью минимизации среднеквадратичной ошибки Недостаточное влияние ключевых признаков: Множество слабовыраженных признаков влияют на процесс распознавания в ущерб некому ключевому признаку Введение упрощённых обратных связей: Между последним и первым свёрточными нейронными слоями Веса формируются на основе статистических зависимостей между наборами признаков
Три основных компонента: Компоненты представляют собой программные модули, написанные на языке программирования C# (платформа.NET). Особенности реализации алгоритма свёрточной сети: Гибкость при настройке (возможность задания параметров архитектуры сети: кол-во слоёв, их тип, кол-во нейронов и связей между слоями, размер входных данных) Возможность получения структурированной информации о внутреннем состоянии сети (весах нейронов и промежуточных значениях при вычислении); Программная реализация алгоритма Графический интерфейс для тестирования Графический интерфейс для прикладного использования
Базы – ORL и FERET Обучающая и тестовая выборки не пересекаются Конфигурации нейронных сетей: 1.2 свёрточных слоя (10 и 30 нейронов) 2.2 свёрточных слоя (20 и 20 нейронов) 3.3 свёрточных слоя (10, 20 и 20 нейронов) 4.3 свёрточных слоя (5, 10 и 10 нейронов)
Алгоритм1234 Базовый95%93,5%94%92,5% Предложенный96%94,5%97,5%97% База ORL База FERET Алгоритм1234 Базовый80%76,5%78,75%78,5% Предложенный86%84,25%88%87,25%
Устойчивость к местоположению Устойчивость к уровню освещённости Пример ошибочного распознавания
Рассмотрен подход на основе свёрточных нейронных сетей Предложена модификация базового алгоритма Лоренса- Гилса включающая вейвлетную предобработку, локальную нормализацию, введение обратных связей и адаптивного шага обучения. Эксперименты показали снижение уровня ошибок распознавания в 1,2 – 2,5 раз для баз изображений ORL и FERET
Спасибо за внимание.