🔍 Поиск работ

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

Работа №207336

Тип работы

Дипломные работы, ВКР

Предмет

программирование

Объем работы37
Год сдачи2020
Стоимость4370 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
12
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 4
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 7
1.1. Анализ аналогичных проектов 7
1.2. Анализ существующих решений для реализации проекта 9
1.2.1. Анализ алгоритмов выделения контуров 10
1.2.2. Анализ программных решений 12
2. ПРОЕКТИРОВАНИЕ 14
2.1. Сверточные нейронные сети 14
2.2. Генеративно-состязательные нейронные сети 16
2.3. Функциональные и нефункциональные требования 17
2.5. Варианты использования системы 18
2.5 Общее описание архитектуры системы 19
2.6. Описание компонентов, входящих в систему 21
2.7 Реализация архитектуры системы 22
3. РЕАЛИЗАЦИЯ 24
3.1. Средства разработки 24
3.2. Формирование обучающей выборки 24
3.3. Топология нейронной сети 26
3.4. Реализация нейронной сети 28
3.5. Реализация чат-бота 30
4. ТЕСТИРОВАНИЕ 32
ЗАКЛЮЧЕНИЕ 35
ЛИТЕРАТУРА 36


Основные определения
Нейронные сети - математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей - сетей нервных клеток живого организма [11].
Генеративно-состязательная нейронная сеть (Generative Adversarial Networks, GAN) - алгоритм машинного обучения, работа которого строится на основе двух «соперничающих» нейронных сетей. Принцип алгоритма заключается в том, что одна из этих сетей, называемая генератором, пытается сгенерировать определенные образцы (например, изображения, видео или любые другие данные, на генерацию которых она запрограммирована), а другая сеть, называемая дискриминатором, старается решить, является ли представленный ей образец настоящим или сгенерированным. Задачей генератора является производство таких образцов, которые дискриминатор сочтет настоящими, в то время как задача дискриминатора противоположна - он должен отбраковать сгенерированные образцы [3].
U-net - это сверточная нейронная сеть, которая была создана в 2015 году для сегментации изображений. Архитектура сети представляет собой полносвязную сверточную сеть, модифицированную так, чтобы она могла работать с меньшим количеством примеров и делала более точную сегментацию. Сеть содержит сжимающий путь (слева) и расширяющий путь (справа). [8]
Актуальность темы исследования
В последние несколько лет интерес к изучению нейронных сетей очень возрос. Они успешно применяются для решения многих задач: распознавание речи, обнаружение объектов, распознавание образов.
Нейронные сети зарекомендовали себя в таких областях, как медицина, компьютерное зрение, производство, прогнозирование и моделирование различных процессов человеческой деятельности. Но в областях, которые связаны с творческой деятельностью, нейронные сети применяются мало. Наиболее развитой областью является различного рода работа с изображениями.
Генерация изображений с помощью генеративно-состязательных сетей очень перспективна и найдет применение во многих областях. Например, можно использовать данную технологию для увеличения количества изображений в обучающих выборках, также можно улучшать качество изображений и видеопотоков. Также изображения, которые полностью сгенерированы искусственным интеллектом, перспективны в современном искусстве. Поэтому на данный момент одной из наиболее актуальных задач искусственного интеллекта является машинное творчество.
Цель и задачи исследования
Целью данной работы является разработка приложения, для генерации изображений из набросков пользователя с применением нейросетевых технологий. Для достижения поставленной цели необходимо выполнить следующие задачи.
1) Провести обзор существующих аналогов и научной литературы по заданной предметной области.
2) Подготовить обучающую и тестовую выборку изображений.
3) Программно реализовать и обучить нейронную сеть.
4) Провести тестирование реализованной нейронной сети.
5) Разработать приложение, генерирующее изображения и провести его тестирование.
Структура и объем работы
Работа состоит из введения, 4 разделов, заключения, библиографии и приложения. Объем работы составляет 37 страниц, объем библиографии составляет 16 источников.
В первой главе приводится анализ предметной области, обзор аналогов, а также существующих решений поставленной задачи.
Во второй главе содержится описание архитектуры нейронной сети, приведены функциональные и нефункциональные требования к системе, диаграмма вариантов, а также спецификация.
В третьей главе содержится описание процесса разработки приложения.
В четвертой главе приведены результаты тестирования системы.
В заключении описываются результаты проделанной работы, а также направления дальнейших исследований.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Была разработана система генерации изображений из набросков пользователя. Были проанализированы существующие методы генерации изображений. Было принято решение генерировать изображения на контурах, полученных на основе градиента, а также использовать модифицированную U-net архитектуру нейронной сети.
На основе требований к системе были выделены основные классы и компоненты системы, установлены связи между ними. Была подробно рассмотрена реализация отдельных прецедентов.
В ходе разработки системы были получены следующие результаты:
1) проведен анализ аналогов и научной литературы в предметной области;
2) реализован алгоритм предобработки данных;
3) сформированы обучающая и тестовая выборки;
4) реализована, обучена и протестирована модель нейронной сети для генерации изображений;
5) реализована и протестирована система генерации изображений.
Также были получены навыки программирования на языке Python, разработки нейронных сетей с помощью фреймворка Tensorflow, работы с библиотекой алгоритмов компьютерного зрения OpenCV, работы с библиотекой python-telegram-bot для реализации чат-бота.
В будущем планируется провести работу по улучшению качества работы Генератора. Для этого необходимо расширить обучающую выборку и скорректировать топологию нейронной сети.
На данных момент система успешно генерирует только некоторых животный. Возможно увеличить пользу системы путем добавления генерации и других объектов.



