Обработка изображений Компьютерная графика Computer graphics Компьютерное (машинное) зрение Computer (machine) vision Обработка изображений Image processing.

Презентация:



Advertisements
Похожие презентации
Обработка изображений Компьютерная графика Computer graphics Компьютерное (машинное) зрение Computer (machine) vision Обработка изображений Image processing.
Advertisements

Обработка растровых изображений В лекции использованы различные материалы лаборатории Компьютерной Графики МГУ.
Компьютерная графика. Лекция 3 Цифровая обработка изображений как сигналов.
Морфологическая обработка изображений. Место морфологической обработки Объект Изображение Обработка Результат Анализ Мат. морфология Морфологическая обработка.
Обработка изображений Компьютерная графика Computer graphics Компьютерное (машинное) зрение Computer (machine) vision Обработка изображений Image processing.
Введение в OpenCV МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Государственное образовательное учреждение высшего профессионального образования.
12 марта 2002 г. (с) 2001Graphics & Media Lab Лекция 5 Обработка и анализ изображений В.Вежневец.
Основы визуального восприятия Лектор:Лукин Алексей Сергеевич.
Фильтрация Лекция 4 Математическая морфология. 5 марта 2002Компьютерная графика Лекция 42 БИНАРИЗАЦИЯ ИЗОБРАЖЕНИЯ 1.
Компьютерное зрение Астана. Лекция 5. На прошлой лекции Цифровая обработка сигналов Сигналы и системы Свертка Преобразование Фурье –Спектр, высокие и.
Лекция 4 Цвет, квантование, фильтрация, шумоподавление Алексей Лукин
Компьютерное зрение Лекция 4 Математическая морфология.
Обработка изображений. Общая информация Страница курса Этот курс подготовлен и читается при поддержке.
Обработка сигналов и Обработка изображений Антон Переберин Курс «Компьютерная графика» Лекция 3.
Тема исследование: Распознавание букв на изображении Группа: 10510/1 Киселев Павел.
Тоновая и цветовая коррекция. Коррекция Обработка изображения без потери информации Человек воспринимает в основном относительную разницу яркостей частей.
1 2 Основная задача – создание и обработка изображений Применение: Обработка фотографий и рисунков Создания иллюстраций, используемых в работе различных.
Учитель информатики ООШ 17 Лагута С.Н. г. Кременчуг, 2010 г.
20 феврвля 2003Компьютерная графика Лекция 3 Астана 1 Цифровая обработка сигналов Лекция 3 Астана, 20 февраля 2003 Исползуются материалы из лекции А. Ван.
Тузиков А.В. Математическая морфология, моменты, стереообработка: избранные вопросы обработки и анализа цифровых изображений / Тузиков А.В., Шейнин С.А.,
Транксрипт:

Обработка изображений Компьютерная графика Computer graphics Компьютерное (машинное) зрение Computer (machine) vision Обработка изображений Image processing Антон Конушин

Цель лекции Рассказать о нескольких способах обработки изображений, которые могут пригодиться в «реальной жизни» Зачем обрабатывать? 1.Улучшение изображения для восприятия человеком цель – чтобы стало «лучше» с субъективной точки зрения человека 2.Улучшение изображения для восприятия компьютером цель – упрощение последующего распознавания 3.Развлечение (спецэффекты) цель – получить эстетическое удовольствие от красивого эффекта

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении Спецэффекты

Изображение Изображение оптическое – картина, получаемая в результате прохождения через оптическую систему лучей, распространяющихся от объекта, и воспроизводящая его контуры и детали. Физический энциклопедический словарь. Компьютерное представление изображения: Функция интенсивности (яркости) канала Используется дискретное представление

Обработка изображений Семейство методов и задач, где входной и выходной информацией являются изображения. Примеры : Устранение шума в изображениях Улучшение качества изображения Усиления полезной и подавления нежелательной (в контексте конкретной задачи) информации

Как получается цифровое изображение? Свет, падая на светочувствительный элемент преобразуется в электрические сигналы Сигналы оцифровываются, превращаются в массив чисел x – характеристика яркости света y – яркость пиксела изображения

Почему оно может получиться плохо? Ограниченный диапазона чувствительности датчика «Плохой» функции передачи датчика

«Улучшение» изображения Изменение контраста изображения Компенсация: Ограниченного диапазона яркостей датчика Плохой функции передачи датчика x – характеристика яркости света y – яркость пиксела изображения

Что такое гистограмма? Гистограмма – это график распределения тонов на изображении. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости

