Prácticas realizadas Otoño 2014/2015

Interfaz de comunicación entre Blender y Kinect

Alumno: Ignacio Gómez-Martinho González

Tutor: Martina Eckert

Resumen

En esta memoria se describe el desarrollo de un complemento software que permita a Blender, el programa de animación de juegos y vídeo, implementar un control por movimientos utilizando la cámara Kinect. El objetivo principal es abrir las puertas al desarrollo de aplicaciones adaptadas a personas con movilidad reducida, de modo que puedan manejarse con gestos o movimientos leves. Se ha estudiado el protocolo OSC (Open Sound Control) como medio de transmisión de datos de Kinect, y se ha programado el receptor adaptado a su estructura. Además del sistema de control, se ha añadido una herramienta de grabación que permite almacenar animaciones en la memoria de Blender. A modo de ejemplo, se han desarrollado varias aplicaciones sencillas en las que se ha implementado satisfactoriamente el control por movimientos.

Ignacio

Resultado del trabajo desarrollado

 

 

Interfaz de comunicación entre Blender y Kinect

Alumnos: Almudena Gil y Diego Zapatero

Tutor: Martina Eckert

Resumen

La comunicación no verbal entre los seres humanos cada día cobra más importancia, y las expresiones faciales son el mejor ejemplo de ello. En los últimos años, gracias al avance en el procesado digital de la imagen se han desarrollado numerosos sistemas capaces de reconocer estas emociones de una manera automática. En esta investigación se realiza primeramente un estudio del arte acerca de todos estos sistemas, analizando qué métodos utilizan y cuáles son sus ventajas. A raíz de ello, se implementa como primer paso un método para extraer las características faciales mediante el análisis de acciones de músculos. Como segundo paso se crea un algoritmo capaz de clasificar la expresión de una cara en concreto a partir de las particularidades de ella. Con ello, y a través de una interfaz gráfica para mayor comodidad, se pretende lograr el objetivo de reconocer la expresión. Por último, se realizan diferentes pruebas con el fin de obtener el mayor número de conclusiones posibles para poder determinar qué mejoras serían necesarias y cuáles podrían ser las posibles líneas de trabajo a partir de ellas.

Almudena Gil y Diego Zapatero

Resultado del trabajo desarrollado

 

Detección y seguimiento de anomalías para aplicaciones de vídeo-vigilancia y seguridad

Alumno: Jorge Pozuelo Fernández

Tutor: Henry Omar Carrillo Cruz

Resumen

En el presente trabajo se realiza una detección de anomalías basada en diferentes parámetros espaciales y temporales, generando así realidad aumentada. La aplicación se orienta a la detección de personas que hacen un uso indebido de los torniquetes de una estación de trenes, utilizando una cámara web y el software MATLAB. Se han desarrollado varios algoritmos y se ha comprobado que el funcionamiento es correcto y aplicable al mundo real.

Jorge Pozuelo

Resultado del trabajo desarrollado 

 

Detección y seguimiento de anomalías para aplicaciones de vídeo-vigilancia y seguridad

Alumno: Javier Nistal Hurlé

Tutor: Henry Omar Carrillo Cruz

Resumen

En este trabajo se presenta un sistema de detección de anomalías. Está compuesto por dos bloques funcionales: un sistema de detección y seguimiento de múltiples objetivos y un sistema de detección de anomalías. Para ello, se ha desarrollado un algoritmo de segmentación basado en comparación de imágenes y un sistema de detección y seguimiento fundamentado en el etiquetado de los objetivos específicos. Finalmente, se ha desarrollado un sistema de detección de anomalías para aplicaciones de vídeo-vigilancia en las instalaciones de metro.

Javier Nistal

Resultado del trabajo desarrollado

 

Decodificación de vídeo en sistemas multinúcleo

Alumno: Álvaro Bueno Sáez

Tutor: Fernando Pescador del Oso

Resumen

El objetivo de la práctica es caracterizar el decodificador de vídeo HEVC (High Efficiency Video Coding) en la plataforma TMDS320C6678, producto de las prácticas anteriores. La caracterización consiste en la medida de tiempos de ejecución de las funcionalidades descritas en RVC (Real Video Coding) y en la medida del número de imágenes por segundo decodificadas para un amplio abanico de secuencias de prueba. Durante el desarrollo se completa esta caracterización trabajando con el DSP con un solo núcleo y se procede a la extensión a más núcleos, su caracterización y su comparación con respecto al trabajo con menor número de núcleos y otras plataformas. El resultado ha conllevado un gran número de pruebas con distintas secuencias y numerosas actualizaciones de distintas partes de RVC. Como conclusión se ha observado que la eficiencia conseguida al aumentar el número de núcleos es cada vez mayor, con una ganancia al aumentar el número de núcleos mayor que la ganancia de otras plataformas. 

Álvaro Bueno

Resultado del trabajo desarrollado

 

Depuración de una PCB multinúcleo. La tarjeta PCCMute V2.2

Alumno: Andrés Cecilia Luque

Tutor: Eduardo Juárez Martínez

Resumen

