Исследователи из Калифорнийского университета в Беркли создали нейросеть, выполняющую сложную творческую работу. Она преобразует исходные чёрно-белые фотографии в полноцветные, добавляя данные о цвете объектов по результатам анализа свыше миллиона подобных изображений. За считанные минуты (или даже секунды, если компьютер достаточно мощный) она достигает лучшего результата, чем профи за несколько часов работы вручную.

Вместо раскрашивания объектов по слоям в Photoshop, подбора оттенков и уровней прозрачности, нейросеть просто вычисляет отсутствующие данные о цвете, основываясь на большой (точнее, растущей) базе цветных снимков. Взгляните на результат обработки чёрно-белого пейзажа американского фотографа Энселя Адамса.

Обработка нейросетью ч/б фотографии "Хребет Титон и река Снейк", Энсель Адамс, 1942 г. (изображение: Richard Zhang et al., University of California, Berkeley).
Обработка нейросетью ч/б фотографии “Хребет Титон и река Снейк”, Энсель Адамс, 1942 г. (изображение: Richard Zhang et al., University of California, Berkeley).

Конечно, в её работе возможны ошибки. Например, она не сможет рассчитать оттенок глаз на дореволюционной фотографии или вычислить цвет знаков отличия на форме военных лет. Светло-серый может оказаться светло-синим, светло-жёлтым и каким угодно ещё. Точный результат достигается только при возможности сравнить чёрно-белое изображение с похожим цветным.

Однако и в таком варианте результаты работы нейросети выглядят очень впечатляюще. На представленных в тесте снимках достигнуто очень реалистичное восстановление цвета и максимальная степень детализированности.

Преобразование монохромных фотографий в цветные (изображение: Richard Zhang, Phillip Isola, Alexei A. Efros).
Преобразование монохромных фотографий в цветные (изображение: Richard Zhang, Phillip Isola, Alexei A. Efros).

Оперируя только уровнями яркости и базой цветных снимков для сравнения, нейросеть за восемь этапов раскрашивает каждый пиксель. Итог получается таким, словно фотография изначально была цветной.

Как и дизайнер, при недостатке информации нейросеть исходит из некоторых очевидных предпосылок. Например, оттенок неба обычно голубой, трава – зелёная, а море – синее. Однако эти правила не жёстко предопределены алгоритмом. Небо на закате будет казаться красноватым, осенняя трава – желтоватой, а море может стать зелёным из-за скопления водорослей. Если в базе будет хотя бы несколько подходящих изображений, нейросеть отступится от изначальных критериев и попытается создать подобное по тональности фото.

Этапы обработки монохромного снимка нейросетью (изображение: Калифорнийский университет в Беркли).
Этапы обработки монохромного снимка нейросетью (изображение: Калифорнийский университет в Беркли).

Наиболее часто нейросеть ошибается в натюрмортах. Цвет фруктов, букетов или сервиза может оказаться совсем другим. Однако пейзажи и большинство других типов сцен обрабатываются корректно. В проведённом тесте Тьюринга 20% участников вообще отказывались верить, что раскрашенные нейросетью изображения изначально были монохромными.

Сами авторы работы отмечают, что добиться высокой точности цветопередачи методом раскрашивания монохромных изображений невозможно в принципе. Если информация о цвете в исходном кадре отсутствует, то её просто негде взять. Остаётся лишь «угадывать», то есть работать с вероятностными моделями и восстанавливать 2/3 данных методом поиска соответствий. Поэтому основной задачей они ставят не столько точную реконструкцию цвета, сколько получение правдоподобных полноцветных изображений.