Интерполяция изображений посредством оптимизированных преобразований цвета.
Во многих алгоритмах т. н. демозаики красная и синяя составляющие рассчитываются согласно интерполированной зелёной составляющей. Хотя дополнительная информация (как, например, статистика цветовых составляющих) может быть легко получена, существующие алгоритмы работают одинаково, не анализируя имеющиеся данные, а это несколько нерационально. В данной статье предложено оптимизированное преобразование цвета для восстановления красной и синей компонент, основанное на свойствах входного изображения. Сравнивая результаты работы предлагаемого оптимизированного алгоритма с другими известными способами, мы покажем, что изображение получается лучше как визуально, так и по показателю качества S-CIELAB. Основываясь на результатах моделирования, мы придём к выводу, что предложенная оптимизация может служить полезным средством в цифровой фотографии.
1. Введение.
Интерполяция изображений активно исследуется с недавних пор. В частности, проблема демозаики привлекает внимание исследователей, так как играет важную роль в различных устройствах захвата изображений. При демозаике полноцветное изображение восстанавливается из изображения, в в каждом пикселе которого известна только одна из цветовых компонент (красная, зелёная или синяя). Обычно массив цветных фильтров (МЦФ) используют по схеме рис. 1. Для того, чтобы получить полноцветное изображение, отсутствующие составляющие (50% зеленых и 75% красных и синих пикселей) должны быть восстановлены по имеющейся информации. Разумеется, высокая корреляция RGB-цветов большинства изображений должна учитываться при восстановлении.
Эту проблему можно решить простыми средствами - методом ближайшего соседа (копирование пикселей), билинейным методом (усреднение соседних пикселей), бикубической и сплайн-интерполяцией, - при которых компоненты цвета обрабатываются независимо. Если учесть корреляции между компонентами цвета, можно ожидать, что изображение получится качественней. Одним из способов можно считать восстановление красной и синей составляющих согласно значению зелёной составляющей, значение которой восстанавливается в первую очередь. Так работают последовательные алгоритмы демозаики, если используется фильтр Байера, содержащий вдвое больше зелёных элементов, чем красных и синих, взятых вместе. Такие алгоритмы рассмотрены в [5, 6, 7, 8, 9, 10]. Восстановлению зелёного канала было уделено большое внимание, так как он содержит больше информации о яркости изображения, и ошибки в его вычислении окажут отрицательное влияние на красный и синий каналы, содержащие информацию о цветности. Качество интерполяции цветности изображения также немаловажно и заметно влияет на результат алгоритма демозаики в целом.
В непоследовательных алгоритмах могут применяться итеративные способы демозаики. В таком случае происходит одновременная обработка зеленого канала с красным и синим, основанная на отношении [11] или разности [12] цветовых компонент. Одновременное моделирование всех трёх цветов рассмотрено в [13].
1.1 Основной метод демозаики.
В этом методе мы будем использовать алгоритм, предложенный в [10] для интерполяции красного и синего. Рассмотрим подробно этот алгоритм. Входное изображение, отображаемое на матрице с зарядовой связью (ПЗС-матрица) будем считать состоящим из четырёх малых изображений - RR для красного канала, BB для синего и GR и GB - для зелёного (см. рис. 1). Для каждого пикселя также определим 2 рода соседей - "х" и "+" (см. рис. 2). Идея [10] заключается в том, чтобы восстановить недостающие пиксели изображения зная, в каком отношении состоят пиксель р и его соседи ni малых изображений. Мы будем использовать линейную аппроксимацию, т. е.
(1) 
где i - индексы соседей пикселя р, а αi- коэффициент, соответствующий ni в разложении. Полученные коэффициенты αi используются для построения интерполированных изображений на каждом этапе для пикселей каждого рода. Коэффициенты разложения выбираются оптимальными в смысле наименьших квадратов. Для группы пикселей строится линейная система уравнений: p = Nα, где р – вектор пикселей, α – вектор коэффициентов, а N – матрица смежности. Решение этой системы в смысле наименьших квадратов есть α = (NTN)-1NTp. Группы пикселей с оптимизацией по наименьшим квадратам соответствуют областям изображения. Эти области – результат разделения изображения, основанного на отношениях между значениями интенсивности соседей данного пикселя. Следовательно, эти области не обязаны быть связными. Этапы основной демозаики приведены ниже.
1) Зелёная компонента интерполируется методом, представленным в [5]. Этот способ включает фильтрацию шаблона МЦФ по горизонтали и вертикали с последующим выбором горизонтального или вертикального интерполятора или среднего значения интерполяторов в зависимости от направления меньшего из горизонтального и вертикального градиентов. Некоторые другие методы были недавно представлены (см. [7, 8]), однако для простоты мы их не используем.
2) Красная и синяя компоненты восстанавливаются согласно значению зелёной компоненты G*1, при этом рассматриваются разности цветов
G*1, где RCCD и BCCD – исходные значения красного и синего цветов соответственно. Разности восстанавливаются на тех позициях, где известны значения соседей "х"-рода. Разности восстановленных цветов обозначим
и
.
3) Те же пиксели, что и на шаге 2, восстанавливаются снова для большей точности алгоритма. В нечётных строках вычисляется и восстанавливается разность цветов
, и, согласно отношениям, вычисленным в чётных строках, восстанавливаются чётные столбцы и их "х"-соседи и наоборот. Результат
используется для вычисления красного и синего значений (R1* и B1*).
4) Оставшиеся отсутствующие пиксели красного и синего цветов восстанавливаются с помощью разностей
и
и отношений с соседями "+"-рода. Результаты обозначим
и
.
5) Окончательно значения красной и синей компонент вычисляются по формулам
и
. Выходной параметр алгоритма –
.
2) Методы статистической оптимизации.
Как мы можем видеть из вышесказанного, основной метод использует разности R – G и
B – G на 2-м и 4-м шагах. Этот выбор достаточно произволен, и мы можем рассмотреть другие комбинации цветов такие, что цветовые компоненты менее коррелированны. Преобразование цвета может быть выбрано таким, чтобы оптимально достичь желаемых свойств [14, 15]. Так как большая часть пикселей исходного изображения отсутствует, применять преобразование цвета в самом начале алгоритма сложно. Но после восстановления зелёного это становится вполне возможным. Поэтому на 2-м и 4-м шагах предлагается следующее обобщение:
(2) 
для некоторых констант a1, a2, d1, d2. Заметим, что B не содержится в С2, а R не содержится в С3, потому что R и B известны для совершенно разных позиций пикселей ПЗС-изображения. Мы рассмотрим несколько возможностей выбора коэффициентов a и d.
2.1 Минимальные дисперсии C_2 и C_3.
Идея состоит в поиске а1, а2 и d1, d2, минимизирующих дисперсии С2 и С3 соответственно. Очевидно, если дисперсия С2 становится равной нулю, то алгоритм не внесёт ошибки в вычисление красной компоненты. Аналогично для С3 и синей компоненты. Для того чтобы исключить тривиальный случай с нулевыми коэффициентами, следует ввести ограничение, которое будет гарантировать равенство L1- или L2-норм коэффициентов нулю, т. е.
(3)
или 
Формулы для дисперсий следующие:

Эти дисперсии минимизированы одним из ограничений (3).
Здесь var() и cov() означают дисперсию и ковариацию соответственно. Нахождение коэффициентов а1 и а2 при ограничении по L1-норме сводится к подстановке известных значений в формулу

Формулы для d1 и d2 такие же, при этом R везде заменяется на B.
2.2 Минимальные ковариации С2 и С3
Нам нужно найти значения а1, а2 и d1, d2, минимизирующие ковариации С2 и С3, определённые выражением
![]()
Можно наложить те же ограничения. При ограничении по L1-норме значения а1 и а2 вычисляются так:

Оправданность оптимизации похожа на ситуацию использования преобразований цвета в сжатии изображений: концентрация большей части энергии С2 и С3 в одном из преобразований снижает погрешность восстановления цвета.
2.3) Ортогонализация Грама-Шмидта.
Идея декорреляции в разделе 2.2 может быть рассмотрена как ортогонализация с помощью векторного произведения
Для такой ортогонализации применим процесс Грама-Шмидта. Проблема заключается в том, что если мы начнём процесс со значений С2 и С3 для некоторых а1 и d1, не равных нулю, то в результате мы получим линейные комбинации, в которых присутствуют R и В. В качестве альтернативы рассмотрим отдельно ортогонализацию R, G и B, G. Начнём процесс с G и проекции R на G, аналогично для B и G. Возьмём эти 2 вектора в качестве С2 и С3, т. е. при ограничении по норме L1

Заметим, что при
нельзя ожидать, что
при выбранных коэффициентах, но С2 и С3 обычно становятся декоррелированными, т. к.

Т. е. ожидается, что они будут значительно низкими.
обозначена корреляция R и B, аналогично для
и
.
Примечательно, что процесс Грама-Шмидта решает ещё две проблемы, о которых сказано ниже.
2.3.1 Минимизация ковариации
и 
Рассмотрим упрощённый выбор
и
Получаем
![]()
Минимизируя (10), находим α и β:
![]()
Получаем фактически (8) с точностью до масштабирующего параметра.
2.3.2 Минимизация корреляции
и 
Рассмотрим корреляцию
и
, определённую как

Выражение для
дано в (10), а дисперсии определены как

