Traductor AR

22
  FACULTAD DE INGENIERÍA  T RADUCTOR AR   Integrantes: Miguel Ángel Martínez Soruco María Luisa Natusch Justiniano Docente: Ing. José Antonio Benavente Materia: Ingeniería de Software II Santa Cruz de la Sierra   Bolivia Junio de 2013

description

Documentación de una Aplicación para Android.Traductor AR: Traductor de Realidad Aumentada.

Transcript of Traductor AR

  • FACULTAD DE INGENIERA

    TRADUCTOR AR

    Integrantes: Miguel ngel Martnez Soruco

    Mara Luisa Natusch Justiniano

    Docente: Ing. Jos Antonio Benavente

    Materia:

    Ingeniera de Software II

    Santa Cruz de la Sierra Bolivia Junio de 2013

  • CONTENIDO

    Planteamiento del Problema ..................................................................................................... 3

    Objetivo del trabajo ................................................................................................................... 3

    Mtodo de Solucin .................................................................................................................. 3

    Contenido Adjunto .................................................................................................................... 4

    Marco Terico ........................................................................................................................... 4

    Realidad Aumentada ............................................................................................................. 4

    Reconocimiento Optico de Caracteres .................................................................................. 4

    Procesamiento de Lenguajes Naturales ................................................................................ 4

    Objetivo .................................................................................................................................... 5

    Requerimientos ........................................................................................................................ 7

    Requerimientos Funcionales ................................................................................................. 7

    Requerimientos No Funcionales ........................................................................................... 7

    Restricciones ........................................................................................................................ 7

    Modelo de Anlisis.................................................................................................................... 8

    Identificacin de los actores ...................................................................................................... 9

    Identificacin de los Casos de Uso ........................................................................................... 9

    Casos de Uso que implementan los Requisitos Funcionales .................................................. 10

    Modelo de Casos de Uso ........................................................................................................ 11

    Modelo De Dominio ................................................................................................................ 12

    Descripcin de las clases del Dominio ................................................................................... 13

    Identificar Paquetes de Analisis .............................................................................................. 14

    Modelo de paquetes y sus dependencias ............................................................................... 14

    Modelo de Diseo ................................................................................................................... 15

  • Modelo de Clases ................................................................................................................... 16

    Paquetes y subsistemas ......................................................................................................... 17

    Modelo de Despliegue ............................................................................................................ 18

    Modelo de Datos .................................................................................................................... 19

    Descripcion de la Arquitectura ................................................................................................ 19

  • PLANTEAMIENTO DEL PROBLEMA

    El avance de las Tecnologas de la Informacin cada vez apunta ms hacia la Nube y las

    Aplicaciones Mviles. Es por eso que estn apareciendo este tipo de aplicaciones en el

    mercado, ya sea de Software Libre o Comercial.

    La tendencia de hoy en da es construir aplicaciones combinando varios conceptos distintos,

    por ejemplo en este caso utilizaremos los siguientes conceptos para desarrollar una

    aplicacin:

    Realidad Aumentada

    Reconocimiento ptico de Caracteres (OCR)

    Procesamiento de Lenguajes Naturales

    Utilizando tambin uno de los conceptos bsicos de la Ingeniera del Software: La

    Reutilizacin.

    OBJETIVO DEL TRABAJO

    Se realiza un Traductor de Ingles a Espaol (y viceversa) en Realidad Aumentada para

    Androide utilizando herramientas de Software Libre. Este estar disponible para todos los

    usuarios de Google PlayStore.

    MTODO DE SOLUCIN

    Se est utilizando la metodologa RUP (Proceso Unificado de Rational), este es un proceso de

    desarrollo de software desarrollado por la empresa Rational Software. Junto con UML,

    constituye la metodologa estndar ms utilizada para el anlisis, diseo, implementacin y

    documentacin de sistemas orientados a objetos.

  • CONTENIDO ADJUNTO

    MARCO TERICO

    A continuacin hablaremos sobres los conceptos que utilizaremos para desarrollar dicha

    aplicacin.

    REALIDAD AUMENTADA1

    La realidad aumentada (RA) es el trmino que se usa para definir una visin directa o

    indirecta de un entorno fsico del mundo real, cuyos elementos se combinan con elementos

    virtuales para la creacin de una realidad mixta en tiempo real. Consiste en un conjunto de

    dispositivos que aaden informacin virtual a la informacin fsica ya existente, es decir,

    aadir una parte sinttica virtual a lo real. Esta es la principal diferencia con la realidad virtual,

    puesto que no sustituye la realidad fsica, sino que sobreimprime los datos informticos al

    mundo real.

    RECONOCIMIENTO OPTICO DE CARACTERES2

    El Reconocimiento ptico de Caracteres (ROC), o generalmente como reconocimiento de

    caracteres, es un proceso dirigido a la digitalizacin de textos, los cuales identifican

    automticamente a partir de una imagen smbolos o caracteres que pertenecen a un

    determinado alfabeto, para luego almacenarlos en forma de datos, as podremos interactuar

    con estos mediante un programa de edicin de texto o similar. Con frecuencia es abreviado en

    textos escritos en el idioma espaol, utilizando el acrnimo a partir del ingls OCR.

    PROCESAMIENTO DE LENGUAJES NATURALES3

    El Procesamiento de Lenguajes Naturales (PLN), o (NLP) del idioma ingls Natural Language

    Processing, es una sub-disciplina de la Inteligencia Artificial y la rama de la ingeniera de la

    1Fuente Wikipedia 2Fuente Wikipedia 3 Fuente Wikipedia

  • lingstica computacional. El PLN se ocupa de la formulacin e investigacin de mecanismos

    eficaces computacionales para la comunicacin entre personas o entre personas y maquinas

    por medio de lenguajes naturales.

    OBJETIVO

    Realizar un Traductor de Ingles a espaol (y viceversa) en Realidad Aumentada para Android

    reutilizando herramientas de Software Libre.

    HERRAMIENTAS

    A continuacin hablaremos sobres los conceptos que utilizaremos para desarrollar dicha

    aplicacin.

    TESSERACT OCR4

    Tesseract es un motor OCR libre. Fue desarrollado originalmente por Hewlett Packard como

    software propietario entre 1985 y 1995. Tras diez aos sin ningn desarrollo, fue liberado

    como cdigo abierto en el ao 2005 por Hewlett Packard y la Universidad de Nevada, Las

    Vegas. Tesseract es desarrollado actualmente por Google y distribuido bajo la licencia

    Apache, versin 2.0.

    Tesseract est considerado como uno de los motores OCR libres con mayor precisin

    disponibles actualmente.

    El motor Tesseract se desarroll en los laboratorios de Bristol de Hewlett Packard en Greeley

    (Colorado) entre 1985 y 1994. En 1996 se realizaron las modificaciones necesarias para su

    portabilidad en Windows, y ms tarde, en 1998 se migr el sistema de C a C++.

    4Fuente Wikipedia

  • LEPTONICA5

    Una Biblioteca Open Source desarrollada en C para un procesamiento eficiente de imgenes

    y de operaciones de anlisis de imgenes.

    GOOGLE TRANSLATE API6

    Google Translate o Traductor Google es un sistema de traduccin automtica gratuito

    proporcionado por Google Inc , basado en datos estadsticos para traducir texto, documentos

    y pginas web a otras lenguas. Google introdujo su propio software de traduccin en 2007,

    antes Google utilizaba el traductor SYSTRAN, que es utilizado por otros servicios de

    traduccin, tales como Babel Fish, AOL y Yahoo.

    ANDROID SDK Y ANDROID NDK

    Frameworks para el desarrollo de aplicaciones mviles para Android.

    - SDK: Software Development Kit

    - NDK: Native Development Kit

    5Fuente Wikipedia 6Fuente Wikipedia

  • REQUERIMIENTOS

    REQUERIMIENTOS FUNCIONALES

    Requerimientos funcionales de la aplicacin a desarrollarse:

    La aplicacin debe realizar un Reconocimiento ptico de Caracteres (OCR) para

    capturar el texto de la imagen obtenida por la cmara del dispositivo.

    La aplicacin debe traducir el texto capturado de la imagen procesada.

    La traduccin debe ser del ingls al espaol o viceversa.

    En la pantalla se subtitular en tiempo real la traduccin de la imagen en cuestin.

    REQUERIMIENTOS NO FUNCIONALES

    El Dispositivo debe contar con una cmara de mnimo 2 Megapxeles.

    El Dispositivo debe contar con una pantalla.

    El Sistema instalado en el dispositivo debe ser Android 2.3.6 o superior.

    La imagen real debe tener buena iluminacin.

    RESTRICCIONES

    El cuadro de texto de la imagen real debe ser en blanco y negro.

    Las letras del texto deben ser nicamente Maysculas.

    Las letras del texto no deben ser cursivas.

  • MODELO DE ANLISIS

  • IDENTIFICACIN DE LOS ACTORES

    Actor Descripcin

    Usuario

    El usuario que utiliza el dispositivo Android,

    es el nico que interacta con el software.

    IDENTIFICACIN DE LOS CASOS DE USO

    CASO

    DE USO

    NOMBRE DEL CASO DE USO PRIORIDAD PRESENTACION

    CU-01 Obtener imagen desde cmara Alta 2do Parcial

    CU-02 Verificar si el Dispositivo no se movi

    considerablemente despus de la captura de

    imagen.

    Media 2do Parcial

    CU-03 Procesar imagen con Reconocimiento de

    Patrones y capturar texto.

    Muy alta Final

    CU-04 Detectar idioma del texto capturado Media 1er Parcial

    CU-05 Traducir texto Muy alta 1er Parcial

    CU-06 Mostrar traduccin en pantalla como subttulos

    de la imagen

    Baja 1er Parcial

  • CASOS DE USO QUE IMPLEMENTAN LOS REQUISITOS

    FUNCIONALES

    Requerimiento Casos de Uso

    Ejecutar OCR para capturar el texto de la

    imagen obtenida.

    - Obtener Imagen desde Cmara.

    - Verificar si el Dispositivo no se movi

    considerablemente despus de la captura de

    imagen.

    - Procesar imagen con Reconocimiento de

    Imgenes y capturar texto.

    Traducir el texto capturado de la imagen

    procesada.

    Traduccin ingls al espaol y viceversa

    - Detectar idioma del texto capturado.

    - Traducir Texto.

    Subtitular en tiempo real la traduccin de la

    imagen en cuestin

    - Mostrar traduccin en pantalla como subttulos de

    la imagen.

  • MODELO DE CASOS DE USO

  • MODELO DE DOMINIO

  • DESCRIPCIN DE LAS CLASES DEL DOMINIO

    Breve descripcin de las clases del dominio que se utiliza en el diagrama de clases de

    dominio:

    CLASE DESCRIPCION

    Cmara Es la clase conceptual que representa a la Cmara del

    Dispositivo.

    Imagen Real Es la clase conceptual que representa a la Imagen en el mundo

    Real.

    Imagen Virtual Representa a la imagen obtenida desde la cmara del

    dispositivo.

    Modulo OCR Representa al motor de Reconocimiento de Caracteres.

    Sensor de Movimiento Representa al sensor de movimiento del dispositivo.

    Pantalla Clase interfaz que interactuar con la interfaz grfica.

    Traductor Clase para el motor de traduccin.

    Subtitulador Clase que interactuar con la Pantalla para mostrar la

    informacin producida por la aplicacin.

  • IDENTIFICAR PAQUETES DE ANALISIS

    Agrupando los Casos de uso en Paquetes de Anlisis segn los conceptos de Realidad Aumentada,

    Reconocimiento ptico de Caracteres y Procesamiento de Lenguajes Naturales:

    Paquete de Interfaz Grfica de Usuario (GUI)

    Paquete de Reconocimiento ptico de Caracteres (OCR)

    Paquete de Traduccin

    MODELO DE PAQUETES Y SUS DEPENDENCIAS

  • MODELO DE DISEO

  • MODELO DE CLASES

    Para esta presentacin solo tenemos desarrollada una clase de nuestro modelo de clases,

    esta es la clase Traductor.

  • PAQUETES Y SUBSISTEMAS

  • MODELO DE DESPLIEGUE

  • MODELO DE DATOS

    DESCRIPCION DE LA ARQUITECTURA

    Para describir la arquitectura de este software nos basaremos en 4+1 Vistas de la

    Arquitectura de Software que propone Philippe B. Kruchten.

    Vista Lgica: Esta vista apoya principalmente los requisitos funcionales, lo que el sistema

    debe brinda en trminos de servicio a sus usuarios. El sistema se descompone en una serie

    de abstracciones primarias, tomadas principalmente del dominio del problema en forma de

    objetos o clases de objetos. Aqu se aplican los principios de abstraccin, encapsulacin y

    herencia. Esta descomposicin no solo se hace para potenciar el anlisis funcional, sino

    tambin sirve para identificar mecanismos y elementos de diseo comunes a diversas partes

    del sistema.

    Por lo tanto deberemos revisar los requerimientos del proyecto, el diagrama de clases y el

    modelo de paquetes que estn indicados en el ndice de este documento.

  • Vista de Procesos: Se tratan los aspectos de concurrencia y distribucin, integridad del

    sistema, y tolerancia a fallos. Tambin en esta, se especifica en cual hilo de control se ejecuta

    efectivamente una operacin de una clase identificada en la vista lgica. Esta vista puede ser

    descrita como un conjunto de redes lgicas de procesos que son ejecutados de forma

    independiente, y distribuidos a lo largo de varios recursos de hardware conectados mediante

    un bus o a una red de datos.

    En este punto revisaremos los diagramas de secuencia indicados en el ndice de este

    documento.

    Vista de Desarrollo: Se centra en la organizacin real de los mdulos de software en el

    ambiente de desarrollo. El software se empaqueta en partes pequeas que pueden ser

    bibliotecas o subsistemas que son desarrollados por uno o un grupo de desarrolladores. Los

    subsistemas se organizan en una jerarqua de capas, cada una brinda una interfaz estrecha y

    bien definida hacia las capas superiores.

    Para esta vista revisaremos los siguientes diagramas:

    Paquete de Anlisis

    Dependencia de Paquetes

    Modelo de Subsistemas

    Vista Fsica: Se toma en cuenta los requisitos no funcionales del sistema tales como,

    disponibilidad, confiabilidad, desempeo entre otras ms. El sistema se ejecuta sobre varios

    nodos de procesamiento (hardware). Estos nodos son relacionados con los elementos

    identificados de las vistas anteriores. En esta vista se especifican varias configuraciones

    fsicas. Por ejemplo, una para el desarrollo y las pruebas, o para el despliegue del sistema en

    plataformas distintas.

    En esta vista se necesitara ver el diagrama de despliegue indicados en el ndice de este

    documento.

    Vista de Escenarios (+1): La funcin de los escenarios es relacionar las cuatro vistas entre

    s, de esta forma se cuenta con una perspectiva general del sistema, que ayuda a describir

    nuevos elementos o validar la arquitectura.

    En este caso revisaremos los diagramas de casos de uso indicados en el ndice de este

    documento.

  • CONCLUSIONES

    Se logr demostrar que es posible reutilizar herramientas de Software de diferentes

    plataformas para elaborar una aplicacin especfica en el campo de las Aplicaciones Mviles.

    RECOMENDACIONES

    Se recomienda tomar el objetivo del Proyecto como un aporte para la Comunidad de Software

    Libre y se insina un desarrollo mutuo entre los desarrolladores de dicha comunidad.

    El avance de esta aplicacin si bien est en su Fase BETA, se puede apreciar que es

    totalmente funcional y apunta a satisfacer los requisitos especificados.