SlideShare une entreprise Scribd logo
1  sur  24
Применение SURF для определения маркера
        дополненной реальности




          Бабий А.С. - apratster@gmail.com
Дополненная реальность



     Что такое дополненная реальность?

         Реальность дополненная виртуальными объектами
         Виртуальные объекты дополненные информацией из реальности




         Применение SURF для определения маркера дополненной реальности   2
Дополненная реальность
                           Как работает дополненная реальность?
    Изображение

                                     Обработка
                                    изображения,
                                     получение
                                 информации датчиков
                                                                Алгоритмы
                                                              распознавания
      GPS                           Идентификация
      Гироскоп                         объекта
      Акселерометр
      Компас
      ….                          Поиск информации
                                     для объекта

            3D
      преобразования                Отображение
                                    дополненной
                                     реальности

         Применение SURF для определения маркера дополненной реальности       3
Дополненная реальность
                         Как идентифицировать объект




               С маркерами                  Без маркеров
      Код(штрих код, строка, QR …)
                                             Координаты
      Геометрическая фигура
                                             Положение в пространстве

                          Графический маркер



    Заранее                                         Реальность
    сгенерированное
    изображение




         Применение SURF для определения маркера дополненной реальности   4
Дополненная реальность
                          Что может быть маркером?




     ArToolKit(ATK) marker system.      Siemens Corporate Research
                                        (SCR) marker system.




Institut Graphische Datenverarbeitung
                                        Hoffman marker system (HOM)
(IGD) marker system.



                                             ?
          Применение SURF для определения маркера дополненной реальности   5
Метод SURF




  SURF   (                    )=
                              Задачи

   1. Поиск ключевых(особых) точек на изображении

   3. Описание ключевых точек в виде инвариантном масштабу и вращению




         Применение SURF для определения маркера дополненной реальности   6
Метод SURF


                     Применения метода SURF для видео




             Распознавание               Трекинг объекта
                объекта




                                          Отображение
                                         дополнительной
                                           информации



        Применение SURF для определения маркера дополненной реальности   7
Метод SURF

                         Как работает метод SURF[1]

       •    Ищем ключевые точки при помощи матрицы Гессе*




       • Для каждой ключевой точки считается направление максимального
       изменения яркости
       • Перебираем масштабы матрицы Гессе по октавам.
       • Формируем дескрипторы.
       Дескриптор представляет собой набор из 64(либо 128) чисел для каждой
       ключевой точки.
   *Гессиан инвариантен ко вращению и не инвариантен к масштабированию[2]
           Применение SURF для определения маркера дополненной реальности     8
Метод SURF

                           Применение Гессиана[3]




        Применение SURF для определения маркера дополненной реальности   9
Метод SURF




             Белые = +1, Черные = -2 (на 3м -1), серые = 0     [1-3]




             Коэффициент 0.9 – приближает к Лаплассиану Гаусиан


               Допустимые размеры этого фильтра таковы:
               9, 15, 21, 27 и так далее, с шагом 6


        Применение SURF для определения маркера дополненной реальности   10
Метод SURF


     Масштабирование. Октавы




                             Здесь видно несколько локальных
                             максимумов в разных масштабах [3]




                                                  Октава[1,2].

                                                  Выбор октав?

                                                  Предложение разработчиков
                                                  на графике.




        Применение SURF для определения маркера дополненной реальности   11
Метод SURF
                     Нахождение градиента

                                     Фильтр Хаара[1]




                                                             Угловое окно [1]
                             Проблема шума [1]




        Применение SURF для определения маркера дополненной реальности          12
Метод SURF


                        Расчет дескрипторов [2,3]

                          1) прямоугольная область размером 20s,
                          2) Для первой октавы, область имеет размер
                             40x40 пикселов.
                          3) Квадрат ориентируется вдоль градиента
                          4) Дескриптор считается как описание градиента
                             для 16 квадрантов вокруг особой точки.




 Для вычисления дескриптора особой точки, нужно вычислить 25 фильтров Хаара
 в каждом из 16 квадрантов




        Применение SURF для определения маркера дополненной реальности     13
