Implementação de um classificador de imagens baseado em redes neurais em sistemas embarcados

Registro completo de metadados
MetadadosDescriçãoIdioma
Autor(es): dc.contributorJacobi, Ricardo Pezzuol-
Autor(es): dc.creatorSiqueira, Thiago Marques-
Data de aceite: dc.date.accessioned2021-10-14T17:29:35Z-
Data de disponibilização: dc.date.available2021-10-14T17:29:35Z-
Data de envio: dc.date.issued2017-01-11-
Data de envio: dc.date.issued2017-01-11-
Data de envio: dc.date.issued2017-01-11-
Data de envio: dc.date.issued2016-07-15-
Fonte completa do material: dc.identifierhttp://repositorio.unb.br/handle/10482/22162-
Fonte completa do material: dc.identifierhttp://dx.doi.org/10.26512/2016.07.D.22162-
Fonte: dc.identifier.urihttp://educapes.capes.gov.br/handle/capes/609214-
Descrição: dc.descriptionDissertação (mestrado) — Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2016.-
Descrição: dc.descriptionDurante décadas, classificadores baseados em rede neural feedforward (FNN, do inglês, feedforward neural network) têm sido amplamente utilizados em muitos problemas de classificação, como imagem [1] e reconhecimento de fala [2]. Porém essa descoberta veio com algumas desvantagens, o grande número de multiplicações em ponto flutuante necessário em tempo de teste e a quantidade de memória necessária para armazenar os parâmetros treinados. Isso ocorre porque a maioria dos seus cálculos são produto de matrizes por vetores, onde as imagens de entrada dispostas como vetores são multiplicados por uma matriz de parâmetros aprendida para um conjunto específico de imagens. Quando implementados em hardware dedicado, a principal vantagem de um classificador FNN sobre os outros classificadores é a sua natureza inerente de paralelizar as operações de multiplicação. No entanto, quando o número de parâmetros de um classificador FNN é grande, surge o desafio na alta quantidade de recursos necessários para implementar operações de multiplicação seguida de acumulação (MAC, do inglês multiply-accumulate operations) e a dificuldade de transferir os dados da memória para a unidade de processamento com uma baixa latência. Houve uma extensa pesquisa na literatura sobre estratégias de quantização para resolver esses problemas. Entre essas estratégias de quantização, o xQuant [3] quantiza os parâmetros do classificador FNN primeiramente reescalonando para valores inteiros e, em seguida, aproximando-os a potência de 2 mais próximo. Quando um classificador quantizado com xQuant é utilizado para classificar imagens, cada multiplicação de ponto flutuante é substituída por uma única operação de deslocamento de bits. No entanto, xQuant ainda não foi implementado em um hardware dedicado. Portanto, nessa dissertação de mestrado é apresentado uma análise da implementação do xQuant em FPGA. Usando o algoritmo de aprendizagem classificador FNN LAST (Learning Algorithm for Soft-Thresholding), o classificador foi treinado para um problema de classificação de textura e utilizado este classificador como estudo de caso. Esse foi implementado como um co-processador (Hardware / Software), uma arquitetura usando o ponto flutuante de precisão simples (Fp) e uma versão quantizada do classificador usando xQuant (xQ). Ambos os projetos foram implementados em um Xilinx Zynq-7020 SoC, utilizando a ferramenta Xilinx Vivado HLS. Os resultados mostram que xQ executa 3 vezes mais rápida do que Fp e o uso de recursos da FPGA como se segue: FF de 52% para 7%; LUTs de 63% para 15%; LUTRAMs de 10% para 1%; dispositivo de DSP de 29% para 0. Com essa redução de recursos é uma alternativa bem vista, para sistemas embarcados críticos, onde a quantidade de recursos e de energia disponíveis são limitados.-
Descrição: dc.descriptionFor decades, classifiers based on Feedforward Neural Network - FNN have been widely used in many classification problems, such as image [1] and recognition voice [2]. However this discovery came with some drawbacks, the number of multiplications necessary in floating point in test time and the amount of memory required to store the trained parameters. This it happens because the most of calculations are multiplications between matrices and vectors, where the input images arranged as vectors are multiplied by a parameter array learned for a specific set of images. When implemented in dedicated hardware, the main advantage of a FNN classifier on the other classifiers is their inherent nature to parallelize the multiplication operations. However, when the number of parameters of a FNN classifier is large, the challenge in high amount of resources needed to implement Multiply- Accumulate Operations - MAC and the difficulty of transferring data from memory to the processing unit with a low latency. There was an extensive literature search on quantization strategies to solve these problems. Among these quantization strategies, xQuant [3] first rescales them to integer values and then quantizes them by approaching each weight to its nearest power of two. When a quantized classifier xQuant is used to classify images, each floating- point multiplication is replaced by a single bit shift operation. However, xQuant has not yet been implemented in a dedicated hardware. Therefore, in this master thesis is presented an analysis of the implementation of xQuant on FPGA. Using the classifier Learning Algorithm for Soft-Thresholding - FNN LAST, the classifier was trained to a texture classification problem and used this classifier as a case study. This was implemented as a coprocessor (Hardware / Software), an architecture using the floating-point single precision (Fp) and a quantized version of the classifier using xQuant (xQ). Both projects were implemented on Xilinx Zynq- 7020 SoC, using the Xilinx Vivado HLS tool. The results show that performs xQ 3 times faster than Fp and use of FPGA resources as follows: FFs from 52% to 7%; LUTs from 63% to 15%; LUTRAMs from 10% to 1%; DSP slices from 29% to 0. With this reduction in resources is an alternative view and, for critical embedded systems where the amount of resources and energy are limited.-
Formato: dc.formatapplication/pdf-
Direitos: dc.rightsAcesso Aberto-
Direitos: dc.rightsA concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.bce.unb.br, www.ibict.br, http://hercules.vtls.com/cgi-bin/ndltd/chameleon?lng=pt&skin=ndltd sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra disponibilizada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.-
Palavras-chave: dc.subjectRedes neurais-
Palavras-chave: dc.subjectClassificação de imagens-
Palavras-chave: dc.subjectSistemas embarcados (Computadores)-
Título: dc.titleImplementação de um classificador de imagens baseado em redes neurais em sistemas embarcados-
Tipo de arquivo: dc.typelivro digital-
Aparece nas coleções:Repositório Institucional – UNB

Não existem arquivos associados a este item.