SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
¿Preguntas?

Weitere ähnliche Inhalte

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

Aplicacionsi Phone Os
Aplicacionsi Phone OsAplicacionsi Phone Os
Aplicacionsi Phone Os
BarCamp Quito
 
Catálogo GoiDigi 2014 con precios
Catálogo GoiDigi 2014 con preciosCatálogo GoiDigi 2014 con precios
Catálogo GoiDigi 2014 con precios
GoiDigi
 
Portafolio Nostrostudio Mayo'12 [castellano]
Portafolio Nostrostudio Mayo'12 [castellano]Portafolio Nostrostudio Mayo'12 [castellano]
Portafolio Nostrostudio Mayo'12 [castellano]
fabresitoh
 
The Formula Behind programa de facturacion tango gratis
The Formula Behind programa de facturacion tango gratisThe Formula Behind programa de facturacion tango gratis
The Formula Behind programa de facturacion tango gratis
ronald9donkey
 

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

Tarea integrada i movie_formapps
Tarea integrada i movie_formappsTarea integrada i movie_formapps
Tarea integrada i movie_formapps
 
Las apps
Las appsLas apps
Las apps
 
App inventor Flisol 2015
App inventor Flisol 2015App inventor Flisol 2015
App inventor Flisol 2015
 
Aplicaciones móviles para el uso en arquitectura
Aplicaciones móviles para el uso en arquitecturaAplicaciones móviles para el uso en arquitectura
Aplicaciones móviles para el uso en arquitectura
 
Las apps
Las appsLas apps
Las apps
 
Aplicaciones móviles para el uso en arquitectura
Aplicaciones móviles para el uso en arquitecturaAplicaciones móviles para el uso en arquitectura
Aplicaciones móviles para el uso en arquitectura
 
I onroad
I onroadI onroad
I onroad
 
Las apps
Las appsLas apps
Las apps
 
Las apps
Las appsLas apps
Las apps
 
Imagen digital teoría
Imagen digital   teoríaImagen digital   teoría
Imagen digital teoría
 
Mioio AppInventor Novadors
Mioio AppInventor NovadorsMioio AppInventor Novadors
Mioio AppInventor Novadors
 
Aplicacionsi Phone Os
Aplicacionsi Phone OsAplicacionsi Phone Os
Aplicacionsi Phone Os
 
El iPad como herramienta de productividad profesional #Productivity #iPadProED
El iPad como herramienta de productividad profesional #Productivity #iPadProEDEl iPad como herramienta de productividad profesional #Productivity #iPadProED
El iPad como herramienta de productividad profesional #Productivity #iPadProED
 
Catálogo GoiDigi 2014 con precios
Catálogo GoiDigi 2014 con preciosCatálogo GoiDigi 2014 con precios
Catálogo GoiDigi 2014 con precios
 
Portafolio Nostrostudio Mayo'12 [castellano]
Portafolio Nostrostudio Mayo'12 [castellano]Portafolio Nostrostudio Mayo'12 [castellano]
Portafolio Nostrostudio Mayo'12 [castellano]
 
Introducción a App Inventor
Introducción a App InventorIntroducción a App Inventor
Introducción a App Inventor
 
Las apps
Las appsLas apps
Las apps
 
Las apps1
Las apps1Las apps1
Las apps1
 
The Formula Behind programa de facturacion tango gratis
The Formula Behind programa de facturacion tango gratisThe Formula Behind programa de facturacion tango gratis
The Formula Behind programa de facturacion tango gratis
 
Las apps
Las appsLas apps
Las apps
 

Mehr von Cristina Urdiales

Mehr von Cristina Urdiales (19)

Desarrollo de una interfaz interactiva para museos (Silvia Moral)
Desarrollo de una interfaz interactiva para museos (Silvia Moral)Desarrollo de una interfaz interactiva para museos (Silvia Moral)
Desarrollo de una interfaz interactiva para museos (Silvia Moral)
 
Sistema de control híbrido para microbots
Sistema de control híbrido para microbotsSistema de control híbrido para microbots
Sistema de control híbrido para microbots
 
Simulador RFID para localización de objetos móviles
Simulador RFID para localización de objetos móvilesSimulador RFID para localización de objetos móviles
Simulador RFID para localización de objetos móviles
 
Modelado automático 3d de entornos mediante realidad aumentada orientado a ex...
Modelado automático 3d de entornos mediante realidad aumentada orientado a ex...Modelado automático 3d de entornos mediante realidad aumentada orientado a ex...
Modelado automático 3d de entornos mediante realidad aumentada orientado a ex...
 
