Обработка изображений
Общая информацияЭтот курс подготовлени читается при поддержкеСтраница курсаhttp://courses.graphicon.ru/main/vision
На предыдущей лекцииMLSКамера-обскура
Фотоаппарат, глаз
Цвет
Психологическое свойство человека
Свет описывается спектром
Сетчатка глаза
Колбочки 3х видов
Трихроматическая теория
3 канала для пиксель
Адаптация зрения
Цветовой баланс, «баланс белого»
Серые карточки, «серый мир»Power        Wavelength
Обработка изображенийСемейство методов и задач, где входной и выходной информацией являются изображения. Примеры :Устранение шума в изображенияхУлучшение качества изображения Усиления полезной и подавления нежелательной (в контексте конкретной задачи) информации
Обработка изображенийЗачем обрабатывать? Улучшение изображения для восприятия человекомцель – чтобы стало «лучше» с субъективной точки зрения человекаУлучшение изображения для восприятия компьютеромцель – упрощение последующего распознавания Развлечение (спецэффекты)цель – получить эстетическое удовольствие от красивого эффектаЦифровое изображениеВспоминаем процесс получения цифрового изображения…
Почему оно может получиться плохо?Ограниченный диапазона чувствительности датчика“Плохой” функции передачи датчика
Что такое гистограмма? Гистограмма – это график распределения яркостей на изображении. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости.02550255
Изменение контраста изображения Что может не устраивать в полученном изображении: Узкий или смещенный диапазон яркостей пикселей (тусклое или «пересвеченое» изображение)
 Концентрация яркостей вокруг определенных значений, неравномерное заполнение диапазона яркостей(узкий диапазон - тусклое изображение)Коррекция - к изображению применяется преобразование яркостей, компенсирующий нежелательный эффект:y – яркость пикселя на исходном изображении, x – яркость пикселя после коррекции.
Линейная коррекцияКомпенсация узкого диапазона яркостей – линейное растяжение: График функции f -1(y)
Линейная коррекцияКомпенсация узкого диапазона яркостей – линейное растяжение:
Линейная коррекцияЛинейное растяжение – «как AutoContrast в Photoshop»
Линейная коррекцияЛинейная коррекция помогает не всегда!
Нелинейная коррекцияxyГрафик функции f -1(y)
Нелинейная коррекцияНелинейнаякомпенсация недостаточной контрастностиЧасто применяемые функции:Гамма-коррекция
 Изначальная цель – коррекция для правильного отображения на мониторе.
 Логарифмическая
 Цель – сжатие динамического диапазона при визуализацииданных Гамма-коррекцияГрафики функции f -1(y)
Нелинейная коррекцияГрафик функции f -1(y)
Цветовая коррекцияИзменение цветового баланса Компенсация:Неверного цветовосприятия камерыЦветного освещенияРяд алгоритмов рассмотрели на предыдущей лекции
Цветовая коррекция изображенийРастяжение контрастности (“autolevels”)Идея – растянуть интенсивности по каждому из каналов на весь диапазон;Метод:Найти минимум, максимум по каждому из каналов:Преобразовать интенсивности:
Растяжение контрастности
Растяжение контрастности
ШумоподавлениеПричины возникновения шума:Несовершенство измерительных приборовХранение и передача изображений с потерей данныхСильное сжатие JPEGШум фотоаппарата
Цель: подавление шумаПусть дана камера и статичная сцена, требуется подавить шум.Простейший вариант: усреднить несколько кадровSource: S. Seitz
Заменим каждый пиксель взвешенным средним по окрестностиВеса обозначаются как ядро фильтраВеса для усреднения задаются так:Усреднение111111111“box filter”Source: D. Lowe
Определение сверткиfПусть f – изображение, g -ядро. Свертка изображения f с помощьюgобозначается как f * g.Соглашение: ядро  “перевернуто”
   MATLAB: conv2 vs. filter2 (also imfilter)Source: F. Durand
Основные свойстваЛинейность: filter(f1 + f2 ) = filter(f1) + filter(f2)Инвариантность к сдвигу:не зависит от сдвига пиксела: filter(shift(f)) = shift(filter(f))Теория: любой линейный оператор, инвариантный к сдвигу, может быть записан в виде сверткиSlide by S. Lazebnik
СвойстваКоммутативность: a * b = b * aНет никакой разницы между изображением и ядром фильтраАссоциативность: a * (b * c) = (a * b) * cПоследовательное применение фильтров:  (((a * b1) * b2) * b3)Эквивалентно применению такого фильтра: a * (b1 * b2 * b3)Дистрибутивность по сложению: a * (b + c) = (a * b) + (a * c)Домножение на скаляр можно вынести за скобки: ka * b = a * kb = k (a * b)Единица:  e = […, 0, 0, 1, 0, 0, …],a * e = aSlide by S. Lazebnik
Детали реализацииРазмер результирующего изображения?MATLAB: filter2(g, f, shape)shape = ‘full’: output size is sum of sizes of f and gshape = ‘same’: output size is same as fshape = ‘valid’: output size is difference of sizes of f and g fullsamevalidggggfffggggggggSlide by S. Lazebnik
Детали реализацииКак происходит фильтрация по краям?Окно фильтра выходит за границы изображенияНеобходимо экстраполировать изображениеВарианты:clip filter (black)wrap aroundcopy edgereflect across edgeSource: S. Marschner
Простейшие фильтры000010000?OriginalSource: D. Lowe
Простейшие фильтры000010000OriginalFiltered (no change)Source: D. Lowe
Простейшие фильтры000100000?OriginalSource: D. Lowe
Простейшие фильтры000100000OriginalShifted leftBy 1 pixelSource: D. Lowe
Простейшие фильтры111111111?OriginalSource: D. Lowe
Простейшие фильтры111111111OriginalBlur (with abox filter)Source: D. Lowe
Сглаживание с box-фильтромРезультат сглаживание с помощью усреднения отличается от разфокусированного изображенияТочка света, наблюдаемая с расфокусированного объектива, выглядит как кружок света, а усреднение дает квадратикSource: D. Forsyth
СглаживаниеТочка света, наблюдаемая с расфокусированного объектива, выглядит как кружок света, а усреднение дает квадратикДругой способ: взвешивает вклад пикселей по окрестности с учетом близости к центру:“fuzzy blob”Slide by S. Lazebnik
Point Spread Function (PSF)Point spread function (PSF) – отклик оптической системы на точечный источник света (объект)
Ядро фильтра гаусса0.003   0.013   0.022   0.013   0.0030.013   0.059   0.097   0.059   0.0130.022   0.097   0.159   0.097   0.0220.013   0.059   0.097   0.059   0.0130.003   0.013   0.022   0.013   0.0035 x 5,  = 1Source: C. Rasmussen
Выбор размера ядраРазмер ядра дискретного фильтра ограниченSource: K. Grauman
Выбор размера ядраЭмпирика: полуразмер фильтра равен 3σSlide by S. Lazebnik
Сглаживание фильтром гаусса
СравнениеSlide by S. Lazebnik
Свойства фильтра ГауссаСвертка с сами собой дает тоже фильтр гауссаСглаживание несколько раз фильтром с маленьким ядром дает результат, аналогичный свертке с большим ядромСвертка 2 раза с фильтром радиуса σдает тот же результат, что с фильтром радиусаσ√2 Source: K. Grauman
Маленькая экскурсия к Фурье+Низкие частотыВысокие частоты
Фильтр Гаусса (gaussian blurring)Результат свертки фильтром гаусса и усредненияИсходное изображениеФильтр Гаусса с Sigma = 4Усреднение по 49 пикселям (7x7)Важное свойство фильтра Гаусса – он по сути является  фильтром низких частот.
СепарабельностьСепарабельное ядроРаскладывается в произведение двух одномерных фильтром гауссаSource: D. Lowe
Пример*==*2D сверткаФильтр раскладываетсяв произведение двух 1Dфильтров:Свертка по строкам:Затем свертка по столбцу:Source: K. Grauman
СепарабельностьПочему сепарабельность полезна на практике?Slide by S. Lazebnik
Виды шумаСоль и перец: случайные черные и белые пикселиИмпульсный: случайные белые пикселиГауссов: колебания яркости, распределенные по нормальному законуSource: S. Seitz
Гауссов шумМат.модель: сумма множества независимых факторовПодходит при маленьких дисперсияхПредположения: независимость, нулевое матожиданиеSource: M. Hebert
Сглаживание фильтрами большого радиуса подавляет шум, но размывает изображениеПодавление гауссова шумаSlide by S. Lazebnik
Подавление шума «соль и перец»3x35x57x7Чем результат плох?Slide by S. Lazebnik
Медианный фильтрВыбор медианы из выборки пикселей по окрестности данногоЯвляется ли фильтр линейным?Source: K. Grauman
Медианный фильтрВ чем преимущество медианного фильтра перед фильтром гаусса?Устойчивость к выбросам (outliers)Source: K. Grauman
Медианный фильтрMedian filteredSalt-and-pepper noiseMATLAB: medfilt2(image, [h w])Source: M. Hebert
Медианный фильтрРезультат применения медианного фильтра с радиусом в 7 пикселей к изображению с шумом и артефактами в виде тонких светлых окружностей.
Сравнение фильтров3x35x57x7ГауссовМедианныйSlide by S. Lazebnik
=detailsmoothed (5x5)originalДобавим дополнительно высокие частоты:=+ αsharpenedoriginaldetailПовышение резкостиЧто теряется при сглаживании?–Slide by S. Lazebnik
Фильтр UnsharpЕдиничный фильтрГауссовЛапласиан гауссианаизображениеЕдиничный Фильтрсглаженное изображениеSlide by S. Lazebnik
ПримерЯдро свертки
Компенсация разности освещенияПример
Компенсация разности освещенияИдея:Формирование изображения:Плавные изменения яркости относятся к освещению, резкие - к объектам.Изображение освещенного объектаобъектосвещение
Выравнивание освещенияАлгоритм Single scale retinex (SSR)Получить приближенное изображение освещения путем низочастотной фильтрацииВосстановить изображение по формуле
Обрезание по порогу
Выравнивание освещенияПример
Компенсация разности освещенияПример/=Gauss 14.7 пикселей
Многомасштабный вариантЧаще всего выбирают 3 масштабаВеса одинаковые (1/3)
Multi-scale retinexSource by Z.Rahman et.al.
Метрики качестваКак измерить похожесть двух изображений?

CV2011 Lecture 2. Image processing