Universidad de Castilla-La Mancha
 
Escuela Superior de Ingeniería Informática

 

  cambiar a curso:   2020-21   2022-23



Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2021-22

Integración y evaluación de un nodo fog con aceleradores hardware para procesamiento de imágenes en tiempo real


Tecnologías Específicas

Ingeniería de Computadores
 


Descripcion y Objetivos

Desde 2015 Google diseña las Unidades de Procesamiento Tensorial (TPUs) como circuitos integrados ASIC aceleradores de IA (inteligencia artificial). Su diseño está optimizado para la ejecución de técnicas de aprendizaje automático basadas en redes neuronales profundas. Por otro lado, el crecimiento exponencial de los teléfonos móviles inteligentes, sensores y dispositivos wearables que obtienen datos del entorno y que necesitan hacer los cálculos computacionales cerca del dispositivo, sin enviar los datos al cloud central, hace que Google lance recientemente al mercado un dispositivo Edge TPU de bajo coste, bajo el nombre de Coral.

El desarrollo del aprendizaje automático se hace en dos etapas. Primero, un algoritmo se entrena haciendo uso de una gran cantidad de muestras de datos en un clúster o máquina computacionalmente potente. Luego, la red entrenada se despliega en una aplicación que necesita interpretar los datos reales. Esta etapa de despliegue o “inferencia” es donde el dispositivo Edge TPU participa. Edge TPU permite la ejecución de la red entrenada “en el borde” (at the edge), esto es, cerca de la fuente donde se generaron los datos. De alguna forma, pasamos a disponer de “inteligencia” cerca de los dispositivos finales, no en el cloud o servidor central, reduciendo las latencias de comunicación y los costes debidos al consumo de ancho de banda. Este paradigma se denomina computación en la niebla o Fog Computing.

El objetivo general de este TFG consiste en diseñar un nodo fog de bajo coste basado en placas Raspberry Pi dotadas de una cámara y de un acelerador TPU Coral, integrando todos los elementos hardware a través de una arquitectura software basada en contenedores Docker, siempre que sea posible.

Desde 2015 Google diseña las Unidades de Procesamiento Tensorial (TPUs) como circuitos integrados ASIC aceleradores de IA (inteligencia artificial). Su diseño está optimizado para la ejecución de técnicas de aprendizaje automático basadas en redes neuronales profundas. Por otro lado, el crecimiento exponencial de los teléfonos móviles inteligentes, sensores y dispositivos wearables que obtienen datos del entorno y que necesitan hacer los cálculos computacionales cerca del dispositivo, sin enviar los datos al cloud central, hace que Google lance recientemente al mercado un dispositivo Edge TPU de bajo coste, bajo el nombre de Coral.

El desarrollo del aprendizaje automático se hace en dos etapas. Primero, un algoritmo se entrena haciendo uso de una gran cantidad de muestras de datos en un clúster o máquina computacionalmente potente. Luego, la red entrenada se despliega en una aplicación que necesita interpretar los datos reales. Esta etapa de despliegue o “inferencia” es donde el dispositivo Edge TPU participa. Edge TPU permite la ejecución de la red entrenada “en el borde” (at the edge), esto es, cerca de la fuente donde se generaron los datos. De alguna forma, pasamos a disponer de “inteligencia” cerca de los dispositivos finales, no en el cloud o servidor central, reduciendo las latencias de comunicación y los costes debidos al consumo de ancho de banda. Este paradigma se denomina computación en la niebla o Fog Computing.

El objetivo general de este TFG consiste en diseñar un nodo fog de bajo coste basado en placas Raspberry Pi dotadas de una cámara y de un acelerador TPU Coral, integrando todos los elementos hardware a través de una arquitectura software basada en contenedores Docker, siempre que sea posible.

 


Metodología y Competencias

Para el desarrollo de este TFG se hará uso de una metodología ágil basada en Scrum. Se mantendrán reuniones quincenales con los tutores para el correcto seguimiento y retroalimentación del trabajo.

En cuanto al plan de trabajo, a priori se definen las siguientes fases:

  1. Estudiar la plataforma hardware básica: Raspberry Pi y cámara.
  2. Estudiar las librerías TensorFlow y TensorFlow Lite y su uso junto a las TPUs.
  3. Definir la arquitectura de la solución propuesta, identificando los módulos funcionales que la componen.
  4. Implementación y despliegue de uno o varios casos de uso, empleando contenedores Docker siempre que sea posible.
  5. Evaluación de prestaciones del sistema integrado.

Las competencias que se aplican en el caso de la Tecnología de Ingeniería de Computadores son:

[IC3] Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.

[IC7] Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.

 


Medios a utilizar

Placas Raspberry Pi, cámara para Raspberry Pi, PC o portátil

Software de código abierto: Docker, TensorFlow (Lite)…

 


Bibliografía

 


Tutores


CAMINERO HERRÁEZ, Mª BLANCA
CARRIÓN ESPINOSA, CARMEN
 

Alumno


PÉREZ MORENO, VÍCTOR

 

 

Sindicación  Sindicación  Sindicación  Sindicación

Curso: 2021-22
© Escuela Superior de Ingeniería Informática
Edificio Infante Don Juan Manuel
Avda. de España s/n
02071 Albacete
Tfno: 967 59 92 00 - Fax: 967 59 92 24

informatica.ab@uclm.es
aviso legal
generar código QR de la página