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.