l06 detection

Post on 05-Dec-2014

3.804 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Обнаружение объектов на изображении

TRANSCRIPT

Обнаружение объектов

Сайт курса:http://cvbeginner.blogspot.com/

1

Из прошлой лекции…

• Локальные особенности• Дескрипторы• Гистограмма градиентов• Инвариантность

2

Задача: найти положение объекта по описанию

3

Slide credit: Виктор Лемпицкий

Поиск пешеходов

4

Slide credit: Виктор Лемпицкий

Поиск лиц

5

Схожие задачи• Нахождение

конкретных объектов

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

• Оценка конфигурации

6

Sadeghi и др. CVPR 2011

План лекции

• Сопоставление по особенностям гомография и RANSAC

• SVM• Мешки слов, распознавание

объекта• Метод Виола-Джонс, Бустинг• Метод Далала-Тригса

7

План лекции

• Общие идеи и принципы• Минимум математики• Пропущено очень много

интересных и важных направлений

8

Поиск плоских объектов

9

Проблема• Много выбросов• Точек не соответствующих модели

10

RANSAC

11

RANSACНа вход алгоритма поступает:• набор исходных данных X• функция M, позволяющая вычислить

параметры θ модели P по набору данных из n точек

• функция оценки E соответствия точек полученной модели

• порог t для функции оценки• Количество итерация k

12

RANSAC• Первый этап — выбор точек и подсчёт модели.

– Из множества исходных точек X случайным образом выбираются n различных точек.

– На основе выбранных точек вычисляются параметры θ модели P с помощью функции M, построенную модель принято называть гипотезой.

• Второй этап — проверка гипотезы. – Для каждой точки проверяется её соответствие данной

гипотезе с помощью функции оценки E и порога t– Каждая точка помечается инлаером или выбросом– После проверки всех точек, проверяется, является ли

гипотеза лучшей на данный момент, и если является, то она замещает предыдущую лучшую гипотезу.

• В конце работы цикла оставляется последняя лучшая гипотеза.

13

Пример

14

Параметры RANSACРазмер выборки s• Обычно, минимальное количество, достаточное дляоценки параметровПорог T• Выбираем T так, чтобы вероятность инлаера (inlier) былаp (пр. 0.95)• Обычно гауссова модель шума с нулевым матожиданием иσ: t2=3.84σ2Количество выборок N• Выбираем N так, чтобы вероятность выбрать хотя бы одну

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

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

15

Гомография

16

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

Гомография

17

Гомография

18

Вопрос: сколько точек надо чтобы оценить гомографию?

RANSAC + модель гомографии

19

Mat H = cv::findHomography( obj, scene, CV_RANSAC );

Пример использования гомографии

20

Машинное обучение• Имеется участок изображения• Мы хотим ответить на вопрос есть

ли там объект или нет

21

Линейная SVM

22

http://opencv.itseez.com/doc/tutorials/ml/table_of_content_ml/table_of_content_ml.html

Линейная SVM

23

Линейная SVM (реализация)// Set up training data float labels[4] = {1.0, -1.0, -1.0, -1.0}; Mat labelsMat(3, 1, CV_32FC1, labels); float trainingData[4][2] = { {501, 10}, {255, 10}, {501, 255}, {10, 501} };Mat trainingDataMat(3, 2, CV_32FC1, trainingData); // Set up SVM's parameters CvSVMParams params; params.svm_type = CvSVM::C_SVC; params.kernel_type = CvSVM::LINEAR; params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6); // Train the SVM CvSVM SVM; SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params); float response = SVM.predict(sampleMat); Вопрос: как должна выглядеть sampleMat?

24

Линейно не разделимые данные

25

Cortes&Vapnik, ML’93

Линейно не разделимые данные

26

Линейно не разделимые данные

27

Обобщенная схема классификации изображений

28

Визуальные слова (Visual Words)• Что в нашем случае «слово» и «словарь»?• «Визуальное слово» – часто повторяющийся фрагмент

изображения («visual word»)• В изображении визуальное слово может встречаться

только один раз, может ни разу, может много раз

29

Slide credit: Антон Конушин

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

30

Построение словаря

31

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

32

Мешок слов (Bag of words)

