Алексей Лукин,
Денис Кубасов
В большинстве используемых в настоящее
время устройствах получения цифровых
изображений (в первую очередь в сканерах,
цифровых фотоаппаратах и видеокамерах)
используются CCD-матрицы. Такая матрица состоит из
различных фотоэлементов, чувствительных к свету
с определенной длиной волны. Используется три
типа элементов: чувствительных к красному,
зеленому и синему цветам.
Эти три типа элементов расположены в
виде мозаики, называемой обычно байеровским
шаблоном (bayer pattern). Таким образом, в каждой точке
матрицы CCD есть информация только об одной из
трех цветовых компонент, в то время как
требуемое цифровое изображение должно
содержать все три эти компоненты (R, G и B) для
каждого пикселя. |
|
Задача демозаикинга (demosaicing,
интерполяция байеровских шаблонов) состоит в
получении "полноцветного" изображения по
его байеровскому шаблону. Иными словами алгоритм
должен проинтерполировать каждую из цветовых
плоскостей в тех точках, где значение
соответствующей компоненты неизвестно.
Статья
Здесь можно загрузить нашу статью с
конференции Graphicon 2004: "An
Improved Demosaicing Algorithm" (PDF).
Также имеются файлы презентации по
статье на английском и на русском языках в формате Power
Point.
Алгоритмы
Для решения этой задачи было предложено
множество алгоритмов, начиная с простейших
идей использовать стандартные алгоритма
ресамплинга (например, bilinear, bicubic) для каждой из
цветовых плоскостей в отдельности. Данный
подход, хотя и является достаточно
быстрым, как правило, не обеспечивает
хорошее качество результата.
Лучший результат можно получить, если
использовать избыточность зеленых сенсоров в
байеровском шаблоне - на каждый сегмент шаблона
2х2 приходится 1 красный, 1 синий и 2 зеленых
сенсора. Это связано с тем, что для восприятия
изображения зеленый цвет важнее красного и
синего: к нему более чувствителен глаз. И так как
заленые сенсоры в матрице расположены чаще, то,
согласно теореме Котельникова, по зеленой
компоненте можно восстановить более высокие
частоты, чем по синей и красной.
Большинство алгоритмов интерполируют
сначала зеленую компоненту одним из
качественных алгоритмов ресамплинга,
учитывающим информацию о краях, а затем
интерполируют красный и синий уже с учетом
восстановленного зеленого. Иногда этот процесс
носит итерационный характер - по восстановленным
красному и синему производится коррекция
зеленого, который, в свою очередь, используется
для дальнейшей коррекции красного и синего
(обычно количество таких итераций невелико и
фиксировано). Так, например, работает алгоритм
Киммела.
Далее будут приведены
результаты сравнения некоторых алгоритмов,
среди которых:
Примеры
Вот результаты работы перечисленных
выше алгоритмов на некоторых тестовых
изображениях. Для наглядности и в целях экономии
трафика приведены фрагменты изображений,
увеличенные в 2 раза. Полностью
восстановленное изображение можно увидеть, если
кликнуть мышкой на его фрагменте.
Исходное изображение (фрагмент,
настоящий размер) и байеровский шаблон (увеличенный
фрагмент)
Результаты
Bilinear |
Kimmel |
AP |
AQua |
Наш метод |
Original |
Иногда приходится производить
демозаикинг изображений, которые изначально
являлись черно-белыми, например, при
сканировании черно-белых фотографий. В общем
случае, в результате работы алгоритма получится
цветное изображение, и то, насколько близко
оно к черно-белому, является хорошим показателем
устойчивости и адаптивности алгоритма.
Исходное изображение (фрагмент,
уменьшенный в 2 раза) и байеровский шаблон (увеличенный
фрагмент)
Результаты
Bilinear |
Kimmel |
AP |
AQua |
Наш метод |
Original |
Проблемы
Поскольку все методы демозики в той или
иной степени являются алгоритмами ресамплинга
или используют их, для них характерны все те
артефакты, что и для используемых алгоритмов ресамплинга: потеря четкости,
зубчатость границ.
Один из самых заметных специфических
артефактов, как можно убедиться по приведенным
примерам, - это так называемый "цветовой
муар", возникающий из-за алиасинга при
интерполяции красного и синего цветов. Методы,
интерполирующие цветовые плоскости
по-отдельности, получают его в полном объеме, но и
остальные также от этого страдают, хоть и в
меньшей степени.
Другой артефакт,
характерный для алгоритмов демозаикинга,
заключается в появлении на границах областей
разного цвета чередующихся точек разных
оттенков. Этот артефакт носит название
zipper-эффекта. |
Original |
Zipper-effect |