АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1 МЕТОДЫ КОЛОРИЗАЦИИ ИЗОБРАЖЕНИЙ 10
1.1 Ручной подход 10
1.2 Нейросетевые подходы 10
1.2.1 Цветовое пространство Lab 10
1.2.2 Сверточные нейронные сети 11
1.2.3 Автоэнкодеры 13
1.2.4 Генеративно-состязательные сети 14
1.3 Сервисы колоризации черно-белых изображений 15
1.3.1 Онлайн-сервис Algorithmia 16
1.3.2 Онлайн-сервис colorize.cc 17
1.3.3 Онлайн-сервис MyHeritage 18
1.3.4 Онлайн-сервис colourise.sg 19
1.3.5 Онлайн-сервис color.artlebedev.ru 21
1.3.6 Онлайн-сервис от Mail.ru Group 22
1.4 Выводы по разделу 23
2 ЗАДАЧА КОЛОРИЗАЦИИ 24
2.1 Постановка задачи колоризации 24
2.2 Исходные данные 24
2.3 Нейронная сеть cGAN 25
2.3.1 Определение условной генеративно-состязательной сети 25
2.3.2 Архитектура условной генеративно-состязательной сети 26
2.3.3 Генератор 28
2.3.4 Дискриминатор 30
2.4 Операция свертки 31
2.5 Операция транспонированной свертки 32
2.6 Функция пакетной нормализации данных 32
2.7 Операция исключения 33
2.8 Функции активации 34
2.8.1 Функция активации Relu 34
2.8.2 Функция активации LeakyRelu 35
2.8.3 Гиперболический тангенс 35
2.9 Функции потерь 36
2.9.1 Бинарная кросс-энтропия 36
2.9.2 Средняя абсолютная ошибка 36
2.10 Обучение 37
2.10.1 Оптимизатор функции потерь Adam 37
2.10.2 Метод обратного распространения ошибки 38
2.11 Метрики качества 40
2.11.1 Начальная оценка 40
2.11.2 Начальное расстояние Фреше 41
2.12 Выводы по разделу 42
3 РЕАЛИЗАЦИЯ МОДЕЛИ И ПРОВЕРКА НА ТЕСТОВЫХ ДАННЫХ 43
3.1 Архитектура сети 43
3.2 Алгоритмы работы программы и обучения полученной модели 46
3.3 Результаты 49
3.3.1 Графики обучения 49
3.3.2 Метрики 51
3.3.3 Проверка работы модели на тестовых данных 52
3.4 Выводы по разделу 54
ЗАКЛЮЧЕНИЕ 55
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 57
ПРИЛОЖЕНИЯ 62
ПРИЛОЖЕНИЕ 1 Исходный код программы 62
ПРИЛОЖЕНИЕ 2 Код тестирования модели 68
С приходом новых технологий жизнь человека становится ярче и насыщеннее. Стремительное развитие информационных технологий приводит к формированию информационной среды, которая оказывает сильное влияние на жизнь человека. При этом наследие культуры прошлых лет теряется на фоне качества информации, получаемой в наши дни. Но нельзя забывать о важности исторических ценностей, память о которых хранится в виде, как правило, черно-белых фотографий.
Несмотря на то, что технология цветной фотографии существует с начала XX века, до сих пор во многих семьях хранятся альбомы с черно-белыми снимками, сделанными много лет назад: старые карточки способны пробудить целую гамму чувств и воспоминаний, перенести сквозь время.
Спустя годы у многих людей возникает желание превратить черно-белую фотографию в цветную, появляется запрос на окрашивание старых памятных снимков.
Использование ручных методов окрашивания черно-белых изображений требует больших временных и финансовых затрат, это очень кропотливый и сложный процесс. На сайтах фриланса колоризация (преобразование монохромного изображения в цветное [5]) 10-ти фотографий оценивается примерно в 5 тыс. рублей и занимает от 15-ти дней работы.
Можно представить, какое количество ресурсов затрачивается на восстановление цветности черно-белого кинофильма. Например, колоризация фильмов «Семнадцать мгновений весны» и «В бой идут одни старики», которая была организована компанией «Grading Dimension Pictures» и выполнена на студии «Legend Films» в Индии в 2009 году, стоила около $500 тыс [19].
Целью данной работы является разработка модели искусственной нейронной сети, которая решает задачу колоризации черно-белых изображений.
Для достижения данной цели необходимо решить следующие задачи:
1) исследовать существующие подходы для задачи колоризации изображений;
2) подготовить исходные данные (изображения);
3) разработать математическую модель искусственной нейронной сети для решения поставленной задачи;
4) проверить работу модели на экспериментальных данных.
Цель данной работы состояла в разработке модели искусственной нейронной сети, которая решает задачу колоризации черно-белых изображений.
В первом разделе работы был проведен обзор основных методов колоризации черно-белых изображений и рассмотрены некоторые существующие сервисы, решающие задачу колоризации черно-белых изображений, используя один из этих методов, а также их достоинства и недостатки.
Во втором разделе была сформулирована задача колоризации черно-белых изображений, описан набор исходных данных (его источники и процесс предварительной обработки) и рассмотрена математическая модель условной генеративно-состязательной сети. Отдельно были расписаны архитектуры двух нейросетей, входящих в состав модели - генератора и дискриминатора. Также были описаны операции свертки, исключения, транспонированной свертки, пакетной нормализации данных, а также функции активации Relu, LeakyRelu и tanh, которые используются в данных нейронных сетях.
Для данной модели было предложено обучение методом обратного распространения ошибки. В качестве функций потерь использовались бинарная кросс-энтропия и средняя абсолютная ошибка. Для оценки работы модели использовались такие метрики, как начальная ошибка и начальное расстояние Фреше.
В третьем разделе предложенная модель была реализована на языке программирования Python 3.7 с применением библиотеки машинного обучения TensorFlow и среды разработки Jupyter Notebook и проверена на тестовых данных. Полученные результаты работы модели были представлены в виде графиков обучения сети, на которых визуализированы изменения функций потерь для генератора и дискриминатора в процессе обучения, вычисленных метрик и цветных изображений, сгенерированных моделью.
В ходе работы были решены следующие задачи:
1) исследованы существующие подходы решения задачи колоризации черно-белых изображений;
2) подготовлены исходные данные;
3) разработана математическая модель нейронной сети для решения поставленной задачи;
4) проверена работа модели на экспериментальных данных.
Таким образом, все поставленные задачи полностью решены и цель достигнута. В дальнейшем можно продолжить работу над разработанной моделью и улучшить ее, например, добавив возможность колоризации черно-белых видеозаписей и фильмов.