SlideShare uma empresa Scribd logo
1 de 57
Поиск локальных
         особенностей
Сайт курса:
http://cvbeginner.blogspot.com/

                                  1
Из прошлой лекции…
• Инвариантность
• Градиенты
• Матрица ковариации




                       2
Как найти или сравнить объекты?
• Имеем два изображения, содержащие объекты.
  Мы хотим ответить на вопрос «Содержат ли
  изображения одинаковые объекты или нет?»




                                               3
Прямое сопоставление (корреляция)




                                    4
Прямое сопоставление (корреляция)
• OpenCV
 – cv::matchTemplate(x,y,res,CV_TM_CCO
   RR_NORMED);
• Matlab
 – corr2(x,y)
• Что делать если изображения
  имеют разный масштаб?


                                         5
Многомасштабное представление
• Строим пирамиду изображений, где
  каждое последующее меньше в два
  раза предыдущего
• Проводим сопоставление по всем
  маштабам




                                     6
Многомасштабное представление
• OpenCV
 – buildPyr(im,levels,maxlevel)
• Matlab
 – Библиотека vlfeat.org
 – imup(I)
 – imdown(I)




                                  7
Модель преобразований
• Геометрические
 – Поворот
 – Смещение
 – Масштабирование
• Изменение яркости




                        8
А если объект закрыт или с другого
ракурса?




                                     9
Локальные особенности
• Найти точки на объекте, которые
  будут на обоих снимках




                                    10
Где используется
• Создание мозаик
• Стерео отождествление
• Трассировка
• Классификация и поиск




                          11
Требования к особенностям
• Повторяемость
   – Особенность находится в том же месте не смотря на
     изменения точки обзора и освещения
• Значимость
   – У каждой особенности может быть уникальное
     описание
• Локальность
   – Особенность занимает маленькую площадь и
     устойчива к перекрытиям
• Компактность и эффективность




                                                         12
Что можно выбрать в качестве
особенности?




                               13
Типы локальных особенностей
• Углы
• Пятна(Блобы)
• Области




Вопрос: почему углы?

                              14
Углы
• Плоскость. По всем направлениям нет
  изменений.
• Край. В двух направлениях нет изменений.
• Угол. В любом направление есть изменение!




                                              15
Детектор Харриса
• C.Harris and M.Stephens. "A Combined Corner and Edge
  Detector.” Proceedings of the 4th Alvey Vision Conference: pages
  147—151, 1988
• Свойства угла
   – Градиент имеет
   два направления
   – Повторимы и различимы




                                                                     16
Основная идея
• Вычисляем производные
• Считаем в области матрицу
  ковариации



• По соб. числам матрицы М можем
  сказать принадлежит ли область
  углу, границе или плоскости
                                   17
Отклик




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

                                18
Алгоритм
1. Считаем производные
2. Для каждого пикселя считаем
   матрицу ковариации M в окне
3. Вычисляем dst(x,y)
4. Режим по порогу dst(x,y)
5. Ищем локальные максимумы в
   окне

                                 19
Различные параметры




                      20
Реализация
• OpenCV
  – cv::cornerHarris(y,res,4,3,0);
  – cv::goodFeaturesToTrack(y, corners,
    200, 0.15, 5,cv::Mat(), 3,true, 0.04 );
• Matlab
  – vl_harris(I)




                                              21
Свойства детектора Харисса
• Инвариантность к повороту
• К смещению
• Частичная инвариантность к
  изменению яркости




                               22
Инвариантность к масштабу
• Найти признаки инвариантные к
  изменению масштаба
• Мы знаем как найти границу




                                  23
Поиск границы Лапласианом




                            24
Пятна (Блобы)
• Точка или пятно имеющее вид
  круга – хорошая особая точка.




                                  25
Поиск пятен




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

                                     26
Чтобы найти пятно
• Чтобы найти пятно надо свернуть
  сигнал с Лапласианом
  соответствующей дисперсией
• Проблема: при повышении
  дисперсии уменьшается отклик на
  идеальный край



                                    27
Нормализация
• Умножая лапласиан на дисперсию в квадрате
  этот эффект пропадает




                                              28
Многомасштабность
• Свертываем с нормализированным
  Лапласианом в разных масштабах
• Ищем максимумы функции по всем
  масштабам




                                   29
Поиск пятен




              30
Реализация
• OpenCV
  – SIFT
• Matlab
  – vl_sift(d)
• Считается эффективно, на
  пирамиде изображений



                             31
Области MSER
• Сегментировать по порогу яркости
• Для всех областей найти порог,
  чтобы рост площади области был
  минимален
• Описать эти области эллипсами




                                     32
Пример стабильных областей




                             33
Можно описать эллипсами




                          34
Реализация
• OpenCV
  – MSER
• Matlab
  – vl_mser




              35
Итого
• Необходима инвариантность к
  искажениям
• Углы и пятна – разные множества,
  можно использовать совместно




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




             37
Дескрипторы
• Хотелось бы чтобы каждую точку можно
  было отличить от другой
