- PVSM.RU - https://www.pvsm.ru -

Окрашивание изображений

Окрашивание изображений
Здравствуй, Хабрахабр. Сегодня мы будем раскрашивать.
Что здесь будет? Будет поиск цветного изображения со схожими цветами по черно-белому и метод переноса цвета с первого на второе.

Поиск цветного изображения

Что у нас есть? Допустим, у нас есть куча цветных изображений и одно черно-белое, мы хотим из этой кучи выбрать одно, которое по цветам лучше всего подходит нашему черно-белому (если бы они, цвета, у него были). Каждое изображение на выборах будет представлять его сигнатура.

Сигнатура — это 128 чисел с плавающей запятой, они получаются из гистограммы канала l (яркость) изображения (из цветовой модели lab), нормализованной к единице, то есть сумма всех 128 чисел равна единице (нормализация нужна для того, чтобы убрать влияние размера изображения на сигнатуру). Схематично получение сигнатуры изображения выглядит так:
Окрашивание изображений

Подобный подход описан в [2], там есть и другие варианты сигнатур и экспериментальные результаты. Теперь у каждого цветного изображения есть сигнатура, и у черно-белого она тоже есть, как мы выберем изображение? Вычислим корреляцию между сигнатурой нашего бесцветного подопытного и цветных кандидатов, по наибольшему значению получим победителя. Корреляция, кстати, вычисляется вот так:

Окрашивание изображений

Окрашивание изображений
Здесь H1 и H2 — сигнатуры, N=128 — число элементов сигнатуры. Если d=1, то максимальное совпадение, -1 – максимальное различие, 0 – нет корреляции.
На этом этапе у нас уже есть черно-белое изображение и изображение-источник цвета, назовем его так. На первой картинке это левое и правое изображения, осталось получить центральное.

Перенос цвета с цветного на черно-белое

Этапы переноса цвета следующие:
1. Накладываем на изображение-источник цвета сетку 15х15, в каждой ячейке берем случайный пиксель (это называется jittered sampling [1])
2. Рассматриваем окрестность это пикселя в размере 25х25, вычисляем математическое ожидание и дисперсию.
После первых двух шагов мы получаем с цветного изображения 225 образцов цвета, каждый из которых характеризуется следующим: двумя значениями каналов a и b; мат. ожиданием и дисперсией.
15х15 и 25х25 получены в ходе экспериментов.
3. Попиксельно обходим наше черно-белое изображение, вычисляем дисперсию и мат. ожидание, сравниваем с образцами, с наиболее подходящего образца переносим значения цветовых каналов a и b.

Этот метод придумал Welsh с товарищами, подробнее можно почитать у него [1].

В результате этих нехитрых манипуляций получаются вполне себе цветные картинки:

Окрашивание изображений

Ну и как же без рыжего кота:

Окрашивание изображений

Выводы

Ну, достоинства тут очевидны, руками ничего не делаем, все само красиво происходит, а недостатки? Для изображений, где основных тонов не два-три, а много больше, результаты могут получиться сильно неадекватные, устраняется это очень просто на словах и очень сложно на деле: применение распознавания, например, при использовании метода SURF [2] и контурного анализа [3] для поиска машинки, можно вместо:

Окрашивание изображений

получить гораздо более правдоподобную картину:

Окрашивание изображений

но это уже совсем другая история.

P.S.

Я буду крайне признателен за альтернативные подходы к окрашиванию в комментариях, хотя бы на уровне идей.

Использованные источники:
1 Welsh, T., Transferring color to greyscale images [4]
2 Vieira, L. F. M. at al. Fully automatic coloring of grayscale images [5]

Автор: Kwent

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/36478

Ссылки в тексте:

[1] jittered sampling: http://www.schorsch.com/en/kbase/glossary/jitter.html

[2] SURF: http://habrahabr.ru/post/103107/

[3] контурного анализа: http://habrahabr.ru/post/118486/

[4] Welsh, T., Transferring color to greyscale images: http://www.cse.iitd.ernet.in/~pkalra/csl783/assignment1/colorize.pdf

[5] Vieira, L. F. M. at al. Fully automatic coloring of grayscale images: https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.researchgate.net%2Fpublication%2F220611081_Fully_automatic_coloring_of_grayscale_images%2Ffile%2Fd912f51002339bae01.pdf&ei=SZ23Ub-_I8nT4QS-i4CwAg&usg=AFQjCNG5cPgJ-yE5xqf0M-uak0eYSnwFPA&sig2=qsHzK6fhEYOnOUmjNJ8tYQ&bvm=bv.47534661,d.bGE&cad=rjt

[6] Источник: http://habrahabr.ru/post/183226/