Введение 6
1 Анализ предметной области 8
1.1 Понятия нейронной сети 8
1.1.1 Биологическая и математическая модель нейрона 8
1.1.2 Функции потерь и методы оптимизации 15
1.1.3 Нейронная сеть 18
1.1.4 Сверточные нейронные сети 21
1.2 Применение нейронных сетей для обработки изображений 25
1.2.1 Задача сегментации 25
1.2.2 Задача сегментации 26
1.2.3 Задача сжатия размерности 26
1.2.4 Задача улучшения изображения 27
1.3 Обзор методов улучшения изображений 27
2 Проектирование и разработка нейронной сети для улучшения качества
изображений 30
2.1 Постановка задачи 30
2.2 Проектирование нейронной сети для улучшения качества изображений . . 31
2.2.1 Выбор и обоснование структуры сети 31
2.2.2 Нейронная сеть Progressive Face Super-Resolution 31
2.2.3 Нейронная сеть Very-Deep Super-Resolution 34
Показатели качества обучения нейронной сети 36
2.4 Формирование обучающей выборки 39
2.5 Разработка приложения для реализации нейронной сети для повышения
качества изображений 41
2.5.1 Выбор и обоснование средств реализации нейронной сети 41
2.5.2 Алгоритм приложения для улучшения качества изображений с
применением нейронной сети 41
2.5.3 Описание интерфейса приложения 43
3 Анализ результатов 45
3.1 Исследование изображения высокого качества 45
3.2 Исследование изображения среднего качества 49
3.3 Исследование изображения низкого качества 51
Заключение 55
Список использованных источников 56
Приложение
В современном мире активно развивается новая область прикладной математики, которая специализируется на нейронных сетях. С помощью нейросетей улучшаются программы, изображения, текст, создаются системы, которые способны ускорять работу процессов и помогать в работе человеку. Их основной целью является обучение системы самостоятельного принятия решений.
В чем особенно сильны нейронные сети, так это в обработке изображений. При помощи них можно восстанавливать изображение лица в высоком разрешении из его копий с низким разрешением. Это фундаментальная проблема в анализе лица, которая может значительно облегчить задачи, которые связанны с распознаванием людей по нечетким изображениям.
На данный момент изучение нейронных сетей, позволяющих улучшить качество изображений является довольно актуальным. Существует огромное количество статей, публикаций, книг, посвященных изучению способов увеличения качества изображений. Авторами данных работ являются Subhasis Chaudhuri, Yifan Wang, Yu Chen, Deokyun Kim, Чернявский А. В., Спицын В. Г. и множество других ученых и разработчиков. По моему мнению, данные ученые внесли большой вклад в разработку и продвижение нейросетевых методов, позволяющих улучшать качество изображений.
На практике, нейронные сети, улучшающие качество изображения, могут использоваться для обработки данных, получаемых в приборах и устройствах медицинской диагностики, в определении лица человека, распознавании движущихся объектов, дефектоскопии и в других аспектах жизни человека.
Целью моей выпускной квалификационной работы является исследование и разработка нейронной сети, позволяющей улучшать качество изображений, на основе существующей нейросети.
Для достижения поставленной цели было необходимо решить следующие задачи:
1) Изучить общую структуру нейронных сетей, дать определение функции потерь, изучить ее виды.
2) Исследовать нейросети основанные на методе Super-Resolution (супер-разрешения).
3) Провести сравнительный анализ данных нейронных сетей.
4) Выбрать некоторую структуру нейронной сети.
5) Скомпоновать обучающую выборку.
6) Рассмотреть возможность минимизации функции потерь без потери качества изображения.
Объектом данной выпускной квалификационной работы выступает нейронная сеть Progressive Face Super-Resolution и компьютерной зрение. Предметом исследования являются алгоритмы и математические модели, позволяющие улучшать качество изображений. В работе использовались методы компьютерного зрения, теории искусственных нейронных сетей и теория планирования эксперимента.
Данная работа состоит из введения, основной части, заключения и библиографического списка. Основная часть состоит из трех глав.
В первой главе, разделенной на несколько подпунктов, дается подробная теория про нейронные сети, методы, позволяющие улучшать качество изображений и использование этих методов на практике.
Во второй главе описывается процесс разработки и улучшения нейронной сети.
В третьей главе предоставляются результаты тестирования полученной нейронной сети.
В заключении кратко сформулированы результаты, полученные в ходе выполнения выпускной квалификационной работы.
В соответствие с поставленной целью - разработка нейронной сети, позволяющей улучшать качество изображений, на основе существующей нейросети - была реализована архитектура сверточной нейронной сети с использованием метода super-resolution.
В ходе теоретических и экспериментальных исследований были получены следующие результаты:
a) В работе были изучены некоторые теоретические аспекты нейронной сети, как биологической, так и математической, метод Super-Resolution, позволяющий улучшать качество изображений.
b) Проведен сравнительный анализ двух нейронных сетей улучшающих качество изображений. На основе данного анализа в качестве основы для разработки была выбрана нейросеть Progressive Face Super-Resolution.
c) В среде Python с использованием библиотеки PyTorch была проведена разработка нейросети. В ходе тестирования улучшились результаты работы нейросети с изображением 3.39x3.39 и dpi = 108, на 3.8%, что повлияло на улучшение качества изображения.
На основе рассмотренных данных, можно сделать вывод, что благодаря современным исследованиям, нейронные сети для улучшения изображений могут быть улучшены и использованы во многих сферах.
Для этого необходимо изменить функцию активации и вместо Softmax, использовать, например, сигмоидную функцию активации. Так же, можно изменить метод оптимизации, и вместо RMSProp использовать с данной функцией активации исходный метод - Adam. И стоит поработать с матрицей нормализации, подобрать для нее оптимальные параметры для вышеизложенного случая.