Méthodologies et outils de portage d’algorithmes de traitement d’images sur cibles hardware mixte

Depuis quelques années, le véhicule autonome est devenu un sujet très porteur, que ce soit au niveau de l’impact médiatique sur le grand public ou l’investissement des industriels. Pourtant le sujet n’est pas si nouveau, dès 1980 et 1990 un grand nombre de démonstrations autour du concept de la voiture autonome existait déjà. Par exemple, en octobre 1994, les véhicules VaMP et VITA-2 ont effectué un trajet en conduite autonome sur l’autoroute A1 à la vitesse de 130 km/h. Depuis les années 2010, un grand nombre d’industriels ont annoncé un intérêt dans le véhicule autonome. Cela concerne bien évidemment l’ensemble des constructeurs automobiles qui ont communiqué à ce sujet, mais également de nouveaux acteurs, jusque-là inconnu dans le monde de l’automobile, tel que Google ou Apple. Même le milieu du sport automobile s’intéresse de près à ce sujet, la FIA a annoncé en 2015 le lancement d’un championnat de véhicule autonome : Robotrace.

À l’heure actuelle, plusieurs limitations techniques et législatives font que le véhicule autonome n’est pas encore commercialisé ni accessible au grand public. Cependant, les constructeurs automobiles proposent de plus en plus de systèmes permettant d’assister le conducteur, voire d’automatiser certaines tâches : il s’agit des systèmes d’aide à la conduite. Finalement, l’industrie automobile est aujourd’hui dans un tournant : un véhicule, autrefois un engin purement mécanique, est en train de se transformer en un système complexe comprenant de plus en plus de capteurs et avec une composante logicielle de plus en plus présente. Il est donc tout à fait logique que des géants du logiciel tels que Google ou Apple s’intéressent de près au véhicule intelligent. Cette transformation amène de nouvelles problématiques, notamment un besoin de plus en plus grand en termes de puissance de calcul embarqué dans le véhicule.

Parmi les capteurs utilisés par les constructeurs automobiles, beaucoup de systèmes d’aides à la conduite utilisent des caméras et des algorithmes de traitement d’images pour percevoir l’environnement autour du véhicule. Or, ces algorithmes représentent une charge de calcul intensive à cause d’une très grande quantité de données à traiter. En effet, une caméra transmet généralement plusieurs dizaines d’images par secondes, chaque image étant composée d’environ 1 million de pixels. Pour répondre à ce besoin croissant de puissance de calcul, les fabricants de semi-conducteurs proposent depuis quelques années des systèmes embarqués à hardware mixte, ou à architectures hétérogènes. Ces systèmes intègrent sur une même puce plusieurs processeurs différents, permettant de proposer une grande flexibilité et une forte puissance de calcul. Cependant, à cause du caractère hétérogène, l’implantation d’un algorithme sur ce type de système est loin d’être triviale. De plus, du fait de la grande variété des calculateurs embarqués pour l’automobile, le choix d’une architecture de calcul pour embarquer une application donnée reste une opération très complexe pour le constructeur automobile.

Systèmes d’aide à la conduite

Les systèmes d’aide à la conduite ou Advanced Driver Assistance Systems (ADAS) participent à la réduction de l’accidentologie et à améliorer l’expérience de conduite. Il s’agit en fait d’assister le conducteur par l’automatisation de certaines tâches. Il peut s’agir de systèmes passifs (aucune action sur le véhicule, le conducteur est alerté par un signal sonore/lumineux d’un danger probable), de systèmes actifs (action sur le véhicule, par exemple freinage automatique). Ces systèmes proposent une automatisation de plus en plus poussée de certaines actions de la conduite et ont pour avantage de ne pas souffrir de limitations propres aux êtres humains (inattention, fatigue, temps de réaction lent, etc.). Ainsi, des études ont montré que l’automatisation complète de la conduite réduirait de manière considérable la mortalité sur les routes [LITMAN, 2014].

Accidentologie et sécurité routière 

D’après le rapport annuel de l’observatoire national interministériel de la sécurité routière (ONISR), l’année 2015 comptait 70 802 personnes blessées et 3461 personnes tuées sur les routes de France métropolitaine [ONISR, 2015]. Ces accidents représentent un coût estimer de 38,8 milliards d’euros, soit 1,5% du PIB.

À la lecture de ces statistiques, on remarque que la grande majorité des accidents mortels sont causés par le comportement du conducteur. Pour améliorer la sécurité des véhicules, les constructeurs automobiles proposent de plus en des systèmes d’aides à la conduite, ou ADAS.

Fonctionnalités

À l’heure actuelle, les ADAS implantés dans les véhicules en circulation ne permettent pas une conduite totalement autonome. Cette section a pour but d’identifier et de présenter les différents besoins et applications rencontrés aujourd’hui dans le monde des ADAS. Les fonctionnalités ADAS peuvent être classifiées selon 4 branches :
— manœuvre,
— évitement de collisions,
— assistance latérale et longitudinale,
— réalité augmentée et surveillance du conducteur .

