Análisis de las prestaciones de una capa convolutiva de una red neuronal sintetizada en una FPGA mediante herramientas de alto nivel


Estudiante: Adrián Rodríguez Molina
Tutores: Sebastián López Suárez (DIEA), Yubal Barrios Alfaro (IUMA), Romén Neris Tomé (IUMA)
Fecha lectura: 14/09/2021
Lugar: Aula HENRY del Aulario del Edificio de Electrónica y Telecomunicación
Resumen castellano:
El área del Remote Sensing se basa en usar dispositivos equipados con sensores que
se desplazan a cierta altura de la superficie terrestre para tomar información sobre el planeta.
Dentro de este campo, uno de las plataformas más usadas son los satélites orbitales
que, junto con dispositivos de procesamiento a bordo, permiten aplicar algoritmos sobre
los datos para potenciales aplicaciones en tierra.
Este Trabajo de Fin de Máster se ha realizado en el contexto del proyecto VIDEO (Video
Imaging Demonstrator for Earth Observation), un proyecto del programa Horizon 2020 que
tiene como objetivo desarrollar un sensor de vídeo que irá a bordo de un satélite y una cadena
de procesamiento que se servirá de los datos obtenidos por ese sensor.
Se parte de la capa convolucional de una red neuronal que irá implementada en una
FPGA a bordo del satélite. El objetivo de este trabajo es analizar como afectan la variación
de los parámetros de entrada de la capa a la latencia y el consumo de recursos de la FPGA.
Para conseguir dicho objetivo, se ha transcrito el código de la capa convolucional de
Python a C++ y se han generado dos capas convolucionales con una estructura similar. Una
vez hecho esto, se han generado varias configuraciones variando los parámetros de entrada
de las capas. Con la ayuda de la herramienta de Síntesis de Alto Nivel de Xilinx, Vitis HLS,
se han obtenido los resultados de sintetizar las distintas configuraciones de las capas.
A la vista de los resultados de variar el tamaño de la imagen, aplicándole padding o no,
las dimensiones de los pesos y el desplazamiento de los pesos sobre la capa, se concluye que
todos los parámetros afectan en mayor o menor medida a la implementación de la capa en
el dispositivo hardware. Los mejores resultados de latencia se consiguen cuando el tamaño
de la imagen es el más pequeño de los analizados, mientras que los peores se dan cuando
la relación entre el tamaño de los pesos y el desplazamiento de los mismos aumenta.
En términos de recursos lógicos, modificar el tipo de dato de punto flotante a punto fijo
ha demostrado ser el cambio que más reduce el consumo y con el que se ocupa menos lógica
en el dispositivo.
Resumen inglés:
The field of Remote Sensing is based on the use of devices equipped with sensors that
move at a certain altitude above the Earth’s surface to collect information about the planet.
Within this field, one of the most widely used platforms are orbital satellites, which together
with on-board processing devices, allow algorithms to be applied to the data acquired to be
used on potential applications on ground.
This Master’s Thesis is done in the context of the VIDEO project (Video Imaging Demonstrator
for Earth Observation), a project of the Horizon 2020 program that aims to develop
a video sensor that will be on-board a satellite and a processing chain that will use the
data obtained by that sensor.
It is based on the convolutional layer of a neural network that will be implemented on
an FPGA on-board the satellite. The goal of this work is to analyze how the variation of the
input parameters of the layer aects the latency and resources consumption of the FPGA.
To reach this goal, the convolutional layer source code has been transcribed from Python
to C++ and two convolutional layers with a similar structure have been generated. Once this
was done, several configurations were generated by varying the input parameters of the layers.
With the help of the Xilinx High-Level Synthesis tool, Vitis HLS, the results of synthesizing
the dierent layer configurations have been obtained.
In view of the results of varying the image size, applying padding or not, the dimensions
of the weights and the strides of the layer, it is concluded that all parameters aect to a
greater or lesser extent to the implementation of the layer on the hardware device. Best
latency results are achieved when the image size is the smallest of the ones under analysis,
while the worst ones appear when the ratio between the size of the weights and the strides
is increased.
In terms of logic resources, changing the data type from floating-point to fixed-point
has proven to be the change that reduces consumption the most and takes up the least
amount of logic on the device.
Tribunal:
  • Presidente: Roberto Sarmiento Rodríguez
  • Secretario: Pedro Pérez Carballo
  • Vocal: José María Quinteiro González
Vinculación Proyecto Investigación:
VIDEO (Video Imaging Demonstrator for Earth Observation)  European Union’s Horizon 2020
Documentos: Resumen Póster Memoria