Нейронная Сеть Раскрашивает Фотографии


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

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

Теперь команда из Калифорнийского университета в Беркли использовала аналогичную технику для получения результатов, которые обманывают человека в 20% случаев. Это может звучать не очень хорошо, но это большой шаг вперед по сравнению с предыдущими методами. 

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

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

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

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

Этот метод хорошо зарекомендовал себя в сравнении с альтернативами, и когда он что-то делал неправильно, это обычно происходило из-за его склонности отдавать предпочтение ярким цветам, когда их изначально не существовало. 

Чтобы увидеть, насколько хорошо работает сеть объективным образом, оригиналы и окраска сети были показаны испытуемым, которые должны были выбрать, какой из них был оригиналом. В 20% случаев предпочтение отдавалось реконструкции сети. Иногда кажется, что реальность просто недостаточно красочна: 

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

Интересно отметить, что Адамс, как правило, использовал красный фильтр, делая синий цвет намного темнее на своих фотографиях.

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


Добавить комментарий