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
Presentación Instrumentos de Medicion Electricos.pptx
Origam-i: Juego basado en Realidad Aumentada para iPhone (Santiago García Guillén)
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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