CV2015. Лекция 2. Простые методы распознавания...
-
Upload
anton-konushin -
Category
Education
-
view
305 -
download
8
Transcript of CV2015. Лекция 2. Простые методы распознавания...
![Page 1: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/1.jpg)
Простой анализ изображений
Many slides adapted from Fei-Fei Li, Rob Fergus, Antonio Torralba, Jean Ponce and Svetlana Lazebnik
Антон Конушин
![Page 2: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/2.jpg)
Выделение объектов
Здание
Лицо Текст
Лицо
Текст
Человек Человек
Необходимо определить, есть ли на изображении объекты заданного типа и если да, то определить их положение
![Page 3: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/3.jpg)
Изменчивость изображений
Внешние факторы: • Положение камеры • Внутренние свойства камеры • Освещение
Внутренние факторы: • Деформации объектов • Внутриклассовая
изменчивость
• Пока приходится задачу упрощать, вводя ограничения на ракурс съёмки, условия освещения, типы объектов
• Мы будем рассматривать простые случаи, когда все факторы варьируются незначительно
![Page 4: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/4.jpg)
Примеры простых задач
Клетки крови
Монеты и купюры
Ложки и сахар
Номера
![Page 5: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/5.jpg)
Какие параметры меняются мало?
Монеты и купюры
Номера
Внешние факторы: • Положение камеры • Внутренние свойства камеры • Освещение
Внутренние факторы: • Деформации объектов • Внутриклассовая изменчивость
Да все!
![Page 6: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/6.jpg)
Из чего состоит изображение?
![Page 7: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/7.jpg)
Из «кусков» - отдельных объектов
![Page 8: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/8.jpg)
Сегментация
• Сегментация - это способ разделения сцены на «куски», с которыми проще работать
• Тесселяция - разбиение изображения на неперекрывающиеся области, покрывающие все изображение и однородные по некоторым признакам
• Можно и по другому сегментировать изображение • Пересекающиеся области • Иерархическое представление
![Page 9: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/9.jpg)
Требования к сегментации
• Сегментация - это способ разделения сцены на «куски», с которыми проще работать
• Границы сегментов должны соответствовать границам объектов
![Page 10: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/10.jpg)
Результат сегментации
• Как мы будем записывать результат сегментации? • Сделаем карту разметки – изображение, в каждом
пикселе которого номер сегмента, которому принадлежит этот пиксель
• Визуализировать удобно каждый сегмент своим цветом
![Page 11: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/11.jpg)
Алгоритмы к рассмотрению
• Бинаризация и выделения связанных компонент
• Последовательное сканирование
• Метод K-средних
![Page 12: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/12.jpg)
Алгоритмы к рассмотрению
• Бинаризация и выделения связанных компонент
• Последовательное сканирование
• Метод K-средних
![Page 13: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/13.jpg)
Простейшая сегментация
• Все объекты яркие, фон тёмный • Объекты «контрастны» по отношению к простому (однотонному) фону • Для сегментации такого изображения нам достаточно:
• пороговая бинаризация • обработки шума • выделения связанных компонент
Чем отличаются объекты на этом изображении?
![Page 14: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/14.jpg)
Пороговая бинаризация
Пороговая фильтрация (thresholding) Пиксели, которых выше/ниже некоторого порога, заданного «извне», помечаются 1 Ниже порога помечаются 0
Бинарное изображение – пиксели которого могут принимать только значения 0 и 1 Бинаризация - построение бинарного изображения по полутоновому / цветному
![Page 15: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/15.jpg)
Пороговая фильтрация
Более интересный способ – определение порога автоматически, по характеристикам изображения
• Нужно проанализировать распределение пикселей по яркости
• Анализ гистограммы яркости
![Page 16: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/16.jpg)
Гистограмма яркости
Гистограмма – это график распределения яркостей на изображении. На горизонтальной оси - шкала яркостей тонов от белого до черного, на вертикальной оси - число пикселей заданной яркости.
0 255
0 255
![Page 17: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/17.jpg)
Гистограмма для нашего случая
![Page 18: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/18.jpg)
Анализ гистограммы
Анализ симметричного пика гистограммы Применяется когда фон изображения дает
отчетливый и доминирующий пик гистограммы, симметричный относительно своего центра.
1. Сгладить гистограмму; 2. Найти ячейку гистограммы hmax с максимальным значением; 3. На стороне гистограммы не относящейся к объекту (на примере –
справа от пика фона) найти яркость hp, количество пикселей с яркостью >= hp равняется p% (например 5%) от пикселей яркости которых >= hmax;
4. Пересчитать порог T = hmax - (hp - hmax);
![Page 19: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/19.jpg)
Шум в бинарных изображениях
Пример бинарного изображению с сильным шумом
Часто возникает из-за невозможности полностью подавить шум в изображениях, недостаточной контрастности объектов и т.д.
![Page 20: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/20.jpg)
Шум в бинарных изображениях
По одному пикселю невозможно определить – шум или объект? Нужно рассматривать окрестность пикселя!
![Page 21: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/21.jpg)
Подавление и устранение шума
Широко известный способ - устранение шума с помощью операций математической морфологии: Сужение (erosion) Расширение (dilation) Закрытие (closing) Раскрытие (opening)
![Page 22: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/22.jpg)
Математическая морфология
A B
• Множество A обычно является объектом обработки
• Множество B (называемое структурным элементом) – инструмент обработки
![Page 23: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/23.jpg)
Расширение
A B A(+)B
Операция «расширение» - аналог логического «или»
![Page 24: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/24.jpg)
Сужение
A B A(-)B
Операция «расширение» - аналог логического «и»
![Page 25: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/25.jpg)
1111]1[1111
Результат операции сужения
0101]1[1010
001110001111101111111111]1[111111111101111100011100
![Page 26: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/26.jpg)
Важное замечание
Результат морфологических операций во многом определяется применяемым структурным элементом. Выбирая различный структурный элемент можно решать разные задачи обработки изображений: • Шумоподавление • Выделение границ объекта • Выделение скелета объекта • Выделение сломанных зубьев на изображении шестерни
![Page 27: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/27.jpg)
Операции раскрытия и закрытия
Морфологическое раскрытие (opening) • open(A, B) = (A (-) B) (+) B Морфологическое закрытие (closing) • close(A, B) = (A (+) B) (-) B
Попробуйте догадаться, что эти операции делают?
![Page 28: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/28.jpg)
111111111
Применение открытия
010111010
0011100011111011111111111111111111101111100011100
Применим операцию открытия к изображению с сильным шумом:
![Page 29: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/29.jpg)
Сужение vs Открытие
Сужение Открытие
![Page 30: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/30.jpg)
Дефекты бинаризации
Пример бинарного изображению с дефектами распознаваемых объектов
![Page 31: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/31.jpg)
111111111
Применение закрытия
0011100011111011111111111111111111101111100011100
0111011111111111111101110
Применим операцию закрытия к изображению с дефекиами объектов:
![Page 32: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/32.jpg)
Не лучший пример для морфологии
Не во всех случаях математическая морфология так легко убирает дефекты, как хотелось бы…
![Page 33: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/33.jpg)
111111111
Применения операции открытия
010111010
0011100011111011111111111111111111101111100011100
Часто помогает медианная фильтрация!
![Page 34: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/34.jpg)
Медианный фильтр • Посмотрим вначале в общем виде, на примере
однотонного изображения (канал яркости) • Строим выборку из пикселей по окрестности • Сортируем и выбираем центральное значение («медиану))
Source: K. Grauman
![Page 35: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/35.jpg)
Для бинарных изображений • Выбираем то значение, которого в окрестности
больше
• Границы областей обычно остаются на месте • Тонкие (по сравнению с размером фильтра»
линии исчезнут
• Ещё про медианный фильтр мы вспомним на следующей лекции
111101111
001110000
111111000
110110110
010010010
![Page 36: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/36.jpg)
Медианный фильтр
Фильтр с окрестностью 3x3
Теперь можем с помощью морфологии убрать оставшиеся точки, линии и т.д.
![Page 37: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/37.jpg)
Что дальше?
Получили бинарное изображение
Нужна карта разметки
![Page 38: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/38.jpg)
Выделение связных областей
Определение связной области: • Множество пикселей, у каждого
пикселя которого есть хотя бы один сосед, принадлежащий данному множеству.
• (или) Любые два пикселя которого связаны путём, проходящим только через пиксели множества
Соседи пикселей:
4-связность 8-связность
![Page 39: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/39.jpg)
Разметка связных областей
1 1 2 2 2 1 1 2 2 2
3 4 4 5 4 4
4 6 6 6 6 6
7 Бинарное изображение Размеченное изображение
![Page 40: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/40.jpg)
Рекурсивный алгоритм
void Labeling(BIT* img[], int* labels[]) { // labels должна быть обнулена L = 1; for(y = 0; y < H; y++) for(x = 0; x < W; x++) { Fill(img, labels, x, y, L++); } }
![Page 41: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/41.jpg)
Рекурсивный алгоритм
void Fill(BIT* img[], int* labels[], int x, int y, int L) { if( (labels[x][y] = = 0) && (img[x][y] = = 1) ) { labels[x][y] = L; if( x > 0 ) Fill(img, labels, x – 1, y, L); if( x < W - 1 ) Fill(img, labels, x + 1, y, L); if( y > 0 ) Fill(img, labels, x, y - 1, L); if( y < H - 1 ) Fill(img, labels, x, y + 1, L); } }
![Page 42: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/42.jpg)
Последовательное сканирование
Последовательно, сканируем бинарное изображение сверху вниз, слева направо:
if A = O do nothing else if (not B labeled) and (not C labeled) increment label numbering and label A else if B xor C labeled copy label to A else if B and C labeled if B label = C label copy label to A else copy either B label or C label to A record equivalence of labels
За сколько операций мы разметим изображение?
![Page 43: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/43.jpg)
Выделенные связанные компоненты
![Page 44: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/44.jpg)
Алгоритмы к рассмотрению
• Бинаризация и выделения связанных компонент
• Последовательное сканирование
• Метод K-средних
![Page 45: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/45.jpg)
Сегментация
На основе последовательного сканирования можно сделать и метод сегментации изображений на однородные области
Для простоты будем оценивать только яркость пикселов
![Page 46: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/46.jpg)
Сегментация методом последовательного сканирования
1. if I(A) – Iavg(Cl(B)) > δ and I(A) – Iavg(Cl(C)) > δ -
создаем новую область, присоединяем к ней пиксел A
2. if I(A) – Iavg(Cl(B)) < δ xor I(A) – Iavg(Cl(C)) < δ – добавить A к одной из областей
3. if I(A) – Iavg(Cl(B)) < δ and I(A) – Iavg(Cl(C)) < δ :
1. Iavg(Cl(B)) - Iavg(Cl(C)) < δ – сливаем области B и C.
2. Iavg(Cl(B)) - Iavg(Cl(C)) > δ– добавляем пиксел A к тому классу, отклонение от которого минимально.
I(A) – яркость пиксела A Cl(B) – область к которой принадлежит пиксел B Iav g(Cl(B)) – средняя яркость области к которой принадлежит B
Сканируем изображение сверху вниз, слева направо:
![Page 47: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/47.jpg)
Сегментация методом последовательного сканирования
Пример:
![Page 48: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/48.jpg)
Алгоритмы к рассмотрению
• Бинаризация и выделения связанных компонент
• Последовательное сканирование
• Метод K-средних
![Page 49: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/49.jpg)
Кластеризация
Метод k-средних – метод кластеризации данных. Целью задачи кластеризации является разбиение множества объектов на группы (кластеры) на основе некоторой меры сходства объектов.
X2
X1
![Page 50: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/50.jpg)
Сегментация через кластеризацию
Что в случае сегментации изображения «объекты»? • «Пиксели» изображения • Мы «группируем» пиксели по похожести • По каким признакам можем оценить похожесть пикселей?
![Page 51: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/51.jpg)
Кластеризация K-cредними • Дано:
• Набор векторов xi i=1,…,p • k – число кластеров, на которые нужно разбить набор xi
• Найти: • k векторов mj, j=1,…,k (центров кластеров) • Отнести каждый из векторов xi к одному из k кластеров • При этом должен достигаться минимум суммы квадратов
Евклидовых расстояний между точками xi и назначенными им центрами кластеров mj
kki
ji mxMXDcluster
clusterinpoint
2)(),(
![Page 52: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/52.jpg)
Алгоритм k-средних
1. Случайным образом выбрать k средних mj j=1,…,k
2. Для каждого xi i=1,…,p : • подсчитать расстояние от xi до каждого из mj
j=1,…,k • Отнести (приписать) xi к кластеру j’,
расстояние до центра которого mj’ минимально
3. Пересчитать средние mj j=1,…,k по всем кластерам
4. Повторять шаги 2, 3 пока кластеры не перестанут изменяться
![Page 53: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/53.jpg)
Пример кластеризации в 2D
Исходные данные
8 10 12 14 16 18 207
8
9
10
11
12
13
14
![Page 54: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/54.jpg)
Пример кластеризации в 2D
Случайная инициализация центров кластеров (шаг 1)
8 10 12 14 16 18 207
8
9
10
11
12
13
14Initial Cluster Centers at Iteration 1
![Page 55: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/55.jpg)
Пример кластеризации в 2D
Кластеры после первой итерации (шаг 2)
8 10 12 14 16 18 207
8
9
10
11
12
13
14Updated Memberships and Boundary at Iteration 1
X Variable
Y V
aria
ble
![Page 56: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/56.jpg)
Пример кластеризации в 2D
Пересчет центров кластеров после первой итерации (шаг 3)
8 10 12 14 16 18 207
8
9
10
11
12
13
14Updated Cluster Centers at Iteration 2
![Page 57: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/57.jpg)
Пример кластеризации в 2D
Кластеры после второй итерации (шаг 2)
8 10 12 14 16 18 207
8
9
10
11
12
13
14Updated Memberships and Boundary at Iteration 2
X Variable
Y V
aria
ble
![Page 58: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/58.jpg)
Пример кластеризации в 2D
Стабильная конфигурация после четвертой итерации
8 10 12 14 16 18 207
8
9
10
11
12
13
14Updated Memberships and Boundary at Iteration 4
X Variable
Y V
aria
ble
![Page 59: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/59.jpg)
Сегментации изображения по яркости
Рассматриваем одномерное пространство яркостей пикселей и производим в нем кластеризацию с помощью k-средних. Это дает автоматическое вычисление яркостных порогов.
(Для получения бинарного изображения k=2)
![Page 60: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/60.jpg)
Алгоритм К-средних. Примеры.
Исходное изображение Кластеры по яркости Кластеры по цвету
Вектор признак – {яркость} Вектор признак – {R, G, B}
![Page 61: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/61.jpg)
Алгоритм К-средних
• Однопараметрический • Требует знания только о
количестве кластеров
• Рандомизирован
• Зависит от начального приближения
• Не учитывает строения
самих кластеров
Есть целый ряд других, более совершенных методов кластеризации!
![Page 62: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/62.jpg)
Признаки изображения
Какие признаки мы можем использовать для сравнения пикселей и регионов?
• Яркость
• Цвет
• ?
![Page 63: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/63.jpg)
Пример
Image source: Landy & Graham (2004)
Видите отдельные области?
![Page 64: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/64.jpg)
Область 1
Image source: Landy & Graham (2004)
![Page 65: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/65.jpg)
Область 2
Image source: Landy & Graham (2004)
![Page 66: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/66.jpg)
Область 2
Image source: Landy & Graham (2004)
![Page 67: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/67.jpg)
Текстура
Image source: VPfaCGP Fig 8.5
• Текстура — преимущественная ориентация элементов, составляющих материал (одно из определении)
• (b) - типичные примеры шаблонов (текстурных элементов) для исследований психофизиологоического восприятия изображений
• Человек явно учитывает свойства текстуры фрагмента при распознавании изображений и выделении областей
![Page 68: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/68.jpg)
«Простые клетки» V1
• В первичной визуальной коре головного мозга есть клетки, чувствительные к краям определенной ориентации
• Для каждой области есть набор таких клеток, чувствительные к ориентации элементов текстуры
• Как их измерять – в следующей лекции
![Page 69: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/69.jpg)
Психологическое свойство текстуры
Image source: Todd et al. 2005
![Page 70: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/70.jpg)
Форма из текстуры
• Человек интуитивно считает текстуру изотропной, т.е. с постоянными свойствами на поверхности объекта
• Shape from texture: Исходя из предположения об изотропности шаблона текстуры, можно определить наклон поверности
Image source: VPfaCGP Fig 8.7
![Page 71: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/71.jpg)
Современные алгоритмы
• Задача сегментации изображений продолжает активно исследоваться.
• Иногда используется один признак, иногда множество • Подробнее алгоритмы сегментации рассматриваются в
с\к «Доп. главы компьютерного зрения»
![Page 72: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/72.jpg)
Анализ выделенных областей
Для анализа требуется вычислить некоторые числовые характеристики (признаки) областей:
геометрические признаки фотометрические признаки
На основе этих характеристик можно классифицировать получаемые области
![Page 73: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/73.jpg)
Геометрические признаки
Для каждой области можно подсчитать некий набор простейших числовых характеристик: • Площадь • Центр масс • Периметр • Компактность • Ориентацию главной оси инерции • Удлиненность (эксцентриситет)
![Page 74: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/74.jpg)
Площадь и центр масс
• Площадь – количество пикселей в области;
m
x
n
yyxIA
0 0),(
A
yxyIy
A
yxxIx
m
x
n
y
m
x
n
y 0 00 0
),(;
),(
• Центр масс
![Page 75: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/75.jpg)
Периметр и компактность
• Компактность – отношение квадрата периметра к площади;
Наиболее компактная фигура – круг:
APC
2
π4C
• Периметр – количество пикселей принадлежащих границе области;
![Page 76: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/76.jpg)
Подсчет периметра области
1. Пиксель лежит на границе области, если он сам принадлежит области и хотя бы один из его соседей области не принадлежит. (внутренняя граница)
2. Пиксель лежит на границе области, если он сам не принадлежит области и хотя бы один из его соседей области принадлежит. (внешняя граница)
Периметр зависит также от того 4-х или 8-ми связность
используется для определения соседей.
![Page 77: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/77.jpg)
Пример периметров области
Область
Внутренняя граница Внешняя граница
![Page 78: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/78.jpg)
Операция оконтуривания объекта
При работе с бинарными изображениями контуры объекта можно получить с помощью операций математической морфологии
Внутреннее оконтуривание
• CI = A – (A (-) B) Внешнее оконтуривание
• CO = (A (+) B) – A
![Page 79: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/79.jpg)
Пример оконтуривания объекта
![Page 80: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/80.jpg)
Статистические моменты области
Дискретный центральный момент mij области определяется следующим образом:
n
Syx
jiji yxIyyxxm
, ),()()(
Центр масс области
![Page 81: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/81.jpg)
Инвариантные характеристики
Для распознавания нас интересуют характеристики инвариантные по отношению к масштабированию, переносу, повороту: Удлиненность, нецентрированность (эксцентриситет) Компактность A
PC2
211
202200220
211
202200220
4)(
4)(
mmmmm
mmmmmelongation
A
E AB
B
![Page 82: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/82.jpg)
Ориентация главной оси инерции
Не является инвариантной к повороту, но в ряде случаев предоставляет полезную информацию об ориентации объекта:
0220
112arctan21θ
mmm
X
Y
Главная ось
Центр масс
![Page 83: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/83.jpg)
Пример
Вычисленные значения признаков
![Page 84: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/84.jpg)
Фотометрические признаки
Для каждой области можно подсчитать некий набор простейших числовых характеристик: • Средняя яркость • Средний цвет (если изображение цветное) • Распределение яркости или цвета • Признаки текстуры
• Про распределение цветов и текстурные признаки будем говорить отдельно дальше
Разумеется, все это считается по исходному, а не бинарному изображению!
![Page 85: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/85.jpg)
Как анализировать признаки
• Пример – ложки и сахар
![Page 86: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/86.jpg)
Как анализировать признаки
• Как воспользоваться признаками для классификации? • Подобрать диапазоны значений для разных классов вручную,
экспериментально (может быть весьма трудоемко)
• Подобрать диапазоны значений графически (нужна база для тренировки, трудно, если признаков много)
• Обучить классификатор с помощью машинного обучения
![Page 87: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/87.jpg)
Ручной подбор
• Из общих соображений: • Ложки более вытянутые, чем сахарные кусочки • Ложки больше чем сахарные кусочки • Сахарные кусочки квадратные • Области появляющиеся из-за шума обычно небольшие и
неквадратные
• Пытаемся сконструировать решающее правило, проверяем экспериментально
• Может быть весьма утомительно
![Page 88: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/88.jpg)
Примеры
![Page 89: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/89.jpg)
Графический анализ
• Собрать тренировочную базу изображений • Где только ложки • Где только сахар • Где только шум Как получить такие? Да просто закрасить все
остальное.
• Брать признаки и строить графики
![Page 90: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/90.jpg)
Графический анализ
• Диаграмма распределения эксцентриситета (проблема – не получается отличить шум от ложек)
1 2 3 4 5 6 7 8 9 10 11 12Ложки
0
0.2
0.4
0.6
0.8
1Э
ксце
нтри
сите
т
ПримерыЛожкиШумСахар
![Page 91: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/91.jpg)
Графический анализ
• График распределения эксцентриситета и площади (гораздо лучше – можем подобрать значения порогов)
00.10.20.30.40.50.60.70.80.9
1
0 2000 4000 6000 8000
Площадь
Эксц
ентр
исит
ет
ШумЛожки
Сахар
![Page 92: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/92.jpg)
Машинное обучение
• Причина бурного развития компьютерного зрения в последние годы.
• Требуются большие коллекции примеров для
обучения.
• Посмотрим один из методов на 4ой лекции
![Page 93: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/93.jpg)
Схема простого алгоритма
Предобработка изображения
Сегментация изображения
Вычисление признаков
сегментов и классификация
![Page 94: CV2015. Лекция 2. Простые методы распознавания изображений.](https://reader031.fdocuments.net/reader031/viewer/2022013122/55a5ef9c1a28ab086b8b48a4/html5/thumbnails/94.jpg)
Резюме лекции
• Сегментация изображения позволяет работать не со всем изображением в целом, а с отдельными значимыми фрагментами
• Сегменты могут выбираться по критериям однородности по яркости, цвету, текстуре и по комбинации этих признаков
• В отдельных случаях мы можем решить задачу распознавания, анализируя геометрические и фотометрические признаки сегментов