Метод SURF

                 Поведение метода при изменении условий


       80

       70

       60

       50

       40

       30

       20

       10

        0
            20   25    30      35     40    45    50       55   60   65




                            Изменение точки поворота [3]


        Применение SURF для определения маркера дополненной реальности    14
Метод SURF

                 Поведение метода при изменении условий

       100

       90

       80

       70

       60

       50

       40

       30

       20

       10

        0
             2    2,5    3    3,5    4     4,5     5      5,5    6       6,5



                        Применение фильтра размывание [3]


        Применение SURF для определения маркера дополненной реальности         15
Метод SURF

                  Поведение метода при изменении условий

      80

      70

      60

      50

      40

      30

      20

      10

      0
           1,2    1,4    1,6    1,8    2      2,2    2,4    2,6    2,8       3


                           Увеличение масштаба и вращение [3]


            Применение SURF для определения маркера дополненной реальности       16
Метод SURF

                    Поведение метода при изменении условий
     90

     80

     70

     60

     50

     40

     30

     20

     10

      0
          2        2,5     3       3,5    4     4,5     5     5,5    6         6,5


                               Уменьшение яркости [3]


              Применение SURF для определения маркера дополненной реальности         17
Метод SURF

                        Поведение метода при изменении условий
             100

             90

             80

             70

             60

             50

             40

             30

             20

             10

              0
                   60       65    70    75     80    85         90   95   100


                                         Сжатие JPEG      [3]


        Применение SURF для определения маркера дополненной реальности          18
Обработка найденного объекта

                          Что нам необходимо получить




         Применение SURF для определения маркера дополненной реальности   19
Обработка найденного объекта

                 Перспективная трансформация (гомография) [7]




         Применение SURF для определения маркера дополненной реальности   20
Обработка найденного объекта

                 2D -> 3D


         Внутренняя матрица




          Внешняя матрица




         Применение SURF для определения маркера дополненной реальности   21
Обработка найденного объекта



           Недостатки:

              1. Скорость работы.
              2. Ошибки распознавания точек.
              3. Подбор точности под конкретную задачу.
              4. Работает только на хорошо текстурированных
              изображениях.



           Для чего можно применять:

             1. Распознавание заранее заготовленного маркера.
             2. Распознавание и поиск информации о картинах и фрагментах
             3. В комбинации с другими методами – трекинг.
             4. Рекламные акции с «играми» на бигбордах
             5. Социальные приложения связанные с упаковками
             и товарными марками

         Применение SURF для определения маркера дополненной реальности    22
Спасибо за внимание!
Источники литературы

1. Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Speeded-Up Robust
     Features
   ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf

2. SURF: Speeded Up Robust Features
   www.vision.ee.ethz.ch/~surf/eccv06.pdf

3. Обнаружение устойчивых признаков изображения: метод SURF
   http://habrahabr.ru/post/103107/

4. Feature descriptors
   http://campar.in.tum.de/twiki/pub/Chair/TeachingWs09MATDCV/feature_descriptors.pdf

5. SURF: Speeded-Up Robust Features
   http://www.cse.cuhk.edu.hk/~lyu/seminar/06fall/Wyman.ppt

6. The OpenSURF Computer Vision Library
   http://www.chrisevansdev.com/computer-vision-opensurf.html

7. Wikipedia homography tranlation illustration.
   http://en.wikipedia.org/wiki/File:Homography-transl-bold.svg

Contenu connexe

En vedette

Face detection and recognition using OpenCV
Face detection and recognition using OpenCVFace detection and recognition using OpenCV
Face detection and recognition using OpenCVAndrew Babiy
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation Systemhudvin
 
Lidar road recognition
Lidar road recognitionLidar road recognition
Lidar road recognitionAndrew Babiy
 
нейронные сети
нейронные сетинейронные сети
нейронные сетиhudvin
 
