Лекция 4 . Цвет, квантование, фильтрация.

Post on 10-Jan-2016

94 views 0 download

description

Лекция 4 . Цвет, квантование, фильтрация. Алексей Лукин lukin@ixbt.com. План лекции. Свет и цвет Восприятие цвета Цветовые системы Палитры и квантование цветов Кластеризация K- средних Псевдотонирование Метод диффузии ошибки Фильтрация Свертка Простейшие фильтры - PowerPoint PPT Presentation

Transcript of Лекция 4 . Цвет, квантование, фильтрация.

Лекция Лекция 44..Цвет, квантование, Цвет, квантование, фильтрация.фильтрация.

Алексей Лукинlukin@ixbt.com

План лекцииПлан лекции

Свет и цветСвет и цвет– Восприятие цветаВосприятие цвета– Цветовые системыЦветовые системы

Палитры и квантование цветовПалитры и квантование цветов– Кластеризация Кластеризация 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)– Показывает чувствительность глаза к различным Показывает чувствительность глаза к различным

частотамчастотам

Абсцисса – пространственная частота(колебаний / градус угла обзора)