Методы и средства обработки изображений. (Лекция 3)

Содержание

Слайд 2

Сегментация изображений Лекция 3 Many slides adapted from Fei-Fei Li, Rob

Сегментация изображений

Лекция 3

Many slides adapted from Fei-Fei Li, Rob Fergus, Antonio

Torralba, Jean Ponce and Svetlana Lazebnikб Anton Konushin
Слайд 3

Из чего состоит изображение?

Из чего состоит изображение?

Слайд 4

Из «кусков» - отдельных объектов

Из «кусков» - отдельных объектов

Слайд 5

Сегментация Сегментация - это способ разделения сцены на «куски», с которыми

Сегментация

Сегментация - это способ разделения сцены на «куски», с которыми

проще работать
Тесселяция - разбиение изображения на неперекрывающиеся области, покрывающие все изображение и однородные по некоторым признакам
Можно и по другому сегментировать изображение
Пересекающиеся области
Иерархическое представление
Слайд 6

Результат сегментации Как мы будем записывать результат сегментации? Сделаем карту разметки

Результат сегментации

Как мы будем записывать результат сегментации?
Сделаем карту разметки

– изображение, в каждом пикселе которого номер сегмента, которому принадлежит этот пиксель
Визуализировать удобно каждый сегмент своим цветом
Слайд 7

Простейшая сегментация Чем отличаются объекты на этом изображении? Все объекты яркие,

Простейшая сегментация

Чем отличаются объекты на этом изображении?

Все объекты яркие, фон

тёмный
Для сегментации такого изображения нам достаточно:
пороговая бинаризация
обработки шума
выделения связанных компонент
Слайд 8

Пороговая бинаризация

Пороговая бинаризация

Слайд 9

Пороговая бинаризация Пороговая фильтрация (thresholding) Пиксели, которых выше/ниже некоторого порога, заданного

Пороговая бинаризация

Пороговая фильтрация (thresholding)
Пиксели, которых выше/ниже некоторого порога, заданного «извне»,

помечаются 1
Ниже порога помечаются 0
Бинарное изображение – пиксели которого могут принимать только значения 0 и 1
Бинаризация - построение бинарного изображения по полутоновому / цветному
Слайд 10

Пороговая бинаризация

Пороговая бинаризация

Слайд 11

Пороговая фильтрация Более интересный способ – определение порога автоматически, по характеристикам изображения Анализ гистограммы

Пороговая фильтрация

Более интересный способ – определение порога автоматически, по характеристикам

изображения
Анализ гистограммы
Слайд 12

Анализ гистограммы Анализ симметричного пика гистограммы Применяется когда фон изображения дает

Анализ гистограммы

Анализ симметричного пика гистограммы
Применяется когда фон изображения дает

отчетливый и доминирующий пик гистограммы, симметричный относительно своего центра.
Слайд 13

Анализ гистограммы Сгладить гистограмму; Найти ячейку гистограммы hmax с максимальным значением;

Анализ гистограммы

Сгладить гистограмму;
Найти ячейку гистограммы hmax с максимальным значением;


На стороне гистограммы не относящееся к объекту (на примере – справа от пика фона) найти яркость hp, количество пикселей с яркостью >= hp равняется p% (например 5%) от пикселей яркости которых >= hmax;
Рассчитать порог T = hmax - (hp - hmax);
Слайд 14

Адаптивная бинаризация

Адаптивная бинаризация

Слайд 15

Адаптивная бинаризация Необходима в случае неравномерной яркости фона/объекта. Для каждого пикселя

Адаптивная бинаризация

Необходима в случае неравномерной яркости фона/объекта.
Для каждого пикселя

изображения I(x, y):
В окрестности пикселя радиуса r высчитывается индивидуальный для данного пикселя порог T;
Если I(x, y) > T + C , результат 1, иначе 0;
Варианты выбора T:
 T = mean
 T = median
T = (min + max) / 2
Слайд 16

Адаптивная бинаризация

Адаптивная бинаризация

Слайд 17

Шум в бинарных изображениях Часто возникает из-за невозможности полностью подавить шум