Основы коспьютерного стерео зрения
Основы коспьютерного стерео зренияОсновы коспьютерного стерео зрения
Основы коспьютерного стерео зренияArtyom Shklovets
 
Human brain how it work
Human brain how it workHuman brain how it work
Human brain how it workhudvin
 
Recognition of handwritten digits
Recognition of handwritten digitsRecognition of handwritten digits
Recognition of handwritten digitsAndrew Babiy
 
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo appDetails of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo appPAY2 YOU
 
Machine Learning and Azure Machine Learning
Machine Learning and Azure Machine LearningMachine Learning and Azure Machine Learning
Machine Learning and Azure Machine LearningAlexander Konduforov
 
SIFT vs other Feature Descriptor
SIFT vs other Feature DescriptorSIFT vs other Feature Descriptor
SIFT vs other Feature DescriptorNisar Ahmed Rana
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptorszukun
 
A comparison of SIFT, PCA-SIFT and SURF
A comparison of SIFT, PCA-SIFT and SURFA comparison of SIFT, PCA-SIFT and SURF
A comparison of SIFT, PCA-SIFT and SURFCSCJournals
 
Global Context Descriptors for SURF and MSER Feature Descriptors
Global Context Descriptors for SURF and MSER Feature DescriptorsGlobal Context Descriptors for SURF and MSER Feature Descriptors
Global Context Descriptors for SURF and MSER Feature DescriptorsGail Carmichael
 
Local feature descriptors for visual recognition
Local feature descriptors for visual recognitionLocal feature descriptors for visual recognition
Local feature descriptors for visual recognitionpotaters
 
Matching with Invariant Features
Matching with Invariant FeaturesMatching with Invariant Features
Matching with Invariant Featureszukun
 
Yoga Tutor - Error Free Yoga at Home
Yoga Tutor - Error Free Yoga at HomeYoga Tutor - Error Free Yoga at Home
Yoga Tutor - Error Free Yoga at HomeGandhar Tannu
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectorszukun
 
Off-line Signature Verification
Off-line Signature VerificationOff-line Signature Verification
Off-line Signature Verificationlemon_au
 

En vedette (20)

Face detection and recognition using OpenCV
Face detection and recognition using OpenCVFace detection and recognition using OpenCV
Face detection and recognition using OpenCV
 
CUDA & CAFFE
CUDA & CAFFE CUDA & CAFFE
CUDA & CAFFE
 
ROS - Robotics Operation System
ROS - Robotics Operation SystemROS - Robotics Operation System
ROS - Robotics Operation System
 
Lidar road recognition
Lidar road recognitionLidar road recognition
Lidar road recognition
 
нейронные сети
нейронные сетинейронные сети
нейронные сети
 
Основы коспьютерного стерео зрения
Основы коспьютерного стерео зренияОсновы коспьютерного стерео зрения
Основы коспьютерного стерео зрения
 
Human brain how it work
Human brain how it workHuman brain how it work
Human brain how it work
 
Recognition of handwritten digits
Recognition of handwritten digitsRecognition of handwritten digits
Recognition of handwritten digits
 
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo appDetails of Lazy Deep Learning for Images Recognition in ZZ Photo app
Details of Lazy Deep Learning for Images Recognition in ZZ Photo app
 
NLP Project Full Cycle
NLP Project Full CycleNLP Project Full Cycle
NLP Project Full Cycle
 
Machine Learning and Azure Machine Learning
Machine Learning and Azure Machine LearningMachine Learning and Azure Machine Learning
Machine Learning and Azure Machine Learning
 
SIFT vs other Feature Descriptor
SIFT vs other Feature DescriptorSIFT vs other Feature Descriptor
SIFT vs other Feature Descriptor
 
Modern features-part-2-descriptors
Modern features-part-2-descriptorsModern features-part-2-descriptors
Modern features-part-2-descriptors
 