33

«Скормив» мешок слов SVM на какой вопрос мы смоем ответить?

34

Slide credit: Виктор Лемпицкий

Поиск расположения

35

Перерыв• Вопросы?

36

Детектор Viola-Jones• P. Viola and M. Jones. Robust real-time face detection. IJCV

57(2), 2004

Основополагающий метод для поиска объектов на изображении в реальном времени

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

вычисления признаков• Бустинг для выбора признаков• Каскад (Attentional cascade) для быстрой

отбраковки окон без лица

37

Изображение представляется комбинаторным числомбинарных признаков

38

Value =Σ (pixels in white area) –Σ (pixels in black area)

Пример

39

Slide credit: Антон Конушин

Интегральные изображения

• Как быстро считать прямоугольные суммы?

40

Slide credit: Антон Конушин

Выбор признаков

41

• Для окна поиска 24x24 пиксела, число возможных прямоугольных признаков достигает ~160,000!

• Хороший классификатор должен использовать лишь маленькое подмножество всевозможных признаков

Slide credit: Антон Конушин

Бустинг• Y. Freund and R. Schapire, A short introduction to boosting, Journal of

Japanese Society for Artificial Intelligence, 14(5):771-780, September, 1999.

• Бустинг – схема классификации, основанная на комбинировании слабых классификаторов в более точный комитетный

Слабый классификатор должен быть лучше монетки• Обучение состоит из нескольких этапов усиления• На каждом этапе выбираем слабый классификатор, который

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

• «Трудность» записывается с помощью весов, приписанных примерам из обучающей выборки

• Составляем общий классификатор как линейную комбинацию слабых классификаторов

42

AdaBoost

43

Демо по презентации

Начальные условия

Строим линейный классификатор минимизирующий ошибку

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

Бустинг для поиска лиц

44

Slide credit: Антон Конушин

Каскадное представление

45

Slide credit: Виктор Лемпицкий

Каскадное представление

46

Slide credit: Виктор Лемпицкий

Тренировочная выборка5000 лиц• Все фронтальные,

уменьшенные до 24x24 пикселей

• Все нормированы300М отрицательных примеров• 9500 изображений без лиц• Большая изменчивость• Разные люди• Освещение• Поза лица

47

Slide credit: Антон Конушин

РеализацияCascadeClassifier face_cascade; face_cascade.load(“haarcascade_frontalface_alt.xml”);cvtColor( frame, frame_gray, CV_BGR2GRAY ); equalizeHist( frame_gray, frame_gray ); face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0|

CV_HAAR_SCALE_IMAGE, Size(30, 30) );

48

Примеры

49

Viola-Jones• Прямоугольные признаки• Интегральные изображения для

быстрого вычисления признаков• Бустинг для выбора признаков• Каскад классификаторов для быстрого

выбраковки отрицательных окон

50

Гистограммы Ориентированных Градиентов (HOG)

51

Slide credit: Виктор Лемпицкий

Метод Далала-Тригса

52

Линейный SVM + HOG Slide credit: Виктор Лемпицкий

HOG-фильтр

53

Slide credit: Виктор Лемпицкий

Реализация OpenCVHOGDescriptor hog;hog.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());// run the detector with default parameters. to get a higher hit-rate // (and more false alarms, respectively), decrease the hitThreshold andvector<Rect> found;hog.detectMultiScale(img, found, 0, Size(8,8), Size(32,32), 1.05, 2);

54

Далал-Тригс vs. Виола-Джонс• Для лиц Виола-Джонс работает почти идеально• Для пешеходов Далал-Тригс аккуратнее (но медленнее)• [Dollar et al. BMVC’09]: Виола-Джонс на правильных

каналах не хуже Далала-Тригса

55

Slide credit: Виктор Лемпицкий

Проверить свои силы• PASCAL Visual Object Classes (VOC)

Dataset and Challenge

56

Что осталось «за бортом»• Локализация объектов и Хаф-леса [Juergen Gall & Victor Lempitsky,

Class-Specific Hough Forests for Object Detection, CVPR 2009]

• Неявная модель формы [Leibe, Leonardis & Schiele IJCV’08]

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

57

Вопросы

58

top related