Augmented Reality

Andrey Bibichev
Andrey BibichevCTO at iPi Soft LLC
AUGMENTED REALITY
    FOR PROGRAMMERS

            Andrew Bibichev
            2010, September
AR                             AR
                     AR
                          AR
           AR



                               AR

 AR


                               AR

      AR
                AR
                          AR
Link
Link
Link
Augmented Reality
Augmented Reality
   
Augmented Reality
Link
   
Augmented Reality
Augmented Reality
Augmented Reality
VIRTUAL REALITY

       Real Life
       Context

       Generated
       Content
AUGMENTED REALITY


          Real Life
          Context

          Generated
          Content
AR
     Real Life
     Context

     Generated
     Content

VR
INNOVATIONS IN


INPUT                                OUTPUT
         Processing      Rendering
device                                device




         AR                    VR
Augmented Reality
EARLY 1970s:
FIRST ELECTRONIC KEYBOARD
1977: TOUCH SCREEN
1981: Xerox Star mouse
Augmented Reality
EARLY 1990s: WEBCAM
1995: Genius EasyScroll mouse
Augmented Reality
2007: multi touch (iPhone)
2007: WII REMOTE (accelerometer)
JUNE, 2009: WII MOTION+ (gyro)
2010: smart phones
with gyro, accel, GPS, video camera, …
Augmented Reality
Augmented Reality
SEP, 2010: SONY MOVE
Augmented Reality
Augmented Reality
NOV, 2010: MS KINECT
Augmented Reality
Augmented Reality
1984: Apache
Link
Augmented Reality
   
   
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
MICROMECHANICAL GYROSCOPE
Augmented Reality
Augmented Reality
Augmented Reality
OUTPUT IS ANGULAR VELOCITY
Augmented Reality
ERROR ACCUMULATION =>
=> DRIFT == LOW-FREQUENCY NOISE
Link
Augmented Reality
Augmented Reality
Augmented Reality
a

                   g       g-a


Output is (g-a) in coordinate system of device
Case: 1d, a 0

              y
         

             gx
gy
     g            x
Acceler
                            ?
          g x , gy
                                        Angle

            
 Gyro


               Magic
                                Complementary
                ==
                                    Filter
            Kalman Filter
KALMAN FILTER IS BASED ON MODELS




                               Link
Link



C++ implementation
Augmented Reality
COMPLEMENTARY FILTER




amplitude




                        frequency
                                    Link
HOW TO CHOOSE VALUE OF COEFF.?
Augmented Reality
Augmented Reality
Augmented Reality
Link
g


    drift 
Augmented Reality
Augmented Reality
B

g


    drift
Augmented Reality
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
                    
          W

      H
              d       D
FOV



                  L
W

      H
              d       D
FOV



                  L
Augmented Reality
Augmented Reality
Augmented Reality
HOW TO DETECT MARKER(S) ON IMAGE


                        Threshold
Augmented Reality
Link
N CAMERAS X M MARKERS
VICON
Augmented Reality
OPTITRACK
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
Augmented Reality
Augmented Reality
MICROSOFT SURFACE




Link
Augmented Reality
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
Augmented Reality
ROOTS OF NATAL == 3DV ZCAM




                             Link
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
ABOUT USING OF DATABASES




Link
Camera input           Tiny image




                                       Blended pose of
                                      nearest neighbors
       Database nearest neighbors



Link
Augmented Reality
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
ORGANIC MOTION




                 Link
Augmented Reality
Augmented Reality
IPISOFT DESKTOP MOCAP
Augmented Reality
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
Augmented Reality
SOURCE CODE
Augmented Reality
AUGMENTED REALITY REVENUE
400

350

300

250

200
                             millions of USD
150

100

50

  0
      2008       2014                   Link