Можно показать, что решение этой задачи такое же, как в (11).
3) Оптимальная гладкость С2 и С3.
Причина, по которой во многих алгоритмах используется разность R – G и B – G заключается в том, что разности – это по большей части низкочастотные сигналы [7]. Это значит, что разности гладкие или имеют небольшие градиенты в пространственной области. Более того, этот факт может быть использован для оценки значений отсутствующих пикселей с использованием, например, билинейной интерполяции разностей [7, 8, 9]. Ниже предложены методы, позволяющие наложить гладкость на С2 и С3.
3.1) Минимальная энергия высоких частот.
Идея состоит в том, чтобы минимизировать энергию С2 и С3, пропущенные через фильтр верхних частот. Обозначим цветовые компоненты
и уменьшим
для изображения размером M×N. Как вариант, для фильтрации С2/С3 по горизонтали и вертикали соответственно, можем применить одномерные фильтры НРх и НРy. Обычно выбирают
Таким образом получаем выражение, которое будем минимизировать:
где
есть Сk, пропущенное через фильтр НРх, аналогично для
Оптимальные значения коэффициентов а1 и а2 при ограничении по L1-норме (3) вычисляются по формулам
где

Аналогично находим d1 и d2, заменяя в формулах (15) R на B. Вычисления для упрощенно выбранного НРх (к примеру, аппроксимация горизонтальной производной), можно провести на имеющихся малых изображениях, полученных с массива цветных фильтров (см. рис. 1). R и B можно также восстановить каким-нибудь простым способом, например, билинейной фильтрацией разностей R – G и B – G. Затем полученные значения можно использовать для оценки производных. Авторы применили градиентный оператор Собеля, заданный матрицей
.
3.2) Минимальная энергия в частотном интервале.
Предложим ещё один подход. Рассмотрим энергию компонент С2 и С3 в частотном интервале. Чтобы наложить оптимальную гладкость, найдём коэффициенты а1, а2, d1 и d2, снижающие энергию на верхних частотах. Одной из возможных формулировок задачи можно назвать минимизацию интеграла
, где
– преобразование Фурье величины Сk. Решение задачи аналогично рассмотренному ранее ((14)), где параметры
равны

Здесь символом Re() обозначена вещественная часть комплексного числа, а * – комплексное сопряжённое. В нашей реализации используется дискретное преобразование Фурье, поэтому интегралы
заменяем рядами
Преобразование начинается с предварительного восстановления R и B по алгоритму, описанному в разделе 3.1. Обычно матрицы RR и BB непригодны для преобразования Фурье из-за алиасинга, созданного дискретизацией.
4) Моделирование.
Сначала обсудим сравнение способов, основанных на оптимизациях, предложенных во
2-м и 3-м разделах. Результаты демозаики нескольких рисунков приведены в табл. 1. Все алгоритмы были усовершенствованы способом, описанным в [17]. Как видно из таблицы, все предложенные методы улучшают работу основного метода. Наилучший из них - алгоритм, минимизирующий энергию верхних частот. Среди статистических методов алгоритм Грама-Шмидта лучше алгоритмов снижения дисперсий и ковариаций С2 и С3, а это значит, что декорреляция сама по себе не является достаточным критерием оптимизации [14]. Аналогичным образом, неоптимально снижать только дисперсии. Невырожденность преобразования цвета также важна, и мы убедились в этом, рассматривая метод Грама-Шмидта.
В таблице также приведено сравнение этого алгоритма с другими имеющимися способами, достигающими наилучших результатов [4]: проекция на выпуклые множества [6], адаптивная фильтрация [18], направленная линейная минимальная средняя квадратичная ошибка [7], локальная полиномиальная аппроксимация [9], дисперсия разностей цветов [8] и метод корреляции цветов [19] с постобработкой [20]. Их показатели приведены в правой части таблицы. Как видим, алгоритм минимизации высших частот показывает наилучший результат. См. также рис. 3, где приведены результаты демозаики части 4-го изображения. Заметим, что артефакты на красной куртке наименее заметны при применении предложенных методов.
5) Заключение.
Нами были предложены новые оптимизированные способы преобразования цветов для демозаики изображений. Эти преобразования используются для перехода к другому цветовому пространству, в котором осуществляется восстановление отсутствующих пикселей. Оптимизация основана в основном на статистических свойствах компонент цвета, таких как минимальная дисперсия или ковариация. Это увеличивает компактность энергии компонент цвета и снижает ошибку демозаики. Гладкость компонент цвета также возможно увеличить с точки зрения энергии на верхних частотах изображения или области преобразования Фурье. Так как многие алгоритмы демозаики рассчитаны на гладкость интерполированных цветов, это также улучшает интерполяцию.
Мы представили результаты моделирования основного метода интерполяции с оптимизацией преобразования цвета и без. Сравнив представленный алгоритм с существующими способами демозаики, можно показать, что алгоритм, снижающий энергию на верхних частотах в области изображения превосходит остальные методы в соответствии с метрикой S-CIELAB и визуальным восприятием. Оптимизация преобразований цвета может оказаться полезной в задачах демозаики изображений.


