Преобразовать старые чёрно-белые снимки в цветные сегодня могут не только художники, но и нейросети. Свой вариант такой программы предложили исследователи #СПбГУ.
Одним из направлений искусства, где человеку помогает искусственный интеллект, стала фотография. Нейронные сети и машинное обучение создают изображения самостоятельно или преобразуют существующие монохромные фото в цветные. Конечно, пока это происходит под контролем человека. Но даже в таком формате этот процесс становится значительно легче и быстрее. Так, если на детальное раскрашивание одного чёрно-белого снимка художник может потратить целый месяц, искусственный интеллект справится с этим за один день. Останется только проверить результат и скорректировать его, если нужно.
Версия Университета модель глубокого обучения, способная преобразовывать монохромные фото в цветные. Для этого использовалась архитектура, основанная на сверхточных нейронных сетях. Именно такой тип нейросетей в основном используется для работы с изображениями, так как они позволяют сохранить информацию о пространственном расположении объектов на картинке.
Классические нейросети принимают на вход вектор из чисел или одномерную матрицу какой-то размерности и дальше проводят обработку. Изображение можно представить как вектор чисел (одномерную матрицу) и дальше обрабатывать с помощью классических нейронных сетей. Но проблема в том, что так можно потерять информацию о том, где расположен тот или иной элемент, и, например, при обработке фото животного нейросеть не поймет, где у него находятся уши или глаза.
Для свёрточной нейронной сети информацию на вход представляют иначе — в виде объёмного массива чисел. Чтобы его создать, картинку разбивают на пиксели и каждому из них присваивают своё число. Оно зависит от цветового пространства, в котором представлено изображение (например, CIELAB (сокращённо Lab), HSB, RGB или CMYK), и от яркости и цвета пикселя. В результате преобразования получается матрица, или сетка, в каждой ячейке которой размещено численное отображение пикселя. В таком виде информация о пространственном расположении элементов на картинке сохраняется, а искусственные нейроны её «понимают».
Для работы со своей моделью глубокого обучения учёные выбрали цветовое пространство CIELAB. В нём, как и в RGB, есть три компонента для передачи цвета. Но функции между ними распределены иначе. Координата L отвечает за светлоту, координата a — за расположение цвета в диапазоне от зелёного до красного и b — от синего до жёлтого. То есть изображение, представленное с помощью координаты L без a и b, уже само по себе является монохромным. И наоборот: чёрно-белое изображение — это картинка, представленная в цветовом пространстве Lab только в координате L, без a и b.
Во время обучения нейросеть сначала переводила истинно цветное фото в монохромное, то есть представляла его в координате L, и «исследовала» пропорции белого, чёрного и серого, а также то, как они соотносятся с цветами в двух других известных координатах a и b. Например, в каком соотношении они представлены на небе. Так она «изучила» большое количество похожих картинок из представленной выборки, выделяя средние пропорции для каждого объекта. Затем, когда нейросеть получала истинно чёрно-белое изображение для колоризации, она выдавала для него предположения касательно a и b, основываясь на этих самых средних пропорциях, которые «усвоила». Учёные контролировали обучение модели с помощью метода обратного распространения ошибки. Он основан на правиле цепочки и заключается том, что после каждого прохождения данных через нейросеть происходит обратное прохождение, которое регулирует параметры искусственных нейронов. Например, минимизирует те или иные функции.