Изменение контраста изображения Что может не устраивать в полученном изображении: Узкий или смещенный диапазон яркостей пикселей (тусклое или «пересвеченное» изображение) Концентрация яркостей вокруг определенных значений, неравномерное заполнение диапазона яркостей (узкий диапазон - тусклое изображение) Коррекция - к каждому пикселю применяется преобразование яркостей, компенсирующий нежелательный эффект: y – яркость пиксела на исходном изображении, x – яркость пиксела после коррекции.

Линейная коррекция Компенсация узкого диапазона яркостей – линейное растяжение: График функции f -1 (y)

Линейная коррекция Компенсация узкого диапазона яркостей – линейное растяжение:

Линейная коррекция Линейное растяжение – «как AutoContrast в Photoshop»

Линейная коррекция Линейная коррекция помогает не всегда!

Нелинейная коррекция График функции f -1 (y)

Нелинейная коррекция Часто применяемые функции: Гамма-коррекция Изначальная цель – коррекция для правильного отображения на мониторе. Логарифмическая Цель – сжатие динамического диапазона при визуализации данных

Гамма-коррекция Изначальная цель – коррекция для правильного отображения на мониторе. Так называют преобразование вида: Графики функции f -1 (y)

Нелинейная коррекция График функции f -1 (y)

Сравнение линейной и нелинейной коррекции

Компенсация разности освещения Пример

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении Спецэффекты

Цветовая коррекция изображений Изменение цветового баланса Компенсация: Неверного цветовосприятия камеры Цветного освещения

«Серый мир» Предположение: Сумма всех цветов на изображении естественной сцены дает серый цвет; Метод: Посчитать средние яркости по всем каналам: Масштабировать яркости пикселей по следующим коэффициентам:

«Серый мир» - примеры

«Идеальный отражатель» Предположение: Наиболее яркие области изображения относятся к бликам на поверхностях, модель отражения которых такова, что цвет блика = цвету освещения; (дихроматическая модель) Метод Обнаружить максимумы по каждому из каналов: Масштабировать яркости пикселов:

Цветовая коррекция изображений Растяжение контрастности (autolevels) Идея – растянуть интенсивности по каждому из каналов на весь диапазон; Метод: Найти минимум, максимум по каждому из каналов: Преобразовать интенсивности:

Растяжение контрастности всех каналов (autolevels)

Растяжение контрастности (autolevels)

Коррекция с опорным цветом Предположение Пользователь указывает цвет вручную; Источник: Априорные знания – «облака – белые» Хорошая фотография этой же сцены Метод Преобразовать по каждому из каналов цвета по формуле:

Коррекция с опорным цветом Примеры:

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении

Борьба с шумом изображения Подавление и устранение шума Причины возникновения шума: Несовершенство измерительных приборов Хранение и передача изображений с потерей данных Шум фотоаппарата Сильное сжатие JPEG

Шум в бинарных изображениях Пример бинарного изображению с сильным шумом

Шум в бинарных изображениях По одному пикселю невозможно определить – шум или объект? Нужно рассматривать окрестность пикселя!

Подавление и устранение шума Устранение шума в бинарных изображениях Бинарное изображение – изображение, пиксели которого принимают всего два значения (0 и 1). Широко известный способ - устранение шума с помощью операций математической морфологии: Сужение (erosion) Расширение (dilation) Закрытие (closing) Раскрытие (opening)

Математическая морфология A B Множество A обычно является объектом обработки, а множество B (называемое структурным элементом) – инструментом.

Расширение в дискретном случае A BA(+)B Операция «расширение» - аналог логического «или»

Операции математической морфологии Расширение A (+) B = {t R 2 : t = a + b, a A, b B} B A (+) B

Операции математической морфологии Сужение A (-) B = (A C (+) B) С, где A C – дополнение A A(-)B B A

Свойства морфологических операций Коммутативный закон A (+) B = B (+) A A (-) B B (-) A Ассоциативный закон A (+) (B (+) C) = (A (+) B) (+) C A (-) (B (-) C) = (A (-) B) (-) C