• При этом описание практически не
  завесило от геометрических искажений




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

                                                 38
Дескрипторы


              d=(d1,d2,…dn)




                              39
Дескрипторы должны быть:
• специфичны (отличаем разные
  точки)
• локальны (зависеть только от
  небольшой окрестности)
• инвариантны (к
  искажениям/изменению
  освещенности)
• просты в вычислении

                                 40
Прямое сопоставление
Дескриптор: Вектор интенсивностей пикселей
окрестности




                                             41
Прямое сопоставление
• Сравниваем как сумма квадратов
  или модулей разности
• Работает только простой сдвиг
• Для достижения инвариантности по
  яркости надо нормировать
 – I=(I-mean(I))/std(I)
• Недостатки?


                                     42
SIFT
Scale-Invariant Feature Transform:
• Детектор DoG (быстрая вариация поиска Пятен)
• Определение положения и масштаба особенности
 Ориентация
• Определение доминантной ориентации по градиентам
 Дескриптор
• Использование статистик по направлению градиентам
• Устойчив к изменениям освещенности и небольшим
• Сдвигам
David G. Lowe. "Distinctive image features from scale-
   invariant keypoints.” IJCV 60 (2), pp. 91-110, 2004.



                                                          43
Ориентация




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

                                    44
Окрестность особенности




                          45
Гистограмма градиентов
Вычисляем градиент в каждом пикселе
• Строим гистограммы направлений градиентов по
  прямоугольным областям
• Вклад каждого пикселя взвешиваем по гауссиане с центром в
  центре окрестности
• Обычно – сетка 4x4, в каждой гистограмма с 8ю ячейками
• Стандартная длина вектора-дескриптора – 128 (4*4*8)
• Сравниваем как вектор (разные метрики)




                                                              46
Работа с цветом




                  47
Реализация Opencv
• Features2d
_featureDetector = cv::FeatureDetector::create( "FAST" );
_descriptorExtractor = cv::DescriptorExtractor::create( "SURF" );
_descriptorMatcher = cv::DescriptorMatcher::create( “BruteForce-
    Hamming”);
