cv2011 lecture 6. fitting

128
Оценка параметров моделей

Upload: anton-konushin

Post on 22-Nov-2014

1.638 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: CV2011 Lecture 6. Fitting

Оценка параметров моделей

Page 2: CV2011 Lecture 6. Fitting

Общая информация

Страница курса http://courses.graphicon.ru/main/vision

Этот курс подготовлен и читается при

поддержке Microsoft Research

Page 3: CV2011 Lecture 6. Fitting

Зачем нужна оценка параметров?

• Умеем находить особенности на изображении - края и особые точки

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

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

9300 Harris Corners Pkwy, Charlotte, NC

Slide by S. Lazebnik

Page 4: CV2011 Lecture 6. Fitting

Source: K. Grauman

Оценка параметров • Выберем параметрическую модель, описывающую

геометрическое распределение признаков

Простая модель: линия Простая модель: окружность

Сложная модель: машина

Page 5: CV2011 Lecture 6. Fitting

Сопоставление изображений

500 особенностей

Соответствия (268) Выбросы (117)

Хороших соответствий (151) – благодаря оценке модели преобразования!

Лучше картинку про оценку параметров преобразования

Page 6: CV2011 Lecture 6. Fitting

Оценка параметров

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

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

• Три основных вопроса: • Какая модель лучше всего описывает набор признаков? • Какому экземпляру (instance) модели принадлежит

признак? • Сколько экземпляров модели на изображении?

• Вычислительная сложность • Невозможно перебрать все возможные экземпляры и

параметры моделей

Slide by S. Lazebnik

Page 7: CV2011 Lecture 6. Fitting

Оценка параметров

• Шум в выделенных признаках • Лишние данные: шум (выбросы), множество линий • Пропавшие данные: перекрытия

Пример: поиск линих

Slide by S. Lazebnik

Page 8: CV2011 Lecture 6. Fitting

Оценка параметров: задачи

• Если мы знаем, какие точки лежат на линии, как нам найти оптимальные параметры линии? • Метод наименьших квадратов

• Как быть с выбросами? • Робастные оценки, RANSAC

• Как быть, если линий много? • Схемы голосования: RANSAC, преобразование Хафа

• Как быть, если мы не уверены, что линия – лучшая модель? • Выбор оптимальной модели (Model selection)

Slide by S. Lazebnik

Page 9: CV2011 Lecture 6. Fitting

Прямые линии

Дано: • Набор точек (xi, yi), i=1..N

Найти • Прямую, наилучшим образом

их аппроксимирующую

• Здравый смысл: • Минимум квадратов расстояний от точек до прямой

• Вероятностная формулировка: • Максимум правдоподобия