Augmented Reality
robustness сущ.
 общ.       здоровье; сила; здравомыслие; трудность; эксплуатационная
            надёжность; прочность
 автом.     надёжность
 безоп.     способность системы восстанавливать работоспособность при
            возникновении ошибочных ситуаций
 воен.      жёсткость; защищённость
 выч.       устойчивость (к нарушениям исходных
            предпосылок); "выносливость"; живучесть; устойчивость к
            нарушениям исходных предпосылок
 комп.      ошибкоустойчивость
 контр.кач. прочность (конструкции)
 Макаров робастность (оценки в статистике); устойчивость (к
            нежелательным, но возможным воздействиям)
 матем.     корректность (метода)
 рбт.       грубость (напр. системы управления)
 редк.      грубость
 тех.       выносливость (к нежелательным, но возможным
            воздействиям); робастность
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
Augmented Reality
1 of 125

Recommended

Kinectic vision looking deep into depth by
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depthppd1961
6.3K views130 slides
О usability водопроводных кранов by
О usability водопроводных крановО usability водопроводных кранов
О usability водопроводных крановAndrey Bibichev
999 views25 slides
Geeks vs Managers (part 2) by
Geeks vs Managers (part 2)Geeks vs Managers (part 2)
Geeks vs Managers (part 2)Andrey Bibichev
1.4K views117 slides
Быстрое введение в TDD от А до Я by
Быстрое введение в TDD от А до ЯБыстрое введение в TDD от А до Я
Быстрое введение в TDD от А до ЯAndrey Bibichev
2.2K views134 slides
Фрактальная природа IT-проектов (блиц) by
Фрактальная природа IT-проектов (блиц)Фрактальная природа IT-проектов (блиц)
Фрактальная природа IT-проектов (блиц)Andrey Bibichev
847 views37 slides
Usability-for-programmers by
Usability-for-programmersUsability-for-programmers
Usability-for-programmersAndrey Bibichev
694 views91 slides

More Related Content

More from Andrey Bibichev

Mockist vs Classicist by
Mockist vs ClassicistMockist vs Classicist
Mockist vs ClassicistAndrey Bibichev
777 views96 slides
Natural User Interface (WUDRU-2011) by
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Andrey Bibichev
714 views55 slides
Puasson burning by
Puasson burningPuasson burning
Puasson burningAndrey Bibichev
2.3K views25 slides
Архитектура в Agile: слабая связность by
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьAndrey Bibichev
2.2K views110 slides
Пользовательский автоматизм by
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизмAndrey Bibichev
773 views74 slides
Agile: Think different by
Agile: Think differentAgile: Think different
Agile: Think differentAndrey Bibichev
1.2K views114 slides

More from Andrey Bibichev(20)

Natural User Interface (WUDRU-2011) by Andrey Bibichev
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)
Andrey Bibichev714 views
Архитектура в Agile: слабая связность by Andrey Bibichev
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связность
Andrey Bibichev2.2K views
Пользовательский автоматизм by Andrey Bibichev
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизм
Andrey Bibichev773 views
Обзор Feature-Driven Development и Domain-Driven Design by Andrey Bibichev
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
Andrey Bibichev2.4K views
О текстовом вводе замолвите слово by Andrey Bibichev
О текстовом вводе замолвите словоО текстовом вводе замолвите слово
О текстовом вводе замолвите слово
Andrey Bibichev595 views
Проектирование больших ИС в Agile (статья) by Andrey Bibichev
Проектирование больших ИС в Agile (статья)Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)
Andrey Bibichev1.6K views
Проектирование больших ИС в Agile by Andrey Bibichev
Проектирование больших ИС в AgileПроектирование больших ИС в Agile
Проектирование больших ИС в Agile
Andrey Bibichev2.1K views
Enterprise Level Agile The Art Of Start by Andrey Bibichev
Enterprise Level Agile   The Art Of StartEnterprise Level Agile   The Art Of Start
Enterprise Level Agile The Art Of Start
Andrey Bibichev683 views
Humane Interface (Гуманный интерфейс) by Andrey Bibichev
Humane Interface (Гуманный интерфейс)Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)
Andrey Bibichev1.7K views
Безудержный рефакторинг: как не убиться об стену by Andrey Bibichev
Безудержный рефакторинг: как не убиться об стенуБезудержный рефакторинг: как не убиться об стену
Безудержный рефакторинг: как не убиться об стену
Andrey Bibichev1.2K views
Практика внедрения Scrum (статья) by Andrey Bibichev
Практика внедрения Scrum (статья)Практика внедрения Scrum (статья)
Практика внедрения Scrum (статья)
Andrey Bibichev3K views
Практика внедрения Scrum by Andrey Bibichev
Практика внедрения ScrumПрактика внедрения Scrum
Практика внедрения Scrum
Andrey Bibichev2.6K views
Аналитик в Agile (статья) by Andrey Bibichev
Аналитик в Agile (статья)Аналитик в Agile (статья)
Аналитик в Agile (статья)
Andrey Bibichev3.7K views
А какой у вас Agile: свежевыжатый или порошковый? by Andrey Bibichev
А какой у вас Agile: свежевыжатый или порошковый?А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?
Andrey Bibichev1.1K views
Аналитик в Agile (SEF-09) by Andrey Bibichev
Аналитик в Agile (SEF-09)Аналитик в Agile (SEF-09)
Аналитик в Agile (SEF-09)
Andrey Bibichev1.1K views