std::vector<cv::KeyPoint> kp;
_featureDetector->detect(grey,kp);
cv::Mat queryDescriptors;
_descriptorExtractor->compute( grey, kp, queryDescriptors );
vector<DMatch> matches;
if(!_descriptorMatcher->empty())
{
 _descriptorMatcher->match( queryDescriptors, matches );
}else{ _descriptorMatcher->add( queryDescriptors);


                                                                    48
Matlab + Vlfeat
Вычисление особых точек +
  дескриптора
• [fa, da] = vl_sift(Ia) ;
• [fb, db] = vl_sift(Ib) ;
Вычисление сопоставления
• [matches, scores] =
  vl_ubcmatch(da, db) ;

                             49
Итого
• Дескриптор SIFT весьма специфичен, устойчив
  к изменениям освещения, небольшим сдвигам
• Вся схема SIFT (детектор, выбор окрестностей,
  дескриптор) оказалась очень эффективным
  инструментов для анализа изображений
• Очень широко используется




                                                  50
Перспективные преобразование




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

                                           51
Аффинная нормализация




                  Slide credit: V. Lepetit

                                     52
Пример




         53
BRIEF




        Slide credit: V. Lepetit

                            54
SIFT + MSER




              Slide credit: Zisserman

                                 55
См. features2d




                 56
Вопросы




          57

Mais conteúdo relacionado

Mais procurados

Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видео
MSU GML VideoGroup
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic video
Anton Konushin
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. Detection
Anton Konushin
 
Устранение размытости видео
Устранение размытости видеоУстранение размытости видео
Устранение размытости видео
MSU GML VideoGroup
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
Anton Konushin
 
CV2011 Lecture 5. Features
CV2011 Lecture 5. FeaturesCV2011 Lecture 5. Features
CV2011 Lecture 5. Features
Anton Konushin
 
CV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionCV2011 Lecture 7. Recognition
CV2011 Lecture 7. Recognition
Anton Konushin
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектов
LiloSEA
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representation
Anton Konushin
 
CV2011 Lecture 6. Fitting
CV2011 Lecture 6. FittingCV2011 Lecture 6. Fitting
CV2011 Lecture 6. Fitting
Anton Konushin
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.
Anton Konushin
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
Computer Science Club
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching
Computer Science Club
 

Mais procurados (20)

Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видео
 
CV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic videoCV2011 Lecture 11. Basic video
CV2011 Lecture 11. Basic video
 
CV2011 Lecture 8. Detection
CV2011 Lecture 8. DetectionCV2011 Lecture 8. Detection
CV2011 Lecture 8. Detection
 
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
CV2015. Лекция 4. Классификация изображений и введение в машинное обучение.
 
Устранение размытости видео
Устранение размытости видеоУстранение размытости видео
Устранение размытости видео
 
CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.CV2015. Лекция 7. Поиск изображений по содержанию.
CV2015. Лекция 7. Поиск изображений по содержанию.
 
CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.CV2015. Лекция 2. Простые методы распознавания изображений.
CV2015. Лекция 2. Простые методы распознавания изображений.
 
CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.CV2015. Лекция 5. Выделение объектов.
CV2015. Лекция 5. Выделение объектов.
 
CV2011-2. Lecture 12. Face models.
CV2011-2. Lecture 12.  Face models.CV2011-2. Lecture 12.  Face models.
CV2011-2. Lecture 12. Face models.
 
CV2011 Lecture 5. Features
CV2011 Lecture 5. FeaturesCV2011 Lecture 5. Features
CV2011 Lecture 5. Features
 
CV2011 Lecture 7. Recognition
CV2011 Lecture 7. RecognitionCV2011 Lecture 7. Recognition
CV2011 Lecture 7. Recognition
 
Поиск объектов
Поиск объектовПоиск объектов
Поиск объектов
 
CV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representationCV2011 Lecture 4. Image representation
CV2011 Lecture 4. Image representation
 
CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.CV2015. Лекция 6. Нейросетевые алгоритмы.
CV2015. Лекция 6. Нейросетевые алгоритмы.
 
CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.CV2015. Лекция 8. Распознавание лиц людей.
CV2015. Лекция 8. Распознавание лиц людей.
 
CV2011 Lecture 6. Fitting
CV2011 Lecture 6. FittingCV2011 Lecture 6. Fitting
CV2011 Lecture 6. Fitting
 
CV2011-2. Lecture 10. Pose estimation.
CV2011-2. Lecture 10.  Pose estimation.CV2011-2. Lecture 10.  Pose estimation.
CV2011-2. Lecture 10. Pose estimation.
 
20120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture0420120414 videorecognition konushin_lecture04
20120414 videorecognition konushin_lecture04
 
20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching20111009 csseminar image feature detection and matching
20111009 csseminar image feature detection and matching
 
Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...
 

Semelhante a L05 features

20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
Computer Science Club
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
Anton Konushin
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
Computer Science Club
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
Computer Science Club
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
Anton Konushin
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time vision
Anton Konushin
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
Computer Science Club
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.
Anton Konushin
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Yandex
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
Computer Science Club
 
Объектно ориентированный дизайн
Объектно ориентированный дизайнОбъектно ориентированный дизайн
Объектно ориентированный дизайн
Alexander Shcherbinin
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
Anton Konushin
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.
Anton Konushin
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
Anton Gorokhov
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrieval
Anton Konushin
 

Semelhante a L05 features (20)

20120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture0320120414 videorecognition konushin_lecture03
20120414 videorecognition konushin_lecture03
 
CV2011-2. Lecture 09. Single view reconstructin.
CV2011-2. Lecture 09.  Single view reconstructin.CV2011-2. Lecture 09.  Single view reconstructin.
CV2011-2. Lecture 09. Single view reconstructin.
 
20100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture0220100919 computer vision_konushin_lecture02
20100919 computer vision_konushin_lecture02
 
20120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture0220120413 videorecognition konushin_lecture02
20120413 videorecognition konushin_lecture02
 
CV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognitionCV2011 Lecture 12. Action recognition
CV2011 Lecture 12. Action recognition
 
CV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time visionCV2011 Lecture 13. Real-time vision
CV2011 Lecture 13. Real-time vision
 
20120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture0620120415 videorecognition konushin_lecture06
20120415 videorecognition konushin_lecture06
 
Crowdsourcing с механической поддержкой
Crowdsourcing с механической поддержкойCrowdsourcing с механической поддержкой
Crowdsourcing с механической поддержкой
 
CV2011-2. Lecture 07. Binocular stereo.
CV2011-2. Lecture 07.  Binocular stereo.CV2011-2. Lecture 07.  Binocular stereo.
CV2011-2. Lecture 07. Binocular stereo.
 
Mihail Korepanov
Mihail KorepanovMihail Korepanov
Mihail Korepanov
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
 
Объектно ориентированный дизайн
Объектно ориентированный дизайнОбъектно ориентированный дизайн
Объектно ориентированный дизайн
 
Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)
 
CV2011-2. Lecture 05. Video segmentation.
CV2011-2. Lecture 05.  Video segmentation.CV2011-2. Lecture 05.  Video segmentation.
CV2011-2. Lecture 05. Video segmentation.
 
CV2011-2. Lecture 02. Photomontage and graphical models.
CV2011-2. Lecture 02.  Photomontage and graphical models.CV2011-2. Lecture 02.  Photomontage and graphical models.
CV2011-2. Lecture 02. Photomontage and graphical models.
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
CV2011 Lecture 10. Image retrieval
CV2011 Lecture 10.  Image retrievalCV2011 Lecture 10.  Image retrieval
CV2011 Lecture 10. Image retrieval
 
Сегментация изображений в компьютерной графике.ppt
Сегментация  изображений в компьютерной графике.pptСегментация  изображений в компьютерной графике.ppt
Сегментация изображений в компьютерной графике.ppt
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysis
 

L05 features