20100919 computer vision_konushin_lecture03

58
Классифицируем изображение

Transcript of 20100919 computer vision_konushin_lecture03

Классифицируем изображение…

Модель «сумки слов» в анализе текстов

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

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

Модель «сумки слов» в анализе текстов

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

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

Модель «сумки слов» в анализе текстов

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

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

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

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

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

Julesz, 1981; Cula & Dana, 2001; Leung & Malik 2001; Mori, Belongie & Malik, 2001; Schmid 2001; Varma & Zisserman, 2002, 2003; Lazebnik, Schmid & Ponce, 2003

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

histogram

Universal texton dictionaryUniversal texton dictionary

Julesz, 1981; Cula & Dana, 2001; Leung & Malik 2001; Mori, Belongie & Malik, 2001; Schmid 2001; Varma & Zisserman, 2002, 2003; Lazebnik, Schmid & Ponce, 2003

Сумка слов для распознавания объектов

face, flowers, building, , g

• Хорошо работает для распознавания изображений

• VideoGoogle

Схема метода «сумки слов»1. Извлечение особенностей

Схема метода «сумки слов»1. Извлечение особенностей2. Обучить “визуальный словарь”у у р

Схема метода «сумки слов»1. Извлечение особенностей2. Обучить “визуальный словарь”у у р3. Квантуем особенности по словарю

Схема метода «сумки слов»1. Извлечение особенностей2. Обучить “визуальный словарь”у у р3. Квантуем особенности по словарю4. Описываем картинку частотами «визуальных4. Описываем картинку частотами визуальных

слов»5. Классифицируем по этому вектор-признакуф ру у р р у

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

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

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

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

• Характерные точки• Csurka et al. 2004• Fei-Fei & Perona, 2005• Sivic et al. 2005

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

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

• Характерные точки• Csurka et al. 2004• Fei-Fei & Perona, 2005• Sivic et al. 2005

• Другие методы• Другие методы• Случайный выбор (Vidal-Naquet & Ullman, 2002)• Сегменты (Barnard et al. 2003)

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

ВНормализация

области

Вычисление SIFT

[Lowe’99]

Найденные области[Mikojaczyk and Schmid ’02][Mikojaczyk and Schmid 02]

[Mata, Chum, Urban & Pajdla, ’02]

[Sivic & Zisserman, ’03]

Slide credit: Josef Sivic

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

Неупорядоченный набор особенностей!

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

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

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

Slide credit: Josef Sivic

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

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

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

Slide credit: Josef Sivic

Кластеризация K-cредними• Минимизируем сумму квадратов Евклидовых

расстояний между точками xi и ближайшими центрами кластеров mk

∑ ∑= mxMXD 2)()(

• Алгоритм:

∑ ∑ −=k

ki

ki mxMXDcluster

clusterinpoint

)(),(

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

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

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

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

• Словарь можно обучить на отдельной выборке• Если обучающая выборка достаточно представительнаЕсли обучающая выборка достаточно представительна, тогда словарь может стать «универсальным»

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

• «Кодовая книга» = «Визуальный словарь»• «Кодовый вектор» = «Визуальное слово»

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

Fei-Fei et al. 2005

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

Sivic et al. 2005

Визуальные словари• Как выбрать размер словаря?

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

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

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

3. Описание изображенияы

частоты

ч

…..

слова

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

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

уже получено?

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

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

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

from Duda et al.

на 2 класса Source: D. Lowe

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

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

б й ф б

k = 5

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

Source: D. Lowe

Функции сравнения гистограмм

∑N

• L1 distance ∑=

−=i

ihihhhD1

2121 |)()(|),(

• χ2 distance ( )∑ −=

N

ihihihihhhD

221

21 )()()()(),(

• Quadratic distance (cross-bin)

∑= +i ihih1 21

21 )()()(

Quad a c d s a ce (c oss b )

∑ −= jhihAhhD 2))()(()( ∑ −=ji

ij jhihAhhD,

2121 ))()((),(

Jan Puzicha, Yossi Rubner, Carlo Tomasi, Joachim M. Buhmann: Empirical Evaluation of Dissimilarity Measures for Color and Texture. ICCV 1999

Earth Mover’s Distance• Каждое изображение описывается «подписью» S, состоящей из набора центров {mi } и весов {wi }

• Центр - это кодовые слова или даже отдельные особенности (если квантизации не требуется)

• Earth Mover’s Distance:

df )(∑=

ji ij

jiij

fmmdf

SSEMD,

2121

),(),(

где поток fij - это решение транспортной задачи (поток)

j ijf,

Y. Rubner, C. Tomasi, and L. Guibas: A Metric for Distributions with Applications to Image Databases. ICCV 1998

Решающие деревья

• Classification trees• Двоичное дерево• Двоичное дерево• Узлы:

• Помечены некоторым ( )x0πf l

рпредикатом

С( )x1π 1+=y

boolX →:πfalse

f l

true

• Связи:• Помечены

1+=y 1−=y⎬⎫

⎨⎧ true

true false

• Листья:• Помечены ответами из Y

⎭⎬

⎩⎨ false

Пример решающего дерева

3 43 4

2 5 1 42

52 3

16

7

52 3

1 7 76

Slide by Victor Lempitsky

Переобучение и обрезка дерева

B

A

C D

Slide by Victor Lempitsky

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

1 Y li A it D ld G Sh ti ti d iti ith d i d t1. Yali Amit, Donald Geman: Shape quantization and recognition with randomized trees. Neural Computation, 1997.

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

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

Slide by Victor Lempitsky

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

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

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

}

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

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

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

end}

