/ONCE-Scalian-42Bcn

App premiada 🏆 - Traducción simultanea de la lengua de signos a texto para facilitar la comunicación

Primary LanguageKotlin

ONCE-Scalian

Aplicación premiada 🏆 en el reto ONCE / Scalian celebrado en 42 Barcelona en Mayo de 2024

Bienvenidos, somos Vim Brothers y este es nuestro equipo:

Miembros del equipo

Frank García Fernando Aguilar Luis Prieto
Desarrollador + Back Desarrollador + UX/UI Designer Desarrollador + Framework
42 Student: frankgar 42 Student: feaguila 42 Student: lprieto-

En primer lugar, GRACIAS!

Gracias por traernos un proyecto que tiene como objeto último, mejorar el día a día y facilitar la comunicación.



En segundo lugar, transmitir el sentimiento de orgullo:

  • Por haber trabajado en un equipo tan versátil y con tan buena comunicación y colaboración.

  • Por permitirnos aportar nuestro grano de arena a la montaña de "un mundo mejor".


Descripción

El proyecto consiste en desarrollar una app mobile nativa, que traduzca el lenguaje de signos a texto por pantalla en tiempo real.

  • Los lenguajes permitidos son, a elegir entre Kotlin (Android) o Swift (iOS).
  • La librería empleada para identificar gestos es "mediapipe" de Google.
  • Se proporcionara un modelo entrenado con un set mínimo de elementos a identificar:
    • El modelo ha de integrarse en la applicación desarrollada.
    • El modelo se puede entrenar con otros elementos, aunque no es obligatorio.

Se proporciona los requirements para poder operar con los modelos.

Especificaciones generales:

Lenguaje Librería
mediapipe
Set a traducir Requeriments

Kotlin



Swift

Letras

• "a"
• "b"
• "c"
• "i"
• "n"

Palabras

• "hola"
• "bien"
• matplotlib==3.5.1
• matplotlib-inline==0.1.3
• mediapipe==0.8.9.1
• numpy==1.19.5
• opencv-contrib-python==4.5.5.64
• opencv-python==4.5.5.64
• pandas==1.3.5
• scikit-learn==1.0.2
• scipy==1.7.3
• tensorboard==2.8.0
• tensorboard-data-server==0.6.1
• tensorboard-plugin-wit==1.8.1
• tensorflow==2.4.1
• tensorflow-estimator==2.4.0

Tecnologías Empleadas

IDE, lenguajes y plataformas:

kotlin kotlin kotlin kotlin jupyter

  • Kotlin: Utilizado para el desarrollo de la aplicación móvil en Android Studio.
  • Python: Empleado en el desarrollo de algoritmos de visión por computadora y aprendizaje automático.
  • Java: Utilizado junto con Kotlin en el entorno de desarrollo Android.
  • Jupyter: Permite crear y compartir documentos interactivos que contienen código en varios lenguajes de programación

Investigación del modelo

Extraccion, entrenamiento y uso

Instalación y testeo
Se instala un entorno virtual de python con los requirements para operar y testear el modelo.

Extracción de landmarks y entrenamiento del modelo





Se genera un set de videos con el alfabeto [ A - Z ]
Se extraen los landmarks.npy del set creado

Entreno y Tokenización

Se entrena el modelo con el set de tokens creado

Pruebas de ejecución





Se prueva el modelo y se evalua la viabilidad del mismo


Desarrollo de nuestra app nativa propia + diseño UX/UI:

Tras probar la app de ejemplo que google proporciona para mediapipe, se procede a:

  • Programar la aplicación nativa, empleando Kotlin, con las funcionalidades mínimas necesarias para el proyecto.
  • Elaborar y diseñar la interfaz de usuario que satisfaga un mínimo aceptable.
  • Evaluación de la funcionalidad y verificación de la estabilidad de la app programada.

Desarrollo de codigo y deseño
Pruebas de ejecución


Instalación:

Requisitos: Android Studio

  • Clona este repositorio en tu máquina local. Telefono smartphone con android 10 o posterior.
  • Abre, desde Android Studio, el directorio. Sigue la ruta [File > Open... > carpeta donde has clonado el repositorio].
  • Espera a que Android Studio analice el proyecto e instale dependecias.
  • Haz click en el boton "gradle" (tiene forma de elefantito con una flecha azul.
  • En tu smartphone, habilita las opciones de desarrollador y activa la depuracion por USB.
  • Conecta tu dispositivo android con un cable al ordenador.
  • Cuando Android studio detecte tu dispositivo, ya puedes ejecutar/instalar la app pulsando el boton "play" verde de la parte superior, donde además, aparecerá el nombre del modelo de tu smartphone.
  • Si es la primera vez que la instalas, te pedirá permisos de usuario para la camara y el microfono.
  • Una vez que la aplicación esté en funcionamiento, sigue las instrucciones en pantalla para comenzar a usarla y explorar sus características.



Contribución

¡Nos encantaría recibir contribuciones de la comunidad para mejorar esta aplicación y hacerla aún más útil para las personas sordas y aquellos interesados en aprender el lenguaje de señas! Si tienes ideas para nuevas funciones, mejoras de rendimiento o correcciones de errores, no dudes en abrir un problema o enviar un mensaje. Hemos puesto todo nuestro cariño, esfuerzo y voluntad para que el proyecto culmine con un MVP (Minimum Viable Product) funcional que cumpla con los requisitos exigidos.

✉️ Reportes y sugerencias

Si tienes alguna pregunta, sugerencia o comentario sobre la aplicación, no dudes en contactarnos por correo electrónico o creando un problema en este repositorio. Tu opinión es invaluable para nosotros y nos ayudará a seguir mejorando la aplicación en el futuro.

✉️ Contacto

Si estas interesado en contactar con nosotros:

¡Gracias por tu interés en nuestro proyecto! Esperamos que esta aplicación contribuya positivamente a la comunidad sorda y ayude a fomentar una mayor inclusión y comprensión del lenguaje de señas.