65
Классификация изображений Many slides adapted from Fei-Fei Li, Rob Fergus, Antonio Torralba and Svetlana Lazebn CSEDays-2010

Классификация изображений

  • Upload
    lilosea

  • View
    981

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Классификация изображений

Классификация изображений

Many slides adapted from Fei-Fei Li, Rob Fergus, Antonio Torralba and Svetlana Lazebnik

CSEDays-2010

Page 2: Классификация изображений

Сколько всего классов объектов?

Biederman 1987

1500-3000 основных существительных, ~10 подкатегорий

Page 3: Классификация изображений

Миллионы крошечных картинок («Tiny images»)

http://people.csail.mit.edu/torralba/tinyimages/

Page 4: Классификация изображений

Миллионы крошечных картинок («Tiny images»)

Page 5: Классификация изображений

Классификация текстов

US Presidential Speeches Tag Cloudhttp://chir.ag/phernalia/preztags/

• Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983)

Page 6: Классификация изображений

Классификация текстов

US Presidential Speeches Tag Cloudhttp://chir.ag/phernalia/preztags/

• Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983)

Page 7: Классификация изображений

US Presidential Speeches Tag Cloudhttp://chir.ag/phernalia/preztags/

• Представление документа без порядка: частоты слов из словаря («мешок слов») Salton & McGill (1983)

Классификация текстов

Page 8: Классификация изображений

Слова и словари

• Что такое «слово» в контексте изображений?• Как составить «словарь» для коллекции

изображений?

Page 9: Классификация изображений

Моделирование текстур

• Текстура является повторением набора базовых элементов («текстонов»)

• Для стохастических текстур важны сами текстоны, а не их пространственное расположение

Page 10: Классификация изображений

Распознавание текстур

Universal texton dictionary

histogram

Page 11: Классификация изображений

«Визуальные слова»

face, flowers, building

• «Визуальное слово» – часто повторяющийся фрагмент изображения

• В отличие от текстур – не в одном изображении, а в коллекции

• В изображении визуальное слово может встречаться только один раз!

Page 12: Классификация изображений

«Визуальный словарь»

• Словарь – набор фрагментов, часто повторяющихся в коллекции изображений

• Как составить словарь?• Составить большой список всех фрагментов по всей

коллекции• Разделить весь список на похожие группы• Типичная задача «кластеризации»• Будем считать все фрагменты в одной группе –

«экземплярами» одного и того же слова

Page 13: Классификация изображений

«Мешок визуальных слов»

Page 14: Классификация изображений

• Регулярная сетка• Vogel & Schiele, 2003

• Fei-Fei & Perona, 2005

1. Сбор фрагментов

Page 15: Классификация изображений

• Регулярная сетка• Vogel & Schiele, 2003

• Fei-Fei & Perona, 2005

• Характерные точки• Csurka et al. 2004

• Fei-Fei & Perona, 2005

• Sivic et al. 2005

1. Сбор фрагментов

Page 16: Классификация изображений

Характерная точка изображения - это точка с характерной (отличающейся) окрестностью

Пример особой точки

Пример точки, не являющейся особой

Характерные точки

Названия:• Особенность (feature)• Характеристическая / интересная точка (interest point)

Page 17: Классификация изображений

Свойства характерных точек

Локальность (Locality)Особенность занимаем маленькую область изображения, поэтому работа с ней нечувствительна к перекрытиям

Повторяемость (Repeatability)Особенность (feature) должна находится в том же месте не смотря на изменения точки обзора и освещения

Значимость (Saliency)Каждая особенность должна иметь уникальное (distinctive) описание

Компактность и эффективностьОсобенностей гораздо меньше .чем пикселей в изображении

Page 18: Классификация изображений

Детекторы характерных точек

• Harris• Difference of Gaussian• Harris-Laplacian

2

2

yyx

yxx

III

IIIM

Page 19: Классификация изображений

• Как два небольших изображения!• Те же метрики, что и при прямом сравнении изображений:• SAD = Squared absolute difference• SSD = Squared of square difference• Cross-correlation

• Неустойчиво к изменениям!• Освещения• Малые сдвиги приводят к

большим изменениям

Как сравнивать фрагменты?

Page 20: Классификация изображений

SIFT

• Scale-Invariant Feature Transform• DoG или Harris-Laplacian• Характерный размер области R• Характерная ориентация• Дескриптор на основе гистограммы направлений градиентов

• Один из самых эффективных

дескрипторов

David G. Lowe. "Distinctive image features from scale-invariant keypoints.” IJCV 60 (2), pp. 91-110, 2004.