1. Canny Edge Detection. [Электронный ресурс] URL: https:// docs.opencv.org/trunk/da/d22/tutorial_py_canny.html (дата обращения: 11.03.2020).
2. Goodfellow I.J., Pouget-Abadie J., Mirza M., et al. Generative adversarial nets. //Advances in Neural Information Processing Systems 27, pages 2672-2680. Curran Associates, Inc., 2014.
3. Goodfellow I. Generative Adversarial Nets / I. Goodfellow, J. Pouget- Abadie, M. Mirza, et al. // Advances in Neural Information Processing Systems 27: Annual Conference on Neural Information Processing Systems 2014, (December 8-13 2014, Montreal, Quebec, Canada). - 2014. - P. 2672-2680.
4. Ioffe S. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift / S. Ioffe, C. Szegedy // Proceedings of the 32nd International Conference on International Conference on Machine Learning. - 2015. - Vol. 37. - P. 448-456.
5. Karrs T. A Style-Based Generator Architecture for Generative Adversarial Networks / T. Karras, S. Laine, T. Aila // ArXiv preprints, 2019. [Электронный ресурс] URL: https://arxiv.org/pdf/1812.04948.pdf (дата обращения: 06.05.2020).
6. Karras T. Progressive Growing of GANs for Improving Quility, Stability and Variation / T. Karras, T. Aila, S. Laine, et al. // Conference paper at ICLR, 2018. [Электронный ресурс] URL: https://research.nvidia.com/sites/ default/files/pubs/2017-10_Progressive-Growing-of/karras2018iclr-paper.pdf (дата обращения: 05.05.2020).
7. Laplace Operator [Электронный ресурс] URL: https:// docs.opencv.org/3.4/d5/db5/tutorial_laplace_operator.html (дата обращения: 11.03.2020).
8. Ronneberger O. U-Net: Convolutional Networks for Biomedical Image Segmentation / O. Ronneberger, P. Fischer, T. Brox // ArXiv preprints,
2019. [Электронный ресурс] URL: https://arxiv.org/pdf/1505.04597.pdf (дата обращения: 01.05.2020).
9. Sobel Derivatives. [Электронный ресурс] URL: https:// docs.opencv.org/3.4/d2/d2c/tutorial_sobel_derivatives.html (дата обращения: 11.03.2020).
10. Айрапетов А.Э. Исследование генеративно-состязательной сети / А.Э. Айрапетов, А.А. Коваленко // Политехнический молодежный журнал. - 2018. - No 10
11. Документация Keras. [Электронный ресурс] URL: https:// keras.io/ (дата обращения: 13.03.2020).
12. Документация PyTorch. [Электронный ресурс] URL: https:// pytorch.org/docs/stable/index.html (дата обращения: 13.03.2020).
13. Документация TensorFlow. [Электронный ресурс] URL: https:// www.tensorflow.org/api_docs/python/ (дата обращения: 23.03.2020).
14. Петров С. Сверточная нейронная сеть для распознавания символов номерного знака автомобиля // Международный Университет природы, общества и человека «Дубна», 2013. -Вып. 3. -С. 56.
15. Солдатова О., Гаршин А. Применение сверточной нейронной сети для распознавания рукописных цифр. -Самара: Самарский государственный университет,2010. -С. 252-259.
..16


Работу высылаем на протяжении 30 минут после оплаты.




©2026 Cервис помощи студентам в выполнении работ