Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Origam-i: Juego basado en Realidad Aumentada para iPhone (Santiago García Guillén)

161 views

Published on

Aplicación para guiar al usuario en el desarrollo de modelos de origami usando procesado de imagen y Realidad Aumentada.

Video demo: https://youtu.be/l9iLr0pp29Y

Published in: Engineering
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Origam-i: Juego basado en Realidad Aumentada para iPhone (Santiago García Guillén)

  1. 1. Origam-i: Juego basado en procesado de imagen para iPhone Realizado por: Santiago Garc´ıa Guill´en Dirigido por: Cristina Urdiales Garc´ıa Escuela T´ecnica Superior de Ingenier´ıa de Telecomunicaci´on Universidad de M´alaga 19 Mayo 2014
  2. 2. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones 1 Introducci´on a los dispositivos m´oviles 2 Caracter´ısticas del problema: iOS y origami 3 Estudio de procesado de imagen aplicado a Origam-i 4 Aplicaciones desarrolladas 5 Conclusiones y trabajo futuro Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  3. 3. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Explosi´on de los dispositivos m´oviles Dispositivos m´oviles del ahora: Smartphones y tabletas Desde ∼2009: explosi´on de ventas. Llegada al usuario medio Reducci´on de precio Aparici´on de la tecnolog´ıa 3G Mejora de sus capacidades y perif´ericos CPU Pantalla t´actil Videoc´amara y GPU Sistema de sonido GPS Aceler´ometros Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  4. 4. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Explosi´on de los dispositivos m´oviles Dispositivos m´oviles del ahora: Smartphones y tabletas Desde ∼2009: explosi´on de ventas. Llegada al usuario medio Reducci´on de precio Aparici´on de la tecnolog´ıa 3G Mejora de sus capacidades y perif´ericos CPU Pantalla t´actil Videoc´amara y GPU Sistema de sonido GPS Aceler´ometros Mercado se compartimenta seg´un plataforma iOS de Apple: iPhone y iPad Android de Google junto a diferentes compa˜n´ıas Blackberry Windows Phone (Microsoft + Nokia) Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  5. 5. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Aplicaciones para smartphones Un tel´efono ya no sirve solo para llamar: aplicaciones (apps) Smartphone: ordenador en la palma de la mano Movilidad, maniobrabilidad, ergonom´ıa,... Tiendas virtuales: App Store, Google Play Aplicaciones de todo tipo Utilidades Comunicaciones y redes sociales Ofim´atica M´usica Juegos Telemedicina Educativas Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  6. 6. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Aplicaciones para smartphones Aplicaciones educativas: Sistemas interactivos tutorizados Simbiosis perfecta con sistemas m´oviles Tutorizaci´on mediante realimentaci´on usuario–m´ovil Un smartphone es un ordenador en la palma de la mano Siempre encima Maniobrabilidad M´as ameno que leer un manual Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  7. 7. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Smartphones: evoluci´on A lifetime of Apps. IEEE Spectrum Sep 2012 c James Provost Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  8. 8. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones ¿Qu´e vamos a hacer? Sistema interactivo tutorizado Aportar know-how acad´emico Desarrollar una aplicaci´on que permita probar las ventajas que ofrecen los smartphones Crear un ejemplo de aplicaci´on interactiva tutorizada Tutor: tiene el conocimiento Usuario: realiza el aprendizaje Programador: a´ısla el conocimiento del tutor y lo ofrece al usuario Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  9. 9. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones ¿Qu´e vamos a hacer? Sistema interactivo tutorizado Aportar know-how acad´emico Desarrollar una aplicaci´on que permita probar las ventajas que ofrecen los smartphones Crear un ejemplo de aplicaci´on interactiva tutorizada Tutor: tiene el conocimiento Usuario: realiza el aprendizaje Programador: a´ısla el conocimiento del tutor y lo ofrece al usuario Origam-i: Juego basado en procesado de imagen para iPhone Captura del entorno: videoc´amara Realimentaci´on hacia el usuario: Pantalla t´actil Alto consumo de CPU/GPU: procesado en directo Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  10. 10. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Realidad Aumentada Versi´on mejorada de la realidad superponiendo informaci´on digital Toma de datos del entorno, procesado y representaci´on No es imprescindible, pero se ajusta perfectamente Forma m´as intuitiva de ense˜nar: mostrar en directo Aplicaciones de altos requerimientos Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  11. 11. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Elecci´on de plataforma: iPhone y iOS iOS: iPhone OS, lanzado en 2007 Versi´on actual: iPhone 5S/5C y iOS 7.0 ¿Por qu´e iPhone? Pocos dispositivos, pocas versiones SO Programaci´on en Objective-C Extensi´on POO del lenguaje C. Sintaxis propia SDK y entorno de desarrollo proporcionado por Apple Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  12. 12. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Arquitectura l´ogica iOS Capas L´ogicas en iOS Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  13. 13. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Patrones de dise˜no Patr´on de dise˜no (templates): Soluci´on reutilizable a problemas comunes Modelo–Vista–Controlador (MVC) Paso de mensajes: NSNotificationCenter Delegaci´on Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  14. 14. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Caracter´ısticas del origami La papiroflexia —u origami en japon´es— es el arte de plegar un papel para obtener figuras de formas variadas Caracter´ısticas: Cada figura se compone de diferentes pasos ordenados Cada paso tiene una forma ´unica Entre paso y paso se realiza un doblez El papel usado tiene dos colores: frente y dorso Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  15. 15. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Tipos de dobleces Valle Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  16. 16. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Tipos de dobleces Inside Reverse o Hueco Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  17. 17. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Tipos de dobleces Apertura ¡No es plano! Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  18. 18. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Limitaciones No se pueden tener pasos tridimensionales Easy Origami: Solo 2D Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  19. 19. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Limitaciones No se pueden tener pasos tridimensionales Easy Origami: Solo 2D Es necesario aislar caracter´ısticas que identifiquen la forma Existen zonas de sombra y el color no es constante Procesado de imagen: detecci´on de esquinas, color Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  20. 20. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Limitaciones No se pueden tener pasos tridimensionales Easy Origami: Solo 2D Es necesario aislar caracter´ısticas que identifiquen la forma Existen zonas de sombra y el color no es constante Procesado de imagen: detecci´on de esquinas, color Es necesario diferenciar Frente, Dorso y color de fondo Imponer el uso de tres colores planos y diferentes Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  21. 21. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Limitaciones No se pueden tener pasos tridimensionales Easy Origami: Solo 2D Es necesario aislar caracter´ısticas que identifiquen la forma Existen zonas de sombra y el color no es constante Procesado de imagen: detecci´on de esquinas, color Es necesario diferenciar Frente, Dorso y color de fondo Imponer el uso de tres colores planos y diferentes El doblez se identifica mediante varios par´ametros Es una recta: al menos dos puntos Es un tipo concreto de doblez: ¿qu´e parte se dobla? Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  22. 22. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Limitaciones No se pueden tener pasos tridimensionales Easy Origami: Solo 2D Es necesario aislar caracter´ısticas que identifiquen la forma Existen zonas de sombra y el color no es constante Procesado de imagen: detecci´on de esquinas, color Es necesario diferenciar Frente, Dorso y color de fondo Imponer el uso de tres colores planos y diferentes El doblez se identifica mediante varios par´ametros Es una recta: al menos dos puntos Es un tipo concreto de doblez: ¿qu´e parte se dobla? Los pasos deben ser almacenados correctamente Base de datos Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  23. 23. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Estudiando el problema en conjunto... Sistema interactivo tutorizado Dispositivo m´ovil Origami Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  24. 24. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Estudiando el problema en conjunto... Sistema interactivo tutorizado Dispositivo m´ovil Origami Plataforma que genera nuevas aplicaciones Tutor–Programador: Aplicaci´on del desarrollador Programador–Usuario: Aplicaci´on de usuario final Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  25. 25. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Divisi´on del proyecto en dos aplicaciones Diferentes usuarios, diferentes necesidades El usuario final quiere feedback r´apido: flujo de video El tutor ya sabe los pasos: fotograf´ıas Diferentes escenarios, diferentes procesados Al crear la base de datos, el visto bueno lo da el tutor Al usar la base de datos, la aplicaci´on da el visto bueno Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  26. 26. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Divisi´on del proyecto en dos aplicaciones Diferentes usuarios, diferentes necesidades El usuario final quiere feedback r´apido: flujo de video El tutor ya sabe los pasos: fotograf´ıas Diferentes escenarios, diferentes procesados Al crear la base de datos, el visto bueno lo da el tutor Al usar la base de datos, la aplicaci´on da el visto bueno Aislar creaci´on y distribuci´on Crear diferentes bases de datos para comercializar Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  27. 27. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Divisi´on del proyecto en dos aplicaciones Diferentes usuarios, diferentes necesidades El usuario final quiere feedback r´apido: flujo de video El tutor ya sabe los pasos: fotograf´ıas Diferentes escenarios, diferentes procesados Al crear la base de datos, el visto bueno lo da el tutor Al usar la base de datos, la aplicaci´on da el visto bueno Aislar creaci´on y distribuci´on Crear diferentes bases de datos para comercializar Dos aplicaciones sobre iOS Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  28. 28. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones ¿Qu´e procesado de imagen? Procesado en color Mejora de la calidad de imagen: Iluminaci´on, sombras Extracci´on de esquinas Identificaci´on de la forma de la figura: Esquinas Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  29. 29. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones ¿Qu´e sabemos de las sombras? ¿Qu´e provoca las sombras? Elementos externos La propia figura: bordes Reducci´on de luz: Oscurecimiento de una zona de la imagen ¿Podemos aclarar un color? Gracias a la representaci´on en espacio de color Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  30. 30. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Espacios de color RGB: ¡No es f´acil moverse! HSV: Basta variar V Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  31. 31. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Procesado de color Transformaci´on RGB→HSV→RGB Ecuaciones complejas: Lentas Tabular los resultados (Look-Up Table) () Memoria: 256 × 256 × 256 × 3 × 4 ≈ 192Mbytes iPhone 4: 512 Mbytes de RAM Usar disco: P´erdida de velocidad Diezmado: P´erdida de precisi´on Agrupaci´on de colores () Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  32. 32. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Procesado de color Transformaci´on RGB→HSV→RGB Ecuaciones complejas: Lentas Tabular los resultados (Look-Up Table) () Memoria: 256 × 256 × 256 × 3 × 4 ≈ 192Mbytes iPhone 4: 512 Mbytes de RAM Usar disco: P´erdida de velocidad Diezmado: P´erdida de precisi´on Agrupaci´on de colores () Acudir a transformaciones aproximadas y r´apidas (!) Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  33. 33. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Procesado de color Transformaci´on RGB→HSV→RGB Transformada r´apida RGB-HSV Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  34. 34. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Detecci´on de esquinas ¿Qu´e caracter´ısticas debe tener un detector de esquinas? Debe detectar todas las esquinas No debe detectar esquinas donde no las hay Tiene que ser robusto ante el ruido Debe ser preciso en la localizaci´on de una esquina ¿Qu´e problemas podemos encontrar en la imagen? Sombras Desenfoque o imagen borrosa Exceso o defecto de iluminaci´on Fallos hardware Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  35. 35. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas Algoritmos de extracci´on de esquinas FAST(-er) C´odigo liberado en C++ Usa escala de grises fastn y fastn non max non max suppression: Supresi´on de no m´aximos locales Medida de Harris Desarrollo matem´atico Gran cantidad de c´alculos: uso de GPU y flujo de video Basado en intensidad lum´ınica de varios p´ıxeles Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  36. 36. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas Extracci´on de esquinas: escala de grises Mapear un universo tridimensional en uno unidimensional PAL/Apple (FAST): Y = 0,299 × R + 0,587 × G + 0,114 × B ITU-R BT.709 (Harris): Y = 0,2125 × R + 0,7154 × G + 0,0721 × B Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  37. 37. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas Extracci´on de esquinas: escala de grises Mapear un universo tridimensional en uno unidimensional PAL/Apple (FAST): Y = 0,299 × R + 0,587 × G + 0,114 × B ITU-R BT.709 (Harris): Y = 0,2125 × R + 0,7154 × G + 0,0721 × B Colisiones en colores complejos Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  38. 38. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app del tutor: FAST FAST Par´ametro clave: Contig¨uidad de n p´ıxeles Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  39. 39. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app del tutor: FAST fast10 fast10 non max Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  40. 40. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app del tutor: FAST fast10 fast11 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  41. 41. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app del tutor: FAST Modelo h´ıbrido fast10 Contig¨uidad 10px sobre circunferencia 16px Algoritmo de supresi´on de duplicados propio fastn non max elimina esquinas que no debe Rcluster = 0,03 · √ W · H Ajuste fino manual aprovechando la pantalla t´actil Borrar es m´as f´acil que a˜nadir Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  42. 42. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones FAST: Rendimiento M´odulo/funci´on Tiempo de proceso ¯t (ms) Obtenci´on del mapa de bits (CG) ≈ 690 RGB2HSVRapido (C++) ≈ 270 Giro de la imagen (CG) ≈ 670 Image2Grayscale (CG) ≈ 100 fast10 (C++) ≈ 17 Simplificar cl´uster /10u (C++) ≈ 6 Superposici´on RA /1u (UIKit) ≈ 5 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  43. 43. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones FAST: Rendimiento M´odulo/funci´on Tiempo de proceso ¯t (ms) Obtenci´on del mapa de bits (CG) ≈ 690 RGB2HSVRapido (C++) ≈ 270 Giro de la imagen (CG) ≈ 670 Image2Grayscale (CG) ≈ 100 fast10 (C++) ≈ 17 Simplificar cl´uster /10u (C++) ≈ 6 Superposici´on RA /1u (UIKit) ≈ 5 Tiempo total ≈ 2s Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  44. 44. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app de usuario: Medida Harris Medida Harris Par´ametro clave: variaci´on de la intensidad en ambas dimensiones Robert Collins. Harris Corner Detector, 2007 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  45. 45. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app de usuario: Medida Harris Trabajo con flujo de video: Procesado Harris OpenGL ES Fragment Shaders Vertex Shaders Librer´ıa GPUImage Cadena de procesado (filtros) Escala de grises (ITU-R BT.709): dot Derivada discreta: 2×convoluci´on 2D con operador Prewitt Gx = −1 0 1 −1 0 1 −1 0 1 ∗ I , Gy = 1 1 1 0 0 0 −1 −1 −1 ∗ I Limpieza: Desenfoque gaussiano Medida Harris: R = R(Ix , Iy , Ixy , k) Supresi´on de puntos no m´aximos locales (non max suppression) Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  46. 46. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app de usuario: Medida Harris Proceso en GPU: destructivo El resultado del procesado Harris no est´a en la CPU La informaci´on est´a dispersa por el mapa de bits P´erdida de rendimiento (iPhone 4, iOS 6): Leer con glReadPixels() ≈ 90ms Leer imagen p´ıxel a p´ıxel ≈ 30ms Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  47. 47. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Extracci´on de esquinas en app de usuario: Medida Harris Proceso en GPU: destructivo El resultado del procesado Harris no est´a en la CPU La informaci´on est´a dispersa por el mapa de bits P´erdida de rendimiento (iPhone 4, iOS 6): Leer con glReadPixels() ≈ 90ms Leer imagen p´ıxel a p´ıxel ≈ 30ms Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  48. 48. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Detecci´on de figura correcta: Emparejado Hay un flujo de video: movimientos No puede ser emparejado perfecto Esquinas de m´as o menos Ligeras rotaciones y variaciones de perspectiva Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  49. 49. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Detecci´on de figura correcta: Emparejado Hay un flujo de video: movimientos No puede ser emparejado perfecto Esquinas de m´as o menos Ligeras rotaciones y variaciones de perspectiva Algoritmo propio Fijar dos puntos extremos de la escena Escalar distancias y calcular ´angulos respecto de ´estos Buscar parejas punto a punto Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  50. 50. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Detecci´on de figura correcta: Emparejado Hay un flujo de video: movimientos No puede ser emparejado perfecto Esquinas de m´as o menos Ligeras rotaciones y variaciones de perspectiva Algoritmo propio Fijar dos puntos extremos de la escena Escalar distancias y calcular ´angulos respecto de ´estos Buscar parejas punto a punto El paso ha sido realizado correctamente si durante 4 fotogramas de los ´ultimos 5 al menos un ratio mayor del 80 % de los n elementos de la base de datos son emparejados sobre los k elementos obtenidos del procesado en directo con no m´as de un elemento del procesado no emparejado Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  51. 51. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Base de datos Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  52. 52. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Base de datos nombreFigura: Demo numeroFigura: 1 numeroPaso: 1 P1: x=85, y=162 P2: x=85, y=339 P3: x=263, y=331 P4: x=262, y=163 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  53. 53. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Base de datos nombreFigura: Demo numeroFigura: 1 numeroPaso: 1 P1: x=85, y=162 P2: x=85, y=339 P3: x=263, y=331 P4: x=262, y=163 +Doblez: x1=26 x2=418 xe=298 y1=133 y2=537 ye=2581 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  54. 54. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Base de datos nombreFigura: Demo numeroFigura: 1 numeroPaso: 1 P1: x=85, y=162 P2: x=85, y=339 P3: x=263, y=331 P4: x=262, y=163 +Doblez: x1=26 x2=418 xe=298 y1=133 y2=537 ye=2581 nombreFigura: Demo numeroFigura: 1 numeroPaso: 2 P1: x=58, y=76 P2: x=354, y=377 P3: x=43, y=373 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  55. 55. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Base de datos nombreFigura: Demo numeroFigura: 1 numeroPaso: 1 siguientePaso: Paso2 P1: x=85, y=162 P2: x=85, y=339 P3: x=263, y=331 P4: x=262, y=163 +Doblez: x1=26 x2=418 xe=298 y1=133 y2=537 ye=2581 nombreFigura: Demo numeroFigura: 1 numeroPaso: 2 anteriorPaso: Paso1 P1: x=58, y=76 P2: x=354, y=377 P3: x=43, y=373 Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  56. 56. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Divisi´on del proyecto en dos aplicaciones Tutor — Programador — Usuario Origam-i dev.app Aplicaci´on del desarrollador Reconocimiento de esquinas Adici´on de informaci´on a ddbb Interacci´on manual (edici´on) Uso de fotograf´ıas Realidad aumentada Origam-i.app Aplicaci´on del usuario Decisi´on sobre la forma Lectura de la base de datos Feedback visual Uso del flujo de video Realidad aumentada Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  57. 57. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i dev.app resumen Origam-i dev.app Amplio espacio de visualizaci´on Esquinas y doblez: Realidad Aumentada Pantalla t´actil: botones y edici´on manual Botones para el uso de funciones Tocar para a˜nadir Ajuste fino con deslizamiento Base de datos: CoreData Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  58. 58. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i dev.app resumen Origam-i dev.app 1 Indicaci´on de comienzo 2 Toma de fotograf´ıa / Carga desde carrete 3 Eliminaci´on de sombras: RGB→HSV→V=1→RGB 4 Detecci´on de esquinas (FAST) 5 Visualizaci´on 6 Seleccionar doblez e introducir texto 7 Almacenamiento Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  59. 59. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i dev.app: Integraci´on del procesado Imagen Original Value=1 Detecci´on esquinas Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  60. 60. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones La aplicaci´on del usuario final: Origam-i.app Inicio Selecci´on de figuras Principal Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  61. 61. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i.app: Flujo de uso 1 Selecci´on de figura Carga desde la ddbb 2 Procesado continuo del flujo de v´ıdeo C´alculo Harris en GPU Detecci´on forma correcta/incorrecta: Matching C´alculo RA 3 Visualizaci´on: fotograma + RA 4 Interacci´on del usuario (interrupci´on) Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  62. 62. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i.app: Realidad Aumentada Mostrar texto de ayuda Mostrar esquinas detectadas Botones OK/Atr´as Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  63. 63. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i.app: Realidad Aumentada Mostrar texto de ayuda Mostrar esquinas detectadas Botones OK/Atr´as Mostrar doblez Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  64. 64. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i.app: Realidad Aumentada El problema del doblez La escena tiene perspectiva diferente al original Nuevo sistema de coordenadas Transformaci´on lineal a partir de dos puntos emparejados Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  65. 65. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Origam-i.app: Realidad Aumentada Mostrar texto de ayuda Mostrar esquinas detectadas Mostrar im´agenes superpuestas Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  66. 66. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Control de estado de red Sin conexi´on Conexi´on WiFi Conexi´on red m´ovil Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  67. 67. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Conclusiones Juego educativo de origami con Realidad Aumentada para iOS Estudiar caracter´ısticas de smartphone. Test ante apps exigentes Divisi´on en dos aplicaciones: desarrollador y usuario Crear diferentes aplicaciones cambiando la base de datos Uso de lo ofrecido por Apple: frameworks, librer´ıas,... FAST obtienen buenos resultados y es r´apido Medida Harris permite usar OpenGL ES (GPU) GPU–RAM es cuello de botella Realidad Aumentada mediante CoreGraphics Uso de redes sociales permite autopromoci´on Internacionalizaci´on y Localizaci´on de manera simple Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  68. 68. Introducci´on Caracter´ısticas Procesado de imagen Aplicaciones Conclusiones Trabajos futuros Paso a la tercera dimensi´on: m´as figuras Comercializaci´on de la aplicaci´on Mejoras de rendimiento: emparejado, doblez Portar la app a otros sistema m´ovil: Windows Phone/Android Aumentar la virtualidad de la escena Origam-i: Juego basado en procesado de imagen para iPhone Santiago Garc´ıa Guill´en Mayo 2014
  69. 69. ¿Preguntas?

×