Manœuvre
Cette branche regroupe tous les systèmes permettant une aide au parking voire l’automatisation complète de la manœuvre, il s’agit d’ADAS de confort. La fonctionnalité la plus basique consiste à avertir le conducteur par un signal sonore et lumineux la proximité de potentiels obstacles lorsque celui-ci cherche à se garer. On peut citer par exemple le système dit de « radar de recul » ou encore la « caméra de recul ».

L’AVM est une fonctionnalité un peu plus complexe, il s’agit de construire une vue de dessus du véhicule (ou bird eye view) en utilisant plusieurs caméras (le plus souvent quatre) disposées autour de celui-ci. Un tel rendu permet au conducteur d’avoir un aperçu direct de l’environnement proche du véhicule, et donc de faciliter les manœuvres à basse vitesse.

L’automatisation de la phase de manœuvre se fait sur plusieurs niveaux. Ainsi le park assist ou Hand Free Parking (HFP) propose un contrôle automatisé de trajectoire (contrôle du volant), mais laisse le conducteur gérer l’accélération et le frein. Le système auto-park propose quant à lui un contrôle entièrement automatisé (latéral et longitudinal) de la manœuvre de parking. Ces systèmes sont basés sur des capteurs ultrasons pour percevoir l’environnement du véhicules et les différents obstacles.

Évitement de collisions
L’évitement de collisions concerne l’ensemble des ADAS qui agissent sur le véhicule pour éviter un accident potentiel. On peut notamment citer l’exemple de l’Advanced Emergency Braking (AEB) qui agit automatiquement sur le frein du véhicule en cas de danger immédiat. Ce système peut être utilisé pour éviter des collisions avec d’autres véhicules, avec des piétons, etc. Le célèbre organisme Euro NCAP définit plusieurs tests pour noter les fonctionnalités d’évitement de collisions. Ainsi, depuis 2014 la notation inclue des tests d’AEB pour l’évitement de collisions avec d’autres véhicules, ces tests proposeront également en 2020 une caractérisation de l’AEB piéton et cycliste. Très souvent, ces systèmes se basent sur des capteurs radars et caméras pour détecter les obstacles dangereux. Remarquons que ce système active un freinage d’urgence, il est donc crucial que le taux de faux positifs soit le plus faible possible pour ne pas entacher l’expérience de conduite de l’utilisateur et potentiellement générer des situations dangereuses.

Assistance latérale et longitudinale
Il s’agit là de systèmes permettant d’améliorer l’expérience de conduite et qui déchargent en partie le conducteur de certaines tâches. Par exemple l’Adaptative Cruise Control (ACC) permet, lorsque l’utilisateur utilise le régulateur de vitesse, de maintenir automatiquement une vitesse au plus proche de la consigne tout en garantissant le respect des distances de sécurité avec les autres véhicules. Ce système s’appuie très souvent sur un radar pour déterminer la position et la vitesse des autres véhicules. Concernant l’assistance au contrôle latéral, il existe plusieurs degrés d’automatisation. Tout d’abord, le Lane Departure Warning (LDW) permet d’avertir le conducteur par un signal sonore ou lumineux du franchissement de ligne, par exemple en cas de somnolence ou d’inattention. Le Lane Keeping Assist (LKA) est quant à lui un système actif, il agit directement sur la trajectoire du véhicule si un franchissement de ligne est détecté. Enfin le Lance Centering Assist (LCA) permet un contrôle totalement automatique de la commande latérale, ce système se charge de garder le véhicule au centre de la voie.

Réalité augmentée et surveillance du conducteur
Contrairement aux autres branches, celle-ci concerne l’intérieur de l’habitacle et plus particulièrement le conducteur. L’idée ici est de pouvoir prévenir un comportement à risque du conducteur en analysant son comportement. Ainsi, le système peut détecter la somnolence de l’utilisateur et le prévenir par une alerte sonore pour éviter un accident. Ces systèmes sont en générale basés sur des caméras et des algorithmes de traitement d’images pour comprendre l’état du conducteur.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction
1.1 Introduction
1.2 Systèmes d’aide à la conduite
1.3 Architectures embarquées pour les ADAS
1.4 Analyse de l’embarquabilité
1.5 Démarche proposée
1.6 Références
2 Traitement d’images et architectures hétérogènes
2.1 Introduction
2.2 Traitement d’images pour les ADAS
2.3 Architectures hétérogènes pour les ADAS
2.4 Limitations et évolutions
2.5 Références
3 Méthodologie d’analyse d’embarquabilité
3.1 Introduction
3.2 Algorithmes et contraintes temps-réel
3.3 Optimisation du mapping
3.4 Méthodologie globale
3.5 Références
4 Caractérisation d’architectures de calcul
4.1 Introduction
4.2 État de l’art
4.3 Configuration et compilation
4.4 Vecteurs de test low-level
4.5 Vecteurs de test mid-level
4.6 Vecteurs de test high-level
4.7 Vers la prédiction de performances
4.8 Références
5 Prédiction de performances
5.1 Introduction
5.2 Travaux existant sur la prédictions de performances
5.3 Méthodologie de prédiction de performances
5.4 Résultats
5.5 Mapping et pipeline d’exécution
5.6 Références
6 Résultats et applications
6.1 Introduction
6.2 Odométrie visuelle
6.3 Détection de piétons
6.4 Références
7 Conclusion

Lire le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *