AIBusinessONo

Desarrollar una plataforma de inteligencia artificial que monitorice redes sociales para analizar el sentimiento de los usuarios, detectar tendencias emergentes y proporcionar alertas en tiempo real

Tecnologías:

Python, NoSQL, NLP, LLM, API, Web Scraping, Data Visualization


Keywords: IA, ML, NLP, API, Data Visualization
Complejidad: 8

El proyecto consiste en crear una herramienta que utilice técnicas avanzadas de IA y procesamiento de lenguaje natural (NLP) para analizar el contenido de las redes sociales como X, Facebook, Instagram, TikTok, y otras plataformas de uso generalizado. El sistema debe ser capaz de categorizar el sentimiento (positivo, negativo, neutro), identificar temas o palabras clave emergentes, y generar informes automatizados que incluyan visualizaciones de datos para una interpretación rápida y efectiva.

La plataforma les permitirá a las organizaciones monitorear su reputación, anticiparse a crisis posibles, y adaptar sus estrategias de comunicación y marketing basándose en tendencias y sentimiento de su audiencia. También les permitirá identificar oportunidades de mercado basadas en los intereses del público.

Este proyecto no solo es aplicable para empresas privadas, sino también para organizaciones sin fines de lucro, instituciones gubernamentales, y otras entidades interesadas en comprender mejor la percepción pública y responder de manera proactiva.

ArtAIchemy

Plataforma web para la “modernización” de obras de arte mediante técnicas de inteligencia artificial.

Tecnologías:

Python, PyTorch, Stable Diffusion


Keywords: Keywords, separadas por comas
Complejidad: 8

El objetivo de este proyecto es desarrollar una plataforma web para modernizar obras de arte, ofreciendo herramientas avanzadas como la segmentación de retratos (por ejemplo, la creación de stickers personalizados), la animación de imágenes para dar vida a obras estáticas, y la generación de imágenes estereoscópicas para una visualización inmersiva en 3D. Esta plataforma permitirá a los usuarios transformar y revitalizar obras clásicas utilizando tecnologías de vanguardia, abriendo nuevas posibilidades para la interacción y el disfrute del arte.

Para llevar a cabo este cometido se podrán tanto desarrollar modelos propios como utilizar modelos disponibles al público en general, considerando sus licencias de utilización.

La plataforma web deberá tener en consideración imágenes de alta resolución, dado que muchas de las fuentes de obras de arte tienen alta calidad, adaptando la salida de forma acorde a esto o permitiéndole al usuario seleccionar sus preferencias de salida.

AbuseGame 2

Continuación del proyecto AbuseGame, un videojuego en línea para hacer scoring de riesgo de abuso infantil y bullying.

Tecnologías:

C#, Unity, Golang, OAuth2, miniKube

Keywords: Child abuse, bullying, videogame, 2D, web development, Cloud
Complejidad: 7

El videojuego AbuseGame desarrollado en Unity (C#) dirigido a niños, sirve para detectar situaciones de abuso infantil mediante un sistema de scoring obtenido de un árbol de decisiones. Este año contamos con la colaboración de Cepsicap, un centro psicológico especializado que nos dará soporte para ajustar el sistema de scoring ya implementado.

En AbuseGame 2 se tendrá de objetivo la integración del videojuego web (WebGL) en Cloud. Será un ecosistema seguro de alta disponibilidad donde personal forense o docente pueda gestionar los alumnos, tutores y resultados de forma que se pueda aplicar en un entorno real.

Este ecosistema idealmente estará compuesto por un cluster basado en kubernetes donde alojaremos una UI (frontend) y varios microservicios que formará el backend enfocado en la escalabilidad. Esta composición permitiría a personal docente gestionar sus centros para mediante un sistema de alertas identificar posibles indicadores de alerta temprana, así como tomar métricas incluso realizar cambios sobre el sistema de scoring.

BadmintonTracker

Seguimiento de jugadores y volante en pista de Badminton, potencial continuación del proyecto BasketballTracker.

Tecnologías:

Python, PyTorch, OpenCV

Keywords: AI, video análisis, ML, tracking, badminton
Complejidad: 9

El proyecto "BadmintonTracker" tiene como objetivo desarrollar un software de para la detección y análisis de la posición y velocidad de los jugadores de bádminton, así como del volante, utilizando imágenes capturadas por cámaras tácticas durante partidos oficiales. Este proyecto se sitúa en la intersección de la ingeniería de software, la visión por computadora y el análisis deportivo.

Los objetivos del proyecto se dividen en dos fases:

Desarrollo del Software: Se diseñará un software que aplique técnicas avanzadas de procesamiento de imágenes y visión por computadora. Dicho software se consistirá en algoritmos de detección y rastreo que identifiquen con precisión la posición y trayectoria de los jugadores y el volante.

Extracción de Datos: Se extraerán y calcularán parámetros cinemáticos como posición, velocidad y aceleración de los jugadores y el volante en tiempo real. Las variables se estructurarán y almacenarán en un formato adecuado para un posterior análisis cuantitativo y cualitativo posterior.

Respecto a la metodología del proyecto, se utilizarán imágenes de cámaras tácticas de partidos de bádminton. Se aplicarán técnicas de preprocesamiento, como filtrado de ruido, corrección de distorsión y normalización de iluminación. A continuación, se implementarán algoritmos basados en redes neuronales convolucionales (CNN) para la detección y segmentación de los jugadores y el volante en cada fotograma. Se utilizarán técnicas de rastreo como el filtro de Kalman y el algoritmo SORT (Simple Online and Realtime Tracking) para mantener el seguimiento continuo de los objetos a través de la secuencia de video. También se implementarán técnicas de asociación de datos para resolver problemas de oclusión y pérdidas temporales de detección. Finalmente se calculará la velocidad y aceleración de los jugadores y el volante utilizando métodos de diferenciación numérica y análisis de series temporales. Si es posible, se desarrollarán algoritmos para la detección de eventos críticos como smashes, drop shots y desplazamientos rápidos basados en umbrales cinemáticos.

Ejemplo video cámara: https://www.youtube.com/live/XyK0nwAdO_g?si=F_ia_t52eYCtOOxx&t=678

BocciaSinLimites

Aplicación/web que permita interconectar partidas de Boccia de personas que se encuentran en diferentes ubicaciones, analizando el estado de la partida en cada campo y enviando esta información al resto de jugadores

Tecnologías:

Python, C#, C++, Go, React, Angular, Android

Keywords: Object detection, computer vision, Boccia, augmented reality, AI, cameras, web application, paralympics, mobile application.
Complejidad: 8

La Boccia, cuyos orígenes se remontan a la Grecia Clásica, es una compleja combinación de táctica y habilidad. Se practica de forma individual, por parejas o equipos, sobre una pista rectangular en la que los jugadores tratan de lanzar sus bolas lo más cerca posible de la pelota blanca que sirve de objetivo, a la vez que intentan alejar las de sus rivales, en un ejercicio continuo de tensión y precisión.

Este deporte forma parte del programa paralímpico desde los Juegos de Nueva York 1984, y está incluido en los juegos paralímpicos de París de 2024.

Pero la Boccia tiene un problema: no suele ser sencillo para los deportistas encontrar partidas de diferentes niveles en la zona en la que viven. Así que, una vez más, vamos a buscar en la tecnología una solución.

Queremos desarrollar una aplicación o servidor web que permita interconectar partidas de diferentes deportistas, sin importar la ubicación de cada uno. Para ello, tendremos que ser capaces de detectar el campo de juego de cada deportista, mediante el uso de una cámara cenital, y cada una de las jugadas que se efectúe en este campo, de manera que podamos enviar a su oponente el estado de las bolas y de la pelota blanca tras el lanzamiento del jugador. El oponente, una vez ha recibido la jugada finalizada del primer jugador, colocará las bolas en su campo para representar el estado exacto de la anterior jugada.

Respecto a la solución para comunicar la jugada al jugador remoto, existen varias posibilidades. La más simple será la simple visualización de las bolas en un campo virtual (un dibujo), esperando a que el jugador o su asistente las coloque manualmente y confirme su posicionado correcto. También se puede extender este caso verificando la posición aproximada con la cámara del jugador remoto, indicando si el posicionado es adecuado o, por el contrario, deficiente. Otra opción será implementar una solución de realidad aumentada de tal forma que el jugador “vea” dónde tiene que colocar las bolas. Y, finalmente, se puede utilizar si se desea un puntero láser acoplado a un sistema de “pan & tilt” de tal forma que indique sobre el campo real dónde debe de ser colocada cada bola.

ChatWithHistoTwin

Conversación basada en IA/LLMs con un personaje histórico específico, con clonado de voz como característica opcional.

Tecnologías:

Python, PyTorch, HF Transformers, FastAPI, Reflex

Keywords: AI, LLM, Chatbot, DigitalTwin, History

Complejidad: 9

En este trabajo se plantea implementar un gemelo digital de un personaje histórico a través de un LLM. El estudiante implementará una aplicación basada en un LLM, y través de distintas técnicas (fine-tuning, prompt engineering, RAG, etc.…) un usuario podrá conversar con el LLM como si estuviera hablando con el personaje histórico seleccionado, y conversar sobre los distintos hechos históricos en el que se vio envuelto.

Para la implementación se deben buscar bases de datos sobre el personaje (biografías etc, …). Como extensión del trabajo, también es posible buscar fonografías y otros archivos digitales para clonar su voz. El modelo se debería de servir en una webapp simple que permita conversar con el modelo de forma sencilla. También se podrán incorporar varios personajes históricos a la misma web, e incluso poder comprar las respuestas dadas a la misma cuestión por varios de ellos.

ChronoStreetTourist3.0

ChronoStreetTourist es una app móvil que permite, mediante realidad aumentada, mostrar imágenes antiguas en la cámara del móvil al apuntar hacia un edificio o localización de la que se disponen imágenes antiguas.

Tecnologías:

Unity, C#, Android, Google Dev, Vuforia

Keywords: Computer vision, augmented reality, tourism, geolocation

Complejidad: 8

ChronoStreetTourist es una app móvil que permite, mediante realidad aumentada, mostrar imágenes antiguas en la cámara del móvil al apuntar hacia un edificio o localización de la que se disponen imágenes antiguas.

Fue realizada en anteriores proyectos TFG durante los cursos académicos 2020-21 y 2021-22 (esta última por el co-director Ánder). Ahora se desea evolucionar el proyecto ChronoStreetTourist una vez más.

Ponerlo en funcionamiento. Importar el proyecto en Unity y familiarizarse con él. Actualizar los tokens de Vuforia donde sea necesario y echar a andar la app ya existente.

Una vez en funcionamiento, se desea evolucionar el proyecto ChronoStreetTourist en aspectos diferentes:

Simplificar arquitectura. El proyecto anterior tenía dos partes: una app móvil donde se muestra la realidad aumentada al ver un monumento y una interfaz web para la gestión de imágenes, usuarios, etc.

a)Dado que el hosting está caído, se desea prescindir de la interfaz web y hacer que la app pueda funcionar de manera autónoma.

b)Gestión de un usuario admin que tenga acceso a todas las funcionalidades y un usuario user que solo pueda acceder a ciertas funcionalidades.

Geolocalización. Integrar un mapa en el que estén marcados todos los monumentos incluidos en la base de datos. Al clicar sobre los puntos de ese mapa se mostraría la foto antigua y un link a una web con más información sobre este.
Notificación push. Si el usuario se acerca a menos de 100m (aprox) de uno los puntos del mapa.
Mejoras adicionales. Si hubiera tiempo, se proponen mejoras en la estética de la app, lectura de QRs, etc. Libertad para el alumno para proponer otras.

CognitiveCarSimulator

Simulador realista de conducción urbana para entrenamiento y valoración de alteraciones cognitivas tras un daño cerebral adquirido.

Tecnologías:

C++, Unreal Engine, Blender, BlueprintUE

Keywords: Simulation, driving, car, cognitive damage, brain damage

Complejidad: 9

Este proyecto se realiza en colaboración con la fundación ASPAYM que tiene la misión de promover y fomentar toda clase de acciones y actividades destinadas a mejorar la calidad de vida de las personas con lesión medular y gran discapacidad física.

Se ha demostrado que la forma de conducir de una persona que ha sufrido un daño cerebral adquirido habitualmente se ve afectada a consecuencia de dicho daño.

En ocasiones, dichas afecciones se pueden resolver con la implantación de diferentes adaptaciones físicas en los vehículos: pedales o mandos adaptados, accionamiento de pedales con una fuerza máxima, sistema de dirección adaptado alternativo controlado con una mano o un brazo, etc. Sin embargo, las personas afectadas también pueden presentar alteraciones cognitivas que impacten a su capacidad para conducir. Algunas de estas alteraciones se pueden presentar en diferentes aspectos como la atención, las habilidades visoespaciales, la comprensión de signos y señales, etc.

Se propone crear un simulador de conducción que, a través de determinados escenarios creados según la alteración que se quiera evaluar, sirvan tanto para practicar y mejorar en la superación de las alternaciones cognitivas más frecuentes como para realizar un seguimiento de la evolución de la persona afectada.

El simulador debe ser utilizable mediante teclado (y potencialmente ratón) pero se permite la incorporación de tecnologías adicionales como realidad virtual, control a través de volante y pedales, etc.

Se propone realizar este proyecto utilizando Unreal Engine, desarrollando la lógica tanto en C++ como en BlueprintUE e incorporando aquellos assets disponibles en el marketplace de Unreal Engine que se consideren necesarios (siempre y cuando su licencia permita su utilización en este proyecto).

Finalmente, en este proyecto se contará con el asesoramiento de los profesionales de ASPAYM.

ConceptIA

Red semántica en español que representa relaciones entre palabras y conceptos, mejorando la precisión de modelos de lenguaje.

Tecnologías:

Python, Neo4j, Word2Vec, spaCy, Hugging Face Transformers

Keywords: Semantic Networks, LLM, Graph Databases, Spanish Language, Machine Learning

Complejidad: 8

ConceptIA es un proyecto enfocado en construir una red semántica para el español que represente relaciones entre palabras y conceptos, ayudando a modelos de lenguaje a mejorar su comprensión contextual. Este sistema estructurado permitirá capturar relaciones complejas y semánticas, lo que es clave para aumentar la precisión de modelos como los LLM (Large Language Models) y SLM (Small Language Models).

ConceptIA tiene el potencial de revolucionar la forma en que los modelos lingüísticos procesan y relacionan información en español.

CropSense

Proyecto que consta de 3 partes: La primera es un dispositivo Arduino, que con la ayuda de usos sensores recoge datos de cultivos. La segunda un servidor que recoge estos datos y los almacena. La tercera un frontend para ver los datos y controlar el regadío, programarlo, etc…

Tecnologías:

C (Arduino), HTTP, NodeJs, JavaScript, Angular, MySQL, Redis

Keywords: Crops, Watering, Sensors, Humidity, Temperature

Complejidad: 8

Esta App trata de ayudar a la necesidad de mantener la gestión del campo lo más actualizada posible y el ahorro de agua cultivos de regadío.

Los componentes del proyecto son:

Código Arduino que realice las siguientes tareas:

  • Descubrimiento automático de servidor por MAC (opcional).
  • Recoja información de los sensores de:
  • Temperatura
  • Humedad del aire
  • Humedad de la tierra
  • Trasmita los datos al servidor.
  • Informe visualmente mediante led del estado de la conexión.
  • Sincronizar hora con servidor
  • Recibir comandos desde el servidor (cuando hay que regar y cuando no, comenzar regado, finalizar regado…)
  • Enviar información del estado.
  • Enviar información del caudal de agua cuando está regando (opcional).

Backend:

  • Recibir datos del Arduino y gestionarlos.
  • Guardar dichos datos en una BBDD.
  • Decidir cuando el sistema debe regar.
  • API para el frontend.

Frontend AdminLTE 3 | Dashboard

  • Control de acceso.
  • Muestre datos en directo de los sensores (Dashboard).
  • Muestre cuando se está regando y cuando no (Dashboard).
  • Previsión meteorológica.
  • Gestión de Arduino (Configurados, no configurados).
  • Configurar placas
  • Muestre datos históricos de los sensores.

DataShotExtractor

Aplicación web basada en IA capaz de llevar a cabo la extracción de datos, y exportación a diferentes estándares formatos de datos (CSV, XML, JSON, etc.) o Markdown, de una imagen que contiene una tabla o tablas. El sistema será capaz de encolar los diferentes trabajos de extracción de datos, debido a que el proceso de inferencia es costoso en tiempo. Así cómo, ser capaz detectar automáticamente, en el caso de que sea disponible, la opción de llevar a cabo la inferencia en GPU, y si no, la opción por defecto, en CPU.

Tecnologías:

Python, PyTorch, Web frameworks, ONNX

Keywords: Segmentation, AI, inference, HuggingFace, ONNX

Complejidad: 8

El proyecto "Data Shot Extractor" tiene como objetivo desarrollar una aplicación web que, mediante inteligencia artificial (IA), permita la extracción precisa de datos tabulares desde imágenes. Esta herramienta será capaz de procesar imágenes que contengan tablas, segmentarlas, y extraer la información de manera automatizada para luego exportarla en diversos formatos estándar como CSV, XML, JSON o Markdown, facilitando su integración en diferentes flujos de trabajo.

El sistema se diseñará para manejar eficientemente la carga computacional asociada con la inferencia de IA, especialmente en tareas de segmentación y reconocimiento de patrones complejos en imágenes. Para lograrlo, se implementará una cola de trabajos, lo que permitirá gestionar múltiples solicitudes de extracción de datos de manera ordenada, evitando la sobrecarga del sistema y optimizando el tiempo de procesamiento.

Una característica destacada del proyecto será la detección automática de la disponibilidad de una GPU para realizar la inferencia. Si se detecta una GPU, el sistema utilizará esta opción para acelerar el proceso; de lo contrario, recurrirá a la CPU como opción por defecto, garantizando que la aplicación funcione de manera óptima en diferentes entornos.

El desarrollo de esta aplicación se llevará a cabo utilizando Python como lenguaje principal, PyTorch para el modelado y entrenamiento de los modelos de IA, y frameworks web para la creación de la interfaz de usuario. Además, se explorarán modelos preentrenados disponibles en plataformas como HuggingFace y se optimizarán para su despliegue utilizando ONNX, asegurando así un rendimiento eficiente en diferentes entornos.

"Data Shot Extractor" se posiciona como una solución versátil y práctica para la extracción automatizada de datos desde imágenes, dirigida a usuarios que necesitan integrar datos tabulares de forma rápida y precisa en sus sistemas, con la flexibilidad de adaptarse a diferentes capacidades de hardwar.

Diaberse: AI assistant

Extensión de Diaberse para añadir inteligencia artificial a nuestro avatar favorito con objetivo de ayudarnos a controlar nuestra diabetes.

Tecnologías:

Unity, C#, Meta SDK, Python, PyTorch

Keywords: Unity, Metaverse, virtual reality, 3D models, diabetes

Complejidad: 8

Durante los dos últimos años se ha desarrollado en el Observatorio Tecnológico el proyecto “Diaberse”, una experiencia inmersiva de realidad virtual para educación diabética. A través de vídeos y de juegos se enseña a niños y mayores, especialmente a aquellos que se inician en esta patología, cómo enfrentarse a diferentes situaciones de la vida real cuando eres diabético.