Шум в бинарных изображениях

Часто возникает из-за невозможности полностью подавить шум в

изображениях, недостаточной контрастности объектов и т.д.
Слайд 18

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

Шум в бинарных изображениях

По одному пикселю невозможно определить – шум

или объект?
Нужно рассматривать окрестность пикселя!
Слайд 19

Подавление и устранение шума Широко известный способ - устранение шума с

Подавление и устранение шума

Широко известный способ - устранение шума с

помощью операций математической морфологии:
Сужение (erosion)
Расширение (dilation)
Закрытие (closing)
Раскрытие (opening)
Слайд 20

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

Математическая морфология

Множество A обычно является объектом обработки
Множество B (называемое структурным

элементом) – инструмент обработки
Слайд 21

Операция «расширение» Операция «расширение» - аналог логического «или» А А(+)B

Операция «расширение»

Операция «расширение» - аналог логического «или»

А

А(+)B

Слайд 22

Операция «расширение» Расширение (dilation) A (+) B = {t  R2:

Операция «расширение»

Расширение (dilation)
A (+) B = {t  R2:

t = a + b, a  A, b  B}
Слайд 23

Операция «cужение» Сужение (erosion) A (-) B = (AC (+) B)С, где AC -дополнение A

Операция «cужение»

Сужение (erosion)
A (-) B = (AC (+) B)С, где

AC -дополнение A
Слайд 24

Операция «cужение» Что будет?

Операция «cужение»

Что будет?

Слайд 25

Операция «cужение»

Операция «cужение»

Слайд 26

Операция «cужение»

Операция «cужение»

Слайд 27

Метрики Евклидово расстояние: ДE(p,q)=[(x-s)2+(y-t)2]1/2 Модульное расстояние (метрика городских кварталов): Д4(p,q)= │x-s│+│y-t│ Шахматное расстояние: Д8(p,q) = max{│x-s│,│y-t│}

Метрики

Евклидово расстояние:
ДE(p,q)=[(x-s)2+(y-t)2]1/2 
Модульное расстояние (метрика городских кварталов): 
Д4(p,q)= │x-s│+│y-t│ 
Шахматное расстояние:
Д8(p,q) = max{│x-s│,│y-t│}

Слайд 28

Метрики

Метрики

Слайд 29

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

Важное замечание

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

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

Операция выделения контура объекта При работе с бинарными изображениями контуры объекта

Операция выделения контура объекта

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

можно получить с помощью операций математической морфологии
Внутреннее оконтуривание
CI =A–(A(-)B)
Внешнее оконтуривание
CO =(A(+)B)–A
Слайд 31

Операция выделения контура объекта

Операция выделения контура объекта

Слайд 32

Операции раскрытия и закрытия Морфологическое раскрытие (opening) open(A,B)=(A(-)B)(+)B Морфологическое закрытие (closing)

Операции раскрытия и закрытия

Морфологическое раскрытие (opening)
open(A,B)=(A(-)B)(+)B
Морфологическое закрытие (closing)


close(A, B) = (A (+) B) (-) B
Слайд 33

Применение открытия

Применение открытия

Слайд 34

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

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

Слайд 35

Дефекты бинаризации

Дефекты бинаризации

Слайд 36

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

Применение закрытия

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

Слайд 37

Не лучший пример для морфологии

Не лучший пример для морфологии

Слайд 38

Применение операции «открытия» Часто помогает медианная фильтрация!

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

Часто помогает медианная фильтрация!

Слайд 39

Медианный фильтр Фильтр с окрестностью 3x3 Теперь можем с помощью морфологии

Медианный фильтр

Фильтр с окрестностью 3x3
Теперь можем с помощью морфологии

убрать оставшиеся точки, тонкие линии и т.д.
Слайд 40

Что дальше?

Что дальше?

Слайд 41

Выделение связных областей Определение связной области: Множество пикселей, у каждого пикселя

Выделение связных областей

Определение связной области:
Множество пикселей, у каждого пикселя которого

есть хотя бы один сосед, принадлежащий данному множеству.
Соседи пикселей:
Слайд 42

Разметка связных областей

Разметка связных областей

Слайд 43

Рекурсивный алгоритм

Рекурсивный алгоритм

Слайд 44

Рекурсивный алгоритм

Рекурсивный алгоритм

Слайд 45

Последовательное сканирование

Последовательное сканирование

Слайд 46

Последовательное сканирование

Последовательное сканирование

Слайд 47

Выделенные связанные компоненты

Выделенные связанные компоненты

Слайд 48

Анализ выделенных областей

Анализ выделенных областей

Слайд 49

Геометрические признаки Для каждой области можно подсчитать некий набор простейших числовых

Геометрические признаки

Для каждой области можно подсчитать некий набор простейших числовых

характеристик:
Площадь
Центр масс
Периметр
Компактность
Ориентацию главной оси инерции
Удлиненность (эксцентриситет)
Слайд 50

Площадь и центр масс

Площадь и центр масс

Слайд 51

Периметр и компактность

Периметр и компактность

Слайд 52

Подсчет периметра области Пиксель лежит на границе области, если он сам

Подсчет периметра области

Пиксель лежит на границе области, если он сам

принадлежит области и хотя бы один из его соседей области не принадлежит. (внутренняя граница)
Пиксель лежит на границе области, если он сам не принадлежит области и хотя бы один из его соседей области принадлежит. (внешняя граница)
Периметр зависит также от того 4-х или 8-ми связность используется для определения соседей.
Слайд 53

Пример периметров области

Пример периметров области

Слайд 54

Инвариантные характеристики

Инвариантные характеристики

Слайд 55

Ориентация главной оси инерции

Ориентация главной оси инерции

Слайд 56

Пример

Пример

Слайд 57

Фотометрические признаки Для каждой области можно подсчитать некий набор простейших числовых

Фотометрические признаки

Для каждой области можно подсчитать некий набор простейших числовых

характеристик:
Средняя яркость
Средний цвет (если изображение цветное)
Гистограмма распределения яркостей (или три гистограммы распределения R, G, B)
Дисперсию (разброс) яркостей или цвета
Разумеется, все это считается по исходному, а не бинарному изображению!
Слайд 58

Как анализировать признаки

Как анализировать признаки

Слайд 59

Как анализировать признаки Как воспользоваться признаками для классификации? Подобрать диапазоны значений

Как анализировать признаки

Как воспользоваться признаками для классификации?
Подобрать диапазоны значений

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

Ручной подбор Из общих соображений: Ложки более вытянутые, чем сахарные кусочки

Ручной подбор

Из общих соображений:
Ложки более вытянутые, чем сахарные кусочки


Ложки больше чем сахарные кусочки
Сахарные кусочки квадратные
Области появляющиеся из-за шума обычно небольшие и неквадратные
Пытаемся сконструировать решающее правило, проверяем экспериментально
Может быть весьма утомительно
Слайд 61

Графический анализ Собрать тренировочную базу изображений Где только ложки Где только

Графический анализ

Собрать тренировочную базу изображений
Где только ложки
Где только сахар


Где только шум
Как получить такие?
Да просто закрасить все остальное.
Брать признаки и строить графики
Слайд 62

Графический анализ Диаграмма распределения эксцентриситета (проблема – не получается отличить шум от ложек)

Графический анализ

Диаграмма распределения эксцентриситета
(проблема – не получается отличить шум от

ложек)
Слайд 63

Графический анализ График распределения эксцентриситета и площади (гораздо лучше – можем подобрать значения порогов)

Графический анализ

График распределения эксцентриситета и площади (гораздо лучше – можем

подобрать значения порогов)
Слайд 64

Метод k-средних Метод k-средних – метод кластеризации данных. Целью задачи кластеризации

Метод k-средних

Метод k-средних – метод кластеризации данных. Целью задачи кластеризации

является разбиение множества объектов на кластеры (классы) на основе некоторой меры сходства объектов.
Слайд 65

Метод k-средних Дано: Набор векторов , i = 1,…, p; k

Метод k-средних

Дано:
Набор векторов , i = 1,…, p;
k – число

кластеров, на которые нужно разбить набор .
Найти:
k средних векторов mj, j = 1,…, k (центров кластеров);
отнести каждый из векторов к одному из k кластеров;
Слайд 66

Метод k-средних Алгоритм: 1. Случайным образом выбрать k средних mj j

Метод k-средних

Алгоритм:
1. Случайным образом выбрать k средних mj j =

1,…, k;
2. Для каждого xi i = 1,…,p подсчитать расстояние до каждого из mj j=1,…, k, отнести (приписать) xi к кластеру j’, расстояние до центра которого mj’ минимально;
3. Пересчитать средние mj j=1,…, k по всем кластерам;
4. Повторять шаги 2, 3, пока кластеры не перестанут изменяться
Слайд 67

Метод k-средних

Метод k-средних

Слайд 68

Метод k-средних

Метод k-средних

Слайд 69

Метод k-средних

Метод k-средних

Слайд 70

Недостатки Не гарантируется достижение глобального минимума суммарного квадратичного отклонения V, а

Недостатки

Не гарантируется достижение глобального минимума суммарного квадратичного отклонения V, а только

одного из локальных минимумов.
Результат зависит от выбора исходных центров кластеров, их оптимальный выбор неизвестен.
Число кластеров надо знать заранее.
Слайд 71

Признаки изображения Какие признаки мы можем использовать для сравнения пикселей и регионов? Яркость Цвет ?

Признаки изображения

Какие признаки мы можем использовать для сравнения пикселей и

регионов?
Яркость
Цвет
?
Слайд 72

Пример

Пример

Слайд 73

Текстура Это типичные примеры текстурных шаблонов для исследований психофизиологоического восприятия изображений

Текстура

Это типичные примеры текстурных шаблонов для исследований психофизиологоического восприятия изображений
Человек

явно использует не только яркость и цвет, но и ориентацию краёв (градиентов изображения), их распределение, для анализа изображений
Текстура — преимущественная ориентация элементов, составляющих материал (одно из определении)
Слайд 74

«Простые клетки» V1

«Простые клетки» V1

Слайд 75

Психологическое свойство текстуры

Психологическое свойство текстуры

Слайд 76

Форма из текстуры

Форма из текстуры

Слайд 77

Схема простого алгоритма

Схема простого алгоритма

Слайд 78

Слайд 79

Слайд 80

Слайд 81

Jean Baptiste Joseph Fourier Дикая идея (1807): Любая периодическая функция может

Jean Baptiste Joseph Fourier

Дикая идея (1807):
Любая периодическая функция может

быть представлена как взвешенная сумма синусов и косинусов различной частоты
Воспринята была не сразу:
Ни Лагранж, ни Лаплас, Пуассон не верили в это
Впервые переведена работа на английский в 1878 году
Преобразование Фурье
Слайд 82

Преобразование Фурье

Преобразование Фурье

Слайд 83

Преобразование Фурье

Преобразование Фурье

Слайд 84

Быстрое преобразование Фурье Для вычисления всех коэффициентов через скалярное произведение требуется

Быстрое преобразование Фурье

Для вычисления всех коэффициентов через скалярное произведение требуется

примерно N2 умножений: очень много при больших длинах сигнала N.
Быстрое преобразование Фурье (БПФ, FFT) – ускоренный алгоритм вычисления ДПФ
Основан на периодичности базисных функций (много одинаковых множителей)
Математически точен (ошибки округления даже меньше, т.к. меньше число операций)
Число умножений порядка N·log2N, намного меньше, чем N2 ► Ограничение: большинство реализаций FFT принимают только массивы длиной N = 2m
Есть и быстрое обратное преобразование
Слайд 85

Пример g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

Пример

g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

Слайд 86

Пример g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

Пример

g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

Слайд 87

Ограниченный сигнал Как быть, если сигнал задан на отрезке? Продлить сигнал

Ограниченный сигнал

Как быть, если сигнал задан на отрезке?
Продлить сигнал за

границы отрезка, затем разложить
В зависимости от типа разложения, продлять нужно по разному
Продление должно быть периодическим
Можем использовать только синусы или только косинусы, в зависимости от этого продлевать нужно по-разному
Если косинусное преобразование, то продление должно быть чётной функцией
Слайд 88

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 89

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 90

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 91

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 92

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 93

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 94

Прямоугольный сигнал

Прямоугольный сигнал

Слайд 95

Спектр частот

Спектр частот

Слайд 96

Свойства Разрывы функции приводят к тому, что требуется больше слагаемых для

Свойства

Разрывы функции приводят к тому, что требуется больше слагаемых для

достижения точности
sin() – нечётная функция, поэтому продление должно быть нечётной функцией
Поскольку у реального сигнала значение на конце и в начале сигнала обычно разное, то продление почти всегда с разрывом
Для реальных сигналов разложение через косинусы эффективнее, чем через синусы
Также в базисе косинусов есть константа
Слайд 97

2D преобразование

2D преобразование

Слайд 98

Пример

Пример

Слайд 99

Пример

Пример

Слайд 100

Сжатие с потерями (JPEG)

Сжатие с потерями (JPEG)

Слайд 101

Первый коэффициент B(0,0) называется DC, средняя интенсивность Верхние левые коэффициенты соответствуют

Первый коэффициент B(0,0) называется DC, средняя интенсивность
Верхние левые коэффициенты соответствуют

низким частотам, верхние – высоким частотам
Слайд 102

Сжатие изображения с ДКП Следующим шагом является квантование (дискретизация) коэффициентов Квантовать

Сжатие изображения с ДКП

Следующим шагом является квантование (дискретизация) коэффициентов
Квантовать

мы можем по разному низкие (важные) и высокие (менее важные) частоты
Именно при квантовании происходит потеря информации
В декодере проводится обратное преобразование
Матрица квантования хранится в заголовке файла
Слайд 103

Пример

Пример

Слайд 104

Пример Делим G на Q и округляем: round ( G(i,j) /

Пример

Делим G на Q и округляем:
round ( G(i,j) /

Q(i,j) )
При этом обнуляются высокие частоты
Значения Q позволяют менять степень сжатия
Значения обходятся зигзагом и кодируются без потерь (RLE или арифметическое)
Слайд 105

Размер блока JPEG Маленький блок Быстрее Больше корреляции между соседними пикселям

Размер блока JPEG

Маленький блок
Быстрее
Больше корреляции между соседними пикселям


Большой блок
Лучше сжатие в плавных регионах
По стандарту 8x8
Слайд 106

Пример сжатия

Пример сжатия

Слайд 107

Спектральный анализ для изображений Отображение спектров изображений Спектр – это изображение,

Спектральный анализ для изображений

Отображение спектров изображений
Спектр – это изображение,

показывающая зависимость амплитуды от частоты и от направления синусоиды.
Амплитуды отображаются в виде яркостей.
Нулевая частота – в центре спектра, низкие частоты вокруг центра, высокие – дальше от центра.
Спектр обычно продублирован отражением от нулевой частоты.
В реальных изображениях чаще всего гораздо большие амплитуды имеют низкие частоты (и постоянная составляющая). Поэтому постоянную составляющую иногда удаляют, или применяют логарифмический масштаб отображения амплитуд, чтобы пара самый мощных гармоник не скрыла остальные, менее мощные, но тоже существенные гармоники.
Слайд 108

Спектральный анализ

Спектральный анализ

Слайд 109

Спектральный анализ

Спектральный анализ

Слайд 110

Искусственная сцена

Искусственная сцена

Слайд 111

Края в изображении

Края в изображении

Слайд 112

Теорема о свёртке Преобразование Фурье от свёртки двух функций можно представить

Теорема о свёртке

Преобразование Фурье от свёртки двух функций можно представить

как произведение преобразований Фурье каждой из функций
F[g∗h]= F[g]F[h]
Обратное преобразование Фурье от произведения есть свёртка двух обратных преобразований Фурье
F−1[gh]= F−1[g]∗F−1[h]
Свёртка в пространстве эквивалентна произведению в частотном диапазоне
Можно существенно ускорить многие операции свёртки!