Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/77532
Título: | Efficient hardware implementation of 2D convolutions, optimized for point cloud and adjustable to the 3D model requirements for object detection and classification |
Outro(s) título(s): | Implementação eficiente em hardware de convoluções 2D, otimizadas para nuvem de pontos e ajustáveis aos requisitos dos modelos 3D de deteção e classificação de objetos |
Autor(es): | Pereira, Pedro Miguel Coelho |
Orientador(es): | Machado, Rui Pedro Oliveira Fernandes, Duarte Manuel Azevedo |
Palavras-chave: | CNN (Convolutional neural network) Convolution FPGA (Field programmable gate array) LiDAR (Light detection and ranging) Point cloud Convolução Nuvem de pontos |
Data: | 2021 |
Resumo(s): | With the growing interest in LiDAR sensor integration in the construction of autonomous vehicles, the
academic community and industry have contributed to an increase in LiDAR-based algorithms for object
detection. Given the success of CNNs in complex tasks such as object recognition, variants have emerged
for 3D data processing, however, the sparse and unstructured nature of the point cloud has forced the
literature to increase the complexity of the models. The increase in complexity and the need for distributed
computing leads to the need for platforms capable of executing and accelerating these models to enable
their use in real-time applications. Considering the performance and power consumption requirements,
several FPGA-based solutions have been presented, however, generally, the models are not efficiently
designed for platforms with limited resources.
This dissertation fits into the need to apply CNN-based solutions optimized for point cloud in devices
with reduced resources. The design and implementation of a convolutional module were proposed to
implement CNNs in hardware. In terms of configurability, it is possible to adjust all typical parameters and
explore parallelism depending on the resource constraints, making it a solution capable of performing any
convolution found in the literature. Using the PointPillars model as a case study, the use of the module
allowed to reduce the processing time up to 25% without compromising the detections performance.
Given the sparseness found in the LiDAR data and the need for a study dedicated to the potential of
sparse convolutions, this dissertation compares the performance of traditional CNNs with an optimized
solution for 3D points, called voting schemes. Compared to dense convolution, voting convolution proved
to be faster for data with sparsity greater than 89%. Pipeline processing allowed to consume only two DSPs
and take advantage of spatially close data dependency to reduce the processing time by up to 30%. For
stride operations, the voting convolution is able to decrease memory communication and also reduce the
processing time by 55%. From the integration with PointPillars, it was possible to reduce the processing
time up to 80.44% in the first layers of the Backbone. Com o crescente interesse na integração do sensor LiDAR na construção de veículos autónomos, a comunidade académica e indústria têm contribuído para um aumento de algoritmos baseados em dados LiDAR para deteção de objetos. Dado o sucesso das CNNs em tarefas complexas, variantes têm surgido para o processamento de dados 3D, contudo, a natureza esparsa e não estruturada da nuvem de pontos forçou a literatura a aumentar a complexidade dos modelos. O aumento de complexidade e a necessidade de uma computação distribuída, leva à necessidade de plataformas capazes de executar e acelerar os modelos de forma a viabilizar o seu uso em aplicações de tempo real. Considerando os requisitos de desempenho e consumo de potência, várias soluções baseadas em FPGA têm sido apresentadas, porém, geralmente os modelos não são eficientemente desenhados para plataformas com limitação de recursos. A presente dissertação enquadra-se na necessidade da aplicação de soluções baseadas em CNN otimizadas para nuvem de pontos em dispositivos com recursos reduzidos. O desenho e implementação de um módulo convolucional foi proposto para implementar CNNs em hardware. Ao nível da configurabilidade, é possível ajustar todos os parâmetros típicos e explorar o paralelismo consoante a restrição de recursos, tornando-se uma solução capaz de executar qualquer convolução encontrada na literatura. Usando como caso de estudo o modelo PointPillars, o uso do módulo permitiu diminuir o tempo de processamento até 25% sem comprometer o desempenho nas deteções. Dada a esparsidade encontrada nos dados LiDAR e a necessidade de um estudo dedicado ao potencial das convoluções esparsas, esta dissertação compara o desempenho de CNNs tradicionais com uma solução otimizada para pontos 3D, chamada esquemas voting. Comparativamente com a convolução densa, a convolução voting provou ser mais rápida para dados com esparsidade superior a 89%. O processamento em pipeline permite consumir apenas duas DSPs e aproveitar a dependência de dados espacialmente próximos para reduzir o tempo de processamento até 30%. Para operações com stride, a convolução de voting é capaz de diminuir a comunicação com a memória e também reduzir o tempo de processamento em 55%. Já a sua integração no modelo PointPillars demonstrou que a convolução voting é capaz de dimiuir o tempo de processamento até 80.44% nas primeiras camadas do Backbone. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores (área de especialização em Sistemas Embebidos e Computadores) |
URI: | https://hdl.handle.net/1822/77532 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
81756-Dissertation_PedroPereira.pdf | 6,82 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons