Design space exploration of image processing algorithms on FPGAs - Circuits Intégrés Numériques et Analogiques Access content directly
Theses Year : 2023

Design space exploration of image processing algorithms on FPGAs

Concevoir l'exploration de l'espace de traitement d'images et de systèmes embarqués

Ilias Bournias
  • Function : Author
  • PersonId : 1280739
  • IdRef : 271743255

Abstract

Implementing image processing algorithms for embedded systems is a scientific topic of great importance and many researchers focus their work on this domain. Many trade-offs have to be made in order to fit these algorithms in a specific embedded system and at the same time achieve real time computation and acceptable precision. In this thesis, we focus on the design space exploration of an optical flow algorithm called Multi-scale Horn and Schunck algorithm in an Arria 10 FPGA. Although we focus on a specific algorithm and a specific device, the exploration we perform and the propositions of this thesis can also be applied to other algorithms and FPGA devices too. The first thing we explore is the accuracy of the algorithm. We use different floating point formats and we tune different parameters of the algorithm in order to increase the accuracy and at the same time provide an implementation which achieves real time computation. As this algorithm is a multi-rate image processing algorithm, we propose solutions in order to tackle this nature of the algorithm and increase computation throughput. We use pipeline and vectorized architectures in order to further increase the computation speed and we introduce trans-floating computation which enables us to fit more processing elements in our FPGA. We explore how all these solutions affect the resources usage of the FPGA, such as the LUTs, DSPs and Block RAMs utilization. Furthermore, we propose approaches in order to overcome the bottleneck of the external memory bandwidth. Following that, and by taking into account all our propositions, we perform a design space exploration of the algorithm, which helps the optical flow designer to choose among different configurations according to his constraints. We compare our designs with other state of the art works on optical flow in FPGAs and we show that to the best of our knowledge our fastest design achieves the highest throughput compared to all the rest optical flow designs on single FPGA. At the same time our implementations achieve comparable accuracy of detection.
La mise en œuvre d'algorithmes de traitement d'image pour les systèmes embarqués est un sujet scientifique de grande importance et de nombreux chercheurs concentrent leurs travaux sur ce domaine. De nombreux compromis doivent être réalisés afin d'adapter ces algorithmes au système ciblé et obtenir en même temps un calcul en temps réel et une précision acceptable. Dans cette thèse, nous nous concentrons sur l'exploration de l'espace de conception d'un algorithme de flot optique appelé algorithme de Horn et Schunck multi-échelles dans un FPGA Arria 10. Bien que nous nous concentrions sur un algorithme et une cible spécifiques, l'exploration que nous effectuons et les propositions de cette thèse peuvent élargies à d'autres algorithmes et FPGAs. La première chose que nous explorons est la précision des calculs. Nous utilisons différents formats de virgule flottante et nous ajustons différents paramètres de l'algorithme afin d'augmenter la précision et en même temps fournir une implémentation qui réalise le calcul en temps réel. Comme cet algorithme est un algorithme de traitement d'images multi-débits, nous proposons des solutions pour augmenter le débit de calcul. Nous utilisons des architectures pipeline et vectorisées afin d'augmenter encore la vitesse de calcul et nous introduisons le calcul trans-flottant qui nous permet d'intégrer plus d'éléments de traitement sur le FPGA. Nous explorons comment toutes ces solutions affectent l'utilisation des ressources du FPGA, telles que l'utilisation des LUTs, des DSPs et des blocs de RAM. De plus, nous proposons des approches afin de surmonter le goulot d'étranglement lié à la bande passante de la mémoire externe. Enfin, en tenant compte de toutes nos propositions, nous effectuons une exploration de l'espace de conception, qui aide le concepteur à implanter l'algorithme de flot optique sur FPGA en choisissant parmi différentes configurations en fonction de ses contraintes. Nous comparons nos résultats d'implémentations sur FPGA de l'algorithme de flot optique avec d'autres travaux à la pointe du domaine. Ainsi, nous montrons que notre implémentation la plus rapide atteint le débit le plus élevé par rapport à tous les autres travaux portés à notre connaissance et implantés sur un unique FPGA. En même temps, nos implémentations permettent d'obtenir une précision de détection comparable à ces travaux et une utilisation moindre des ressources du FPGA.
Fichier principal
Vignette du fichier
BOURNIAS_Ilias_these_2023.pdf (2.12 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

tel-04197593 , version 1 (06-09-2023)

Identifiers

  • HAL Id : tel-04197593 , version 1

Cite

Ilias Bournias. Design space exploration of image processing algorithms on FPGAs. Data Structures and Algorithms [cs.DS]. Sorbonne Université, 2023. English. ⟨NNT : 2023SORUS179⟩. ⟨tel-04197593⟩
79 View
45 Download

Share

Gmail Facebook X LinkedIn More