Visualización aumentada de modelos 3D para diseño arquitectónico (A. Ruiz Agu...
Visualización aumentada de modelos 3D para diseño arquitectónico (A. Ruiz Agu...Visualización aumentada de modelos 3D para diseño arquitectónico (A. Ruiz Agu...
Visualización aumentada de modelos 3D para diseño arquitectónico (A. Ruiz Agu...
 
Sistema de información móvil basado en GPS (B. Prieto)
Sistema de información móvil basado en GPS (B. Prieto)Sistema de información móvil basado en GPS (B. Prieto)
Sistema de información móvil basado en GPS (B. Prieto)
 
Pizarra Digital Interactica mediante el uso del Wiimote (F. Morabet)
Pizarra Digital Interactica mediante el uso del Wiimote (F. Morabet)Pizarra Digital Interactica mediante el uso del Wiimote (F. Morabet)
Pizarra Digital Interactica mediante el uso del Wiimote (F. Morabet)
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
 
Interfaz de usuario para el desarrollo de contenidos en guías turísticas orie...
Interfaz de usuario para el desarrollo de contenidos en guías turísticas orie...Interfaz de usuario para el desarrollo de contenidos en guías turísticas orie...
Interfaz de usuario para el desarrollo de contenidos en guías turísticas orie...
 
Sistema de localización visual por color (M. Dominguez Duran)
Sistema de localización visual por color (M. Dominguez Duran)Sistema de localización visual por color (M. Dominguez Duran)
Sistema de localización visual por color (M. Dominguez Duran)
 
Coordinación por visión de equipos de robots móviles (J. Cebolla)
Coordinación por visión de equipos de robots móviles (J. Cebolla)Coordinación por visión de equipos de robots móviles (J. Cebolla)
Coordinación por visión de equipos de robots móviles (J. Cebolla)
 
Plataforma inalámbrica para la monitorización y teleasistencia domiciliaria u...
Plataforma inalámbrica para la monitorización y teleasistencia domiciliaria u...Plataforma inalámbrica para la monitorización y teleasistencia domiciliaria u...
Plataforma inalámbrica para la monitorización y teleasistencia domiciliaria u...
 
Interfaz gráfico de usuario con control táctil para juegos musicales multijug...
Interfaz gráfico de usuario con control táctil para juegos musicales multijug...Interfaz gráfico de usuario con control táctil para juegos musicales multijug...
Interfaz gráfico de usuario con control táctil para juegos musicales multijug...
 
Bóveda celeste usando Realidad Aumentada (D. Berrocal)
Bóveda celeste usando Realidad Aumentada (D. Berrocal)Bóveda celeste usando Realidad Aumentada (D. Berrocal)
Bóveda celeste usando Realidad Aumentada (D. Berrocal)
 
Algoritmo de resolucion automatica de puzzles (J.O. Merry)
Algoritmo de resolucion automatica de puzzles (J.O. Merry)Algoritmo de resolucion automatica de puzzles (J.O. Merry)
Algoritmo de resolucion automatica de puzzles (J.O. Merry)
 
Sistema de comunicacion via radio entre PC y Microbot (M. Gonzalez Martin)
Sistema de comunicacion via radio entre PC y Microbot (M. Gonzalez Martin)Sistema de comunicacion via radio entre PC y Microbot (M. Gonzalez Martin)
Sistema de comunicacion via radio entre PC y Microbot (M. Gonzalez Martin)
 
Inmersión en entornos virtuales mediante Realidad Aumentada (Begoña Sagredo)
Inmersión en entornos virtuales mediante Realidad Aumentada (Begoña Sagredo)Inmersión en entornos virtuales mediante Realidad Aumentada (Begoña Sagredo)
Inmersión en entornos virtuales mediante Realidad Aumentada (Begoña Sagredo)
 
Sistema de aprendizaje para el coloreado de dibujo (Jose Manuel Benicio)
Sistema de aprendizaje para el coloreado de dibujo (Jose Manuel Benicio)Sistema de aprendizaje para el coloreado de dibujo (Jose Manuel Benicio)
Sistema de aprendizaje para el coloreado de dibujo (Jose Manuel Benicio)
 
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
Plataforma de informacion geolocalizada para Android (Antonio Lopez Garcia)
 

Kürzlich hochgeladen

3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
GustavoAdolfoDiaz3
 

Kürzlich hochgeladen (20)

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
3.6.2 Lab - Implement VLANs and Trunking - ILM.pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdfAportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
Aportes a la Arquitectura de Le Corbusier y Mies Van Der Rohe.pdf
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
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