420 likes | 940 Views
Лекция 4 . Цвет, квантование, фильтрация. Алексей Лукин lukin@ixbt.com. План лекции. Свет и цвет Восприятие цвета Цветовые системы Палитры и квантование цветов Кластеризация K- средних Псевдотонирование Метод диффузии ошибки Фильтрация Свертка Простейшие фильтры
E N D
Лекция 4.Цвет, квантование, фильтрация. Алексей Лукин lukin@ixbt.com
План лекции • Свет и цвет • Восприятие цвета • Цветовые системы • Палитры и квантование цветов • Кластеризация K-средних • Псевдотонирование • Метод диффузии ошибки • Фильтрация • Свертка • Простейшие фильтры • Интерполяция байеровских шаблонов • Меры качества изображений
Свет и цвет • Свет и его спектр • 380 – 470 нм – фиолетовый, синий • 500 – 560 нм – зеленый • 560 – 590 нм – желтый, оранжевый • 590 – 760 нм – красный
P (чувствительность колбочек глаза) G I (интенсивность) R I (λ) B 440 540 580 λ, нм (длина волны) λ • Восприятие цвета Свет и цвет Какой это цвет?
Свет и цвет • Цветовые системы • RGB и дисплеи, гамма-коррекция • Аддитивные (RGB) и субтрактивные (CMYK) системы RGB CMY
Свет и цвет • Цветовые системы • HSV (Hue/Saturation/Value) • Система YUV и прореживание хроматических компонент
Свет и цвет • Система YUV: разделение яркости и хроматических компонент • Системы CIE Lab, Luv, CIEDE2000 и равномерность восприятия
Квантование • Раньше: ограничение видеопамяти → ограничение числа цветов → программируемые палитры • Теперь: уменьшение размера графических файлов, другие нужды (для спецэффектов, повышение резкости границ) • Палитры в видеоадаптерах и BMP-файлах Квантование цвета RGB 64 цвета 16 цветов
Квантование цвета • Палитризация • Равномерное квантование • По популярности • Медианное сечение цветового куба Гистограмма
Метод кластеризации K-средних • Выбрать начальное приближение палитры из N различных цветов • Классифицировать все пиксели на N кластеров по цвету • Найти средний цвет (центроиду) каждого кластера и назначить их новыми цветами палитры • Пока цвета обновляются – goto 2 Квантование цвета
Цель: уменьшить видимые артефакты палитризации Псевдотонирование Округление 16 цветов Псевдотонирование RGB
1-й шаг – сведение к градациям серого Псевдотонирование
Методы • Округление Псевдотонирование
Методы • Dithering (добавление шума) Псевдотонирование Белый шум – случайные числа с нулевым мат. ожиданием
Методы • Упорядоченное псевдотонирование Псевдотонирование • Изображение разбивается на блоки • В каждом блоке вычисляется средняя интенсивность • В зависимости от интенсивности выбирается нужный шаблон • Шаблон записывается в блок Примеры шаблонов с разными степенями заполнения:
for (i=0; i<Height; i++) for (j=0; j<Width; j++) { Dest[i][j] = quantize(Src[i][j]); e = Dest[i][j] – Src[i][j]; Src[i][j+1] -= e; } • Методы • Диффузия ошибки Псевдотонирование Идея алгоритма: ошибка, внесенная при квантовании текущего пикселя, распределяется между соседними (еще не квантованными) пикселями. Примеры видов распределения ошибки: e 7e/16 e e 3e/16 5e/16 e/16 простейший Floyd-Steinberg
Как работают фильтры Фильтры Коэффициенты фильтра, ядро свертки 3x3, «функция размытия точки» -1 ≤ k ≤ 1, -1 ≤ p ≤ 1
Фильтры • Свертка // Обнулить изображение Dest[i][j] ... // Выполнить свертку for (i=0; i<Height; i++)// Для каждого пикс. Dest[i][j]... for (j=0; j<Width; j++) for (k=-1; k<=1; k++)// ...превратить его в ядро свертки for (p=-1; p<=1; p++) Dest[i+k][j+p] += Src[i][j] * Ker[k][p];// и сложить • Подводные камни: • Выход за границы массива • Выход за пределы допустимого диапазона яркости пикселей • Обработка краев.
Свойства фильтров • Результат фильтрации однотонного (константного) изображения – константное изображение. Его цвет равен • Следствие: чтобы фильтр сохранял цвет однотонных областей, нужно чтобы • Следствие: если сумма коэффициентов фильтра равна нулю, то он переводит однотонные области в нулевые. Фильтры
Размытие (blur) Примеры фильтров
Повышение четкости (sharpen) Примеры фильтров
Нахождение границ (edges) Примеры фильтров
Тиснение (embossing) Примеры фильтров
Простейшее размытие • Константное размытие • (любой размер фильтра) • Гауссово размытие • (любой размер фильтра) Примеры фильтров
Повышение резкости • Нахождение границ • Тиснение Примеры фильтров + модуль, нормировка, применение порога… + сдвиг яркости, нормировка…
Некоторые свойства свертки • Линейность • Инвариантность к сдвигу Фильтры Пусть Xи Y – изображения, H – ядро свертки
Фильтры • Сепарабельные (разделимые) фильтры • Если фильтр сепарабельный, то фильтрацию можно производить быстрее: • Отфильтровать все столбцы одномерным фильтром F(k) • Отфильтровать все строки одномерным фильтром G(p) Гауссиан – сепарабельный фильтр, т.к.
Фильтры • Unsharp Mask • Параметры: радиус, сила эффекта, порог срабатывания • Идея: вычесть из изображения его размытую копию, скомпенсировав уменьшение яркости • Переменная сила эффекта α помогает избежать усиления шума. Обычно α уменьшают при малых значениях разности X – GX (меньше порога срабатывания) αконтролирует силу эффекта, GX – размытая копия изображения (фильтр Гаусса)
Фильтры • Медианный фильтр • Каждый пиксель принимает значение, являющееся медианой значений пикселей в окрестности • Медиана – средний элемент в отсортированном массиве • Позволяет подавить шум (особенно, единичные «выпадающие» пиксели), не размывая границ • Медианный фильтр нелинейный (как доказать?)
Фильтры • Понятие о частотах в изображении и звуке • Частоты и гармонические колебания (звук) • Частоты и детали (изображение) • Постоянная составляющая • Действие фильтров • Фильтр размытия – НЧ-фильтр • Фильтр повышения четкости – ВЧ-фильтр • Фильтр нахождения границ – ВЧ-фильтр • Фильтры и обработка звука
Байеровские шаблоны Постановка задачи demosaicking фотосенсоры цифровой камеры байеровский шаблон (мозаика) demosaicking камера
Байеровские шаблоны • Простейшие подходы • Билинейная интерполяция мозаика билинейная интерполяция сложный алгоритм
Взвешенная интерполяция • Интерполяция зеленого • Адаптивность к краям исходное изображение зеленый цвет в мозаике билинейная интерполяция Kimmel
Метрики качества • Как измерить похожесть двух изображений? исходное изображение результат demosaicking
Метрики качества • Среднеквадратичная ошибка (MSE) • Пиковое отношение сигнал/шум (PSNR) N – число пикселей M – максимальное значение пикселя
Метрики качества • PSNR и MSE не учитывают особенности человеческого восприятия! Оригинал Далее будут использованы рисунки из статьи Wang, Bovik, Lu “WHY IS IMAGE QUALITY ASSESMENT SO DIFFICULT?”
Метрики качества • У этих изображений одинаковые PSNR с оригиналом (примерно 25 dB) Повышена контрастность Добавлен белый гауссов шум
Метрики качества • И у этих – тоже примерно 25 dB! Добавлен импульсный шум Размытие
Метрики качества • И у этого – тоже! Артефакт блочности после JPEG
Метрики качества • Вывод: PSNR не всегда отражает реальный видимый уровень искажений. • Как улучшить? • Использовать функцию чувствительности глаза к различным частотам (CSF) • Использовать свойство маскировки • Использовать равномерные к восприятию цветовые пространства (CIE Lab, CIEDE2000) HVS models (human visual system)
Метрики качества • Contrast sensitivity function (CSF) • Показывает чувствительность глаза к различным частотам Абсцисса – пространственная частота (колебаний / градус угла обзора)