Este documento describe el desarrollo de una aplicación para Android que permite a personas con discapacidad visual reconocer billetes de dólares estadounidenses mediante la cámara de un teléfono inteligente. Explica los conceptos clave de procesamiento de imágenes, reconocimiento de patrones y el sistema operativo Android. También detalla las etapas de aprendizaje y reconocimiento de la aplicación así como consideraciones sobre el algoritmo PCA y recursos limitados de dispositivos móviles.
Posterio anterior cephalometrics / dental implant courses by Indian dental ac...Indian dental academy
Description :
The Indian Dental Academy is the Leader in continuing dental education , training dentists in all aspects of dentistry and
offering a wide range of dental certified courses in different formats.for more details please visit
www.indiandentalacademy.com
Posterio anterior cephalometrics / dental implant courses by Indian dental ac...Indian dental academy
Description :
The Indian Dental Academy is the Leader in continuing dental education , training dentists in all aspects of dentistry and
offering a wide range of dental certified courses in different formats.for more details please visit
www.indiandentalacademy.com
Charla: Arquitectura, aplicaciones y seguridad en Android, impartida por Antonio Díaz de Informática 64 en el curso de Especialización en Dispositivos Móviles que tuvo lugar en la Facultad de Informática de la Universidad de A Coruña del 20 al 22 de Junio de 2012.
Windows RT, la nueva versión de Windows trae muchos conceptos nuevos y con ellos muchas preguntas. A su vez llega Windows Phone 8 y trae consigo aún más preguntas. ¿Qué novedades a nivel de desarrollo trae Windows 8? ¿Windows Store y Desktop? ¿Y Windows Phone 8? ¿Es una aplicación WP7.5 compatible con WP8? ¿Y al revés? ¿Puedo compartir código entre Windows 8 y Windows Phone 8?
En este evento realizamos una introducción al desarrollo de ambas plataformas analizando las muchas y nuevas disponibles para los desarrolladores. Además resolvimos todas las preguntas anteriores y otras que salieron durante la charla.
Android es un sistema operativo basado en el kernel de Linux diseñado principalmente para dispositivos móviles con pantalla táctil, como teléfonos inteligentes o tabletas.
2. Introducción
Personas con Discapacidad Visual
Teléfonos Móviles Inteligentes
Sistemas Operativos
Sistema Operativo Android
Procesamiento Digital de Imágenes
Diseño e Implementación del Software
Conclusiones y Recomendaciones
2
3. El Proyecto consiste en hacer una aplicación
que funcione en teléfonos móviles
inteligentes que posean el sistema operativo
Android de Google, esta aplicación permite
reconocer la denominación de dólares
americanos mediante la cámara del
dispositivo móvil y presentarlo en modo de
audio para las personas con discapacidad
visual.
3
4. Personas con discapacidades registradas y carnetizadas
(1996 al 2011)
313.000 personas con
discapacidad en Ecuador
35.000 personas
con
discapacidad
visual
4
5. Organismos Leyes
• VICEPRESIDENCIA DEL ECUADOR • LA LEY ORGÁNICA DE
DISCAPACIDADES
• CONADIS
• PRIMER PLAN NACIONAL DE
DISCAPACIDADES
• PLAN DEL BUEN VIVIR
• FENCE
5
7. Ecuador
América Latina
Telefonos Moviles vs Telefonos
Moviles Inteligentes
Teléfonos
Móviles
Inteligentes
20%
Teléfonos
Móviles
80%
7
8. • Provee de un ambiente conveniente de trabajo.
• Hacer uso eficiente del Hardware.
• Proveer de una adecuada distribución de los recursos.
• Gobernar el Sistema. y asignar los recursos.
• Administrar y controlar la ejecución de los programas.
DISPOSITIVOS DISPOSITIVOS DISPOSITIVOS DISPOSITIVOS DISPOSITIVOS
hTC, Samsung iPhone 3, Exclusivos Exclusivos Pocket Pc
SonyEriccson, iPhone 4, BlackBerry Nokia (Palm Dell),
Motorola, LG, iPhone 5, iPad Nokia,
Huawei. hTC
8
9. Symbian 5th Windows Mobile
Sistema Operativo Android 2.1 Eclair BlackBerry OS 4.7 iPhone OS 3.0
Edition 6.5
Apariencia Visual
Nucleo Linux Propietario OS X Symbian Windows CE
Licencias No Limitado Si Limitado Limitado
Funcionamiento Aceptable Aceptable Aceptable Aceptable Aceptable
Desarrollo de
Excelente Escaso Limitado Escaso Limitado
Terceros
BlackBerry App
Aplicaciones Android Market iTunes OVI AppStore
World
9
13. Android 2.3
Android 2.2 (Gingerbread
– 12/2010)
(Froyo - 05/2010)
Android 2.1
(Eclair – 01/2010)
Android 1.6
(Donut – 09/2009)
Android 1.5
•Uso delSearchde “pellizcar” ventanas. zoom en ennavegador, la galería y en
•Transiciones animadas entre para hacery Mejoras elalla velocidad de la cámara.Google Maps.
•Quick para Radio FM. pantalla de inicio busca (contactos, números, Google)
•SoportegestoUna nueva clave de acordes permite usuario introducir rápidamente los
•Multitouch: Box, en la
(Cupcake – 04/2009) •Mejoras compartir la conexión del teléfono con el portátil, haciendo del móvil
•Mejoras en lade conectarse navegador web con Webkit e Intérprete JavaScript. un hotspot.
•Posibilidad velocidad
•Permite en símbolos. del a redes VPN, 802.1x.
números y Google Maps.
•Mejoras en la personalizar la batería. aparecen ahora pantalla de inicio.
•Posibilidad de duración Time) que hacemostrados en laordenadas por categorías
•Las aplicaciones aplicaciones.
•Control sobre (Just in de los Widgets
•Compilador JIT lasde Android Market unas 4 o 5 veces más rápida la nueva versión de
•Llamadas
Android. por Internet mediante cuentas SIP. 13
14. Requerimientos previos:
Android Versiones
Microsoft Windows OS XP, Vista o 7
Mac OS 10.4.8 o posterior (sólo los chips de Intel)
Linux Toda versión
Plataformas que soportan herramientas de Desarrollo para Android
Descargar e Instalar :
Eclipse IDE El SDK de Android Java Development Kit (JDK)
14
15. Foreground
• PRIMER PLANO
Applications
Background
Servicese
• SEGUNDO PLANO
Intent
Receivers
Intermittent • Chat en vivo y aplicaciones
Applications de correo electrónico
• Iconos visuales interactivos
Widgets que se pueden añadir a las
pantallas de inicio.
15
17. Parámetros de la Cámara
• Permite seleccionar los tipos de escena.( playa, puesta de sol, etc)
SceneMode
• Permite especificar el modo de flash, como encendido, apagado, reducción de ojos
rojos, o el modo de linterna.
FlashMode
• Automático, Incandescente, Fluorescente, Día, Nublado
BalanceBlancos
• Escala de grises, Sepia, Negativo, Solarizar.
ColorEffect
• Configuración de autofocus.
FocusMode
17
18. Imagen Digital
f (0, 0) f (0,1) f (0, N 1)
f (1, 0) f (1,1) f (1, N 1)
f ( x, y )
f (M 1, 0) f (M 1,1) f (M 1, N 1)
Modelos de Color
Modelo de color RGB Modelo de color YCbCr
18
19. Histograma Sub-muestreo
Filtro de Media
Filtro de Media
Filtro Paso Bajo
Ponderada
Filtro de
Filtros Mediana
Filtros
Filtro
Laplaciano
Filtro Paso Alto
Filtro Menos
Laplaciano
19
21. Etapa de Aprendizaje
Banco de Pre-procesamiento Procesamiento Componentes
Imágenes de de imágenes de las imágenes Principales, meanface,
dólares utilizando PDI utilizando PCA eigenvectors y
americanos eigenvalues
Etapa de reconocimiento
Imagen
capturada por la Pre-procesamiento Procesamiento Proceso de Identificación de
cámara del de la imagen de la imagen Reconocimiento la imagen
dispositivo utilizando PDI utilizando PCA de la imagen
móvil
21
22. Etapa de Aprendizaje
No. De
Cara Ángulos de Inclinación Detalles
Muestras
0º 90º 180º 270º Cada muestra se tomó
±1, ±1, ±1, ±1, con cierto grado de
Frontal 24
±5, ±5, ±5, ±5, inclinación debido a
±10 ±10 ±10 ±10 que las personas no
0º 90º 180º 270º videntes no siempre
±1, ±1, ±1, ±1, podrán colocar los
Posterior 24
Obtención del Banco de ±5, ±5, ±5, ±5, billetes en una posición
Imágenes de Dólares ±10 ±10 ±10 ±10 exacta.
Americanos:
22
23. Etapa de Aprendizaje
SUB FILTRO DE MEDIA EXPANSION DEL
FILTRO MENOS
MUESTREO PONDERADA HISTOGRAMA DE
LAPLACIANO
LA IMAGEN
Reducción de Imagen suavizada Realza los rasgos Normaliza la
imagen lineales imagen
Nueva Resolución
Resolución
(80 x 60)
Original
(2592 x 1952)
Pre procesamiento de Imagen de muestra
23
24. Etapa de Aprendizaje
Transformación Creación de Cálculo de Creación de la Creación de
vector Γ matriz b vector Ψ matriz a la matriz K
Calculo de los Calculo de los
eigenvalues eigenvectors
Proyección de la
matriz
24
25. Etapa de Aprendizaje
.xml /res/values/
package net.sgoliver;
public final class R {
public static final class attr {
R.java }
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
.xml
public static final int main=0x7f030000;
}
public static final class string {
public static final intapp_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
25
26. Etapa de Reconocimiento
Frame
Objeto tipo Camera
SurfaceHolder.Callback
Camera.Parameters (2592 x 1952)
onPreviewFrame
Matriz de Imagen
Digital 1
26
27. Etapa de Reconocimiento
Frame
Frame
SUB MUESTREO
FILTRO DE MEDIA
PONDERADA
(2592 x 1952) (80 x 60)
FILTRO MENOS
LAPLACIANO
EXPANSION DEL
HISTOGRAMA
Matriz de Imagen
Matriz de Imagen
Digital 2
Digital 1
27
28. Etapa de Reconocimiento
Proyección de la
Frame matriz
ETAPA DE
(80 x 60) OBTENCIÓN DE
EIGENVECTORS, EIG
ENVALUES Y
MEANFACE.
Matriz de Imagen
Digital 2
28
31. • El futuro de Linux y especialmente de Android es uno de los más claros y prometedores
por sus propias características de inclusión en el desarrollo, seguridad y transparencia así
como en la versatilidad de su modelo económico donde el Gobierno del Ecuador,
empresa pública, universidades, bancos y muchas empresas están apostando a esta
plataforma en la nueva era de la información y las tecnología libres.
• El Ecuador aun es un país que adopta tecnologías mas no las desarrolla en su totalidad,
sin embargo con la investigación y el conocimiento adecuado se puede empezar a
desarrollar aplicaciones para dispositivos móviles en Ecuador, como es el caso de este
proyecto de desarrollo de una aplicación para dispositivos celulares con Android SO.
• Según las comparativas obtenidas de la investigación obtenemos que el sistema
operativo Android, es una excelente plataforma para desarrollar aplicaciones, por ser
software libre sin necesidad de adquirir licencias de programación o instalación
evitándonos los altos costos, además porque se lo puede empezar a programar con tan
solo un pequeño conocimiento de java bien sea en Linux o Windows de cualquier versión.
31
32. • El algoritmo de Análisis de Componentes Principales – PCA es muy adecuado para el
reconocimiento de patrones, sin embargo, depende mucho de las condiciones de luz y la
posición de la imagen a reconocer, por lo cual su eficiencia se ve comprometida al
aplicarse sobre un sistema que se traslada como es el caso de un teléfono celular, por lo
tanto si se lo desea aplicar en dichos dispositivos se lo debe hacer utilizando filtros y
técnicas de Procesamiento Digital de Imágenes – PDI que aumenten la calidad de la
imagen a reconocer.
• Al aplicar algoritmos para el reconocimiento de patrones dentro de dispositivos móviles se
debe tener en cuenta el Hardware ya que los mismos tienen recursos limitados gracias a
su naturaleza portable, por lo cual los algoritmos no utilizar cálculos extensos para que
puedan ser eficientes.
32