Глубокое обучение раскрашивает черно-белые изображения

искусственный интеллект глубокое обучение GitHub Нейронные сети

Глубокое обучение улучшило «когнитивные» задачи, такие как зрение и обработка речи, и даже Google обратился к языковому переводу на основе нейронных сетей, возможно, потому, что для достижения желаемых результатов не требуются специальные знания в каждой области. Конечно, массивные графические процессоры, аппаратное обеспечение для параллельных вычислений и хорошо спроектированные фреймворки, такие как TensorFlow, также ускорили рост революции ИИ. В этой статье речь пойдет об еще одной «познавательной» задаче:Использование глубокого обучения для превращения черно-белых изображений в цветные.

Эта статья основана на недавней статье:
АР Вест V.org/PDF/1603.08…напишите ссылку сюда
Предположим, у вас естьНейронные сетиифункция потерьузнать...


целевая задача

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


Предыдущая работа и существующие проблемы

В прошлом, в основном с помощью глубокого обучения, применяли регрессию для предсказания цвета каждого пикселя, но результаты были неудовлетворительными, а цвета были плоскими и скучными.

Figure 1.0 Results of a regression based model. Left: Input to the model. Right: Output of the model
Figure 1.0 Results of a regression based model. Left: Input to the model. Right: Output of the model

В предыдущих работах использовалась среднеквадратическая ошибка (MSE) в качестве функции потерь для обучения модели, и авторы указали, что MSE попытается «усреднить» цвета для наименьшей средней ошибки, что приведет к плоскому виду. Поэтому автор изменил свое мышление и превратил раскраску картинки в задачу классификации.

Вход и выход модели

Авторы использовали режим цветового пространства LAB (наиболее распространенный — RGB). В схеме LAB L-канал записывает значения интенсивности света, а два других канала записывают набор встречных цветов, зелено-красный и сине-желтый. О LAB вы можете узнать наздесьвыучить больше.

Хорошей причиной для использования цветового пространства LAB является то, что оно разделяет значения интенсивности света. Преимущество заключается в том, что черно-белые изображения можно рассматривать как L-каналы, поэтому модели не нужно учиться поддерживать интенсивность света при прогнозировании. (Требуется при использовании RGB). Таким образом, модели нужно только научиться раскрашивать изображение, чтобы она могла сосредоточиться на важных шагах.

Значения канала AB, выдаваемые моделью, можно напрямую применять к черно-белым изображениям для получения цветных изображений.

Модель представляет собой довольно стандартную сверточную нейронную сеть, авторы не использовали объединяющие слои, а вместо этого использовали слои выборки вверх/вниз.

квантование цвета

В приведенном выше кратком введении автор использует модель классификации вместо модели регрессии. Поэтому количество типов нуждается в пересмотре, и в качестве возможного количества классификаций авторы выбрали 313 пар АВ. Хотя это может показаться немного меньше, есть способы обеспечить больше цвета. (Введение в конце статьи)

функция потерь

Функция потерь, используемая авторами, представляет собой стандартную перекрестную энтропию. Z — это истинный тип пикселя, а Z^ — результат модели.

Equation 1.0 Standard Cross Entropy
Equation 1.0 Standard Cross Entropy

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

Equation 1.1 Weighing scheme
Equation 1.1 Weighing scheme

Авторы вычисляют ~p, распределение классов, из базы данных ImageNet. Q — это количество типов (313), и λ, равное 0,5, работает хорошо. Следует отметить, что автор сгладил ~p, здесь я его пропущу, а оригинал вы можете прочитать, если вам интересно.

Таким образом, после рассмотрения весов наша функция потерь выглядит следующим образом:


Equation 1.3 Loss function after weighing scheme

v( ) — это просто значение веса для каждого класса, h и w — высота и ширина изображения соответственно.

Предсказать цвет на основе типа

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

Чтобы получить более разнообразный цветовой диапазон из модели прогнозирования, автор добавляет дополнительный этап постобработки.

Equation 2.0 Calculating color from class probabilities
Equation 2.0 Calculating color from class probabilities

H — функция, Z — результат модели, а T — гиперпараметр, Автор экспериментировал с некоторыми разными значениями следующим образом.


Figure 1.0 Effect of different values of T

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

рамки обучения

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

результат

Снимки результата эксперимента очень яркие и в большинстве случаев практически совпадают с реальностью. Но также учтите, что иногда имеет место отклонение от реального окружения, но оно все равно семантически верно (модель может присвоить объекту правильный цвет).


Figure 2.0 Comparison between different colouring frameworks

Colouring Legacy Black & White Photos


Figure 2.1 Colouring photos that were originally taken in Black & White

в заключении

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

Переведено с:хакер полдень.com/color ing-…
гитхаб:GitHub.com/Sunday Accounts/От…