При работе с изображениями часто возникает необходимость каким-то
особым образом изменить его цвет: изменение цвета участков изображения,
изменение времени суток или погоды на фотографии, совмещение разных
изображений так, чтобы не было видно границ. Статья описывает
постановку задачи и примеры алгоритмов цветокоррекции.
При работе с изображениями часто возникает необходимость каким-то
особым образом изменить его цвет. Самый простой пример - работа
дизайнера, здесь с изображением может происходить все, что угодно:
изменение цвета участков изображения,
изменение времени суток или погоды на фотографии, совмещение разных
изображений так, чтобы не было видно границ. Задача цветокоррекции
применяется и в других областях: создание текстур при моделировании
объектов, выравнивание гистограмм
изображений и многое другое. Все это порождает множество постановок
задачи цветокореркции.
В то же время заметим, что не все из перечисленных преобразваний легко
выполнимы алгоритмически.
Рассмотрим задачу, цель которой придать целевому изображению колорит
некоторого другого изображения так,
чтобы целевое изображение выглядело естественным и сохранило свои
особенности (композицию, контрастность, светотень). Требуется также,
чтобы была возможность избавляться от нежелательных оттенков на
фотографиях. И, наконец, сам алгоритм должен быть
простым в реализации и эффективным.
Пример 1:
Пример 2:
Пример 3:
Метод решения поставленной задачи, излагаемый в этой статье, основан на использовании статистических данных.
Суть метода
Метод
заключается в том, что прежде всего вычисляются математическое ожидание
и дисперсия цвета на обоих изображениях
(цветовое пространство изначально не уточняется).
После применения алгоритма матожидание цвета целевого изображения
заменяется на матожидание изображения-источника цвета.
Аналогично меняется дисперсия. Или, другими словами, гистограмма
целевого изображения передвигается и растягивается. Если считать цвета,
представленные на изображении,
точками в цветовом пространстве, то гистограмма изображения - это
область, которую образуют в пространстве эти цвета.
Изменение гистограммы целевого изображения для примера 1 в цветовом пространстве Rudermann et al. lab:
Вычисления выглядят следующим образом:
где С - цветовой канал пиксела; индексы s, t означают принадлежность пиксела соответственно изображению-источнику цвета
и целевому изображению.
Эта формула применяется к значению каждого цветового канала каждого пиксела целевого изображения.
Алгоритм сам по себе прост и может выполняться в любом цветовом пространстве в любой нормировке, но результат его работы очень
сильно зависит от выбора пространства.
Выбор цветового пространства
Итак, почему нельзя использовать произвольное цветовое пространство и как выбрать подходящее?
Прежде всего хотелось бы определить общие требования к рабочему цветовому пространству.
Следующий список представляется разумным:
Интуитивность - под этим понимается разделение яркостных и цветовых составляющих,
т.к. когда требуется изменить только яркость изображения, то всегда удобнее менять только один канал, а не все три.
Равномерность - это требование означает, что при одинаковых изменениях численного значения цвета одинаково меняется
и зрительное восприяти цвета. Это важно в описываемом методе, т.к. значения цветов меняются пропорционально
(см. формулу преобразования каждого канала).
Низкий уовень корелляции между каналами - обеспечивается максимально малая вероятность возникновения артефактов
при изменении значения одного канала.
Авторы метода показывают, что применение алгоритма в часто используемых цветовых пространствах не дает хороших результатов,
т.к. эти пространства не отвечают перечисленным требованиям. Поэтому было предложено цветовое пространство, разработанное
относительно недавно, Rudermann et al. lab.
Тестовая пара изображений:
Вот результаты применения алгоритма в различных цветовых пространствах:
Результат, полученный в RGB - какие-либо изменения незаметны.
CIECAM97 - хорошо перкрасилось небо, но слишком посерели цветы и трава.
Rudermann et al. lab - небо бледное, но правдоподобное; а вот трава и цветы перекрасились лучше, чем в CIECAM97.
Пространство Rudermann et al. lab
Т.к. изображение в подавляющем большинстве случаев хранится в формате RGB, рассмотрим перевод из
RGB в lab и обратно.
Шаг 1. Переход из RGB в вещественной нормировке в коническое пространство LMS, т.к. lab - его модификация:
Шаг 2. Перевод LMS в lab:
Далее выполняется преобразование для каждого пиксела целевого изображения по формуле, приведенной в начале статьи.
Итак, прежде, чем выполнять преобразование целевого изображение, следует перейти из RGB в рабочее цветовое пространство.
Затем следует вернуться в RGB для отображения результата.
Шаг 1. Переход из lab обратно в LMS.
Шаг 2. Переход из LMS в RGB.
Характеристики метода
Метод действительно решает поставленную задачу, т.е. осуществляет изменение колорита целевого изображения с сохранением
его особенностей и результат перекраски при разумном подборе пары изображений выглядит естественно, т.е. обеспечивается
ожидаемый эффект перекраски. Алгоритм также позволяет убирать нежелательные оттенки с фотографий.
Скорость работы алгоритма напрямую зависит от размера входных изображений, т.к. преобразовывается каждый пиксел
Благодаря
использованию статистики метод применим независимо от размеров входных
изображений и соответствия размеров между собой. В чистом виде метод
перекрашивает изображение целиком.
Ну и, наконец, изображения должны быть схожи в своей композиции и содержании, иначе результат может быть непредсказуемым.
Пример 1:
Пример 2:
Литература
Erik Reinhard, Michael Ashikhmin, Bruce Gooch and Peter
Shirley, "Сolour Transfer between Images", J. IEEE Computer Graphics
and Applications, Applied perception, September/October 2001, pp. 34 -
41.
D.L. Ruderman, T.W. Cronin, C.C. Chiao, "Statistics of Cone
Responces to Natural Images: Implications for Visual Coding", J.
Optical Soc. Of America, vol. 15, no. 8, 1998, pp. 2036 - 2045.
Комментарии
Пасиб,
Пасиб, пригодится, если разбирусь
Отправить комментарий