Page 21: Классификация изображений

ОриентацияПример: найти локальное направление градиента

вокруг интересной точки

Повернуть фрагмент(ы) так, чтобы средний градиент был направлен вверх

0 2

Page 22: Классификация изображений

Дескрипторы

Ориентация = размытый градиентРамка, независимая от поворота (Rotation Invariant Frame)

Page 23: Классификация изображений

Дескрипторы

Page 24: Классификация изображений

Гистограммы градиентов SIFT

• Вычисляем градиент в каждой точке

• Строим гистограммы по окрестностям

• Обычно – сетка 4x4, в каждой гистограмма с 8ю ячейками

• Стандартная длина вектора-дескриптора – 128 (4*4*8)

• Устойчив к изменениям освещенности и небольшим сдвигам

Page 25: Классификация изображений

1. Извлечение фрагментов

• Выбрали фрагменты

• Вычислили для каждого дескриптор

• Составили большой список всех дескрипторов

Page 26: Классификация изображений

2. Обучение словаря

Page 27: Классификация изображений

2. Обучение словаря

Кластеризация

Slide credit: Josef Sivic

Page 28: Классификация изображений

2. Обучение словаря

Кластеризация

Slide credit: Josef Sivic

Визуальныйсловарь

Page 29: Классификация изображений

Кластеризации

• Кластеризация является обычным методов обучения визуального словаря или «кодовой книги» (codebook)• Обучение без учителя• Центр каждого кластера становится кодовым вектором• Словарь можно обучить на отдельной выборке• Если обучающая выборка достаточно представительна,

тогда словарь может стать «универсальным»

Page 30: Классификация изображений

Кластеризация K-cредними

• Минимизируем сумму квадратов Евклидовых расстояний между точками xi и ближайшими центрами кластеров mk

• Алгоритм:• Случайно инициализируем K центров кластеров• Повторяем до сходимости:

• Назначаем каждую точку ближайшему центру• Пересчитываем центр каждого кластера как среднее

всх назначенных точек

k

ki

ki mxMXDcluster

clusterinpoint

2)(),(

Page 31: Классификация изображений

Иллюстрация

Page 32: Классификация изображений

Иллюстрация

Page 33: Классификация изображений

Иллюстрация

Page 34: Классификация изображений

Иллюстрация

Page 35: Классификация изображений

Иллюстрация

Page 36: Классификация изображений

Иллюстрация

Page 37: Классификация изображений

Иллюстрация

Page 38: Классификация изображений

Иллюстрация

Page 39: Классификация изображений

Иллюстрация

Page 40: Классификация изображений

Пример словаря

Fei-Fei et al. 2005

Page 41: Классификация изображений

Визуальные словари

• Как выбрать размер словаря?• Маленький: слова не могут описать все особенности• Большой: переобучение

• Вычислительная сложность• Деревья словарей

(Nister & Stewenius, 2006)• Approximate nearest-neighbour• Хеширование

Page 42: Классификация изображений

3. От кластеризации к квантизации

• Квантуем особенности с помощью словаря• Сопоставляем каждый дескриптор ближайшему слову из

словаря

Sivic et al. 2005

Примеры визуальных слова

Page 43: Классификация изображений

3. Описание изображения – «мешок слов»

…..

част

оты

слова

Page 44: Классификация изображений

4. Классификация изображений

• Как мы будем различать изображение, если представление изображения в виде сумки слов уже получено?

Page 45: Классификация изображений

Классификация

• Обучим решающее правило (классификатор), назначающий «мешкам» соответствующий класс

• Любое решающее правило делит пространство на решающие регионы разделенные решающими границами

Decision

Page 46: Классификация изображений

Классификатор – ближайший сосед

• Назначаем объекту метку ближайшего прецедента из обучающей выборки

Диаграмма вороного для разбиения пространства признаковна 2 класса

from Duda et al.

Source: D. Lowe

Page 47: Классификация изображений

К ближайших соседей

k = 5

Source: D. Lowe

• Для каждой точки найти k ближайших точек из обучающей выборки

• Метки k точек голосуют за метку • Работает неплохо при наличии большой обучающей выборки

и хорошей функции близости

Page 48: Классификация изображений

Решающее дерево

1

2

3 4

5

67

1 4

52 3

76

Slide by V.Lempitsky

Page 49: Классификация изображений

«Оверфиттинг» и «Прунинг»

A

B

C D

Slide by V.Lempitsky

Page 50: Классификация изображений

От дерева к лесу

1. Yali Amit, Donald Geman: Shape quantization and recognition with randomized trees. Neural Computation, 1997.

2. Leo Breiman: Random forests. Machine Learning, 2001. Slide by V.Lempitsky

Page 51: Классификация изображений

Решающий лес - обучение

function Node = Обучение_Вершины( {(x,y)}, Level) {if {y} одинаковые или Level == maxLevel

return Создать_Лист(Распределение y);{tests} = Создать_N_Случайных_Разбиений({(x,y)},N);test = Выбрать_лучшее_разбиение_из({tests});{(x0,y0)} = {(x,y) | test(x) = 0};{(x1,y1)} = {(x,y) | test(x) = 1};LeftChild = Обучение_Вершины( {(x0,y0)}, Level+1);RightChild = Обучение_Вершины( {(x1,y1)}, Level+1);return Создать_Вершину(test, LeftChild, RightChild);

}

//Обучение лесаfunction main() {

{X,Y} = Прочитать_Обучающие_Данные();for i = 1 to N

{Xi,Yi} = Случайное_Подмнжество({X,Y}));TreeRoot_i = Обучение_Вершины({Xi,Yi});