Slide by Victor Lempitsky

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

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

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

C R Ni l Mi il A A i i l i fCaruana, R., Niculescu-Mizil, A.: An empirical comparison of supervised learning algorithms, 2006

Slide by Victor Lempitsky

Добавляем положение• Расширение «сумки слов»• Локально-неупорядоченное представление на нескольких уровнях

level 0

Lazebnik, Schmid & Ponce (CVPR 2006)

Добавляем положение• Расширение «сумки слов»• Локально-неупорядоченное представление на нескольких уровнях

level 0 level 1

Lazebnik, Schmid & Ponce (CVPR 2006)

Добавляем положение• Расширение «сумки слов»• Локально-неупорядоченное представление на нескольких уровнях

level 0 level 1 level 2

Lazebnik, Schmid & Ponce (CVPR 2006)

Сортировка результата

• Используем афинно-инвариантные особенностиинвариантные особенности

• По одной особенности можно вычислить преобразованиевычислить преобразование• RANSAC, LO-RANSAC

• Количество инлаеров даетКоличество инлаеров дает «качество» модели

• Поднимаем выше изображения, д р ,которые дают много инлаеров

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

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

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

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

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

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

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

p

q

Σ p A I(p)  τA

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

A

A

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

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

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

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

• Размер выборки = 100.000• Глубина = максимумК 1 (“ t l d i d d i i t ”)• Количество тестов = 1 (“extremely-randomized decision trees”)

• 10 деревьев в лесу• всего 6 минут на обучение!!!!• 100 окон (2000 тестов) на классификацию картинки – realtime• Сравнимая с другими методами точность работы!

Learning realistic human actions from movies

I. Laptev, M. Marszałek, C. Schmid and B. Rozenfeld; "Learning realistic human actions from movies“ CVPR 2008

Аннотация по сценарию

• Сценарии есть для более 500 фильмовd il i t i kl i twww.dailyscript.com, www.movie-page.com, www.weeklyscript.com …

• Субтитры (со временем) есть почти для всех фильмов• Можем сопоставить на основе этой информации

…117201 20 1 240 01 20 20 43

subtitles movie script

01:20:17,240 --> 01:20:20,437

Why weren't you honest with me?Why'd you keep your marriage a secret?

RICK

Why weren't you honest with me? Whydid you keep your marriage a secret?

117301:20:20,640 --> 01:20:23,598

lt wasn't my secret, Richard.Victor wanted it that way

Rick sits down with Ilsa.

ILSA

01:20:17

01:20:23

Victor wanted it that way.

117401:20:23,800 --> 01:20:26,189

Oh, it wasn't my secret, Richard. Victor wanted it that way. Not even our closest friends knew about our marriage.

Not even our closest friendsknew about our marriage.…

g…

Оценка качества

• Аннотация действий текстом• Автоматические сопоставление сценария и• Автоматические сопоставление сценария и

видео

Пример ошибки

• Необходимо проверять соответствие

A bl k ll tA black car pulls up, two army officers get out.

a: - качество сопоставления

Извлечение действий из сценария

• Large variation of action expressions in text:

“… Will gets out of the Chevrolet. …” “… Erin exits her new truck…”

GetOutCar действий

Потенциальная ошибка: “…About to sit down, he freezes…”

• => Классификация текста с учителем

Набор данных из киноvi

es12

mov

diffe

rent

vi

es20

dm

ov

• Обучить классификатор по автоматической разметке• Сравнить работы с ручной разметкой

Схем метода

Мешок STIP + многоканальный SVM[Schuldt’04 Niebles’06 Zhang’07]

б S

[Schuldt 04, Niebles 06, Zhang 07]

Набор STIP-патчей

Histogram of visual words

Multi-channelSVM

HOG & HOFpatch

Classifierpatch descriptors

STIP

• Space-time corner detector[Laptev IJCV 2005][Laptev, IJCV 2005]

• Dense scale sampling (no explicit scale selection)

STIP: Дескриптор

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

Histogram of oriented spatial

d (HOG)

Histogram of optical

grad. (HOG) flow (HOF)Public code available at www.irisa.fr/vista/actions

3x3x2x4bins HOGdescriptor

3x3x2x5bins HOF descriptor

«Мешок слов»We use global spatio-temporal grids

In the spatial domain:p1x1 (standard BoF)2x2, o2x2 (50% overlap)h3x1 (horizontal) v1x3 (vertical)h3x1 (horizontal), v1x3 (vertical)3x3

In the temporal domain:t1 (standard BoF) t2 t3t1 (standard BoF), t2, t3

• • •

Распознавание в кино

Figure: Example results for action classification trained on the automatically annotated data We show the key frames for testautomatically annotated data. We show the key frames for test movies with the highest confidence values for true/false pos/neg

Распознавание в кино

Note the suggestive FP: hugging or answering the phoneN t th di lt FN tti t f h d h kiNote the dicult FN: getting out of car or handshaking

Распознавание в кино

Table: Average precision (AP) for each action class ofTable: Average precision (AP) for each action class of our test set. We compare results for clean (annotated) and automatic training data. We also show results for a grandom classifier (chance)