Augmented Reality

  • 1. AUGMENTED REALITY FOR PROGRAMMERS Andrew Bibichev 2010, September
  • 2. AR AR AR AR AR AR AR AR AR AR AR
  • 8.
  • 10. Link
  • 11.
  • 15. VIRTUAL REALITY Real Life Context Generated Content
  • 16. AUGMENTED REALITY Real Life Context Generated Content
  • 17. AR Real Life Context Generated Content VR
  • 18. INNOVATIONS IN INPUT OUTPUT Processing Rendering device device AR VR
  • 27. 2007: multi touch (iPhone)
  • 28. 2007: WII REMOTE (accelerometer)
  • 29. JUNE, 2009: WII MOTION+ (gyro)
  • 30. 2010: smart phones with gyro, accel, GPS, video camera, …
  • 36. NOV, 2010: MS KINECT
  • 40. Link
  • 42.   
  • 43. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 53. OUTPUT IS ANGULAR VELOCITY
  • 55. ERROR ACCUMULATION => => DRIFT == LOW-FREQUENCY NOISE
  • 56. Link
  • 60. a g g-a Output is (g-a) in coordinate system of device
  • 61. Case: 1d, a 0 y  gx gy g x
  • 62. Acceler ? g x , gy Angle  Gyro Magic Complementary == Filter Kalman Filter
  • 63. KALMAN FILTER IS BASED ON MODELS Link
  • 67. HOW TO CHOOSE VALUE OF COEFF.?
  • 71. Link
  • 72. g drift 
  • 75. B g drift
  • 77. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 78.  W H d D FOV L
  • 79. W H d D FOV L
  • 83. HOW TO DETECT MARKER(S) ON IMAGE Threshold
  • 85. Link
  • 86. N CAMERAS X M MARKERS
  • 87. VICON
  • 90. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 95. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 97. ROOTS OF NATAL == 3DV ZCAM Link
  • 102. ABOUT USING OF DATABASES Link
  • 103. Camera input Tiny image Blended pose of nearest neighbors Database nearest neighbors Link
  • 105. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 106. ORGANIC MOTION Link
  • 111. markers structured light Cameras Z-cameras / Z-sensors True Optical: several cameras True Optical: one moving camera Spec. GPS, accelerometer, sensors gyro, magnetic compass
  • 115. AUGMENTED REALITY REVENUE 400 350 300 250 200 millions of USD 150 100 50 0 2008 2014 Link
  • 117. robustness сущ. общ. здоровье; сила; здравомыслие; трудность; эксплуатационная надёжность; прочность автом. надёжность безоп. способность системы восстанавливать работоспособность при возникновении ошибочных ситуаций воен. жёсткость; защищённость выч. устойчивость (к нарушениям исходных предпосылок); "выносливость"; живучесть; устойчивость к нарушениям исходных предпосылок комп. ошибкоустойчивость контр.кач. прочность (конструкции) Макаров робастность (оценки в статистике); устойчивость (к нежелательным, но возможным воздействиям) матем. корректность (метода) рбт. грубость (напр. системы управления) редк. грубость тех. выносливость (к нежелательным, но возможным воздействиям); робастность