SlideShare uma empresa Scribd logo
1 de 125
Baixar para ler offline
AUGMENTED REALITY
    FOR PROGRAMMERS

            Andrew Bibichev
            2010, September
AR                             AR
                     AR
                          AR
           AR



                               AR

 AR


                               AR

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


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


 Spec.      GPS, accelerometer,
sensors   gyro, magnetic compass
MICROMECHANICAL GYROSCOPE
OUTPUT IS ANGULAR VELOCITY
ERROR ACCUMULATION =>
=> DRIFT == LOW-FREQUENCY NOISE
Link
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
COMPLEMENTARY FILTER




amplitude




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


    drift 
B

g


    drift
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
HOW TO DETECT MARKER(S) ON IMAGE


                        Threshold
Link
N CAMERAS X M MARKERS
VICON
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
MICROSOFT SURFACE




Link
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


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




                             Link
ABOUT USING OF DATABASES




Link
Camera input           Tiny image




                                       Blended pose of
                                      nearest neighbors
       Database nearest neighbors



Link
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
IPISOFT DESKTOP MOCAP
markers


              structured light


Cameras    Z-cameras / Z-sensors

               True Optical:
             several cameras
              True Optical:
           one moving camera


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

350

300

250

200
                             millions of USD
150

100

50

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

Mais conteúdo relacionado

Mais de Andrey Bibichev

Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Andrey Bibichev
 
Архитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьAndrey Bibichev
 
Пользовательский автоматизм
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизмAndrey Bibichev
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignAndrey Bibichev
 
О текстовом вводе замолвите слово
О текстовом вводе замолвите словоО текстовом вводе замолвите слово
О текстовом вводе замолвите словоAndrey Bibichev
 
Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Andrey Bibichev
 
Проектирование больших ИС в Agile
Проектирование больших ИС в AgileПроектирование больших ИС в Agile
Проектирование больших ИС в AgileAndrey Bibichev
 
Enterprise Level Agile The Art Of Start
Enterprise Level Agile   The Art Of StartEnterprise Level Agile   The Art Of Start
Enterprise Level Agile The Art Of StartAndrey Bibichev
 
Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Andrey Bibichev
 
Безудержный рефакторинг: как не убиться об стену
Безудержный рефакторинг: как не убиться об стенуБезудержный рефакторинг: как не убиться об стену
Безудержный рефакторинг: как не убиться об стенуAndrey Bibichev
 
Практика внедрения Scrum (статья)
Практика внедрения Scrum (статья)Практика внедрения Scrum (статья)
Практика внедрения Scrum (статья)Andrey Bibichev
 
Практика внедрения Scrum
Практика внедрения ScrumПрактика внедрения Scrum
Практика внедрения ScrumAndrey Bibichev
 
Аналитик в Agile (статья)
Аналитик в Agile (статья)Аналитик в Agile (статья)
Аналитик в Agile (статья)Andrey Bibichev
 
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?Andrey Bibichev
 
Аналитик в Agile (SEF-09)
Аналитик в Agile (SEF-09)Аналитик в Agile (SEF-09)
Аналитик в Agile (SEF-09)Andrey Bibichev
 

Mais de Andrey Bibichev (20)

Mockist vs Classicist
Mockist vs ClassicistMockist vs Classicist
Mockist vs Classicist
 
Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)Natural User Interface (WUDRU-2011)
Natural User Interface (WUDRU-2011)
 
Puasson burning
Puasson burningPuasson burning
Puasson burning
 
Архитектура в Agile: слабая связность
Архитектура в Agile: слабая связностьАрхитектура в Agile: слабая связность
Архитектура в Agile: слабая связность
 
Пользовательский автоматизм
Пользовательский автоматизмПользовательский автоматизм
Пользовательский автоматизм
 
Agile: Think different
Agile: Think differentAgile: Think different
Agile: Think different
 
BDD
BDDBDD
BDD
 
DDD Workshop
DDD WorkshopDDD Workshop
DDD Workshop
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
 
О текстовом вводе замолвите слово
О текстовом вводе замолвите словоО текстовом вводе замолвите слово
О текстовом вводе замолвите слово
 
Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)
 