Алгоритм морфологического расширения void Dilation(BIT* src[], bool* mask[], BIT* dst[]) { // W, H – размеры исходного и результирующего изображений // MW, MH – размеры структурного множества for(y = MH/2; y < H – MH/2; y++) { for(x = MW/2; x < W – MW/2; x++) { BIT max = 0; for(j = -MH/2; j

Алгоритм морфологического сужения void Erosion(BIT* src[], bool* mask[], BIT* dst[]) { // W, H – размеры исходного и результирующего изображений // MW, MH – размеры структурного множества for(y = MH/2; y < H – MH/2; y++) { for(x = MW/2; x < W – MW/2; x++) { BIT min = MAXBIT; for(j = -MH/2; j

Операции раскрытия и закрытия Морфологическое раскрытие (opening) open(A, B) = (A (-) B) (+) B Морфологическое закрытие (closing) close(A, B) = (A (+) B) (-) B Образовательные материалы по мат. морфологии доступны по адресу:

Важное замечание Результат морфологических операций во многом определяется применяемым структурным элементом. Выбирая различный структурный элемент можно решать разные задачи обработки изображений: Шумоподавление Выделение границ объекта Выделение скелета объекта Выделение сломанных зубьев на изображении шестерни

Применения сужения к бинарному изображению с сильным шумом

Применения открытия к бинарному изображению с сильным шумом

Сужение vs Открытие СужениеОткрытие

Устранение шума в бинарных изображениях Пример бинарного изображению с дефектами распознаваемых объектов

Применения закрытия к бинарному изображению с дефектами объектов

Не лучший пример для морфологии Не во всех случаях математическая морфология так легко убирает дефекты, как хотелось бы…

Применения операции открытия

Подавление и устранение шума Устранение шума в полутоновых и цветных изображениях Усреднение (box filter) Фильтр Гаусса (gaussian blurring) Медианный фильтр Адаптивные фильтры

Операция «свертка» (convolution) Свертка двумерной функции f по функции g в непрерывном и дискретном случае. Часто, свертка изображения по какой-либо функции называется применением фильтра к изображению. g(l,k) – ядро (kernel) свертки или фильтра размером (n1-n0)x(m1-m0)

Применение фильтров g(l,k)

Свертка // Обнулить изображение Dest[i][j]... // Выполнить свертку for (i=0; i

Свойства фильтров 1.Результат фильтрации однотонного (константного) изображения – константное изображение. Его цвет равен 2.Следствие: чтобы фильтр сохранял цвет однотонных областей, нужно чтобы 3.Следствие: если сумма коэффициентов фильтра равна нулю, то он переводит однотонные области в нулевые.

Устранение шума в полутоновых и цветных изображениях Пример: изображение с равномерным шумом. Err(i,j) – нормально распределенная случайная величина.

Усреднение (box filter) Операция усреднения значения каждого пикселя – cвертка по константной функции: Результат применения:

Фильтр Гаусса (gaussian blurring) Свертка по функции: Параметр задает степень размытия. На графике функция с.

Маленькая экскурсия к Фурье + Низкие частоты Высокие частоты

Фильтр Гаусса (gaussian blurring) Результаты свертки по функции Гаусса и по константной функции (усреднения). Исходное изображение Фильтр Гаусса с Sigma = 4 Усреднение по 49 пикселям (7x7) Важное свойство фильтра Гаусса – он по сути является низкочастотным фильтром.

Подавление и устранение шума Устранение шума в полутоновых, цветных и бинарных изображениях с помощью медианного фильтра - выбор медианы среди значений яркости пикселей в некоторой окрестности. Определение медианы: Медианный фильтр радиусом r – выбор медианы среди пикселей в окрестности [-r,r].

Медианный фильтр Результат применения медианного фильтра с радиусом 5 пикселей. Результат применения медианного фильтра с радиусом в 7 пикселей к изображению с шумом и артефактами в виде тонких светлых окружностей.

Очистка изображения с помощью медианного фильтра Фильтр с окрестностью 3x3

Быстрая реализация медианного фильтра Медианный фильтр считается дольше, чем операция свертки, поскольку требует частичной сортировки массива яркостей окрестных пикселей. Возможности ускорения: Использовать алгоритмы быстрой сортировки Конкретная реализация для каждого радиуса (3x3, 5x5) Не использовать сортировку вообще – считать через гистограмму окрестности точки

Адаптивные фильтры Чего бы хотелось? Размывать шум, резкие границы – сохранять. Как бы этого добиться? Предположение: перепады яркости из-за шума относительно перепадов на резких границах невелики Алгоритм: При расчете новой яркости усреднять только по тем пикселям из окрестности, которые не сильно отличаются по яркости от обрабатываемого

Адаптивный фильтр - пример for (each pixel of the current video frame) { GetRGB (source_pixel, r, g, b); tot_red = tot_green = tot_blue = 0; count_red = count_green = count_blue = 0; for (each pixel in the specified radius) { GetRGB (neighbour_pixel, r1, g1, b1); if (abs(r1-r) < Threshold) {tot_red += r1; count_red ++;} if (abs(g1-g) < Threshold) {tot_green += g1; count_green ++;} if (abs(b1-b) < Threshold) {tot_blue += b1; count_blue ++;} } destination_pixel = RGB (tot_red / count_red, tot_green / count_green, tot_blue / count_blue ); }

Адаптивные фильтры Примеры таких фильтров:

«Продвинутые» фильтры

В чем отличие разных фильтров? Box filer (простое размытие) – помимо подавления шума портит резкие границы и размывает мелкие детали изображения Gaussian filter – меньше размывает мелкие детали, лучше убирает шум Median filter – резких границ не портит, убирает мелкие детали, изображение становится менее естественным Адаптивные фильтры – меньше портят детали, зависят от большего числа параметров. Иногда изображение становится менее естественным. «Продвинутые» фильтры – лучшее сохранение деталей, меньше размытие. Часто сложны в реализации и очень медленные. Что лучше? – зависит от конкретной задачи

Повышение резкости Ядро свертки

Как бороться с шумом аппаратуры? Предположим, камера, которой производится съемка заметно «шумит». Обычно шум измерительной аппаратуры моделируется как случайная нормально распределенная случайная величина с нулевым средним - Err(i,j) ;

Примеры шумоподавления Зашумленные изображенияУсреднение по 10 изображениям Так работают камеры в некоторых сотовых телефонах

Примеры шумоподавления Исходное изображение Испорченное изображение

Примеры шумоподавления Усреднение по 9 пикселям (3x3) Медианный фильтр (3x3)

Компенсация разности освещения Пример

Компенсация разности освещения Идея: Формирование изображения: Плавные изменения яркости относятся к освещению, резкие - к объектам. объектосвещение Изображение освещенного объекта

Выравнивание освещения Алгоритм Получить приближенное изображение освещения путем низочастотной фильтрации Восстановить изображение по формуле

Выравнивание освещения Пример

Компенсация разности освещения Пример /= Gauss 14.7 пикселей

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении Спецэффекты

Метрики качества Как измерить похожесть двух изображений? исходное изображение искаженное изображение

Метрики качества Среднеквадратичная ошибка (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)

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении Спецэффекты

Подчеркивание контуров объекта Рассмотрим подчеркивание краев (границ) Край(edge) – резкое изменение яркости на изображении, часто соответствует границам объектов на изображении.

Операция оконтуривания объекта При работе с бинарными изображениями контуры объекта можно получить с помощью операций математической морфологии Внутреннее оконтуривание C I = A – (A (-) B) Внешнее оконтуривание C O = (A (+) B) – A

Пример оконтуривания объекта

Подчеркивание краев Нас интересуют области резкого изменения яркости – нахождение таких областей можно организовать на основе анализа первой и второй производной изображения. График функции График производной График 2ой производной

Подчеркивание краев Известно, что наибольшее изменение функции происходит в направлении ее градиента. Величина изменения измеряется абсолютной величиной градиента. Часто используется приближенное вычисление градиента:

Подчеркивание краев Математический смысл – приближенное вычисление производных по направлению. Робертса ПревиттСобеля Семейство методов основано на приближенном вычисление градиента, анализе его направления и абсолютной величины. Свертка по функциям:

Подчеркивание краев Примеры применения операторов подчеркивания краев: Робертса Превитт Собеля

План лекции Введение Коррекция контрастности/яркости изображения Коррекция цветового баланса изображения Подавление шума в изображениях Метрики качества Подчеркивание резких границ (краев) на изображении Спецэффекты

Рассмотрим Тиснение Негатив «Светящиеся» края Геометрические эффекты Перенос/поворот Искажение «Эффект стекла»

Тиснение Фильтр + сдвиг яркости, нормировка…

Цифровой негатив

Светящиеся края Медианный фильтра + выделение краев + фильтр «максимума»

Перенос/поворот Перенос: x(k; l) = k + 50; y(k; l) = l; Поворот: x(k; l) = (k. x0)cos(µ) + (l. y0)sin(µ) + x0; y(k; l) =.(k. x0)sin(µ) + (l. y0)cos(µ) + y0; x0 = y0 = (центр поворота), µ = /6

«Волны» Волны 1: x(k; l) = k + 20sin(2 l / 128); y(k; l) = l; Волны 2: x(k; l) = k + 20sin(2 k / 30); y(k; l) = l;

«Эффект стекла» x(k; l) = k + (rand(1, 1) – 0.5) * 10; y(k; l) = l + (rand(1, 1) – 0.5) * 10;