end}

Slide by V.Lempitsky

Page 52: Классификация изображений

Решающий лес - применение

Slide by V.Lempitsky

Page 53: Классификация изображений

Решающий лес – свойства

1. Один из самых эффективных алгоритмов классификации2. Вероятностное распределение на выходе3. Применим для высоких размерностей пространства

признаков4. Высокая скорость обучения и тестирования5. Относительная простота реализации

Caruana, R., Niculescu-Mizil, A.: An empirical comparison of supervised learning algorithms, 2006

Slide by V.Lempitsky

Page 54: Классификация изображений

Случайные окна для классификации

Raphaël Marée, Pierre Geurts, Justus H. Piater, Louis Wehenkel: Random Subwindows for Robust Image Classification. CVPR 2005

- случайные окна

- нормализация

Признаки – интенсивностипикселей (цвета)

Page 55: Классификация изображений

Возможные тесты

I(p) ≷ τ I(p) ≷ I(q) + τpp

q

Σ p∊A I(p) ≷ τA

A

B

Σ p∊A I(p) ≷ Σ p∊B I(p) + τ

• Интегральные изображения для быстрого подсчета

Slide by V.Lempitsky

Page 56: Классификация изображений

Устойчивость к повороту

• Случайным образом поворачиваем каждое окно перед нормализацией размера

Page 57: Классификация изображений

Результат работы

• Размер выборки = 100.000• Глубина = максимум• Количество тестов = 1 (“extremely-randomized decision trees”)• 10 деревьев в лесу• всего 6 минут на обучение!!!!• 100 окон (2000 тестов) на классификацию картинки – realtime• Сравнимая с другими методами точность работы!

Slide by V.Lempitsky

Page 58: Классификация изображений

Caltech 101 & 256

Griffin, Holub, Perona, 2007

Fei-Fei, Fergus, Perona, 2004

http://www.vision.caltech.edu/Image_Datasets/Caltech101/

http://www.vision.caltech.edu/Image_Datasets/Caltech256/

Page 59: Классификация изображений

Caltech-101

Page 60: Классификация изображений

The PASCAL Visual Object Classes Challenge (2005-2009)

• Основные конкурсы• Классификация: Для каждого из 20 классов, определить

присутствие/отсутствие объекта этого класса в изображении• Поиск: Определить рамку и метку каждого объекта из 20

классов в изображении

http://pascallin.ecs.soton.ac.uk/challenges/VOC/

Page 62: Классификация изображений

The PASCAL Visual Object Classes Challenge (2005-2009)

• Новые конкурсы• Семантическая

сегментация: попиксельная аннотация области объектов и фона

• Человек: Пометить рамкой и меткой каждую часть тела (голову, руки, ступни)

Page 63: Классификация изображений

Как реализовать?

• OpenCV 2.0• Работа с изображениями, классификаторы

• VLFeat• Детекторы точек, дескрипторы, кластеризация• http://www.vlfeat.org/

• ColorDescriptor• Ряд разнообразных дескрипторов точек• http://staff.science.uva.nl/~ksande/research/

colordescriptors/

Page 64: Классификация изображений

Резюме метода «мешок слов»

1. Извлечение особенностей

2. Обучить “визуальный словарь”

3. Квантуем особенности по словарю

4. Описываем картинку частотами «визуальных слов»

5. Варианты:• Поиск ближайшего• Многоклассовая

классификация

Page 65: Классификация изображений

Завтра…

• Поиск объектов

• Семантическая

сегментация