Проектирование больших ИС в Agile
Проектирование больших ИС в AgileПроектирование больших ИС в Agile
Проектирование больших ИС в Agile
 
Enterprise Level Agile The Art Of Start
Enterprise Level Agile   The Art Of StartEnterprise Level Agile   The Art Of Start
Enterprise Level Agile The Art Of Start
 
Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)Humane Interface (Гуманный интерфейс)
Humane Interface (Гуманный интерфейс)
 
Безудержный рефакторинг: как не убиться об стену
Безудержный рефакторинг: как не убиться об стенуБезудержный рефакторинг: как не убиться об стену
Безудержный рефакторинг: как не убиться об стену
 
Практика внедрения Scrum (статья)
Практика внедрения Scrum (статья)Практика внедрения Scrum (статья)
Практика внедрения Scrum (статья)
 
Практика внедрения Scrum
Практика внедрения ScrumПрактика внедрения Scrum
Практика внедрения Scrum
 
Аналитик в Agile (статья)
Аналитик в Agile (статья)Аналитик в Agile (статья)
Аналитик в Agile (статья)
 
А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?А какой у вас Agile: свежевыжатый или порошковый?
А какой у вас Agile: свежевыжатый или порошковый?
 
Аналитик в Agile (SEF-09)
Аналитик в Agile (SEF-09)Аналитик в Agile (SEF-09)
Аналитик в Agile (SEF-09)
 

Augmented Reality

  • 1. AUGMENTED REALITY FOR PROGRAMMERS Andrew Bibichev 2010, September
  • 2. AR AR AR AR AR AR AR AR AR AR AR
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Link
  • 11.
  • 12.
  • 13.
  • 14.
  • 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
  • 19.
  • 23.
  • 26.
  • 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, …
  • 31.
  • 32.
  • 34.
  • 35.
  • 36. NOV, 2010: MS KINECT
  • 37.
  • 38.
  • 40. Link
  • 41.
  • 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
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 50.
  • 51.
  • 52.
  • 53. OUTPUT IS ANGULAR VELOCITY
  • 54.
  • 55. ERROR ACCUMULATION => => DRIFT == LOW-FREQUENCY NOISE
  • 56. Link
  • 57.
  • 58.
  • 59.
  • 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
  • 65.
  • 67. HOW TO CHOOSE VALUE OF COEFF.?
  • 68.
  • 69.
  • 70.
  • 71. Link
  • 72. g drift 
  • 73.
  • 74.
  • 75. B g drift
  • 76.
  • 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
  • 80.
  • 81.
  • 82.
  • 83. HOW TO DETECT MARKER(S) ON IMAGE Threshold
  • 84.
  • 85. Link
  • 86. N CAMERAS X M MARKERS
  • 87. VICON
  • 88.
  • 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
  • 91.
  • 92.
  • 94.
  • 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
  • 96.
  • 97. ROOTS OF NATAL == 3DV ZCAM Link
  • 98.
  • 99.
  • 100.
  • 101.
  • 102. ABOUT USING OF DATABASES Link
  • 103. Camera input Tiny image Blended pose of nearest neighbors Database nearest neighbors Link
  • 104.
  • 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
  • 107.
  • 108.
  • 110.
  • 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
  • 112.
  • 114.
  • 115. AUGMENTED REALITY REVENUE 400 350 300 250 200 millions of USD 150 100 50 0 2008 2014 Link
  • 116.
  • 117. robustness сущ. общ. здоровье; сила; здравомыслие; трудность; эксплуатационная надёжность; прочность автом. надёжность безоп. способность системы восстанавливать работоспособность при возникновении ошибочных ситуаций воен. жёсткость; защищённость выч. устойчивость (к нарушениям исходных предпосылок); "выносливость"; живучесть; устойчивость к нарушениям исходных предпосылок комп. ошибкоустойчивость контр.кач. прочность (конструкции) Макаров робастность (оценки в статистике); устойчивость (к нежелательным, но возможным воздействиям) матем. корректность (метода) рбт. грубость (напр. системы управления) редк. грубость тех. выносливость (к нежелательным, но возможным воздействиям); робастность