A comparison of SIFT, PCA-SIFT and SURF
A comparison of SIFT, PCA-SIFT and SURFA comparison of SIFT, PCA-SIFT and SURF
A comparison of SIFT, PCA-SIFT and SURF
 
Global Context Descriptors for SURF and MSER Feature Descriptors
Global Context Descriptors for SURF and MSER Feature DescriptorsGlobal Context Descriptors for SURF and MSER Feature Descriptors
Global Context Descriptors for SURF and MSER Feature Descriptors
 
Local feature descriptors for visual recognition
Local feature descriptors for visual recognitionLocal feature descriptors for visual recognition
Local feature descriptors for visual recognition
 
Matching with Invariant Features
Matching with Invariant FeaturesMatching with Invariant Features
Matching with Invariant Features
 
Yoga Tutor - Error Free Yoga at Home
Yoga Tutor - Error Free Yoga at HomeYoga Tutor - Error Free Yoga at Home
Yoga Tutor - Error Free Yoga at Home
 
Modern features-part-1-detectors
Modern features-part-1-detectorsModern features-part-1-detectors
Modern features-part-1-detectors
 
Off-line Signature Verification
Off-line Signature VerificationOff-line Signature Verification
Off-line Signature Verification
 

SURF

  • 1. Применение SURF для определения маркера дополненной реальности Бабий А.С. - apratster@gmail.com
  • 2. Дополненная реальность Что такое дополненная реальность? Реальность дополненная виртуальными объектами Виртуальные объекты дополненные информацией из реальности Применение SURF для определения маркера дополненной реальности 2
  • 3. Дополненная реальность Как работает дополненная реальность? Изображение Обработка изображения, получение информации датчиков Алгоритмы распознавания GPS Идентификация Гироскоп объекта Акселерометр Компас …. Поиск информации для объекта 3D преобразования Отображение дополненной реальности Применение SURF для определения маркера дополненной реальности 3
  • 4. Дополненная реальность Как идентифицировать объект С маркерами Без маркеров Код(штрих код, строка, QR …) Координаты Геометрическая фигура Положение в пространстве Графический маркер Заранее Реальность сгенерированное изображение Применение SURF для определения маркера дополненной реальности 4
  • 5. Дополненная реальность Что может быть маркером? ArToolKit(ATK) marker system. Siemens Corporate Research (SCR) marker system. Institut Graphische Datenverarbeitung Hoffman marker system (HOM) (IGD) marker system. ? Применение SURF для определения маркера дополненной реальности 5
  • 6. Метод SURF SURF ( )= Задачи 1. Поиск ключевых(особых) точек на изображении 3. Описание ключевых точек в виде инвариантном масштабу и вращению Применение SURF для определения маркера дополненной реальности 6
  • 7. Метод SURF Применения метода SURF для видео Распознавание Трекинг объекта объекта Отображение дополнительной информации Применение SURF для определения маркера дополненной реальности 7
  • 8. Метод SURF Как работает метод SURF[1] • Ищем ключевые точки при помощи матрицы Гессе* • Для каждой ключевой точки считается направление максимального изменения яркости • Перебираем масштабы матрицы Гессе по октавам. • Формируем дескрипторы. Дескриптор представляет собой набор из 64(либо 128) чисел для каждой ключевой точки. *Гессиан инвариантен ко вращению и не инвариантен к масштабированию[2] Применение SURF для определения маркера дополненной реальности 8
  • 9. Метод SURF Применение Гессиана[3] Применение SURF для определения маркера дополненной реальности 9
  • 10. Метод SURF Белые = +1, Черные = -2 (на 3м -1), серые = 0 [1-3] Коэффициент 0.9 – приближает к Лаплассиану Гаусиан Допустимые размеры этого фильтра таковы: 9, 15, 21, 27 и так далее, с шагом 6 Применение SURF для определения маркера дополненной реальности 10
  • 11. Метод SURF Масштабирование. Октавы Здесь видно несколько локальных максимумов в разных масштабах [3] Октава[1,2]. Выбор октав? Предложение разработчиков на графике. Применение SURF для определения маркера дополненной реальности 11
  • 12. Метод SURF Нахождение градиента Фильтр Хаара[1] Угловое окно [1] Проблема шума [1] Применение SURF для определения маркера дополненной реальности 12
  • 13. Метод SURF Расчет дескрипторов [2,3] 1) прямоугольная область размером 20s, 2) Для первой октавы, область имеет размер 40x40 пикселов. 3) Квадрат ориентируется вдоль градиента 4) Дескриптор считается как описание градиента для 16 квадрантов вокруг особой точки. Для вычисления дескриптора особой точки, нужно вычислить 25 фильтров Хаара в каждом из 16 квадрантов Применение SURF для определения маркера дополненной реальности 13
  • 14. Метод SURF Поведение метода при изменении условий 80 70 60 50 40 30 20 10 0 20 25 30 35 40 45 50 55 60 65 Изменение точки поворота [3] Применение SURF для определения маркера дополненной реальности 14
  • 15. Метод SURF Поведение метода при изменении условий 100 90 80 70 60 50 40 30 20 10 0 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 Применение фильтра размывание [3] Применение SURF для определения маркера дополненной реальности 15
  • 16. Метод SURF Поведение метода при изменении условий 80 70 60 50 40 30 20 10 0 1,2 1,4 1,6 1,8 2 2,2 2,4 2,6 2,8 3 Увеличение масштаба и вращение [3] Применение SURF для определения маркера дополненной реальности 16
  • 17. Метод SURF Поведение метода при изменении условий 90 80 70 60 50 40 30 20 10 0 2 2,5 3 3,5 4 4,5 5 5,5 6 6,5 Уменьшение яркости [3] Применение SURF для определения маркера дополненной реальности 17
  • 18. Метод SURF Поведение метода при изменении условий 100 90 80 70 60 50 40 30 20 10 0 60 65 70 75 80 85 90 95 100 Сжатие JPEG [3] Применение SURF для определения маркера дополненной реальности 18
  • 19. Обработка найденного объекта Что нам необходимо получить Применение SURF для определения маркера дополненной реальности 19
  • 20. Обработка найденного объекта Перспективная трансформация (гомография) [7] Применение SURF для определения маркера дополненной реальности 20
  • 21. Обработка найденного объекта 2D -> 3D Внутренняя матрица Внешняя матрица Применение SURF для определения маркера дополненной реальности 21
  • 22. Обработка найденного объекта Недостатки: 1. Скорость работы. 2. Ошибки распознавания точек. 3. Подбор точности под конкретную задачу. 4. Работает только на хорошо текстурированных изображениях. Для чего можно применять: 1. Распознавание заранее заготовленного маркера. 2. Распознавание и поиск информации о картинах и фрагментах 3. В комбинации с другими методами – трекинг. 4. Рекламные акции с «играми» на бигбордах 5. Социальные приложения связанные с упаковками и товарными марками Применение SURF для определения маркера дополненной реальности 22
  • 24. Источники литературы 1. Herbert Bay, Andreas Ess, Tinne Tuytelaars, and Luc Van Gool. Speeded-Up Robust Features ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf 2. SURF: Speeded Up Robust Features www.vision.ee.ethz.ch/~surf/eccv06.pdf 3. Обнаружение устойчивых признаков изображения: метод SURF http://habrahabr.ru/post/103107/ 4. Feature descriptors http://campar.in.tum.de/twiki/pub/Chair/TeachingWs09MATDCV/feature_descriptors.pdf 5. SURF: Speeded-Up Robust Features http://www.cse.cuhk.edu.hk/~lyu/seminar/06fall/Wyman.ppt 6. The OpenSURF Computer Vision Library http://www.chrisevansdev.com/computer-vision-opensurf.html 7. Wikipedia homography tranlation illustration. http://en.wikipedia.org/wiki/File:Homography-transl-bold.svg