ARTIFICIAL MEDIANTE VISIÓN ARTIFICIAL E INTELIGENCIA ... - UV
Visión Artificial, Accesibilidad y Android
-
Upload
droidcon-spain -
Category
Technology
-
view
466 -
download
3
description
Transcript of Visión Artificial, Accesibilidad y Android
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
Visión Artificial,Accesibilidad y Android
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
Contenido
1. Introducción
2. Qué es Qt?
3. Necessitas
4. Visión estéreo y Android
5. Detección de obstáculos aéreos
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
1. IntroducciónAplicaciones de alto rendimiento en Android
C Nativo
JDK
NDK
NEON Intrinsics
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
2. Qué es Qt?- Biblioteca multiplataforma de código abierto para desarrollo GUI, bajo licencia LGPL.
NecessitasBodgan Vatra et al.
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
2. Qué es Qt?- Lo que hace único a Qt son sus cualidades multiplataforma
- Soporta lenguajes nativos C++ y QML y bindings Java, PERL, PHP, Phyton, …
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
2. Qué es Qt?- Además del FrameWork, Qt proporciona un completo entorno de desarrollo, denominado QtCreator:
- Además de los servicios de documentación y ayuda de Digia, al ser un proyecto de código abierto posee una extensa comunidad de usuarios.
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
2. Qué es Qt?-Qt proporciona un conjunto de objetos (QImage, QPixmap, QPainter…) acelerados por hardware para el tratamiento de imágenes.
J.M. Sáez, A. Úbeda, M. Alejandro, José R. Díaz, ECOPEZON (Análisis computerizado de ecografías del pezón), 2012
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
3. Necessitas-Variación de Qt para desarrollo de aplicaciones Android
- Incorporado recientemente a Qt 5.1 por Digia
JDK
NDK
SDK en C/C++ nativo optimizado con NEON
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
3. Necessitas- El SDK es muy voluminoso
Necessitas Libs
Ministro
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
3. Necessitas-Ejemplo de desarrollo: TouchTheSound
- Audiograma
- Conversión a vibración
- Orientado a personas con sordera
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
3. Necessitas-Visión con Necessitas: QtMultimediaKit aún no está desarrollado
-Además hay que salvar dos cuellos de botella:
- Acceso a cámara lento en Java -> buffer de cámara y procesado a JNI
- Representación lenta en pantalla -> representación directa con OpenGl ES
JNIJDK
QtCameraPatch.cppQtCameraPatch.h
QtCameraPatch.java
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Visión estéreo y Android- Móviles 3D (HTC Evo 3D y LG Optimus 3D): teléfonos 3d basados
en lo que se denomina “3d sin gafas”
- Contienen dos cámaras frontales paralelas con disparo global, rectificadas y alineadas para evitar la aberración.
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Visión estéreo y Android- La pantalla se basa en parallax barrier.
- Cada ojo recibe la imagen de una cámara, creando la ilusión de profundidad.
- La disparidad (separación de los objetos en ambas imágenes) es inversamente proporcional a la distancia.
L R
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Visión estéreo y Android- La pantalla se basa en parallax barrier.
- Cada ojo recibe la imagen de una cámara, creando la ilusión de profundidad.
- La disparidad (separación de los objetos en ambas imágenes) es inversamente proporcional a la distancia.
- A menor disparidad mayor distancia.
L R
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Visión estéreo y Android- Para lograr separar las imágenes y que
cada ojo observe una imagen distinta, se muestran ambas imágenes entrelazando sus columnas (impares de L con pares de R).
- Para ocultar la visión frontal, se utiliza una malla microperforada.
- En modo 2D se muestra la misma imagen dos veces.
- Por esta razón, el efecto 3D solo se consigue desde un determinado punto de vista
L R L R L R L R L R
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Visión estéreo y Android- Herramientas: Necessitas Qt, OpenCV, OpenGL ES, Neon
- Lenguajes: Java (android), C++, C
- Algoritmos:
- Block Matching (K. Konolige) -> correspondencia
- Camera Calibraton (Y. Zhang) -> calibración estéreo
- Kanade-Lucas-Tomasi Tracker (KLT) -> medidas
+ =
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
- Sistema complementario integrado en un smartphone 3D
4. Detección de obstáculos aéreos
- Obstáculos que no pueden ser detectados por el bastón o el perro guía, al no tener proyección contra el suelo.
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Detección de obstáculos aéreos- Basado en visión estéreo:
L R
IBERAMIA (2002),
ICRA (2004)
CVPR (2005),
ECCV (2008)
3D smartphones
(2010-2011)
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Detección de obstáculos aéreos
Clasificación (Mean-Shift)
Observación 3D
Proyección del cuerpo
Dirección demovimiento
(K-Means)
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
4. Detección de obstáculos aéreos
Aerial Obstacles Testing (front-end de test)
Aerial Obstacles (front-end para ciegos)
Premio Vodafone a la Innovación
en Telecomunicaciones 2013
Visión Artificial Accesibilidad y AndroidMVRLab, & Neosistec
Vídeos de la presentación:
http://www.youtube.com/watch?v=T9PDkLhdAuw
http://www.youtube.com/watch?v=4pEw6YPFYAQ
Más vídeos relacionados en:
http://www.youtube.com/user/jmsaez1974/videos
Contacto:
Juan Manuel Sáez (MVRLab): [email protected]
Javier Pita (Neosistec): [email protected]