Введение
1 Основы теории нейронных сетей
1.1 Искусственный нейрон
1.2 Архитектуры нейронных сетей
1.3.1 Правило коррекции по ошибке 11
1.3.2 Обучение Больцмана 11
1.3.3 Правило Хебба 12
1.3.4 Обучение методом соревнования 12
1.4 Сверточные нейронные сети 12
1.5 Вывод по главе 1 17
2 Применение нейронных сетей в задачах обработки изображений 18
2.1 Глубокое обучение 18
2.2 Применение нейронных сетей 25
2.3 Распознавание изображений 27
2.3 Применение нейронных сетей к задаче генерации стилизованных изображений 31
2.3.1 Онлайн сервис Ostagram 32
2.3.2 Онлайн сервис Deepart 33
2.3.3 Мобильное приложение Prisma 34
2.3.4 Мобильное приложение Mlvch 35
2.4 Вывод по главе 2 36
3 Разработка информационной системы процедурной обработки изображений
искусственной нейронной сетью 36
3.1 Постановка задачи генерации изображения 36
3.2 Представление содержимого изображения 37
3.3 Представление стиля изображения 39
3.4 Синтез изображений 42
3.5 Используемые технологии разработки 45
3.5.1 Скриптовый язык программирования Lua 46
3.5.2 Библиотека Torch 47
3.5.3 Фреймворк Caffe 49
3.5.4 Модель VGG-19 49
3.6 Реализация программного обеспечения 51
3.6 Вывод по главе 3 52
Заключение 54
Список использованных источников 55
Приложение А Демонстрационный материал 58
Приложение Б Графический материал 61
На данный момент одной из наиболее актуальных задач искусственного интеллекта является машинное творчество. В этом направлении рассматриваются проблемы написания компьютером музыки, литературных и художественных произведений. Одним из наиболее перспективных направлений машинного творчества является процедурная генерация изображений.
Машинное творчество представляет собой широкое и относительно молодое направление науки об искусственном интеллекте. Процедурная генерация изображений с помощью нейронных сетей, как часть машинного творчества, является актуальным предметом самых разных исследований.
Целью данной работы является разработка информационной системы процедурной обработки изображений на основе искусственных нейронных сетей.
Для достижения указанной цели необходимо решить следующие задачи:
1) произвести анализ предметной области;
2) изучить теоретические основы обработки изображений на основе нейронных сетей;
3) разработать приложение процедурной обработки изображений на основе нейронных сетей;
4) провести тестирование разработанной системы.
Первая глава посвящена описанию основных положений теории нейронных сетей.
Во второй главе описаны методы и алгоритмы обработки изображений.
В третьей главе содержится обзор выбранных инструментов для реализации, а также говорится о разработке программного обеспечения, тестировании и экспериментальном исследовании информационной системы процедурной обработки изображений на основе искусственных нейронных сете.
В заключении приводятся основные выводы и результаты работы.
В результате проделанной работы были изучены методы обработки изображений, произведен анализ современных алгоритмов и архитектур нейронных сетей. На основе предложенных методов и алгоритмов реализовано программное обеспечение для обработки изображений художественным стилем, с помощью нейронной сети, позволяющее генерировать изображение, которое смешивает содержимое изображения и стиль картины.
Представленные результаты экспериментальных исследований, приведенные в работе, могут вызвать интерес у представителей творческих профессий — графических дизайнеров, иллюстраторов, художников, мультипликаторов.