lyxl iil|)},({ Pmaxargˆ

Page 10: CV2011 Lecture 6. Fitting

Максимум правдоподобия Нет ошибок в x Есть ошибки в y Ошибки:

• независимы • одинаково распределены • распределены

нормально

Метод наименьших квадратов

),0(~

;,;

2

N

YyXxibaxy

iiii

Page 11: CV2011 Lecture 6. Fitting

Метод максимального правдоподобия

),(|)},({ Pmaxarg),(

bayx iiba

2

2

),( 2)( expmaxarg

i

ii

iba

baxy

i i

iiba

baxy2

2

),( 2)(minarg

i

iibabaxy 2

),()(minarg

Правдоподобие:

Независимые, нормально распределенные ошибки:

log – монотонная функция:

Одинаково распределённые ошибки:

Получаем метод наименьших квадратов

Page 12: CV2011 Lecture 6. Fitting
Page 13: CV2011 Lecture 6. Fitting

Более сложный случай

(ошибки как в x так и в y )

Page 14: CV2011 Lecture 6. Fitting

Модель • Модель: точки на линии

зашумлены гауссовым шумом в направлении перпендикулярном к линии

ba

vu

yx

(x, y)

ax+by=d

(u, v) ε

Точка на

линии шум: нормально –

распределенный с нулевым матожиданием

и стандартным отклонением σ

нормаль

Slide by S. Lazebnik

Page 15: CV2011 Lecture 6. Fitting

МНК • Модель: точки на линии

зашумлены гауссовым шумом в направлении перпендикулярном к линии

ba

vu

yx

(x, y)

(u, v) ε

n

i

iin

iin

dbyaxdbaxPdbaxxP1

2

2

11 2

)(exp),,|(),,|,,(

Правдоподобие точек при параметрах (a, b, d):

n

iiin dbyaxdbaxxL

1

221 )(

21),,|,,(

Логарифм:

ax+by=d

Slide by S. Lazebnik

Page 16: CV2011 Lecture 6. Fitting

Полные наименьшие квадраты Расстояние от (xn, yn) до линии ax+by=d (a2+b2=1): |ax + by – d| Найти (a, b, d) минимизирующие:

n

i ii dybxaE1

2)( (xi, yi)

ax+by=d

n

i ii dybxaE1

2)(

Нормаль N=(a, b)

0)(21

n

i ii dybxadE ybxax

nbx

nad n

i in

i i 11

)()())()((

211

12 UNUN

ba

yyxx

yyxxyybxxaE T

nn

n

i ii

0)(2 NUUdNdE T

Решение (UTU)N = 0, при условии ||N||2 = 1: собственный вектор UTU соответствующий минимальному собственному значению

Slide by S. Lazebnik

Page 17: CV2011 Lecture 6. Fitting

SVD-разложение

• Singular Value Decomposition: A = UDVT, где • U, V - ортогональные • D – диагональная (м.б. упорядочены столбцы по

убыванию элементов) • D – состоит из сингулярных чисел

• Одно из самых важных разложений • Связь с собственными значениями:

• Сингулярные значения – корни квадратные собственных значений матрицы ATA

TUDVA TTT UDVVDUAA

T2TT VVDVDDVAA

Page 18: CV2011 Lecture 6. Fitting

Наименьшие квадраты

• Имеем уравнение при

• Решим с помощью SVD-разложения:

• Нужно минимизировать

• Однако:

• Тогда нам нужно минимизировать при

• Обозначим y = VTp

• Тогда нам нужно минимизировать при • D – диагональная, столбцы упорядочены по убыванию!

• y=(0,….,0,1)T , тогда p=Vy – последний столбец V

0pA 1p TUDVA

pTUDVpp TT DVUDV pp TV

pTDV 1VT p

yD 1y

Page 19: CV2011 Lecture 6. Fitting

Полные наименьшие квадраты

yyxx

yyxxU

nn

11

n

ii

n

iii

n

iii

n

ii

T

yyyyxx

yyxxxxUU

1

2

1

11

2

)())((

))(()(

Матрица вторых моментов

Slide by S. Lazebnik

Page 20: CV2011 Lecture 6. Fitting

Полные наименьшие квадраты

yyxx

yyxxU

nn

11

n

ii

n

iii

n

iii

n

ii

T

yyyyxx

yyxxxxUU

1

2

1

11

2

)())((

))(()(

),( yx

N = (a, b)

Матрица вторых моментов

),( yyxx ii

Slide by S. Lazebnik

Page 21: CV2011 Lecture 6. Fitting

Полные НК

Максимальный собственный вектор матрицы Задает направление прямой , минимальный – направление

нормали

Прямая проходит через среднюю точку

iyi

iyixi

iyixi

ixi

yyx

yxxCov 2

2

l

),( yx

i

iyi

ix yN

xN

1;1

),( ba

)( yx bac

Page 22: CV2011 Lecture 6. Fitting

МНК и метод полных НК

Пример отличия:

Исходная прямая метод полных НК МНК

Page 23: CV2011 Lecture 6. Fitting

Наименьшие квадраты для кривых • Минимизируем сумму квадратов геометрических

расстояний от точек до кривой

(xi, yi) d((xi, yi), C)

curve C

Slide by S. Lazebnik

Page 24: CV2011 Lecture 6. Fitting

Наименьшие квадраты для коники • Формула коники:

C(a, x) = a · x = ax2 + bxy + cy2 + dx + ey + f = 0, a = [a, b, c, d, e, f], x = [x2, xy, y2, x, y, 1]

• Минимизация геометрических расстояний – нелинейная оптимизация даже для коник

• Алгебраическое расстояние: C(a, x) • Алгебраическое расстояние минимизируется НК:

0

1

11

22

222222

22

112111

21

fedcba

yxyyxx

yxyyxxyxyyxx

nnnnnn

Slide by S. Lazebnik

Page 25: CV2011 Lecture 6. Fitting

МНК для коник • СЛАУ: Da = 0 • Нужно ограничение для исключение тривиального

решения • Дискриминант: b2 – 4ac

• Отрицательный: эллипс • Ноль: парабола • Положительный: гипербола

• Минимизация квадрата алгебраического расстояния с ограничениями ведет к обобщенной задаче на собственные значения (есть ряд методов)

• Подробнее тут: • A. Fitzgibbon, M. Pilu, and R. Fisher, Direct least-squares fitting

of ellipses, IEEE Transactions on Pattern Analysis and Machine Intelligence, 21(5), 476--480, May 1999

Slide by S. Lazebnik

Page 26: CV2011 Lecture 6. Fitting

Проблема выбросов

Что, если предположение о характере шума нарушается?

Page 27: CV2011 Lecture 6. Fitting

Выбросы

• Если часть данных x не порождена моделью F, то при оценке методом максимального правдоподобия результат может быть сколь угодно далек от истинного

• Такие данные называются выбросы (outliers)

Page 28: CV2011 Lecture 6. Fitting

М-оценки

Идея – уменьшить влияние “далеких” точек

Возьмем параметризацию: Модифицируем целевую функцию:

iii RyxR

R2

),()sincos(minarg),(

siny cosx

Ryx

R

iii

iiR

sincos

)(minarg),(),(

Если ρ(ε)=ε2 - получаем МНК

Page 29: CV2011 Lecture 6. Fitting

Робастные оценки

• Обычно: минимизируем • ri (xi, θ) – невязка i-ой точки при условии параметров

модели θ ρ – робастная функция с параметром масштаба σ

;,iii

xr

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

Slide by S. Lazebnik

Page 30: CV2011 Lecture 6. Fitting

М-оценки

Результат:

Равный вклад в целевую функцию

Page 31: CV2011 Lecture 6. Fitting

М-оценки

Часто используемые варианты функции :

;1log2

)(

||6

||116)(

22

2

322

cc

KK

KK

K

Тьюки

Коши

Настроечные константы: 2.385;c 4.685; K

Page 32: CV2011 Lecture 6. Fitting

М-оценки

Вопрос: • Как найти минимум целевой функции?

– Это может быть весьма непростой задачей при определенных функциях ρ

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

Page 33: CV2011 Lecture 6. Fitting

Взвешенные наименьшие квадраты

Обычные наименьшие квадраты (ordinary LS):

Полные наименьшие квадраты (Total LS):

i

iiibabaxywba 2

),(minarg),(

i

iiibabacbyaxwcba 2

1:),()(minarg),,(

22

1i

iw

Page 34: CV2011 Lecture 6. Fitting

Взвешенные НК

Максимальный собственный вектор матрицы Задает направление прямой , минимальный – направление

нормали

Прямая проходит через среднюю точку

l

),( yx

),( ba

)( yx bac

iyii

iyixii

iyixii

ixii

ywyxw

yxwxwCov 2

2

; ;

ii

iii

y

ii

iii

x w

xw

w

xw

Page 35: CV2011 Lecture 6. Fitting

Итеративный МНК

1. Получить начальное приближение методом наименьших

квадратов – Θ(0)=(ρ(0), θ(0))

2. Номер итерации t=1

3. Для Θ(t-1) посчитать текущую оценку шума σ(t)

4. Рассчитать веса точек wi(t) с учетом функции ρ

5. Используя взвешенные МНК получить Θi

6. Если вектор параметров существенно изменяется ||Θ(t)

− Θ(t-1)||> ε’ - перейти на шаг 3

Итеративно перевзвешиваемые наименьшие квадраты:

Page 36: CV2011 Lecture 6. Fitting

Оценка масштаба σ (шума)

• Как рассчитать уровень шума σ ? – Нужна устойчивая к выбросам оценка

Несмещенная (для нормального распределения) робастная оценка средней ошибки

Page 37: CV2011 Lecture 6. Fitting

Влияние константы

Первый шаг C = 1.5 C = 3.5

Page 38: CV2011 Lecture 6. Fitting

Веса

• Как связаны веса точек и функция ρ ?

i

iiw )('

;1

1)(

||0

||1)(

2

2

cx

w

K

KKwТьюки

Коши

Page 39: CV2011 Lecture 6. Fitting

М-оценки Недостатки:

• Необходимость хорошего первого приближения • Баланс весов – точность vs устойчивость

Page 40: CV2011 Lecture 6. Fitting

RANSAC

• Идея – проведение оценки не по всем данным, а по выборке, не содержащей выбросов

• Поскольку выбросы заранее неизвестны, такую выборку пытаемся получить случайным образом за несколько попыток

• Для снижения вероятности включения выбросов, выборка содержит минимальное количество точек, необходимых для оценки параметров модели

• Random sample consensus (RANSAC)

M. A. Fischler, R. C. Bolles. Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography. Comm. of the ACM, Vol 24, pp 381-395, 1981.

Page 41: CV2011 Lecture 6. Fitting

Выборка как основа схемы

• Основой рассматриваемых схем является оценка модели по небольшой выборке S x

• Проблема- количество таких выборок огромно

Page 42: CV2011 Lecture 6. Fitting

Базовая схема RANSAC

Повторяем N раз: (i) Построение выборки S X (ii) Построение гипотезы по выборке S (iii) Оценка степени согласия гипотезы и набора исходных

данных X (iv) Выбор наилучшей гипотезы (v) Уточнение гипотезы по всем «хорошим» данным

Для заданной доли выбросов можно рассчитать количество итераций N, необходимое для получения модели построенной без выбросов с заданной вероятностью P

Page 43: CV2011 Lecture 6. Fitting

Функции оценки гипотезы (1)

,niTTppR

i

ii

ii 1,

01

)( ,))(()(22

2222

RANSAC

)( i - невязка i-ой точки и оцениваемой гипотезы

1 ),)(()( 2 ,nimedianR i

LMS (Least median squares)

Page 44: CV2011 Lecture 6. Fitting

Пример RANSAC

11 «голосов» 4 «голосов»

Page 45: CV2011 Lecture 6. Fitting

Выбор параметров • Размер выборки s

• Обычно, минимальное количество, дочтаточное для оценки параметров

• Порог T • Выбираем T так, чтобы вероятность инлаера (inlier) была

p (пр. 0.95) • Обычно гауссова модель шума с нулевым матожиданием и

σ: t2=3.84σ2

• Количество выборок N • Выбираем N так, чтобы вероятность выбрать хотя бы одну

выборку без выбросов была не ниже заданной (например, 0.99)

• Зависит от доли выбросов в данных (доля выбросов: e)

Source: M. Pollefeys

Page 46: CV2011 Lecture 6. Fitting

Сколько гипотез нужно проверить?

• N – количество выборок • p – вероятность получить хорошую выборку за N итераций; • s – количество элементов в выборке • ε – процент хороших точек в наборе

sepN 11log/1log peNs 111

Page 47: CV2011 Lecture 6. Fitting

Количество итераций

proportion of outliers e s 5% 10% 20% 25% 30% 40% 50% 2 2 3 5 6 7 11 17 3 3 4 7 9 11 19 35 4 3 5 9 13 17 34 72 5 4 6 12 17 26 57 146 6 4 7 16 24 37 97 293 7 4 8 20 33 54 163 588 8 5 9 26 44 78 272 1177

Source: M. Pollefeys

• Количество выборок быстро растет с ростом размера выборки и доли выбросов

Page 48: CV2011 Lecture 6. Fitting

Адаптивное завершение алгоритма • Доля e обычно заранее неизвестна, поэтому

начинаем с грубой оценки (пр.: 50%), затем вычисляем оценку хороших точек для каждой гипотезы

• Процедура: • N=∞, sample_count =0 • While N >sample_count

– Строим выборку, гипотезу, оцениваем кол-во inliers – Set e = 1 – (number of inliers)/(total number of points) – Recompute N from e:

– Increment the sample_count by 1 sepN 11log/1log

Source: M. Pollefeys

Page 49: CV2011 Lecture 6. Fitting

Функции оценки гипотезы (2)

RANSAC

• сильно зависит от выбора порога T

LMS

• Не работает при >50% выбросов

• Может выбрать ложную гипотезу

Page 50: CV2011 Lecture 6. Fitting

Большой порог – проблема!

Page 51: CV2011 Lecture 6. Fitting

Большой порог – проблема!

Верное решение…

Page 52: CV2011 Lecture 6. Fitting

Большой порог – проблема!

…эквивалентно неверному

Page 53: CV2011 Lecture 6. Fitting

Маленький порог – проблема!

Page 54: CV2011 Lecture 6. Fitting

Проблема LMS

Медиана ошибки одинакова для обоих решений

Page 55: CV2011 Lecture 6. Fitting

Con: LMS, subspace problem

Нет хорошего решения, если выбросов >50%

Page 56: CV2011 Lecture 6. Fitting

Функции оценки гипотезы (3)

• M-SAC • Возьмём M-оценку в качестве целевой функции:

• M-SAC дает более точную оценку без увеличения вычислительной сложности

,niTTTppR

i

iii

ii 1,)( ,))(()(

222

22222

Page 57: CV2011 Lecture 6. Fitting

M-SAC

Верное решение…

Page 58: CV2011 Lecture 6. Fitting

M-SAC

Лучше неверного

Page 59: CV2011 Lecture 6. Fitting

Обобщение на окружности

• Берем три точки • Проводим через них окружность • Все остальное – точно так же!

• Аналогично применяется для всех других моделей. Отличия только в функции оценки параметров модели, размере выборки

Page 60: CV2011 Lecture 6. Fitting

Сопоставление изображений

Сопоставление по дескрипторам – много ложных

Page 61: CV2011 Lecture 6. Fitting

Фильтрация ложных соответствий

(m,m’) – пары соответствующих точек Как отделить правильные соответствия от

неправильных? Используем модель преобразования H из M в M’

для фильтрации точек Оценим модель с помощью RANSAC Отфильтруем выбросы по модели Уточним модель по всем оставшимся точкам

Iterative least-squares Non-linear minimization

Page 62: CV2011 Lecture 6. Fitting

Ложные соответствия

500 особенностей

Соответствия (268) Выбросы (117)

Хороших соответствий (151)

Page 63: CV2011 Lecture 6. Fitting

Модели преобразований в 2D

• Подобие (перенос, масштаб, поворот)

• Афинное

• Проективное (гомография)

Slide by S. Lazebnik

Page 64: CV2011 Lecture 6. Fitting

Оценка афинного преобразования • Как вычислить преобразование по известным

соответствиям?

),( ii yx ),( ii yx

2

1

43

21

tt

yx

mmmm

yx

i

i

i

i

i

i

ii

ii

yx

ttmmmm

yxyx

2

1

4

3

2

1

10000100

Slide by S. Lazebnik

Page 65: CV2011 Lecture 6. Fitting

Оценка афинного преобразования

• Линейная система с 6ю неизвестными • Каждое соответствие дает нам 2 линейно-

независимых уравнения • Нужно 3+ соответствий для оценки

преобразования

i

i

ii

ii

yx

ttmmmm

yxyx

2

1

4

3

2

1

10000100

Slide by S. Lazebnik

Page 66: CV2011 Lecture 6. Fitting

Гомография • Перспективное преобразование плоскости • Переводит четырехугольник в другой

произвольный четырехугольник

Slide by S. Lazebnik

Page 67: CV2011 Lecture 6. Fitting

Гомография • Преобразование между 2мя разными видами одной и той же

плоскости

• Преобразование между видами с повернутой камеры (центр проекции общий)

Slide by S. Lazebnik

Page 68: CV2011 Lecture 6. Fitting

Однородные координаты • Однородные координаты

Перевод в однородные координаты

Перевод из однородных координат

TTT yxyxwwywx 1

Удобнее представлять себе так:

Подробнее будет в лекциях про геометрические свойства камер!

Page 69: CV2011 Lecture 6. Fitting

Оценка гомографии

Уравнение гомографии

11 333231

232221

131211

i

i

i

i

yx

hhhhhhhhh

yx

• Каждая пара соответствующих точек {(x,y),(x’,y’)} даёт 2 линейно-независимых уравнения на параметры H

• H определена с точностью до масштаба • Можем поставить ограничение ||H||=1 или h33=1

• 4х пар соответствующих точек достаточно для составления системы уравнений

• Задача сводится к задаче наименьших квадратов

Hyx '

Page 70: CV2011 Lecture 6. Fitting

Ректификация изображения

• Выбираем 4 точки, которые являются вершинами прямоугольника с известными размерами • Вычисляем гомографию (4е точки -> прямоугольник) • Развертываем изображение • Можем измерять расстояния на плоскости!

Page 71: CV2011 Lecture 6. Fitting

Приложение: склейка панорам

Slide by S. Lazebnik

Page 72: CV2011 Lecture 6. Fitting

Распознавание панорам

M. Brown and D. Lowe, “Recognizing Panoramas,” ICCV 2003.

• Из неупорядоченного набора фотографий определить, какие относятся к какой панораме и сшить их

http://www.cs.ubc.ca/~mbrown/panorama/panorama.html Slide by S. Lazebnik

Page 73: CV2011 Lecture 6. Fitting

RANSAC pros and cons

• Плюсы • Простой и общий метод • Применим для множества задач • Хорошо работает на практике

• Минусы • Много настраиваемых параметров • Не всегда удается хорошо оценить параметры по

минимальной выборке • Иногда требуется слишком много итераций • Не срабатывает при очень высокой доле выбросов • Часто есть лучший способ, нежели равновероятно

выбирать точки

Page 74: CV2011 Lecture 6. Fitting

Схемы голосования

• Пусть каждый признак голосует за все модели, которым он удовлетворяет

• Модели, за которые проголосовало наибольшее количество признаков, считаем результатом

• Надеемся, выбросы/шум не будут голосовать согласованно за определенные модели

• Пропущенные данные не играют большой роли до тех пор, пока оставшихся данных достаточно для голосования за правильные модели

Slide by S. Lazebnik

Page 75: CV2011 Lecture 6. Fitting

Преобразование Хафа

• Hough transform: • Дискретизируем пространство параметров (разделим его

на ячейки) • Для каждого признака (точки) на изображении, голосуем

за все ячейки в пространстве параметров, которые могут породить этот признак (точку)

• Найдем ячейки с максимум голосов

P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, Proc. Int. Conf. High Energy Accelerators and Instrumentation, 1959

Image space Hough parameter space

Slide by S. Lazebnik

Page 76: CV2011 Lecture 6. Fitting

Фазовое пространство • Пример для линий • Каждая линия на изображении соответствует точке в

пространстве параметров (фазовом пространстве) • Необходимо, что всевозможные линии на изображении

соответствовали ограниченной области в фазовом пространстве

Image space Hough parameter space

Source: S. Seitz

Page 77: CV2011 Lecture 6. Fitting

Параметризация линий

Прямую на плоскости можно задать следующим образом:

x cos + y sin = R,

• R - длина перпендикуляра опущенного на прямую из начала координат

• R ограничено размерами входного изображения.

• - угол между перпендикуляром к прямой и осью OX

• изменяется в пределах от 0 до 2

Page 78: CV2011 Lecture 6. Fitting

Фазовое пространство

Через одну точку можно провести несколько прямых. Учитывая дискретность их будет конечное число.

Каждой прямой пространства (x, y) соответствует точка фазового пространства (R, ). Прямые с левого рисунка образуют синусоиду.

Page 79: CV2011 Lecture 6. Fitting

Дискретизация

Переводим непрерывное фазовое пространство в дискретное: • введем сетку на пространстве (R, )

Счетчик ставится в соответствие каждой ячейке сетки [Ri, Ri+1] x [i,i+1]

За эту ячейку «голосуют» точки (x, y), удовлетворяющие:

x cos + y sin = R, где i ≤ ≤ i+1, Ri ≤ R ≤ Ri+1

Page 80: CV2011 Lecture 6. Fitting

features votes

Иллюстрация

Slide by S. Lazebnik

Page 81: CV2011 Lecture 6. Fitting

Демонстрация Как заполняется аккумулятор

Анимация со страницы Amos Storkey

Page 82: CV2011 Lecture 6. Fitting

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

• Инициализируем аккумулятор H нулями

• Для каждой точки края(x,y)

на изображении For θ = 0 to 180 ρ = x cos θ + y sin θ H(θ, ρ) = H(θ, ρ) + 1 end end

• Найти значения (θ, ρ) где H(θ, ρ) достигает

локального максимума • Найденные линии задаются формулой

ρ = x cos θ + y sin θ

ρ

θ

Slide by S. Lazebnik

Page 83: CV2011 Lecture 6. Fitting

Пример работы метода

Исходное изображение Выделенные края Найденные прямые

Фазовое пространство

Page 84: CV2011 Lecture 6. Fitting

Недостатки метода Хафа

Ручной выбор дискретизации фазового пространства Шум приводит к «размытию» максимумов

Slide by S. Lazebnik

Page 85: CV2011 Lecture 6. Fitting

Эффект шума • Количество голосов за линию из 20 точек с

увеличением шума:

Slide by S. Lazebnik

Page 86: CV2011 Lecture 6. Fitting

Случайные точки (выбросы)

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

features votes

Slide by S. Lazebnik

Page 87: CV2011 Lecture 6. Fitting

Неполнота данных

Пропущенные данные также приводят к размытию значений в аккумуляторе

Page 88: CV2011 Lecture 6. Fitting

Преобразование Радона

Преобразование Хафа (Hough transform) • Перебрать все точки на изображении • Для каждой выбрать все прямые, через нее проходящие

– Увеличить счетчик точек для каждой из этих прямых Преобразование Радона

(Radon transform) • Перебрать все возможные прямые на изображении • Для каждой посчитать кол-во точек, на ней лежащих

Доказано, что эти подходы эквивалентны в

дискретном случае

Page 89: CV2011 Lecture 6. Fitting

Преобразование Радона

Используется та же параметризация, что и для Хафа • R - определяется размерами изображения,

0 ≤ ≤ 2 • Рассчитывается следующая величина:

H

dssRsRIR cossin,sincos,

Page 90: CV2011 Lecture 6. Fitting

Преобразование Радона

R

qi

iR ,

H

cossin,sincos, dssRsRIR

H

Page 91: CV2011 Lecture 6. Fitting

Пример поиска прямых Пример взят из помощи к MatLab

Исходное изображение

Найденные края

Page 92: CV2011 Lecture 6. Fitting

Большой пик = 1, R = -80

q

R

Пример фазового пространства

Page 93: CV2011 Lecture 6. Fitting

Соответствующая прямая

iR ,Исходное изображение

Большой пик = 1, R = -80

R

q

Page 94: CV2011 Lecture 6. Fitting

Радон и Хаф

Доказано, что эти преобразования эквивалентны для дискретного случая • Преобразование Радона пришло из

томографии, изначально формулируется непрерывно

• Преобразование Хафа придумано специально для поиска фигур на изображениях, дискретно изначально

Когда что лучше применять? • Хаф эффективнее когда на изображении мало точек • Радон эффективнее, когда возможных конфигураций

прямых немного

Page 95: CV2011 Lecture 6. Fitting

Практические вопросы • Отфильтроваить лишние признаки

• Для линий, стоит брать точки на краях только с большим градиентом

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

голосовать за одну ячейку • Слишком мелкая: можно пропустить линии, т.к.

зашумленные точки будут голосовать за разные ячейки

• Для поиска максимумов можно сглаживать значения в аккумуляторе

• Какая точка соответствует какой линии? • Помечаем голоса

Slide by S. Lazebnik

Page 96: CV2011 Lecture 6. Fitting

Расширение: учет градиента • Когда мы находим края, мы знаем также градиент • Это значит, что направление линии уже определено!

• Усовершенствованный метод:

For each edge point (x,y)

θ = gradient orientation at (x,y) ρ = x cos θ + y sin θ H(θ, ρ) = H(θ, ρ) + 1 end

Slide by S. Lazebnik

Page 97: CV2011 Lecture 6. Fitting

Обобщение на другие кривые

Рассмотрим семейство кривых на плоскости, заданное параметрическим уравнением:

F(a1, a2, …, an, x, y) = 0;

где F - некоторая функция, a1, a2, ..., an - параметры семейства кривых, x, y - координаты на плоскости.

Параметры семейства кривых образуют фазовое пространство,

каждая точка которого (конкретные значения параметров a1, a2, ..., an) соответствует некоторой кривой.

Page 98: CV2011 Lecture 6. Fitting

Преобразование Хафа: За и Против

• За • Может работать в условиях перекрытий • Поиск нескольких экземпляров объектов за один проход • Некоторая устойчивость к шуму: выбросы обычно

голосуют за разные ячейки

• Против • Сложность алгоритма резко растет с увеличением

количества параметров • Сложно выбрать правильный шаг сетки

Page 99: CV2011 Lecture 6. Fitting

Поиск окружностей • Как применить преобразование Хафа для

окружностей? • Размерность нашего фазового пространства? • Если дана точка ориентированного края, за какие

точки в фазовом пространстве она будет голосовать?

Slide by S. Lazebnik

Page 100: CV2011 Lecture 6. Fitting

Поиск окружностей

),(),( yxfryx

x

y

(x,y) x

y

r

),(),( yxfryx

image space Hough parameter space

Slide by S. Lazebnik

Page 101: CV2011 Lecture 6. Fitting

Поиск окружностей • Преобразование Радона для окружностей • Для каждого (x,y,r), рисуем окружность на

изображении и вычисляем «поддержку»

x

y

r

Какое преобразование эффективнее?

Slide by S. Lazebnik

Page 102: CV2011 Lecture 6. Fitting

Применение для распознавания

F. Jurie and C. Schmid, Scale-invariant shape features for recognition of object categories, CVPR 2004

Slide by S. Lazebnik

Page 103: CV2011 Lecture 6. Fitting

Hough circles vs. Laplacian blobs

F. Jurie and C. Schmid, Scale-invariant shape features for recognition of object categories, CVPR 2004

Original images

Laplacian circles

Hough-like circles

Устойчивость к шуму и фону

Slide by S. Lazebnik

Page 104: CV2011 Lecture 6. Fitting

Применение: распознавание

Page 105: CV2011 Lecture 6. Fitting

Сопоставление по SIFT • Идея:

• Возьмем несколько изображений объекта с разных ракурсов

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

тестовым изображением • Ищем «группы» совпадающих особенностей

– Достаточно хорошо работает при 3х особенностях

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

Page 106: CV2011 Lecture 6. Fitting

Шаг 1 • Найдем ближайшие по дескриптору пары (м.б.

тысячи) • Отфильтруем ложные по эвристике:

• Сравним расстояния до ближайшей особенности с второй ближайшей по метрики

• Отношения будет большим для не очень «выделенных» особенностей

• Порог 0.8 дает неплохое разделение

Page 107: CV2011 Lecture 6. Fitting

Шаг 2 • Используем схему голосования (Хаф)

• Каждое соответствие голосует за преобразование – X, Y, Масштаб, ориентация

• Находим ячейки не менее чем с 3мя голосами

• Уточняем преобразование • Считаем аффинное преобразование по 3м

соответствиям • Используем для поиска соответствий по другим точкам,

фильтруем ложные, итеративно уточняем преобразование

• Классифицируем объект • Если не менее 3х соответствий • Используем Байесовский классификатор

Page 108: CV2011 Lecture 6. Fitting

Пример

Page 109: CV2011 Lecture 6. Fitting

Обобщенное преобразование Хафа • Мы хотим найти форму, заданную своим контуром и

центром

D. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, Pattern Recognition 13(2), 1981, pp. 111-122.

a

Slide by S. Lazebnik

Page 110: CV2011 Lecture 6. Fitting

p

• Для каждой точки контура p, вычислим вектор смещения r = a – p как функцию ориентации градиента θ

D. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, Pattern Recognition 13(2), 1981, pp. 111-122.

a

θ r(θ)

Slide by S. Lazebnik

Обобщенное преобразование Хафа

Page 111: CV2011 Lecture 6. Fitting

• Для модели формы: построим таблицу, идексируемую по θ, хранящую вектора смещения r как функцию от ориентации градиента

• Поиск: Для каждой точки края p с ориентацией градиента θ: • Извлечь все r индексированные по θ • Для каждого r(θ), проголосовать в аккумуляторе за точку

p + r(θ)

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

• Используется предположение о фиксированном размере и ориентации!

Source: K. Grauman

Обобщенное преобразование Хафа

Page 112: CV2011 Lecture 6. Fitting

Пример

model shape Slide by S. Lazebnik

Page 113: CV2011 Lecture 6. Fitting

Пример

displacement vectors for model points Slide by S. Lazebnik

Page 114: CV2011 Lecture 6. Fitting

Пример

range of voting locations for test point Slide by S. Lazebnik

Page 115: CV2011 Lecture 6. Fitting

Пример

range of voting locations for test point Slide by S. Lazebnik

Page 116: CV2011 Lecture 6. Fitting

Пример

votes for points with θ = Slide by S. Lazebnik

Page 117: CV2011 Lecture 6. Fitting

Пример

displacement vectors for model points Slide by S. Lazebnik

Page 118: CV2011 Lecture 6. Fitting

Пример

range of voting locations for test point Slide by S. Lazebnik

Page 119: CV2011 Lecture 6. Fitting

votes for points with θ =

Пример

Slide by S. Lazebnik

Page 120: CV2011 Lecture 6. Fitting

Применение в распознавании • Вместо индексирования смещений по ориентации

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

B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical Learning in Computer Vision 2004

Тренировочное изображение

Кодовое слово с векторами смещения

Slide by S. Lazebnik

Page 121: CV2011 Lecture 6. Fitting

Применение в распознавании • Вместо индексирования смещений по ориентации

градиента индексируем по фрагментам изображения

B. Leibe, A. Leonardis, and B. Schiele, Combined Object Categorization and Segmentation with an Implicit Shape Model, ECCV Workshop on Statistical Learning in Computer Vision 2004

Тестовое изображение

Slide by S. Lazebnik

Page 122: CV2011 Lecture 6. Fitting

Неявные модели формы 1. Строим словарь фрагментов по окрестностям

выделенных особых точек с помощью кластеризации (подробнее дальше)

Slide by S. Lazebnik

Page 123: CV2011 Lecture 6. Fitting

Неявные модели формы 1. Строим словарь фрагментов по окрестностям

выделенных особых точек с помощью кластеризации

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

Slide by S. Lazebnik

Page 124: CV2011 Lecture 6. Fitting

Неявные модели формы 1. Строим словарь фрагментов по окрестностям

выделенных особых точек с помощью кластеризации

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

3. Для каждой записи в словаре, сохраняем все вектора смещения (к центру объекта от фрагмента)

Slide by S. Lazebnik

Page 125: CV2011 Lecture 6. Fitting

Неявные модели формы 1. Извлекаем фрагменты из тестового

изображения, ищем соответствия в словаре 2. Голосуем за все центры объекта по словарю 3. Ищем максимумы в фазовом пространстве 4. Строим взвешенную маску сегментации по

маскам из словаря

Slide by S. Lazebnik

Page 126: CV2011 Lecture 6. Fitting

Неявные модели формы • Обучение с учителем

• Нужно знать положение объекта и маску сегментации для каждого тренировочного изображения

• Фазовое пространство непрерывное • Нужно применять методы кластеризации для поиска

максимумов

• Как искать объекты на разных масштабах? • Вариант 1: проводить поиск для нескольких масштабов • Вариант 2: использовать особые точки, инвариантные к

масштабу

• Этап верификации очень важен • Когда гипотеза о положении объекта получена,

накладываем детальный шаблон, проводим попиксельное сравнение и т.д.

Slide by S. Lazebnik

Page 127: CV2011 Lecture 6. Fitting

Резюме

• Метод наименьших квадратов • Он же Direct Linear Transform • Базовый метод оценки параметров модели по

избыточным данным

• Робастные методы • М-оценки, итеративное уточнение

• Рандомизированные методы – RANSAC

• Широкое применение при сопоставлении изображений

• Схемы голосования • Поиск объектов на изображении – линии, окружности,

распознавание

Page 128: CV2011 Lecture 6. Fitting

На следующей лекции

• Классификация изображений • Машинное обучение • Метод опорных векторов • Мешок слов