Применение 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

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
  • 23.
  • 24.
    Источники литературы 1. HerbertBay, 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