En los últimos años el consumo de contenido multimedia en dispositivos portátiles como teléfonos y tablets se ha disparado, siendo necesario codificar los contenidos para permitir un envío más rápido a través de las redes de telecomunicaciones. La decodificación de esos contenidos requiere de una actividad intensa por parte del procesador, lo que incrementa mucho el consumo de energía, limitando la vida de la batería. En esta memoria se presenta el trabajo de depuración realizado en la placa PCCMute V2.2, una herramienta con la que es posible medir el consumo instantáneo de energía en detalle y que ayudará a conocer y reducir el consumo de los decodificadores, algo crucial en dispositivos portátiles.

Sin título-1

Resultado del trabajo desarrollado

 

Integración de Papify en Orcc (Open RVC-CAL Compiler)

Alumno: Pablo Rodríguez Nava

Tutor: Fernando Pescador del Oso

Resumen

El objetivo principal de estas prácticas externas es estudiar la integración de módulos optimizados del decodificador openHEVC en el decodificador RVC-HEVC con el fin de conocer que módulos han sido optimizados y como se han optimizado. Durante el desarrollo de las prácticas se ha estudiado el código generado por el compilador Orcc y el código de alto nivel RVC-CAL con el fin de averiguar cómo se produce la integración de los módulos optimizados y qué puntos del código del decodificador se modifican para permitir que se ejecuten funciones externas al mismo. Finalmente se expone la relación de actores que han sido optimizados así como el método de optimización empleado. 

 

Integración de Papify en Orcc (Open RVC-CAL Compiler)

Alumno: Alejo Iván Arias

Tutor: Eduardo Juárez Martínez

Resumen

Se fija el objetivo de modificar el compilador ORCC (Open RVC-CAL Compiler) de modo que incluya la posibilidad de extraer cierta información sobre la ejecución de un descodificador. Esta información pretende ayudar a los desarrolladores del descodificador a encontrar las mejores formas de optimizarlo, aportando datos de ejecución temporales y de carga. 

 

Desarrollo de aplicaciones con Intel Galileo

Alumno: Claudia Ardid Valero

Tutor: Rubén de Diego Martínez

Resumen

La reducción del tamaño de los equipos de hardware manteniendo la potencia que se puede encontrar en sistemas de mayor tamaño cada vez es más habitual. Es por ello que se está planteando la inclusión de este tipo de hardware (y el software que puede soportar) como elemento prestador de servicios en la Smart Grid. El siguiente documento plantea las siguientes cuestiones: ¿Puede introducirse Galileo como elemento en Smart Grid? ¿Qué placa opera en menor tiempo, Raspberry Pi o Intel Galileo? ¿Qué significan los conceptos ESB y bundle y cómo funcionan?
Con estas preguntas en mente, se ha conseguido comprender el ESB y bundle, se ha creado un bundle y se ha estudiado a Galileo como posible elemento en Smart Grid. Debido a la falta de potencia del PC de trabajo y de falta de tiempo, se ha dejado como proyecto futuro la comparativa sobre Raspberry Pi y Galileo.

 

Control de consumo en terminales portátiles multimedia

Alumno: Gregorio Alonso Grullón

Tutor: Ángel M. Groba González

Resumen

El objetivo principal de este trabajo es el desarrollo de un algoritmo que controle el consumo de un microprocesador. En primer lugar se ha realizado un estudio del dispositivo en cuestión. Tras el estudio se han diseñado varios controladores borrosos basados en reglas. Para concluir el trabajo se han simulado y realizado pruebas con los distintos controladores implementados. Se ha conseguido un control del consumo del microprocesador que, si bien es afectado por el ruido, responde correctamente a los requisitos establecidos.

 

Control de consumo en terminales portátiles multimedia

Alumno: Alberto de Garcia Recas

Tutor: Matías J. Garrido González

Resumen

El objetivo del trabajo es estudiar el ciclo de diseño para la plataforma SocKit, medir el rendimiento del componente diseñado y compararlo con un diseño que implementa aceleradores de transferencia. Se ha completado el ciclo de diseño, y medido el rendimiento del componente cargado en placa de desarrollo. No se ha obtenido un rendimiento excepcional, pero al tratarse de un sistema de transferencia tan sencillo, cabe la posibilidad de implementar un sistema que aumente el rendimiento.

 

Development algorithms for analysing energy consumption for Smart Grid

Alumno: Marta de la Cruz Martos

Tutor: Pedro Castillejo Parrilla

Resumen

En el documento expuesto se va a explicar el desarrollo de las prácticas realizadas en el Centro de Investigación en Tecnologías Software y Sistemas Multimedia para la Sostenibilidad (CITSEM) dentro del Grupo de Redes y Servicios de Próxima Generación (GRyS). Estas prácticas están enmarcadas en el proyecto I3RES cuyo objetivo es integrar las energías renovables en la red distribuida mediante la incorporación de inteligencia artificial. Dentro de este proyecto, la realización de estas prácticas se ha centrado en el desarrollo de algoritmos para analizar el consumo energético y realizar una clasificación de usuarios.