En esta extensión, nuestra consulta de diabetes será más interactiva que nunca, donde nuestro avatar, además de comprender comandos de voz, será capaz de ayudarnos a controlar nuestra diabetes de una forma fácil, intuitiva y segura. En primer lugar, configuraremos nuestro avatar para que sea capaz de entender comandos de voz, que, una vez procesados, y a través de un LLM que podemos re-entrenar o no, realmente entienda qué es lo que queremos saber acerca de la diabetes y, a través de voz, nos dará un resultado que se podrá complementar con más información, ya sea texto, imágenes o videos. Así, podremos mantener una conversación con nuestro avatar cuyo propósito será el control de la diabetes, ya sea de tipo 1 o tipo 2.

Para la realización de este proyecto se le proporcionará al alumno o alumno acceso a todo el código de las ediciones anteriores.

EDUCAQuest

Descripción breve: Seguimiento y gamificación de tareas escolares mediante una plataforma con misiones, recompensas y componentes de red social.

Tecnologías:

Android, IOS, Python, C#, Java, Kotlin, Go, React, Angular

Keywords: Homework, social network, mobile applications, web, education

Complejidad: 8.5

La fundación Montemadrid es una entidad sin ánimo de lucro que trabajar en favor de la inclusión, el acceso a la educación, el empleo, la cultura y la conservación del medio ambiente. En uno de sus espacios, la Casa San Cristobal, sita en el barrio de San Cristóbal de los Ángeles al sur de Madrid, el personal de la fundación realiza diversas actividades vinculadas a la integración social, el fomento de la lectura, la educación, etc. Una de estas actividades es el seguimiento de las tareas escolares de los niños del barrio.

Para facilitar esta tarea y hacerla más atractiva a los estudiantes, se desea desarrollar una aplicación educativa llamada EDUCAQuest, que utilice técnicas de gamificación para motivar a los niños en edad escolar a mantenerse al día con sus tareas. En esta plataforma, las tareas escolares se representarán como misiones, con notificaciones asociadas, que tendrán su recompensa, mientras que los niños podrán crear su propio avatar, personalizado a su gusto, para verse representados en la misma.

La plataforma tendrá también componentes sociales, tales como la realización de trabajos en grupo y el acceso a chats para discutir el progreso de las tareas y las estrategias para acometer esto. Se deberá por tanto proteger la privacidad de los estudiantes e incluir un sistema de moderación para hacer de la misma un entorno seguro y protegido.

Respecto de la implementación, EDUCAQuest será accesible tanto desde dispositivos móviles (IOS, Android) como desde un navegador web. Se puede plantear la realización de aplicaciones específicas para cada dispositivo o, como alternativa, implementar una aplicación web responsive que sea capaz de funcionar en cualquier plataforma. También existirá un interfaz de administración para educadores y padres, que les permita no sólo configurar el sistema sino también realizar el seguimiento de las tareas de los alumnos.

Finalmente, es deseable la integración de la plataforma con otras herramientas educativas, tales como Moodle, de tal forma que mediante una comunicación bidireccional se pueda sincronizar el estado de las tareas realizadas por los niños.

ESGenerator

Extrapolación de datos desconocidos para incluir en memorias ESG.

Tecnologías:

Python, PyTorch, C#, React

Keywords: ESG, reporting, sustainability, LLMs, SLMs, RAG, AI

Complejidad: 9

Todos los años las empresas en su memoria anual, en la parte de información no financiera, incluyen si así lo desean (las empresas grandes están obligadas, las PYMES lo estarán a partir de 2027 en la Unión Europea) lo que se denomina la “memoria ESG”. ESG son unas siglas cuyo significado es “environmental, social and governance”, es decir, simbolizan los criterios ambientales, sociales y de gobernanza de la empresa.

En este informe se incluyen todas las actividades de la empresa de responsabilidad social y ambiental: cuál es el impacto medioambiental de sus operaciones, qué medidas de descarbonización están tomando, qué actividades desarrollan con diversas asociaciones y entidades no gubernamentales, etc. Existen diversos estándares para realizar esta memoria, como por ejemplo la Global Reporting Initiative [1] o normas ISO específicas, pero las empresas tienen bastante libertad para su redacción.

Una parte importante de los datos que se incluyen en las memorias ESG son aquellos relativos al impacto de las operaciones de la empresa: consumo de electricidad, procedencia de la misma según la naturaleza de su fuente (térmica, nuclear, renovable hidráulica o eólica, entre otras), consumo de combustible, uso de agua y estado en la que ésta se devuelve al medioambiente, etc. Existen algunos datos que son bien conocidos, pero otros, como por ejemplo los datos de consumo de una flota de ordenadores concretos, son más difíciles de conseguir.

En este proyecto se pretende desarrollar un sistema que, agregando datos de diferentes fuentes y potencialmente utilizando técnicas de inteligencia artificial, consiga extrapolar estos datos faltantes e incluirlos en la memoria. También se utilizarán modelos de lenguaje (LLMs, SLMs), complementados con técnicas RAG (Retrieval-Augmented Generation) para adecuarse a los estándares de reporting arriba mencionados, minimizando el trabajo humano necesario.

La solución podrá presentarse como un conjunto de scripts, una plataforma de visualización de informes tipo PowerBI o una aplicación web según el progreso obtenido en el proyecto.

https://www.globalreporting.org/

FindMyBuddy

Implementación de un algoritmo de búsqueda inteligente basado en grafos de conocimiento para encontrar colegas dentro de grandes organizaciones con habilidades y conocimientos similares. El sistema se basará en la actividad de los usuarios en sistemas de control de código como GitHub y sistemas de gestión de proyectos como Jira.

Tecnologías:

Python, Angular, React, PyTorch

Keywords: Networks, Knowledge Graphs, project management, web applications, ML, AI

Complejidad: 8

En todas las empresas existe una jerarquía y una división en equipos/áreas/organizaciones establecidas por los objetivos de la empresa y los equipos directivos. Sin embargo, en las grandes empresas, a menudo los equipos y empleados trabajan con herramientas similares, desarrollan soluciones y conocimientos similares, aunque no estén directamente conectados en su jerarquía de gestión. El desarrollo de conocimientos similares crea una especie de «organización paralela» en la que personas de distintos equipos están conectadas por las tecnologías, los retos y las soluciones que han desarrollado.

Para mejorar la transferencia horizontal de conocimientos entre los empleados de una gran empresa y aumentar su competitividad, queremos construir una herramienta de búsqueda inteligente en la que cualquier empleado pueda encontrar una persona afín dentro de la gran empresa.

En este proyecto queremos integrarnos con herramientas de control de código y gestión de proyectos a través de sus API públicas (por ejemplo, las de GitHub y Jira). Se estudiarán las incidencias y las historias de usuario para ver en qué problemas y retos ha trabajado el usuario. Además, se analizará el propio código para descubrir el lenguaje, las bibliotecas y los proyectos en los que la gente es experta.

Una vez desarrollado el componente de ingestión de datos, se puede crear un grafo de conocimiento basado en la similitud semántica que conecte a los empleados en función de sus conocimientos y experiencia. Este grafo de conocimiento tendrá que visualizarse utilizando herramientas de dibujo de grafos para ver esta «organización paralela». Será posible encontrar para un empleado específico qué otro empleado es el más cercano en términos de conocimientos y experiencia, será posible ponerse en contacto con ellos e iniciar una discusión para abrir una colaboración transversal. Cada empleado puede también buscar a otros colegas a partir de una búsqueda textual.

Aunque no es estrictamente necesario, el alumno puede plantearse la aplicación de técnicas de inteligencia artificial a los datos para encontrar relaciones ocultas entre los miembros de una empresa.

FootballPerformanceScore

Herramienta para analizar el rendimiento del jugador en un partido en concreto, estableciendo una valoración numérica en función de las necesidades del equipo para cada posición.

Tecnologías:

Python, PowerBI, PyTorch

Keywords: Bigdata, analysis, football, performance, scoring

Complejidad: 7

Se pretende realizar una herramienta que permita al entrenador valorar a sus jugadores en función de una serie de datos por posición, teniendo en cuenta las necesidades específicas del partido en concreto. Como ejemplo, para un lateral se ofrecen varias opciones como pueden ser lateral ofensivo, lateral defensivo o lateral completo. En función de la elección se establecerá una valoración dando mayor o menor peso a según qué datos. Finalmente se mostrará un campograma con todas las valoraciones de todos los jugadores que han participado en ese encuentro en función de las opciones elegidas.

Actualmente existen páginas web y aplicaciones que asignan una puntuación a cada jugador en base a su “rendimiento”, pero lo hacen de una forma genérica sin tener en cuenta las necesidades específicas de cada equipo o las pautas que haya marcado el entrenador. Así, el entrador puede decidir que un jugador debe de tener un carácter más ofensivo o defensivo o que debe de centrarse en cubrir a otro jugador o un área determinada del campo.

Para la realización de este proyecto se podrán aplicar técnicas basadas en algoritmia o también técnicas relacionadas con la inteligencia artificial. El alumno deberá de realizar un análisis del estado del arte así como de los datasets disponibles para crear el sistema requerido.

Gateway

Recomendaciones sobre formación académica en base a los objetivos del usuario dentro del sector tecnológico.

Tecnologías:

React, NodeJS, Python

Keywords: Web application, web scrapping, AI, frontend, backend

Complejidad: 9

En muchas ocasiones las personas desean obtener un resultado determinado, como alcanzar un puesto de desarrollador senior en una determinada tecnología o de Technical Project Manager, sin conocer exactamente qué conocimientos deben tener para poder aspirar a una determinada posición.

Para ayudarles se desea desarrollar una aplicación web que, basada en la petición del usuario, pueda generar una recomendación formativa, un camino a seguir, sugiriendo al usuario recursos que puedan ayudarle a conseguir su objetivo.

La aplicación constará de un frontend para interactuar con el usuario y permitirle crear una petición a instancias de la cual tendrá acceso a un path de formación con diferentes niveles y recursos gratuitos y/o de pago (seleccionable por el usuario la posibilidad de excluir estos últimos). Además, el usuario podrá indicar qué formaciones ya conseguido y cuáles tiene pendiente completar.

Por otro lado, para dar soporte al frontend web, también existirá un backend que realmente será quien genere las recomendaciones formativas y proporcione servicios a la UI tales como el almacenamiento de la información del usuario.

Respecto de los datos a incorporar, se sugiere crear un sistema basado en inteligencia artificial utilizando datasets disponibles, por ejemplo, en Kaggle [1], respecto de Coursera, freeCodeCamp o LinkedIn (para conectar posiciones y formación). También se podrán utilizar APIs tales como Coursera Catalog API [2], EdX API [3], Udemy API [4], Google Courses Search [5], Skillshare (unofficial) API [6] o GitHub Education [7]. En su defecto también se podrán utilizar técnicas de webscrapping si fuese necesario.

  1. https://www.kaggle.com/
  2. https://www.coursera.org/about/partner-catalog
  3. https://api.edx.org/
  4. https://www.udemy.com/developers/
  5. https://developers.google.com/custom-search
  6. https://github.com/topics/skillshare-api
  7. https://docs.github.com/en/rest

HappyTransplant

Diseño de modelos de supervivencia para pacientes con trasplante hepático.

Tecnologías:

Android, IOS, Java, Kotlin, Flutter, C#, Go, Java

Keywords: Transplant, cancer, healthcare, mobile application, web application

Complejidad: 6

Según los datos de la Organización Nacional de Trasplantes (ONT) la supervivencia de los pacientes que reciben un trasplante hepático es del 81% al año, 68% a los 5 años, 56% a los 10 años y 36% a los 20 años, con supervivencias que alcanzan más de 30 años.

Las causas más importantes de muerte a los 10 años postrasplante hepático son las relacionadas con el desarrollo de tumores, los problemas cardiovasculares, las infecciones y problemas relacionados con el injerto. Por tanto, es importante que los pacientes tengan un buen control de la TA, el peso, la glucemia y una buena adherencia al tratamiento. Todo ello se podría condensar en llevar una vida sana, con ejercicio regular y dieta saludable. Los especialistas de atención primaria son los responsables del control de los factores metabólicos de los pacientes, pero dada la sobrecarga actual, no siempre es posible realizar un control exhaustivo de los pacientes.

Por ello se pretende desarrollar una APP mediante la cual el paciente pueda:

Registrar sus datos de salud más importantes (TA, glucemia, peso…)
Registrar el ejercicio físico realizado diariamente y si existe consumo de tóxicos (alcohol, tabaco…).
Disponer de sistema de avisos/alertas de la hora en que debe tomar la medicación anti-rechazo y la dosis exacta, otras medicaciones crónicas, y registrar la toma de la medicación para garantizar la adherencia al tratamiento.
Apartado de educación sanitaria: El paciente tendría acceso a un programa interactivo con información relacionada con el trasplante hepático.
Cuando los datos de la APP no sean normales, o no se alcance el objetivo, aparecerá una alerta que invita al paciente a conectar con el centro de trasplante.

Este dispositivo debe cumplir la regulación de protección de datos de salud, por lo que se incluirá un apartado en la pantalla de inicio informando de los derechos de los pacientes y su aceptación para compartir los datos con el centro trasplantador.

  • Registro español de transplante hepático (ont.es)
  • Liver transplantation - EASL-The Home of Hepatology.
  • Long-Term Management of the Adult Liver Transplant | AASLD
  • Long-Term Management of the Pediatric Liver Transplant | AASLD

HCC-AI

Detección y delimitación de hepatocarcinomas basándose en análisis de imagen mediante IA.

Tecnologías:

Python, PyTorch, OpenCV, C#, React, Angular

Keywords: HCC, cancer, healthcare, computer vision, AI, CNNs

Complejidad: 7

El carcinoma hepatocelular o hepatocarcinoma (CHC o HCC por sus siglas en inglés) es un cáncer de hígado que constituye el 80-90% de los tumores hepáticos malignos. Según las estadísticas de la Organización Mundial de la Salud es actualmente el sexto cáncer más prevalente en el mundo, pero es la tercera causa de muerte por cáncer [1].

El 90% de los CHC aparecen sobre pacientes con cirrosis hepática (independientemente de la etiología de la cirrosis) y existen tratamientos curativos en estadios iniciales, desde le resección quirúrgica, el trasplante hepático…. Por ello es muy importante el diagnóstico precoz y todas las sociedades científicas del mundo recomiendan realizar un screening [2][3]. Dicho cribado se realiza mediante ecografía hepática a intervalos de 6 meses. Si se observa una lesión sospechosa, se debe realiza una tomografía axial computarizada o resonancia magnética y si no está claro, una biopsia.

La ecografía es un método cómodo, barato, poco invasivo y tiene una sensibilidad entre 65-80 % y una especificidad superior al 90 %, por lo que en ocasiones la detección de este tumor es con un tamaño grande, o puede ser difícil el diagnostico diferencial con otras lesiones tumorales benignas.

En este proyecto se quiere desarrollar un modelo de detección y delimitación de este tipo de cáncer en base a imágenes tomadas mediante ecografía. El modelo no sólo será capaz de indicar un diagnóstico positivo o negativo, sino que también será capaz de indicar su grado y evolución, así como delimitar dentro de las imágenes cuál es el área afectada del hígado. Si somos capaces de conseguir con este modelo una alta sensibilidad y especificidad (así como elevados valores predictivo positivo y negativo) con las imágenes ecográficas, podremos tener una alta certeza del diagnóstico sin recurrir a otras pruebas completarías o la necesidad de una biopsia de la lesión.

Para la realización de este se aplicarán técnicas de inteligencia artificial, bien mediante el desarrollo de modelos propios como la adaptación de modelos de detección, segmentación y clasificación desarrollados por terceros y cuya licencia permita su utilización y su fine-tunning para un caso específico. Una vez desarrollado el modelo, se deseará poder evaluar el mismo mediante el desarrollo de una aplicación, que podrá ser una aplicación web o una aplicación de escritorio.

Finalmente, para la realización de este proyecto se contará con la colaboración de los profesionales del Hospital Rio Hortega de Valladolid, que proporcionarán imágenes etiquetadas de los diferentes tipos de hepatocarcinoma y además darán su feedback sobre los resultados obtenidos por el modelo y la aplicación asociada.

LCEConectada

Servicios específicos en La Casa Encendida (Madrid) basados en ubicación obtenida mediante AP Wi-Fi

Tecnologías:

Android, IOS, Python, C#, Go, Java, Kotlin, React, Flutter, React Native

Keywords: Mobile application, Wi-Fi, location based services, networking

Complejidad: 9

La fundación Montemadrid es una entidad sin ánimo de lucro que trabajar en favor de la inclusión, el acceso a la educación, el empleo, la cultura y la conservación del medio ambiente. La Casa Encendida en Madrid, es un espacio social y cultural gestionado por dicha fundación en que se realizan diversas actividades, incluyendo exposiciones, conciertos, proyecciones cinematográficas y otras actividades en torno a la cultura, la solidaridad y el medio ambiente.

Se desea realizar una aplicación específica para este espacio que no sólo facilite la conexión a la Wi-Fi sino que sea capaz de proporcionar contenidos específicos a los visitantes basándose en su localización dentro de La Casa. Para ello, la aplicación tendrá acceso a una base de datos con los puntos de acceso (APs) de la red y, basándose en la posición relativa de estos (AP conectado + triangulación con APs cercanos según su nivel de señal), deducirá la ubicación aproximada del usuario, ofreciéndole detalles sobre esa sala o área, sus servicios disponibles, y facilitando un mapa interactivo del entorno.

La aplicación ofrecerá funcionalidades de registro e inicio de sesión, tanto con credenciales específicas como con conexión a redes sociales (inicio de sesión con Google, inicio de sesión con Facebook, etc). Según los patrones de conducta del usuario, se le podrán lanzar notificaciones específicas que tendrán en cuenta sus preferencias y sus visitas pasadas, relacionados con eventos, ofertas especiales o cambios en el centro.

Por otro lado, los administradores de la aplicación podrán utilizarla con propósitos de análisis de visitantes, obteniendo métricas sobre los flujos de visitantes (global y en cada área), su permanencia en cada espacio y sus preferencias, respetando siempre la privacidad y el anonimato de estos. Además, los administradores deben de tener acceso a un interfaz que les permita configurar los contenidos de cada una de las salas, adaptándolos a las exposiciones o la programación de eventos actuales.

Finalmente, respecto de la implementación en sí misma, se desea que el desarrollo sea una aplicación móvil con acceso a los datos de señal y ubicación del usuario. Para dar soporte a esta, se desarrollarán también servicios web y el interfaz de administración anteriormente indicado.

LexIA

Tokenizador de código abierto para el lenguaje español y con capacidad de contextualizar textos legales, y adaptarse a otros sectores como la medicina, optimizando el procesamiento de términos compuestos.

Tecnologías:

PyTorch Python, Hugging Face Transformers, spaCy, NLTK, FastAPI, ANCORA

Keywords: Tokenizer, NLP, Open Source, LegalTech, PyTorch

Complejidad: 7

LexIA es un proyecto que busca desarrollar un tokenizador especializado para el lenguaje español, capaz de identificar términos compuestos como "Tribunal Supremo" de forma única (un token en vez de dos) y eficiente.

Su objetivo es mejorar el procesamiento de datos legales y adaptarse a otras industrias, como la medicina, mediante configuraciones personalizables. Este tokenizador podrá integrarse en flujos de trabajo de procesamiento de lenguaje natural (NLP), optimizando la velocidad y precisión de análisis de textos jurídicos.

La herramienta será de código abierto, facilitando su adopción y personalización por parte de desarrolladores y empresas.

ListenToTheStadium

Análisis del sentimiento de los asistentes a un partido de fútbol en base a la relación entre el sonido ambiental del partido y lo que sucede en el campo, con posibilidad de traslado a otros deportes.

Tecnologías:

Python, PyTorch

Keywords: AI, sports, audio, time series, sentiment analysis

Complejidad: 9

El proyecto "ListenToTheStadium" tiene como objetivo desarrollar un software para el análisis del sentimiento de los aficionados que asisten a partidos de fútbol en estadios. Utilizando el audio ambiental capturado durante los partidos y combinándolo con un archivo detallado de eventos sucedidos en el campo (pases, faltas, goles, regates, etc.), este software busca comprender y cuantificar las reacciones de los espectadores en relación con cada momento y evento del partido. El objetivo final es detectar y analizar el estado de ánimo de los espectadores, relacionándolo con las acciones del equipo y de los jugadores, tanto propios como rivales.

Los objetivos del proyecto se dividen en dos fases:

  • Desarrollo del Software: Diseñar e implementar un sistema de software que integre técnicas avanzadas de procesamiento de audio y análisis de sentimientos. Desarrollar algoritmos capaces de identificar y cuantificar el sentimiento de los espectadores a partir del audio ambiental.
  • Extracción de Datos: Se extraerán y analizarán los datos de audio capturados durante los partidos. Se integrarán estos datos con un archivo que contenga información detallada de todos los eventos ocurridos en el campo.

Respecto a la metodología, se implementarán técnicas de preprocesamiento de audio para filtrar ruidos no deseados y mejorar la calidad de la señal. Se desarrollarán algoritmos de procesamiento de señal para la detección de patrones de audio asociados con diferentes sentimientos (euforia, decepción, enojo, etc.). Se utilizarán técnicas de machine learning y análisis de sentimientos para clasificar y cuantificar las reacciones emocionales de los espectadores. Se desarrollará un sistema de sincronización entre los datos de audio y el archivo de eventos del partido, asegurando que cada reacción de los espectadores se relacione correctamente con el evento correspondiente.

LLMImpact

Calculadora de emisiones de CO2 para LLMs

Tecnologías:

FastAPI, NodeJS, JavaScript, TypeScript, Python, HF transformers, React, Angular

Keywords: Web services, Cloud, AI, responsible AI, LLM

Complejidad: 7

El impacto de la inteligencia artificial, especialmente los grandes modelos de lenguaje (LLMs) en el medio ambiente no es menor y es una de las mayores preocupaciones alrededor de la revolución actual de aplicación de la IA a todos los ámbitos de la vida.

En este proyecto se desea construir una calculadora del gasto de CO2 que produce una ejecución de un modelo de Deep Learning, en concreto un LLM. La calculadora tendrá como input la tarea, (si es una conversación simple, o si es una búsqueda y comprende también un RAG en su ejecución), calculará el número de tokens previstos (input + salida) y los traducirá a CO2 con una conversión sencilla. Este cálculo de tokens es un proceso no costoso, en comparación con la ejecución del modelo completo, que puede hacerse en CPU.

El estudiante deberá de hacer una investigación sobre fuentes de consumo de CO vinculadas al machine learning, como por ejemplo la realizada alrededor de un paper de DeepMind [1], adecuando el cálculo a los modelos actuales, el estado del arte y el hardware utilizado para su ejecución.

La herramienta será implementada como un backend con su API, y posteriormente podrá consumirse a través de un frontend, como una webapp que se desarrollará a medida y donde el usuario podrá seleccionar sus LLMs, las tareas a realizar y calcular el impacto de emisiones de CO2. Por otro lado, también se desea que el servicio de cálculo (backend) sea utilizable desde herramientas de terceros y pueda integrarse en frontends ya existentes por lo que el servicio web deberá de diseñarse con estos parámetros en mente y no solamente para servir a la aplicación web desarrollada.

  1. https://152334h.github.io/blog/scaling-exponents/

LoQueHayQueVer

Aplicación para el diseño rápido e improvisado de una visita turística de un entorno solicitado.

Tecnologías:

GPT4, LLMs, Python, PyTorch, React, Angular, Java, NodeJS

Keywords: Tourism, web development, AI

Complejidad: 8

Imaginemos la siguiente situación: un grupo de amigos o una familia se dispone a hacer un largo viaje en coche para pasar sus vacaciones en un idílico lugar, a 6 horas de sus casas. Evidentemente, será necesario hacer paradas para descansar y relajarse, de modo que el conductor o los pasajeros puedan estirar las piernas, despejar la mente y descansar del largo trayecto. Idealmente, sería estupendo aprovechar la oportunidad para visitar algún lugar interesante que quede de camino. Pero, claro... ¿en qué momento y lugar nos apetecerá parar? No podemos predecirlo, ya que dependerá de factores imprevisibles como la fatiga o la necesidad de ir al baño. Y una vez decidido el lugar de la parada, ¿quién será el valiente del grupo que se disponga a buscar “los imprescindibles de Villatripas de Arriba”, sus “10 sitios que visitar” o “qué no te puedes perder” de ese lugar? Y a dicho valiente, ¿le quedarán ganas de ubicarlos en un mapa y luego planear cómo visitarlos?

Este ejemplo deja claro que preparar una visita turística a un lugar puede ser una tarea laboriosa y, muchas veces, aburrida. Lo que se propone para este TFG es la creación de una aplicación que, aprovechando las facilidades que proporciona la inteligencia artificial, sea capaz de recolectar toda la información básica para organizar una visita turística a un destino.

En particular, la aplicación podría encargarse de los siguientes pasos, que el diseño de una visita turística suele implicar:

  1. Identificación, localización y categorización de los lugares de interés. La aplicación debería ser capaz de proporcionar un listado de lugares a visitar (que podrían estar limitados en número o no). Además, debería categorizarlos en función de algunos aspectos clave, como si son exteriores o interiores, si son gratuitos o de pago, etc.
  2. Ubicación en un mapa y selección de los lugares de interés. Esta ubicación podría realizarse utilizando herramientas como OpenStreetMap, o facilitar la exportación de los datos para que puedan ser fácilmente importados en otras aplicaciones populares, como Google Maps. En este paso, la aplicación debería permitir aplicar filtros en función de la categorización realizada en el paso anterior.
  3. Exploración de los lugares de interés. Este paso podría llevarse a cabo en alguno de estos modos:
    • Modo simple: Únicamente mostraría los lugares de interés en un mapa, junto con la ubicación en tiempo real del usuario.

 

MyNaps

App Android para la visualización de maps personales (my maps) de una forma mejorada a como lo proporciona la propia Google Maps.

Tecnologías:

Unity, Android Studio, Google Dev, Android, Java, Kotlin

Keywords: Mobile app, Google API, Google Maps

Complejidad: 8

Cuando tenemos un mapa personal (myMap) de Google, le podemos añadir a cada punto que marquemos imágenes o documentos. Las imágenes pueden estar en Google Drive o se pueden subir directamente al mapa. Sin embargo, la app de visualización de estos MyMaps (que es la propia Google Maps) tiene unas opciones de visualización muy pobres. Las imágenes se ven pequeñas, no se pueden ampliar, y si se adjuntan documentos, no se pueden abrir. Por otra parte, se echan en falta mejoras como que cuando estes cerca de uno de los puntos marcados, te lo notifique (mediante vibración, mensaje, o lo que sea). No existen, por otra parte, otras aplicaciones de terceros que mejoren la propia solución de Google Maps.

Se propone realizar una app Android que sirva para la visualización de maps personales de una forma mejorada.

Proceso:

  • Obtención de conocimientos previos (Programación Android, Google API…).
  • Diseño de la app.
  • Desarrollo visual de la app.
  • Conexión con Google OAuth.
  • Lectura y mostrado de myMaps.
  • Mejoras.

MyTravelPlanning

Aplicación para planear viajes incluyendo transporte, alojamientos y visitas, de forma integrada en una única aplicación.

Tecnologías:

Angular, Electron, JavaScript, HTML, CSS, TypeScript

Keywords: Maps, travelling, web application, mobile application, planning

Complejidad: 8

Cuando vas a hacer un viaje siempre pasas horas revisando transporte, hoteles/apartamentos, cosas que ver/hacer en cada punto a los que viajas…. al final acabas apuntando todo eso en una libreta o peor, en papeles sueltos, y al cabo de unos días ya no sabes ni si quiera a dónde ibas a viajar.

Esta aplicación simplificaría todo esto. Por una parte, te permite crear todos los posibles viajes que quieras para las vacaciones. Por ejemplo, no sabes si ir a una isla a relajarte o a realizar una visita cultural por varios países de Europa. La aplicación te permitirá realizar varios plannings simultáneos en los que podrás almacenar:

  • Una descripción del viaje a realizar (Vacaciones Playa 2025, p.e.).
  • Las fechas aproximadas de inicio y fin.
  • Los distintos traslados investigados (tren, avión, coche, autobús).
  • Los distintos alojamientos investigados.
  • La lista de puntos de interés a visitar.

La parte importante en esta aplicación es la última, los puntos de interés a visitar. Cuando vas a una ciudad como por ejemplo Viena, te encuentras que tienes cientos de cosas que ver en pocos días y muchas de ellas bastante distanciada de otras. Esta parte de la aplicación te permitirá visualizar en un mapa los distintos puntos de interés a visitar y te generará rutas optimizadas para ir de uno a otro según tus preferencias. Es decir, si el primer día quieres andar un máximo de 20 kms, el sistema generará una ruta optimizada para visitar x puntos de interés sin tener que andar más de esa distancia establecida durante el día, indicando las horas óptimas para visitar cada punto de interés y el importe a gastar en total y en cada una de ellas (por supuesto toda esta información habrá sido investigada por el usuario cuando busca los puntos de interés a visitar).

De esta forma puedes tener tu viaje totalmente planificado, p.e:

  • Autobús de casa a Madrid T1.
  • Vuelo desde Madrid T1 a Viena.
  • Transporte desde Viena Airport a alojamiento Viena.

Planificación diaria de visitas a puntos de interés en función de la localización del alojamiento, los días disponibles, los horarios de los puntos de interés y las horas disponibles en cada día (puede ser que el primer o el último día no se pueda aprovechar todas las horas por los traslados ida/vuelta). En la planificación también se podrán incluir sitios en los que comer/cenar. Se podrán planificar como puntos de · interés los distintos bares/restaurantes que se encuentren interesantes, programándolos con un rango horario (por ejemplo, de 13:00 a 15:00).

  • Transporte de Viena a Bratislava.
  • Planificación de visitas a puntos de interés en Bratislava.
  • Transporte de Bratislava a Viena.
  • Transporte de Viena a aeropuerto de Viena.
  • Transporte de Viena a Madrid T1.
  • Transporte de Madrid T1 a casa.

La aplicación también permitirá ir almacenando los precios de los distintos métodos de transporte buscados. Sabemos que los precios de los vuelos (por ejemplo) cambian a lo largo de los días

Se usarán APIs externas para:

  • Localizar puntos de interés en las ciudades a visitar y descargar recursos sobre ellos.
  • Generar rutas de visitas optimizadas en función de los puntos de interés.

Nolik

Aplicación web para buscar en Jira soluciones a problemas reportados por los clientes.

Tecnologías:

Python, React, Angular, TypeScript

Keywords: Service, Jira, System error, bugs, AI, LLMs

Complejidad: 7

Habitualmente los equipos de firmware/hardware de impresoras de gran formato reciben escalaciones de los técnicos de servicio cuando éstos no son capaces de resolver un problema en una impresora. Estas escalaciones generan un caso en Jira, donde se refleja toda la investigación realizada y la solución al problema (en el caso de encontrarla). La aplicación propuesta buscaría en Jira las soluciones a problemas similares en el mismo producto, para ofrecer una lista de posibles soluciones y el caso de Jira asociado a cada una de ellas. Esta aplicación podría ahorrar tiempo a los equipos de soporte/fmw/hw, reducir el número de piezas (y su coste) cambiadas incorrectamente, ahorrar visitas a cliente y mejorar la percepción de la calidad del soporte de HP por parte de los clientes.

Para la implementación de esta aplicación, que será deseablemente una aplicación web, se propone la utilización de modelos de lenguaje abiertos que sean capaces de analizar una gran cantidad de datos, de tal forma que sean capaces de encontrar casos de soporte similares a la petición concreta realizada por el usuario. Una vez se identifiquen estos casos, que pueden ser encontrados mediante una búsqueda de similitud en una base de datos vectorial (a partir de embeddings creados en base a cada caso en Jira), se proporcionarán al usuario para su inspección o, de forma opcional, se proporcionarán como contexto a un LLM de forma que éste pueda proponer directamente una solución o responder a preguntas del usuario sobre ellos.

Dado que los casos de soporte de HP están sujetos a la política de confidencialidad de la empresa, para la realización de este proyecto se utilizarán casos de terceros, como por ejemplo los problemas encontrados en proyectos open source en plataformas como GitHub. De cara a posteriormente conectar el sistema con Jira, el alumno deberá de diseñar una arquitectura modular que permita la comunicación del mismo con diversos sistemas de gestión de incidencias.

NotAStartupAnymore

Detección de nuevas grandes empresas, crecimiento superlativo y cambio de sede de empresas mediante webscrapping y modelos de lenguaje.

Tecnologías:

Python, Beautiful Soup, Scrapy, Requests, React

Keywords: Companies, growth, LLMs, webscrapping, report

Complejidad: 8

Aunque muchas empresas lo publican en la parte de información no financiera de sus memorias anuales, no es fácil saber el número exacto de empleados de una compañía, si esta ha experimentado un crecimiento rápido o si ha decidido cambiar su sede social y/o sus oficinas principales.

Por razones estratégicas (ventas, operaciones, etc) se desea poder obtener un informe, para un determinado periodo de tiempo, sobre empresas de nueva creación con más de un número determinado de empleados (sugerido, 400), que hayan experimentado un crecimiento también de un número específico (por ejemplo, 300) o también que hayan cambiado su sede o sus oficinas principales de lugar (ciudad, país, etc).

Se desea construir por lo tanto un sistema que, en base a información obtenida de redes sociales y sitios de noticias, sea capaz de detectar estos tres tipos de eventos. Para ello el proyecto se compondrá de tres módulos diferentes:

  • Un módulo de agregación/webscrapping que se encargará de recopilar la información necesaria para el funcionamiento del sistema. Este módulo será configurable con diferentes fuentes y abierto a su ampliación futura.
  • Un sistema de inteligencia artificial, basado en modelos de lenguaje (LLMs, SLMs) y/o segmentadores de campos (RPA) para extraer la información relevante.
  • Un gestor de informes y alertas que avisará cuando se produzcan los eventos indicados y también emitirá un informe (PDF) sobre todas las empresas que han sufrido alguno de dichos cambios en el periodo de tiempo deseado.

El sistema deberá de ser capaz de funcionar de forma desatendida/automática, explorando periódicamente las fuentes de información a tomar en consideración y emitiendo los informes y alertas correspondientes. Se sugiere desarrollar adicionalmente una pequeña aplicación web (backend/frontend) para poder gestionar la configuración del sistema (valores límite de empleados, periodos de tiempo, suscripciones, etc).

PrintingSegmentationToPrint

Aplicación web basada en IA capaz de segmentar una imagen en capas que se desean enviar a imprimir. La idea base es permitir al usuario dar la posibilidad de cargar una imagen, llevar a cabo el proceso de inferencia de segmentación, y la extracción de las capas en imágenes. Así cómo, ser capaz detectar automáticamente, en el caso de que sea disponible, la opción de llevar a cabo la inferencia en GPU, y sino, la opción por defecto, en CPU.

Tecnologías:

Python, PyTorch, Web Frameworks, ONNX, HuggingFace

Keywords: Segmentation, AI, inference

Complejidad: 8

El proyecto "Printing Segmentation To Print" se propone desarrollar una aplicación web innovadora que utiliza inteligencia artificial (IA) para segmentar imágenes en distintas capas, facilitando su posterior impresión. Esta herramienta permitirá a los usuarios cargar una imagen y, mediante un proceso de inferencia basado en IA, descomponerla en múltiples capas según los elementos presentes en la misma. Cada capa se extraerá como una imagen independiente, lista para ser enviada a imprimir o procesar de acuerdo a las necesidades del usuario.

La aplicación se diseñará para ser altamente eficiente y adaptable, incorporando una funcionalidad de detección automática de hardware. Si el sistema detecta la disponibilidad de una GPU, utilizará esta para acelerar el proceso de segmentación; en caso contrario, realizará la inferencia utilizando la CPU por defecto. Esto garantiza que la aplicación funcione de manera óptima en diferentes entornos, desde máquinas de alto rendimiento hasta dispositivos más modestos.

El desarrollo del proyecto se basará en el uso de tecnologías como Python para la programación, PyTorch para la implementación, y frameworks web para la creación de una interfaz intuitiva y amigable para el usuario. Además, se utilizará ONNX para optimizar los modelos y asegurar un rendimiento eficiente en diversas plataformas.

"Printing Segmentation To Print" se perfila como una solución práctica para profesionales y aficionados que necesitan segmentar imágenes de manera precisa para su impresión. Con la capacidad de gestionar diferentes capacidades de hardware, esta herramienta promete ser versátil y eficiente, facilitando el flujo de trabajo desde la segmentación hasta la impresión final.

ProPicMe

Aplicación Android que permite realizar una fotografía y posteriormente mejorarla para conseguir un retrato con un aspecto profesional.

Tecnologías:

Python, PyTorch, Stable Diffusion, Android, Java, Kotlin

Keywords: AI, mobile applications, image generation, portraits

Complejidad: 7

Desarrollo de una aplicación Android que permita a los usuarios capturar un retrato (selfie) y convertirlo en una imagen de calidad profesional mediante el uso de técnicas avanzadas de procesamiento de imágenes e inteligencia artificial, como Stable Diffusion o tecnologías similares.

Para realizar este proceso se podrá crear una arquitectura cliente-servidor donde el modelo de generación de imágenes se ejecuta en una máquina aparte y la aplicación móvil hace peticiones a este, o se podrá explorar la posibilidad de utilizar modelos embebidos, de pequeño tamaño (aplicando técnicas como LORA), dentro del dispositivo.

Será necesario para el desarrollo de este proyecto ajustar de forma acorde las peticiones (prompts) a los modelos, así como potencialmente hacer un finetunning de estos para atarlos a la generación de retratos profesionales.

ProspectIA

Aplicación móvil con IA para reconocer medicamentos a través de la cámara y poder interactuar con el prospecto (consulta, resumen, preguntas/respuestas)

Tecnologías:

NodeJS, Go, Kotlin, PyTorch, Python, OpenCV, LLM

Keywords: AI, mobile app, Cloud, healthcare

Complejidad: 8

Uno de los problemas de hoy en día es que para muchas personas el prospecto es un documento complicado de leer, de buscar información relevante para ellos, o incluso se pierde y luego se necesita algo de información. La Agencia Española de Medicamentos y Productos Sanitarios (AEMPS) tiene a disposición pública el Centro de Información del Medicamento de la AEMPS (CIMA).

El objetivo de este proyecto es usar la información disponible en CIMA para poder ofrecer al usuario una experiencia sencilla de gestión de la información de un medicamento. Para ello, la aplicación móvil tiene que ser capaz de reconocer un medicamento mediante la cámara (foto a la caja), luego, mostrar el prospecto y ser capaz de resumirlo con información útil para el paciente y contestar dudas del usuario con la información contenida en ese prospecto (mediante chatbot).

El sistema debe estar alojado en la nube, donde se sincronizará con CIMA mediante API o web scraping (semanalmente) guardando toda la información necesaria (texto, datos, imágenes, enlaces a videos, etc.) solo de los medicamentos autorizados, comercializados y no de uso hospitalario. La aplicación móvil se conectará a la nube y realizará las peticiones que sean necesarias.

El reconocimiento del medicamento con la cámara puede hacerse con técnicas OCR y/o ML. También hay que dar la posibilidad al usuario de identificar el medicamento con un formulario solicitando nombre o Código nacional.

El resumen y respuestas también tienen que usar un modelo de ML acorde a las necesidades del proyecto.

RetroRevive

Plataforma web para la restauración de imágenes antiguas

Tecnologías:

Python, PyTorch, Stable Diffusion, OpenCV

Keywords: AI, web development, art, heritage

Complejidad: 9

El objetivo de este proyecto es desarrollar una aplicación web que permita a los usuarios restaurar fotografías antiguas de manera sencilla y efectiva. Esta plataforma integrará diversas técnicas avanzadas de procesamiento de imágenes e inteligencia artificial para realizar la restauración. Los usuarios podrán elegir entre diferentes opciones para personalizar el proceso de restauración según sus necesidades específicas.

La restauración puede comprender diferentes subtareas, tales como recuperar el color original (o al menos, unos tonos de color más vivos) o rellenar partes de la obra que estén deterioradas o hayan sido perdidas.

Se podrán crear modelos propios, utilizar modelos abiertos tales como Stable Diffusion o también aplicar técnicas clásicas de procesado con librerías como OpenCV.

RoboHeliostat

Creación de heliostato robótico automatizado para el planteamiento de mejora de elementos de energías renovables.

Tecnologías:

C++, Arduino, 3D printing

Keywords: 3D, Arduino, solar energy, renewable energy, robots, IoT

Complejidad: 7

Con el auge de las energías renovables basadas en el ámbito solar, se plantea la investigación y aplicación de un sistema arcaico como es el heliostato, aplicándolo a las nuevas tecnologías que puedan automatizar y optimizar los ángulos de incidencia y redirección en determinados momentos del ciclo solar hacia las células receptoras fotovoltaicas.

Como los ángulos de instalación de los paneles solares suelen tener limitación de posicionamiento y horas hábiles de incidencia directa, se pretende realizar el estudio y creación de un prototipo a pequeña escala del dispositivo encargado de redireccionar mediante refractores (Espejos u otras superficies reflectantes) en momentos en los que la eficiencia de estas sufra un descenso considerable y sea viable su redireccionamiento desde el prototipo.

En la primera parte del proyecto se realizará el desarrollo del prototipo en una escala viable mediante el uso de tecnologías de impresión 3D, servomotores y un controlador Arduino que localice el punto de luz más intenso y su grado de incidencia óptimo. Posteriormente se aplicará mediante un modelo de superficies reflectantes su redireccionamiento hacia un punto deseado y elegido por el usuario.

Como apartado, final se propone hacer un estudio de aplicación en entornos reales hacia células receptoras fotovoltaicas, junto con un cálculo de mejora del rendimiento con un prototipo a escala real que se aplique con los datos obtenidos en las etapas previas.

Para la realización de este proyecto se proporcionarán al estudiante módulos de Arduino, servomotores y sensores lumínicos. La impresión 3D podrá realizarla el propio alumno o alumna si dispone del equipamiento o, en caso contrario, puede ser llevada a cabo por el tutor principal que sí dispone de dicha infraestructura.

Sawubona

Identificar la respuesta emocional usando reconocimiento de emociones faciales que produce un evento (escenas de una película) en la audiencia presencial, obteniendo información que indique si es la deseada.

Tecnologías:

C#, OpenCV, SQLite, MAUI, Angular

Keywords: AI, facial recognition, sentiment analysis

Complejidad: 9

En la sociedad actual es muy relevante saber si el mensaje que se transmite produce la reacción deseada en el público al que va dirigido. Identificar si una escena triste de una película o una parte de un discurso político producen el efecto deseado sobre una muestra de control puede traducirse en la consecución de los objetivos deseados cuando se expongan en público.

El objetivo de este proyecto es utilizar las tecnologías de reconocimiento facial para detectar en vivo las expresiones del público y saber si el mensaje está produciendo la reacción buscada en el mismo.

Será necesario identificar cuántas personas se encuentran, en base a imágenes, se encuentran visualizando el espectáculo en cuestión. Posteriormente se aplicarán modelos de clasificación para detectar el tipo de sentimiento expresado por cada uno de los espectadores, sea de alegría, tristeza, risa, interés, aburrimiento, enfado, etc. Se podrán utilizar modelos disponibles públicamente o desarrollar modelos propios, así como aplicarles un finetunning a modelos de terceros. El estudiante será responsable de la búsqueda o generación de los datasets adecuados para tal tarea.

SilentDome

Desarrollo de un prototipo a escala para un sistema portable para reducir el ruido de maquinaria de obra a umbrales admisibles usando la cancelación activa.

Tecnologías:

Python, Raspberry, Arduino

Keywords: Active Noise Cancelation (ANC), IoT, noise, construction

Complejidad: 6

La contaminación acústica es un problema más severo cada año, influyendo en la salud mental y auditiva de la población. Una de las fuentes más características son las obras. Además, las obras son problemáticas porque necesitan ser hechas en un horario en el que no corte el tráfico y están restringidas a una franja horaria para hacer ruido.

El objetivo del proyecto es crear un prototipo para ayudar con este problema. La idea del producto final sería una especie de trípode que se colocaría alrededor de la obra. Cuando se enciende la maquinaria, el dispositivo reduciría significativamente el ruido mediante la cancelación activa de ruido (CAR). Esto permitiría flexibilizar los horarios de las obras, permitiendo evitar horas punta y el sol en sus momentos más cálidos. Este dispositivo también se puede usar en las obras en terreno natural, reduciendo el impacto de la contaminación acústica en la fauna salvaje.

El prototipo sería una versión a escala de estos trípodes. Para realizar una cancelación activa del sonido, el prototipo necesita unos micrófonos, unos altavoces, un Arduino y una Raspberry. El micrófono leería las ondas de sonido, la mandaría a la Raspberry y la Rasberry mandaría la señal inversa a los altavoces para cancelar el sonido. Los objetivos serían crear un prototipo a escala, probar si realmente es posible crear una “cúpula” de cancelación de sonido usando este prototipo y analizar alternativas para este objetivo.

SkillMAItrix

Aplicación web para la monitorización y análisis de las capacidades y habilidades dentro de equipos.

Tecnologías:

React, Angular, Python, MariaDB, Postgres, Linux

Keywords: Web Application, Full stack, Cloud, IA, Big Data

Complejidad: 5

Dentro de equipos multidisciplinares siempre es complicado saber las habilidades y conocimientos que poseen. Se tiende a individualizar estos conocimientos, pero no a tratarlos en equipo.

Por esto se quiere desarrollar una aplicación web que pueda ayudar a conocer las habilidades actuales de un equipo, poder analizarlas y tener métricas de cómo están distribuidas, crear gráficos y reportes para su análisis, para que un usuario pueda ser capaz de analizar los riesgos que existen dentro del equipo.

Ejemplos:

Demasiados integrantes con ciertas habilidades y muy pocos de habilidades necesarias.

Análisis de los miembros del equipo ante nuevos retos que requieran nuevas habilidades

Plan de formación y certificaciones del equipo.

El Proyecto constara al menos de tres partes

  • Back-end:

Se requerirá un servicio de back-end multiplataforma (Linux y Windows) con una implementación Rest-API, Tanto el lenguaje de programación como el Rest-API será elección del alumno.

  • Front-end:

Se requerirá una interfaz front-end para poder gestionar y visualizar el aplicativo.

El Lenguaje será a elección del alumno, teniendo en cuenta que deberá de estar orientado a mostrar varias métricas en gráficos y reportes.

  • Base de Datos:

Se requerirá la creación de una Base de datos, con tablas basadas en un modelo no relacional para el almacenamiento de los datos, aunque se permitirá crear una base de datos relacional para los datos de gestión del aplicativo.

SurpriseDinner

Mesas de última hora para reservas canceladas o no presentadas de restaurantes.

Tecnologías:

Android, Java, Kotlin, Flutter, Go, Java, C#, NodeJS, Angular, React

Keywords: Restaurants, reservations, last minute, no show, mobile application

Complejidad: 7

Las reservas canceladas a última hora (o directamente aquellas en las que los comensales ni siquiera se presentan) son un problema grave para los restaurantes: por un lado, pierden la utilización de una de las mesas del local, con el coste de oportunidad que esto supone (sumado a otros gastos fijo como personal, calefacción, etc), y por el otro pueden tener que descartar cierto género perecedero que tienen en base a esa demanda, tales como carne, pescado, marisco, etc.

Por otro lado, existe también un grupo de personas a las que les gustaría comer o cenar en ciertos restaurantes que tienen disponibilidad muy complicada pero que tampoco llaman o acuden cada día para preguntar si de casualidad se ha cancelado alguna reserva.

Con este proyecto se pretende unir a restaurantes y comensales alrededor de las reservas canceladas. Se desea desarrollar una aplicación móvil que cumpla un objetivo dual: por un lado, que permita a los restaurantes indicar sus cancelaciones o “no shows” de última hora, indicando a qué hora estaría disponible la mesa de nuevo y el número de comensales aceptados (normalmente un rango como “2-4 comensales” en función del tamaño de la mesa y la reserva original). Por otro lado, los usuarios podrán recibir notificaciones, en función de sus preferencias y localización geográfica, indicando que ha quedado una mesa disponible, y podrán confirmar una nueva reserva desde la aplicación.

La aplicación tendrá por tanto dos tipos de usuarios, los restaurantes que se registrarán y ofrecerán sus mesas, y el resto de las personas, que se suscribirán a las alertas sobre mesas disponibles. Idealmente los perfiles serán duales: un dueño de un restaurante también puede desear utilizar la aplicación en su otro modo, tener un negocio podría ser una “adición” al estilo de Google Business donde añades tu negocio a tu perfil. No obstante, esta funcionalidad no es 100% necesaria.

Se sugiere realizar una aplicación de Android, bien de forma nativa o bien a través de alguna otra tecnología (Flutter, web views, etc), que acceda a un backend alojado en el Cloud donde se gestionará la lógica de la aplicación y los datos de usuarios, restaurantes y reservas.

TEAventuras

Generación de historias sociales para ayudar a niños con TEA a actuar en su día a día.

Tecnologías:

React, Angular, Flutter, Python, Go, C#, Java

Keywords: ASD, ASC, TEA, story-telling, generative AI, AI, web application, mobile application

Complejidad: 8

La fundación Montemadrid es una entidad sin ánimo de lucro que trabajar en favor de la inclusión, el acceso a la educación, el empleo, la cultura y la conservación del medio ambiente. Como parte de sus programas, la fundación trabaja con niños con TEA (Trastorno del Espectro Autista) y les ayuda a enfrentarse a situaciones de su día a día que no comprenden y en las que no saben cómo actuar. Para ello les explican de una forma personalizada qué va a pasar, qué pueden hacer y qué no pueden hacer, dónde lo pueden hacer, etc, en esos momentos que a ellos les resultan tan confusos.

En este proyecto se pide desarrollar una plataforma para la generación de historias sociales, presentando éstas de una forma totalmente visual e introduciendo al comienzo de las mismas dónde sucede la situación, cuándo está pasando, qué va a pasar primero y qué después y con quién lo vamos a hacer. Posteriormente la historia se desarrollará, y será el niño o niña quien interactúe con la plataforma, evaluando si lo hace de una forma adecuada, siempre con el apoyo de los formadores y tutores.

Sería deseable que se puedan personalizar las situaciones con fotos de los niños y sus familias, así como de los lugares reales donde suceden los acontecimientos, tales como su casa, su colegio, una tienda del barrio, etc. Esto eliminará las dificultades de abstracción y asegurará la compresión de la historia. Para esto se pueden utilizar técnicas de inteligencia artificial de reemplazo de caras o técnicas más tradicionales con dibujos, máscaras y demás.

Respecto de la implementación, se desea que la plataforma de generación de historias sea una plataforma web o una aplicación móvil. Deberá presentar además un interfaz para los administradores, es decir, los miembros de la fundación, que les permita configurar cada una de las historias y personalizarlas para cada niño. Por lo tanto, las historias estarán además asociadas a un determinado consumidor, lo que implica añadir un sistema de gestión de usuarios y permisos.

Terranix

Herramienta OSS de despliegue de infraestructura en la nube utilizando el lenguaje declarativo Nix. (Infrastructure as Code).

Tecnologías:

Nix, Go

Keywords: Cloud, Kubernetes, Infrastructure as code (IaC), Nix, DevOps, declarative

Complejidad: 5

Infrastructure as code se ha convertido en un estándar en el proceso de despliegue de infraestructura en la nube. Terraform, una herramienta muy utilizada en este sector recientemente ha modificado su licencia, impidiendo algunos usos antes permitidos.

Por otra parte, Nix, un lenguaje declarativo para describir configuración de sistemas es una herramienta que esta tomando mucha popularidad en entornos de desarrollo y por perfiles DevOps por la expresividad del lenguaje y sus capacidades de definir entornos reproducibles.

El proyecto consiste en construir una herramienta que sea capaz de analizar las diferencias entre la plataforma seleccionada (Kubernetes, AWS, Azure…), y la configuración generada en ficheros Nix, y sea capaz de realizar las operaciones de reconciliación necesarias.

El sistema debería ser modular permitiendo la importación de ‘plugins’, a mismo modo que Terraform acepta ‘providers’, de manera que no sería necesario definir todas las operaciones para todos los operadores de cloud en el mercado, pero si permitir la definición de nuevos.

Troll Hunter

¿Troll o hater? Descubre si la reseña o comentario viene de un hater o no, y potencia la imagen de tu marca creando una respuesta creativa y original.

Tecnologías:

Python, C#, Go, NodeJS, PyTorch

Keywords: AI, sentiment analysis, LLMs

Complejidad: 8

Hoy en día las redes sociales nos entretienen como usuarios, pero para muchas marcas, es su principal fuente de promoción, donde se dan a conocer o simplemente buscan potenciar positivamente la imagen de su marca. Pero el camino no es fácil, está lleno de trolls y haters que hacen de las redes sociales sus bastiones para desprestigiar, desinformar o cancelar a marcas.

Por eso, Troll Hunter pretende, mediante AI, identificar cuándo un comentario o reseña puede proceder de una cuenta troll o de un hater, y proponer a una marca, un comentario ingenioso y creativo que permita aumentar su buena imagen.

Para realizar esta labor se incorporarán datos públicos sobre comentarios en redes sociales, especialmente aquellos vinculados a marcas y a sus community managers con las respuestas que estos dan. A través del uso de LLMs se generará un sistema de clasificación que permita encuadrar cada comentario en una de las dos categorías (o fuera de ambas), y se generará lo que se considera una respuesta adecuada.

UnmuteMe

Plataforma web que permite subir un video (con o sin audio), genera un audio acorde al contenido de los frames del video y los sincroniza.

Tecnologías:

Python, PyTorch

Keywords: IA, Desarrollo web

Complejidad: 9.5

Este proyecto propone la utilización de modelos y técnicas de Inteligencia Artificial para la generación de audio a partir de un video de entrada. El objetivo de este proyecto es desarrollar una aplicación web que permita a los usuarios añadir una nueva pista de audio a un video. El usuario deberá cargar un video en la plataforma, se eliminará el audio original del video y mediante inteligencia artificial, se generará una nueva pista de audio sincronizada con el contenido de los fotogramas del video.

Para ello se propone implementar un proceso de conversión de video a texto y, posteriormente, de texto a audio, con el fin de generar la pista de audio sincronizada. Se debe tener en cuenta el posible solapamiento entre los distintos sonidos presentes en la escena, la resolución temporal necesaria para lograr una buena sincronización entre imagen y audio y si se genera ruido ambiental solamente o se plantea la recreación de voces humanas.

VRRecoveryGym

Entorno en realidad virtual para la realización de puzles (actualmente físicos) con el objetivo de favorecer la recuperación y la movilidad de personas con problemas motrices en las extremidades superiores.

Tecnologías:

C++, Unreal Engine, Blender, BlueprintUE

Keywords: VR, simulation, games, puzzle, physical recovery

Complejidad: 8

Este proyecto se realiza en colaboración con la fundación ASPAYM que tiene la misión de promover y fomentar toda clase de acciones y actividades destinadas a mejorar la calidad de vida de las personas con lesión medular y gran discapacidad física.

Con el objetivo de favorecer la recuperación de las personas afectadas por estos problemas, en la fundación han creado unos determinados puzles impresos en 3D orientados a fomentar que sus usuarios realicen determinados movimientos físicos: giro de muñeca, extensión del codo, abducción del brazo, etc. Se ha verificado que estos puzles consiguen su objetivo para el que fueron diseñados, pero, por el contrario, requieren que las personas acudan físicamente a la Asociación para realizar los ejercicios y, además, que un profesional de dicha Asociación les acompañe y supervise para analizar cómo se está realizando la actividad.

Se propone crear un entorno virtual en el que las personas, a través de un casco de VR y sus mandos (se puede valorar la posibilidad de realizar hand-tracking), realicen puzles análogos a los puzles físicos. Esta aplicación cumplirá un doble propósito:

  • Permitir que los usuarios realicen los ejercicios de forma remota, en su entorno familiar, y, a su vez, permitir llevar a cabo un seguimiento de cada actividad (número de sesiones, tiempo invertido, etc).
  • Realizar un control de movimientos para supervisar la evolución de cada usuario en todos los ejercicios que se planifiquen. De este modo, se permite el control de parámetros de evolución como son: número de giros de muñeca, grados de extensión del codo, grados en una abducción de brazo, número de movimientos necesarios para resolver un puzzle, etc. Idealmente estos datos se deben poder enviar para ser consultados en remoto por parte de los profesionales.

Se propone realizar este proyecto utilizando Unreal Engine, desarrollando la lógica tanto en C++ como en BlueprintUE e incorporando aquellos assets disponibles en el marketplace de Unreal Engine que se consideren necesarios (siempre y cuando su licencia permita su utilización en este proyecto).Finalmente, en este proyecto se contará con el asesoramiento de los profesionales de ASPAYM.

Webgit

Sistema de control de versiones sobre http.

Tecnologías:

Go, Git, Http, bases de datos

Keywords: Version Control System (VCS), Git, http

Complejidad: 6

El machine learning requiere de la gestión de grandes cantidades de información, la cual se va transformando con el tiempo, y que debe ser manejada por varios usuarios de manera concurrente para distintos propósitos, lo cual requiere de un sistema de control de versiones.

Git se ha convertido en un estándar, pero está planteado para la gestión de código (texto), y la información necesita ser clonada para acceder a ella (distribuido). Esto implica, por ejemplo, que, para realizar un entrenamiento en cierta versión del dataset, es necesario descargarse todos los ficheros.

Nos gustaría diseñar una herramienta que almacene, gestione y versione ficheros; utilizando el mismo protocolo que Git (object, commit, branch, merge, tag…), pero optimizado para los siguientes casos:

  • Permita la subida y bajada de ficheros grandes de manera paginada y concurrente (optimizado para ficheros de gran tamaño).
  • Permita a los usuarios manipular el repositorio desde remoto sin necesitar descargarse todo el proyecto (edición en remoto de los ficheros mediante GET/PUT/PATCH).
  • Permita descargarse un fichero de forma rápida sin necesidad de checkout o cálculo de diff. (Que sea rápido y no haga cuello de botella a un entrenamiento).

Orgullosos colaboradores

Colaboramos con las más prestigiosas universidades españolas.

TOP