Iniciación a ARToolKit

6,423 views

Published on

Iniciación a la realidad aumentada con Wikitude ARToolKit

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,423
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
158
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Iniciación a ARToolKit

  1. 1. Accesibilidad y Realidad Aumentada Iniciación a ARToolKit Vicente García Díaz – garciavicente@uniovi.es Universidad de Oviedo, 2012
  2. 2. 2Tabla de contenidos Iniciación a ARToolKit1. Conceptos básicos2. Principios de desarrollo3. Otros datos de interés4. AndAR
  3. 3. 4Conceptos básicos ¿Qué es ARToolKit? • Es una librería software que sirve para construir aplicaciones AR • Multiplataforma (Linux, Mac, Windows, …) • Escrita en C y C++ • Creado inicialmente por Hirokazu Kato (1999) • Human Interface Technology Laboratory (HITLab) – University of Washington • Libre para usos no comerciales (GNU General Public Licence) ▫ Las licencias comerciales las administra ARToolworks (Seattle, USA) • http://www.hitl.washington.edu/artoolkit/
  4. 4. 5Conceptos básicos Principales características • Rastreo de posiciones ▫ Es muy complicado calcular el punto de vista del usuario para que los objetos superpuestos aparezcan alineados con los objetos del mundo real • Realidad aumentada a través de video ▫ Los objetos se superponen a un video en directo del mundo real • Realidad aumentada a través de una vista óptica ▫ Los objetos se colocan directamente en una vista del mundo real Fuente: http://www.cs.unc.edu/~azuma/azuma_AR.html
  5. 5. 6Conceptos básicos ¿Cómo funciona? Fuente: https://www.artoolworks.com/
  6. 6. 7Conceptos básicos Un simple ejemplo Fuente: http://www.hitl.washington.edu/
  7. 7. 8AndAR Ejemplo ARToolKit (Audi) Fuente: http://www.youtube.com/watch?v=UgQfo7eNFdw&feature=related
  8. 8. 9AndAR Ejemplo ARToolKit (Manual de Lego) Fuente: http://www.youtube.com/watch?v=ogeIszG5ogQ
  9. 9. 10AndAR Ejemplo ARToolKit (Mueble virtual) Fuente: http://www.youtube.com/watch?v=EyKBSWb0ysk
  10. 10. 11AndAR Ejemplo ARToolKit (Juego ARDefender) Fuente: http://www.youtube.com/watch?v=EyKBSWb0ysk
  11. 11. 12AndAR Ejemplo (Libros) Fuente: http://www.youtube.com/watch?v=UVhtB-SH5b8
  12. 12. 13AndAR Ejemplo (Juego PITStrategy) Fuente: http://www.youtube.com/watch?v=EyKBSWb0ysk
  13. 13. 14Conceptos básicos Calibración de la cámara • Los valores de configuración de las cámaras se guardan en un fichero camera_para.dat • Se pueden crear ficheros específicos para cada cámara • Existen dos tipos de calibraciones: ▫ En dos pasos (3D) ▫ En un paso (2D)
  14. 14. 15Conceptos básicos Calibración de la cámara en 2 pasos Patrones a utilizar • calib_list.pdf y calib_cpara.pdf
  15. 15. 16Conceptos básicos Calibración de la cámara en 2 pasos Calibración mediante lista de puntos (I) • calib_list.pdf se utiliza para ubicar el centro de la imagen y para calcular la distorsión de las lentes • Se utiliza el programa calib_dist
  16. 16. 17Conceptos básicos Calibración de la cámara en 2 pasos Calibración mediante lista de puntos (II) • Se debe repetir el proceso varias veces
  17. 17. 18Conceptos básicos Calibración de la cámara en 2 pasos Calibración mediante lista de puntos (III) • Después de marcar los puntos se puede pasar a calcular el centro de la imagen y los parámetros de dispersión • Se puede comprobar el resultado mostrando líneas entre los puntos
  18. 18. 19Conceptos básicos Calibración de la cámara en 2 pasos Calibración mediante rectángulos (I) • calib_cparam.pdf se utiliza principalmente para calcular la distancia focal • Se utiliza el programa calib_cparam 1. Indicar los parámetros obtenidos con calib_list 2. Poner el patrón en frente de la cámara (grande) Fuente: http://www.nikonusa.com/
  19. 19. 20Conceptos básicos Calibración de la cámara en 2 pasos Calibración mediante rectángulos (II) • Irán apareciendo líneas blancas ▫ Horizontales (hay que colocarlas de arriba abajo) ▫ Verticales (hay que colocarlas de izquierda a derecha) • Se debe repetir el proceso varias veces (alejando la imagen hasta 50cm) • Finalmente se pide un nombre de archivo para guardar los parámetros
  20. 20. 21Conceptos básicos Calibración de la cámara en un paso • Se utiliza únicamente calib_list.pdf (el primero de los patrones anteriores) • Se utiliza el programa calib_camera2 • Pide al usuario la distancia entre cada punto y después hay que hacer los mismos pasos que con calib_list • Es menos preciso que la calibración en dos pasos
  21. 21. 22Conceptos básicos Arquitectura Fuente: http://www.hitl.washington.edu/
  22. 22. 23Conceptos básicos Estructura Fuente: http://www.hitl.washington.edu/
  23. 23. 25Principios de desarrollo Introducción • Las aplicaciones que utilizan ARToolKit tienen dos partes bien diferenciadas: 1. Escribir la aplicación 2. Entrenar a las rutinas de procesamiento de imágenes INICIO 1- Leer los parámetros de la cámara y cargar los archivos con los patrones usados como marcadores. Inicializar la captura de la cámara REPETICIÓN 2- Capturar un frame a partir de la entrada de video 3- Detectar los marcadores situados dentro del frame 4- Calcular la posición y tamaño de los objetos virtuales 5- Superponer los objetos virtuales sobre el marcador CIERRE 6- Finalizar la captura de video
  24. 24. 26Principios de desarrollo Desarrollo de una aplicación sencilla Idea general
  25. 25. 27Principios de desarrollo Desarrollo de una aplicación sencilla Principales funciones utilizadas FASE PASO CORRESPONDENCIA CON FUNCIÓN EN CÓDIGO INICIO 1- Inicializar captura init REPETICIÓN 2- Capturar frame arVideoGetImage 3- Detectar marcadores arDetectMarker 4- Calcular posicionamiento arGetTransMat 5- Superponer objetos draw CIERRE 6- Finalizar captura cleanup • Además se utilizará una función main y una función mainLoop
  26. 26. 29Otros datos de interés Limitaciones de ARToolKit • Es necesario que el marcador se pueda ver por completo para poder ser identificado • Sólo reconoce marcadores 2D • La calidad depende de: ▫ Capacidad de la cámara ▫ Sencillez de los marcadores Tamaño del Alcance (cm) ▫ Posición de los marcadores marcador (cm) 7 41 ▫ Condiciones de luz 9 64 11 86 19 127
  27. 27. 30Otros datos de interés Algunos complementos • ARToolkit Professional ▫ Versión de pago con mejoras • OpenVRML for ARToolkit ▫ Para trabajar con modelos creados utilizando Virtuality Reality Modeling Language (VRML) • osgART ▫ Para trabajar con modelos creados utilizando OpenSceneGraph • Studierstube tracker ▫ Una librería para mejorar la calidad y precisión de los marcadores 2D • ARToolKit patternmaker ▫ Aplicación para facilitar el desarrollo de marcadores
  28. 28. 31Otros datos de interés Sistemas a los que ha sido portado
  29. 29. Versión de ARToolkit para Android - http://code.google.com/p/andar/
  30. 30. 33AndAR Ejemplo AndAR (Planta) Fuente: http://www.kurzweilai.net/diminished-reality-software-removes-objects-from-video-in-real-time/
  31. 31. 34AndAR Arquitectura
  32. 32. 35AndAR Ejemplo de aplicación Paso 1. Crear actividad básica • CustomActivity.java
  33. 33. 36AndAR Ejemplo de aplicación Paso 1. Crear actividad básica (II) • CustomObject.java
  34. 34. 37AndAR Ejemplo de aplicación Paso 1. Crear actividad básica (III) • CustomRenderer.java
  35. 35. 38AndAR Ejemplo de aplicación Paso 2. Mostrar objeto • CustomObject.java textureId será una propiedad que guardará el id de la textura cube será una propiedad que guardará un objeto de tipo Cube Será necesario pasarle el context desde la actividad principal (en el constructor)
  36. 36. 39AndAR Ejemplo de aplicación Paso 2. Mostrar objeto (II) • Cube.java Si el tamaño del marcador es de 80, un buen tamaño para los objetos podría ser 50 Se simplifica la creación de los FloatBuffers
  37. 37. 40AndAR Ejemplo de aplicación Paso 2. Mostrar objeto (III) • Cube.java No hace falta especificar la proyección, lo hace AndAR
  38. 38. 41BibliografíaARTOOLKIT Website; http://www.hitl.washington.edu/artoolkit/ANDAR Website; http://code.google.com/p/andar/

×