Лекция 4 . Цвет, квантование, фильтрация
DESCRIPTION
Лекция 4 . Цвет, квантование, фильтрация. Алексей Лукин [email protected]. План лекции. Свет и цвет Восприятие цвета Цветовые системы Палитры и квантование цветов Кластеризация K- средних Псевдотонирование Метод диффузии ошибки Фильтрация Свертка Простейшие фильтры - PowerPoint PPT PresentationTRANSCRIPT
Лекция Лекция 44..Цвет, квантование, Цвет, квантование, фильтрация.фильтрация.
Алексей Лукин[email protected]
План лекцииПлан лекции
Свет и цветСвет и цвет– Восприятие цветаВосприятие цвета– Цветовые системыЦветовые системы
Палитры и квантование цветовПалитры и квантование цветов– Кластеризация Кластеризация K-K-среднихсредних
ПсевдотонированиеПсевдотонирование– Метод диффузии ошибкиМетод диффузии ошибки
ФильтрацияФильтрация– СверткаСвертка– Простейшие фильтрыПростейшие фильтры
Интерполяция байеровских шаблоновИнтерполяция байеровских шаблонов Меры качества изображенийМеры качества изображений
Свет и цветСвет и цвет
Свет и его спектрСвет и его спектр380 – 470 нм – фиолетовый, синий380 – 470 нм – фиолетовый, синий
500 – 560 нм – зеленый500 – 560 нм – зеленый
560 – 590 нм – желтый, оранжевый560 – 590 нм – желтый, оранжевый
590 – 760 нм – красный590 – 760 нм – красный
Свет и цветСвет и цвет
Восприятие цветаВосприятие цвета
λ, нм(длина волны)
P
440 540 580
B
GR
(чувствительность колбочек глаза)
dPIR R )()(
dPIG G )()(
dPIB B )()(
λ
I (интенсивность)
I (λ)
Какой это цвет?
Свет и цветСвет и цвет
Цветовые системыЦветовые системы– RGB RGB и дисплеи, гамма-коррекцияи дисплеи, гамма-коррекция– Аддитивные (Аддитивные (RGB) RGB) и субтрактивные (и субтрактивные (CMYK) CMYK)
системысистемы
RGB CMY
Свет и цветСвет и цвет
Цветовые системыЦветовые системы– HSVHSV ( (Hue/Saturation/Value)Hue/Saturation/Value)
– Система Система YUV YUV и прореживание хроматических и прореживание хроматических компоненткомпонент
Свет и цветСвет и цвет
Система Система YUVYUV: разделение яркости и : разделение яркости и хроматических компонентхроматических компонент
Системы Системы CIE Lab, Luv, CIEDE2000 CIE Lab, Luv, CIEDE2000 и и равномерность восприятияравномерность восприятия
BGRY 114.0587.0299.0 BGRU 0.4360.289 --0.147
BGRV 0.100 -0.515 -0.615
Квантование цветаКвантование цвета
КвантованиеКвантование– Раньше: ограничение видеопамяти Раньше: ограничение видеопамяти → → ограничение ограничение
числа цветовчисла цветов → → программируемые палитрыпрограммируемые палитры– Теперь: уменьшение размера графических файлов, Теперь: уменьшение размера графических файлов,
другие нужды (для спецэффектов, повышение другие нужды (для спецэффектов, повышение резкости границ)резкости границ)
Палитры в видеоадаптерах и Палитры в видеоадаптерах и BMP-BMP-файлахфайлах
RGB 64 цвета 16 цветов
Квантование цветаКвантование цвета
ПалитризацияПалитризация– Равномерное Равномерное
квантованиеквантование
– По популярностиПо популярности
– Медианное сечение Медианное сечение цветового кубацветового куба
Гистограмма
Квантование цветаКвантование цвета
Метод кластеризации Метод кластеризации K-K-среднихсредних1.1. Выбрать начальное приближение палитры из Выбрать начальное приближение палитры из N N
различных цветовразличных цветов
2.2. Классифицировать все пиксели на Классифицировать все пиксели на N N кластеров кластеров по цветупо цвету
3.3. Найти средний цвет (центроиду) каждого Найти средний цвет (центроиду) каждого кластера и назначить их новыми цветами кластера и назначить их новыми цветами палитрыпалитры
4.4. Пока цвета обновляются – Пока цвета обновляются – goto 2goto 2
ПсевдотонированиеПсевдотонирование
Цель: уменьшить видимые артефакты Цель: уменьшить видимые артефакты палитризациипалитризации
RGB
16 ц
вето
в
Округление
Псевдотонирование
ПсевдотонированиеПсевдотонирование
1-й шаг – сведение к градациям серого1-й шаг – сведение к градациям серого
bluegreenredMono 11.059.03.0
ПсевдотонированиеПсевдотонирование
МетодыМетоды– ОкруглениеОкругление ]),[(],[ yxMonotruncateyxDst
ПсевдотонированиеПсевдотонирование
МетодыМетоды– Dithering Dithering (добавление шума)(добавление шума)
]),[],[(],[ yxNoiseyxSrctruncateyxDst
Белый шум – случайные числа с нулевым мат. ожиданием
ПсевдотонированиеПсевдотонирование
МетодыМетоды– Упорядоченное псевдотонированиеУпорядоченное псевдотонирование
1. Изображение разбивается на блоки2. В каждом блоке вычисляется
средняя интенсивность3. В зависимости от интенсивности
выбирается нужный шаблон4. Шаблон записывается в блок
Примеры шаблоновс разными степенями заполнения:
ПсевдотонированиеПсевдотонирование
МетодыМетоды– Диффузия ошибкиДиффузия ошибки
Идея алгоритма: ошибка, внесенная при квантовании текущего пикселя, распределяется между соседними (еще не квантованными) пикселями.Примеры видов распределения
ошибки:
e e
e 7e/16
5e/16 e/163e/16
Floyd-Steinberg
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; }
простейший
ФильтрыФильтры
Как работают фильтрыКак работают фильтры
010
121
010
6
1],[ pkKer
Коэффициенты фильтра,ядро свертки 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]; // и сложить
Подводные камни:• Выход за границы массива• Выход за пределы допустимого диапазона яркости пикселей• Обработка краев.
],[],[],[ pkKerjiSrcjiDst
pk
pkKerpjkiSrcjiDst,
],[],[],[
ФильтрыФильтры
Свойства фильтровСвойства фильтров1.1. Результат фильтрации однотонного Результат фильтрации однотонного
(константного) изображения – константное (константного) изображения – константное изображение. Его цвет равенизображение. Его цвет равен
2.2. Следствие: чтобы фильтр сохранял цвет Следствие: чтобы фильтр сохранял цвет однотонных областей, нужно чтобыоднотонных областей, нужно чтобы
3.3. Следствие: если сумма коэффициентов фильтра Следствие: если сумма коэффициентов фильтра равна нулю, то он переводит однотонные равна нулю, то он переводит однотонные области в нулевые.области в нулевые.
pk
pkKerSrcDest,
],[
1],[,
pk
pkKer
Примеры фильтровПримеры фильтров
РазмытиеРазмытие (blur) (blur)
Примеры фильтровПримеры фильтров
Повышение четкости (Повышение четкости (sharpen)sharpen)
Примеры фильтровПримеры фильтров
Нахождение границ (Нахождение границ (edges)edges)
Примеры фильтровПримеры фильтров
Тиснение (Тиснение (embossing)embossing)
Примеры фильтровПримеры фильтров
Простейшее размытиеПростейшее размытие
Константное размытиеКонстантное размытие
(любой размер фильтра)(любой размер фильтра)
Гауссово размытиеГауссово размытие
(любой размер фильтра)(любой размер фильтра)
121
232
121
15
1],[ pkKer
2
22
2exp
1],[
pk
SumpkKer
SumpkKer
1],[
Примеры фильтровПримеры фильтров
Повышение резкостиПовышение резкости
Нахождение границНахождение границ
ТиснениеТиснение
121
2222
121
10
1
010
141
010
+ модуль, нормировка, применение порога…
010
101
010
+ сдвиг яркости,
нормировка…
ФильтрыФильтры
Некоторые свойства сверткиНекоторые свойства свертки
1.1. ЛинейностьЛинейность
2.2. Инвариантность к сдвигуИнвариантность к сдвигу
)()( HXconstHXconst
Пусть X и Y – изображения, H – ядро свертки
)()()( HYHXHYX
],)[(],[( 0000 jjiiHXHjjiiX
ФильтрыФильтры
Сепарабельные (разделимые) фильтрыСепарабельные (разделимые) фильтры
)()(],[ pGkFpkKer
Гауссиан – сепарабельный фильтр, т.к.
2
2
2
2
2exp
2exp
1],[
pk
SumpkGauss
Если фильтр сепарабельный, то фильтрацию можно производить быстрее:
1. Отфильтровать все столбцы одномерным фильтром F(k)
2. Отфильтровать все строки одномерным фильтром G(p)
ФильтрыФильтры
Unsharp MaskUnsharp Mask– Параметры: радиус, сила эффекта, порог Параметры: радиус, сила эффекта, порог
срабатываниясрабатывания– Идея: вычесть из изображения его размытую Идея: вычесть из изображения его размытую
копию, скомпенсировав уменьшение яркостикопию, скомпенсировав уменьшение яркости
– Переменная сила эффекта Переменная сила эффекта αα помогает избежать помогает избежать усиления шума. Обычно усиления шума. Обычно αα уменьшают при малых уменьшают при малых значениях разности значениях разности X – GX X – GX ((меньше порога меньше порога срабатывания)срабатывания)
],[],[)1(],[ jiGXjiXjiR
α контролирует силу эффекта,GX – размытая копия изображения (фильтр Гаусса)
ФильтрыФильтры
Медианный фильтрМедианный фильтр– Каждый пиксель принимает значение, Каждый пиксель принимает значение,
являющееся медианой значений пикселей в являющееся медианой значений пикселей в окрестностиокрестности
– Медиана – средний элемент в отсортированном Медиана – средний элемент в отсортированном массивемассиве
– Позволяет подавить шум (особенно, единичные Позволяет подавить шум (особенно, единичные «выпадающие» пиксели), не размывая границ«выпадающие» пиксели), не размывая границ
– Медианный фильтр нелинейный Медианный фильтр нелинейный (как доказать?)(как доказать?)
ФильтрыФильтры
Понятие о частотах в изображении и звукеПонятие о частотах в изображении и звуке– Частоты и гармонические колебания (звук)Частоты и гармонические колебания (звук)– Частоты и детали (изображение)Частоты и детали (изображение)– Постоянная составляющаяПостоянная составляющая– Действие фильтровДействие фильтров
Фильтр размытия – НЧ-фильтрФильтр размытия – НЧ-фильтр Фильтр повышения четкости – ВЧ-фильтрФильтр повышения четкости – ВЧ-фильтр Фильтр нахождения границ – ВЧ-фильтрФильтр нахождения границ – ВЧ-фильтр Фильтры и обработка звукаФильтры и обработка звука
Байеровские шаблоныБайеровские шаблоны
Постановка задачиПостановка задачи demosaicking demosaicking
фотосенсоры цифровой камерыбайеровский шаблон (мозаика)
камера demosaicking
Байеровские шаблоныБайеровские шаблоны
Простейшие подходыПростейшие подходыБилинейная интерполяцияБилинейная интерполяция
86425 4
1GGGGG
мозаика билинейнаяинтерполяция
сложныйалгоритм
Взвешенная интерполяцияВзвешенная интерполяция
Интерполяция зеленогоИнтерполяция зеленого– Адаптивность к краямАдаптивность к краям
исходноеизображение
зеленый цветв мозаике
билинейнаяинтерполяция
Kimmel
8642
886644225 EEEE
GEGEGEGEG
Метрики качестваМетрики качества
Как измерить похожесть двух Как измерить похожесть двух изображений?изображений?
исходноеизображение
результатdemosaicking
Метрики качестваМетрики качества
Среднеквадратичная ошибка Среднеквадратичная ошибка (MSE)(MSE)
Пиковое отношение сигналПиковое отношение сигнал//шум (шум (PSNR)PSNR)
N
iii yx
NMSE
1
2)(1
MSE
MPSNRdB
2
lg10
N – число пикселей
M – максимальноезначение пикселя
Метрики качестваМетрики качества
PSNR PSNR и и MSE MSE не учитывают особенности не учитывают особенности человеческого восприятия!человеческого восприятия!
Оригинал
Далее будут использованы рисунки из статьиWang, Bovik, Lu “WHY IS IMAGE QUALITY ASSESMENT SO DIFFICULT?”
Метрики качестваМетрики качества
У этих изображений одинаковые У этих изображений одинаковые PSNR PSNR с с оригиналом (примерно 25 оригиналом (примерно 25 dB)dB)
Повышена контрастность Добавлен белый гауссов шум
Метрики качестваМетрики качества
И у этих – тоже примерно 25 И у этих – тоже примерно 25 dBdB!!
Добавлен импульсный шум Размытие
Метрики качестваМетрики качества
И у этого – тоже!И у этого – тоже!
Артефакт блочности после JPEG
Метрики качестваМетрики качества
Вывод: Вывод: PSNR PSNR не всегда отражает реальный не всегда отражает реальный видимый уровень искажений.видимый уровень искажений.
Как улучшить?Как улучшить?– Использовать функцию Использовать функцию
чувствительности глаза к различным чувствительности глаза к различным частотамчастотам (CSF) (CSF)
– Использовать свойство маскировкиИспользовать свойство маскировки– Использовать равномерные к Использовать равномерные к
восприятию цветовые пространства (восприятию цветовые пространства (CIE CIE Lab, CIEDE2000)Lab, CIEDE2000)
HVS models(human visual system)
Метрики качестваМетрики качества
Contrast sensitivity function (CSF)Contrast sensitivity function (CSF)– Показывает чувствительность глаза к различным Показывает чувствительность глаза к различным
частотамчастотам
Абсцисса – пространственная частота(колебаний / градус угла обзора)