Dissertação

{en_GB=SoC-FPGA MobileNets for Embedded Vision Applications} {} EVALUATED

{pt=Hoje em dia é cada vez mais comum o uso de inteligência artificial em diversas aplicações. No entanto foram precisas décadas de desenvolvimento, sobretudo ao nível de hardware para que a inteligência artificial pudesse ser viável. O modelo MobileNets, desenvolvido por investigadores da Google, é usado para a classificação de imagens e devido ao processamento mais leve que as concorrentes, é sobretudo utilizado nos sistemas embebidos. Este modelo usa o conceito de convolução separável em profundidade e apesar de bastante optimizado, o tempo de processamento pode ainda ser elevado quando usado em dispositivos de baixo custo. Neste trabalho pretendeu-se desenvolver uma arquitectura de multiprocessamento hardware/software numa plataforma SoC FPGA para a classificação de imagens usando a MobileNets. Os contributos principais deste projecto são o desenvolvimento de 3 IPs para processar as camadas das convoluções separáveis em profundidade, usando para isso, uma paralelização e alocação eficiente dos recursos de forma a obter um multiprocessamento eficaz, e a quantização dos dados para reduzir as necessidades de memória e tempo de comunicação. O sistema foi implementado num dispositivo Zynq 7010, utilizando um modelo MobileNets quantizado com 26% dos parâmetros representados em ponto fixo com 16 bits e 74% dos parâmetros usando uma representação de ponto flutuante personalizada de 12 bits. Isto permitiu obter um modelo 60% menor com uma perda na precisão de apenas 0.78%. A solução final permite classificar 1 imagem em 469 ms, significando uma aceleração de 11 vezes em relação à solução de software executada no ARM do sistema embebido. , en=Nowadays, the use of artificial intelligence in many software applications is increasingly common. However, decades of development were necessary, especially at hardware level for the use of artificial intelligence to become viable. MobileNets model developed by Google researchers is used for image classification and primarily suited for embedded systems because of the lighter computation compared to its competitors. This model uses the depthwise separable convolution concept to perform the convolutions and despite being a very optimized model, the processing time of this network may still be high when used on low-cost devices. This work aimed to develop a hardware/software multiprocessing architecture in an SoC FPGA platform for image classification using MobileNets model. The main contributions of this project are the development of 3 IPs to process the depthwise separable convolution layers, using an effective parallelization and allocation of resources to achieve an efficient multi-processing, and a quantized data model to reduce the memory requirements and improve the communications. The system was implemented on a Zynq 7010 device using a quantized MobileNets model with 26% of the parameters represented in a 16-bit fixed-point format and 74% of the parameters using a 12-bit custom floating-point representation. This quantization process produced a model 60% smaller than the standard MobileNets with only 0.78% of accuracy loss. The final solution allows the classification of 1 image in 469 ms which corresponds to a speed up of 11 times compared to a software-only solution executing on the embedded ARM processor. }
{pt=Inteligência artificial, Google, Convolução Separável em Profundidade, MobileNets, FPGA., en=Artificial intelligence, Google, Depthwise Separable Convolution, MobileNets, FPGA.}

setembro 30, 2021, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Mário Pereira Véstias

ISEL

Professor Coordenador

ORIENTADOR

Horácio Cláudio De Campos Neto

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Associado