Rapport
Rapport
• Mr Yousfi Driss
• Mr El Magroud Bachir
1
Remerciements :
Nous tenons, par la présente, à exprimer notre profonde gratitude envers toutes les
personnes qui ont contribué, de près ou de loin, à la réussite de ce projet.
Avant tout, nous adressons nos remerciements les plus sincères à Mr Magroud Bachir ,
notre encadrant de projet, pour sa disponibilité, son engagement et son suivi attentif
tout au long de cette aventure. Son expertise, ses orientations techniques, ainsi que ses
conseils judicieux ont été d'une aide précieuse et ont joué un rôle central dans
l'avancement et la qualité de notre travail. Grâce à son accompagnement, nous avons
pu surmonter les différentes difficultés rencontrées et enrichir nos compétences dans
des domaines aussi variés que l'électronique, la programmation embarquée et la
gestion de projet.
Nous tenons également à remercier l’ensemble des membres du jury qui nous ont fait
l'honneur d'évaluer notre projet. Leur regard critique, leurs remarques constructives et
leur intérêt pour notre travail sont pour nous une réelle source de motivation et
d’amélioration. Leur implication contribue à faire de cette soutenance un moment
formateur et enrichissant.
Ce projet restera pour nous une étape marquante dans notre parcours, tant sur le plan
humain que professionnel.
2
Table de Matières :
Chapitre I : Système ADAS
1. Présentation générale ........................................................................................................ 10
1.1 Advanced Driver Assistance Systems (ADAS) ............................................................... 10
1.2 Histoire et inventions des systèmes avancés d'assistance à la conduite (ADAS) ...... 11
1.3 Comment fonctionne l’ADAS ........................................................................................... 13
1.4 Structure générale d’un système ADAS.......................................................................... 14
1.5 Systèmes ADAS actifs vs. Passifs..................................................................................... 14
1.5.1 Les systèmes ADAS passifs .......................................................................................... 15
2. Conclusion ........................................................................................................................... 23
3
3.2 Principe de fonctionnement ....................................................................................... 27,28
4.1
Définition ........................................................................................................................... 29,30
5. CONCLUSION ...................................................................................................................... 32
2. Description du système....................................................................................................... 34
4.2
L298N ............................................................................................................................ 37,38,39
4.3 Moteur DC 3-6V ................................................................................................................ 40
4
2.2 Types de Capteurs Infrarouges (IR) ................................................................................ 62
3. Simulation du suiveur de ligne ............................................................................................ 63
3.3 Les méthodes d’apprentissage profond pour la classification des panneaux ............ 82
5
4. Expérimentation et Évaluation........................................................................................... 87
4.2.1 Matériel........................................................................................................................... 88
5. Conclusion ............................................................................................................................ 97
6
Liste des figures
Chapitre I : Système ADAS
Figure 1 : voiture autonome ................................................................................................... 10
Figure 5 : Différents types de capteurs ADAS utilisés dans les véhicules autonomes ...... 14
7
Figure 25 : block diagramme STR .......................................................................................... 29
8
Figure 51 : Capteur optique suiveur de ligne ....................................................................... 61
Figure 68 : Exemples de difficultés de détection : (a) Flou, (b) Éclairage, (c) Décoloration,
(d-e) Intempéries, (f) Occlusion .............................................................................................. 79
9
Chapitre I : Système ADAS
1. Introduction :
1. Présentation générale :
Les systèmes ADAS sont aujourd'hui appliqués aux voitures, camions et bus, ainsi
qu'aux véhicules agricoles, de construction et militaires. Selon la NHTSA (The National
10
Highway Traffic Safety Administration ; l'administration nationale de la sécurité routière),
plus de 36 000 Américains ont été tués dans des accidents automobiles rien qu'en
2019. La note de recherche sur les faits de sécurité routière d'août 2016 de la NHTSA a
indiqué que 94 % de ces accidents étaient causés par une erreur humaine, c'est à-dire
des erreurs commises par le [Link]
Compte tenu de cette réalité, il est facile d'imaginer le nombre de vies qui pourraient
être sauvées par des systèmes ADAS efficaces permettant de prévenir un grand nombre
de ces erreurs.
Les systèmes avancés d'assistance à la conduite (ADAS) ont une histoire relativement
récente par rapport à d'autres technologies automobiles, mais leur développement et
leur adoption ont connu une croissance rapide ces dernières années. Voici quelques-
unes des inventions et des jalons clés de l'histoire de l'ADAS :
11
• Années 2000 - Développement rapide de l'ADAS : Au début des années
2000, les progrès des technologies des capteurs, des caméras et des
logiciels ont conduit au développement rapide des systèmes ADAS,
notamment l'avertisseur de franchissement de ligne, la surveillance des
angles morts et l'avertissement de collision frontale.
12
évidence la nécessité de poursuivre le développement et les tests des
systèmes ADAS pour garantir leur sécurité et leur efficacité.
• Années 2020 - Croissance et innovation continues : Les technologies
ADAS
continuent d'évoluer rapidement, avec de nouvelles fonctionnalités telles que le
stationnement automatique, l'assistance aux embouteillages et le freinage d'urgence
devenant plus courantes. L'adoption de l'ADAS devrait continuer à croître dans les
années à venir, car de plus en plus de véhicules seront équipés de ces technologies de
série.
L'histoire des systèmes ADAS est une histoire d'innovation rapide et de progrès
constants. Ces systèmes ont le potentiel de rendre la conduite plus sûre et plus
agréable pour tout le monde. Alors que la technologie continue de se développer, nous
pouvons nous attendre à voir apparaître des systèmes ADAS encore plus sophistiqués
dans les années à venir.
13
Figure 5 : Différents types de capteurs ADAS utilisés dans les véhicules autonomes
14
Quel que soit le nombre ou le type de capteurs installés, dans un système ADAS PASSIF,
l'ordinateur ne fait qu'informer le conducteur d'une situation dangereuse. Le conducteur
doit prendre des mesures pour éviter que cette situation ne provoque un accident. Les
méthodes d'avertissement typiques comprennent des sons et des lumières
clignotantes, et parfois même un retour d'information physique, par exemple, un volant
qui tremble pour avertir le conducteur que la voie dans laquelle il s'engage est occupée
par un autre véhicule (détection de l'angle mort).
▪ Fonctionnement :
- Lorsque le conducteur freine, le système hydraulique applique une pression sur les
plaquettes de frein pour ralentir la voiture.
- Si l'ABS détecte qu'une roue ralentit plus vite que les autres (risque de blocage), il
réduit la pression de freinage sur cette roue.
- L'ABS peut agir sur toutes les roues ou uniquement sur les roues avant, selon le
modèle de véhicule.
15
Figure 9 : ESC on VS ESC off
TCS - Traction Control System (système antipatinage) : incorpore des aspects de
l'ABS et de l'ESC ci-dessus, afin d'aider le conducteur à maintenir une traction adéquate
dans les virages et les courbes.
Fonctionnement : Le TCS reçoit des données transmises par les capteurs de vitesse des
roues du système de freinage antiblocage en cas d'augmentation soudaine de la vitesse
de rotation des roues. En agissant sur le boîtier de gestion du moteur, le système
antipatinage réduit la puissance. Plus l'adhérence à la route est mauvaise ou plus le
couple du moteur est élevé, plus il est important de bénéficier d'une bonne tenue de
route quelle que soit la vitesse sélectionnée. Le TCS assure une bonne tenue de route et
de trajectoire et, par-dessus tout, renforce la sécurité et le confort au volant. De plus, il
permet d'éviter une usure inutile des pneus. La fonction TCS peut être désactivée en
actionnant l'interrupteur prévu à cet effet.
16
Figure 11 : Camera de recule
L’alerte de franchissement involontaire de ligne (ou AFIL) est un dispositif qui avertit le
conducteur d'une automobile quand il franchit involontairement (sans actionner ses
clignotants) une ligne continue ou discontinue. L'avertissement se manifeste par une
vibration dans le siège du conducteur du côté où le franchissement a lieu. Cette alerte
intuitive qui simule le roulement sur une bande rugueuse sonore a été préférée à une
alerte sonore moins facilement interprétable.
17
FCW - Forward Collision Warning (alerte d'anticollision frontale) : indique au
conducteur qu'il doit freiner afin d'éviter une collision.
Le Park Assist : est un système d'aide active au stationnement. Il s'agit d'un système
qui utilise des capteurs et radars de recul pour déterminer si une place de parking
convient à votre voiture et vous aider à l'y garer. Le Park Assist prend en charge la
direction, laissant au conducteur les pédales et la boîte de vitesses.
18
Fonctionnement : Comme le radar de recul, le fonctionnement du Park Assist s'appuie
sur des capteurs situés aux quatre coins de la voiture. Il combine d'ailleurs ceux-ci avec
des radars situés à l'avant et à l'arrière du véhicule. Ainsi, le Park Assist bénéficie d'une
reconnaissance à 360° de l'environnement.
C'est grâce à cette reconnaissance que le système peut analyser une place de
stationnement et déterminer si elle convient aux dimensions du véhicule. Si c'est le cas,
le Park Assist se charge de la direction, laissant au conducteur la charge de la boîte de
vitesses et du pédalier pour manœuvrer.
Dans un système ADAS ACTIF, le véhicule prend des mesures directes. Les fonctions
ADAS passives courantes comprennent :
Direction d'urgence : dirige la voiture pour éviter de heurter un objet sur la voie de
circulation.
Assistance au maintien dans la voie et centrage sur la voie : dirige la voiture pour
qu'elle reste centrée sur sa voie.
19
réalisation. Une voiture autonome, également connue sous le nom de véhicule
autonome ou véhicule auto conduit, est un type de véhicule capable de se déplacer et
de naviguer sans intervention humaine directe. Ce type de voiture utilise une
combinaison de capteurs, de caméras, de radars et de systèmes d'intelligence
artificielle pour percevoir son environnement et prendre des décisions de conduite.
Exemples : La plupart des véhicules sur la route aujourd'hui, sans aucune assistance
automatisée.
1.6.2 Le niveau 1 : assistance à la conduite, eyes on-hands on :
C’est globalement ce que nous retrouvions sur les voitures neuves des années 2010. Le
conducteur est évidemment présent 100 % du temps et la voiture n’est supposée
prendre aucune décision « seule ». Mais elle propose différentes fonctionnalités d’aide à
la conduite au conducteur.
Parmi ces assistances, nous pouvons citer le régulateur de vitesse adaptatif (la voiture
accélère et ralentit d’elle-même) et l’aide au maintien dans la voie (pour rester au centre
de celle-ci).
Description : Le véhicule peut fournir une assistance au conducteur pour une seule
tâche de conduite à la fois, comme la direction ou l'accélération/freinage. Le
conducteur doit rester engagé et superviser activement la conduite.
20
Exemples : Régulateur de vitesse adaptatif (ACC) qui ajuste automatiquement la vitesse
pour maintenir une distance de sécurité avec le véhicule devant, ou système de
maintien de voie qui aide à garder la voiture centrée dans sa voie.
C’est pour cette raison qu’il faut (selon les voitures) soit maintenir le volant dans entre
ses mains, soit continuer à regarder la route. C’est cette dernière voie qu’a choisie
Cadillac avec son Super Cruise, grâce à une caméra dans l’habitacle qui surveille le
conducteur et le rappelle à l’ordre s’il ne regarde plus la route.
Exemples : Systèmes comme Tesla Autopilote ou Cadillac Super Cruise, qui peuvent
gérer la direction et la vitesse sur l'autoroute, mais nécessitent que le conducteur garde
les mains sur le volant et les yeux sur la route.
21
conduit » et le conducteur devient alors un simple passager. Attention toutefois puisque
la voiture peut demander au conducteur de reprendre le volant, si celle-ci ne rencontre
plus les conditions nécessaires à la conduite autonome de niveau 3. Ainsi, en Europe, la
conduite autonome de niveau 3 n’est pas accessible partout et tout le temps. Le niveau
3 indique que le conducteur doit pouvoir être capable de reprendre le contrôle du
véhicule à tout moment, mais que la voiture est parfaitement autonome dans certaines
conditions.
Description : Le véhicule peut gérer toutes les tâches de conduite dans certaines
conditions environnementales ou sur des routes spécifiques. Le conducteur peut
déléguer la conduite au système, mais doit être prêt à intervenir lorsque le véhicule le
demande.
22
Description : Le véhicule est entièrement autonome et capable de gérer toutes les
tâches de conduite dans toutes les conditions environnementales et sur toutes les
routes. Aucun conducteur humain n'est nécessaire, et le véhicule peut fonctionner sans
volant ou pédales.
2. CONCLUSION
En résumé, ce chapitre nous a permis d'explorer les multiples facettes des systèmes
avancés d'aide à la conduite (ADAS) et de l'autonomie des véhicules. Nous avons
abordé des sujets essentiels tels que les définitions clés des ADAS, l'évolution
historique de ces technologies, la structure fondamentale des sous-systèmes utilisés
dans les ADAS. De plus, nous avons identifié les différents niveaux d'autonomie des
véhicules, allant du niveau 0 (aucune automatisation) au niveau 5 (automatisation
complète).
23
Chapitre II : Présentation du LDW, de l'ACC et du TSR pour les systèmes ADAS
1. INTRODUCTION :
Ce chapitre introduit trois systèmes ADAS qui constituent les objectifs principaux de
notre étude : la détection de franchissement de ligne (LDW), la reconnaissance de
panneaux de signalisation (STR) et le régulateur de vitesse adaptatif (ACC).
1. Présentation de LDW :
1.1 Définition :
Le système de Détection de Déviation de Voie (LDW, Lane Departure Warning) est un
composant avancé des systèmes avancés d'aide à la conduite (ADAS) conçu pour
alerter le conducteur lorsqu'un véhicule commence à quitter involontairement sa voie
de circulation. En utilisant des caméras montées sur le véhicule, ce système surveille
activement la position du véhicule par rapport aux marquages de la route. Lorsqu'une
déviation non intentionnelle est détectée, le conducteur est averti par des moyens
tactiles tels qu'une vibration du volant ou des signaux sonores. Sur certains modèles de
véhicules équipés d'une fonctionnalité avancée, le système peut également corriger
automatiquement la trajectoire du véhicule pour le maintenir entre les lignes de voie.
Cette fonctionnalité, connue sous le nom d'Assistance au Maintien sur la Voie,
intervient lorsque le véhicule franchit les lignes de démarcation, continues ou
discontinues, sans activation préalable du clignotant. En conséquence, le conducteur
est promptement alerté et guidé vers une correction de trajectoire, réduisant ainsi les
risques associés à l'erreur humaine, aux distractions et à la fatigue.
24
1.2 Principe de fonctionnement :
Le système d'Avertisseur de Déviation de Voie et de Prévention (Lane Departure Warning
and Prevention System - LDW) utilise une série de capteurs et de technologies avancées
pour assurer la sécurité des conducteurs en les avertissant lorsqu'ils dévient
involontairement de leur voie. Le processus commence par la surveillance de
l'environnement routier à l'avant du véhicule grâce à une caméra frontale et à d'autres
capteurs de position et de vitesse.
Ces capteurs capturent continuellement des données sur les marquages de voie et la
position du véhicule par rapport à ces marquages.
Les données capturées sont ensuite analysées par le système pour détecter les
marquages de voie et déterminer la position du véhicule dans sa voie. Si le système
détecte que le véhicule commence à quitter sa voie sans que le clignotant
correspondant ne soit activé, cela est interprété comme une déviation involontaire. Le
système décide alors s'il doit alerter le conducteur ou prendre des mesures correctives.
Pour alerter le conducteur, le système utilise plusieurs types de signaux : visuels
(clignotement LED), sonores (signal audio) et haptiques (vibration du volant). Ces
alertes sont conçues pour attirer immédiatement l'attention du conducteur sur la
déviation de la trajectoire, l'incitant ainsi à reprendre le contrôle du véhicule et à corriger
sa trajectoire.
25
Figure 20 : types de signaux
Si le conducteur ne réagit pas aux alertes, certains systèmes LDW avancés peuvent
intervenir activement en appliquant une légère correction au volant. Cette intervention
aide à ramener le véhicule au centre de sa voie, évitant ainsi une sortie de voie
potentiellement dangereuse. En combinant ces éléments, le LDW joue un rôle crucial
en améliorant la sécurité routière, en réduisant les risques d'accidents dus à la
distraction, à la somnolence ou à d'autres formes d'inattention du conducteur.
2. Présentation de TSR :
2.1 Définition :
La Reconnaissance des Panneaux de Signalisation (TSR - Traffic Sign Recognition) est
une technologie avancée d'aide à la conduite (ADAS) qui améliore la sécurité routière en
identifiant et en affichant les panneaux de signalisation, tels que les limitations de
vitesse et les interdictions, sur le tableau de bord ou l'affichage tête haute du véhicule.
Cette technologie aide les conducteurs à rester informés des règles de la route même
s'ils ont manqué de voir un panneau et peut émettre des avertissements pour attirer leur
attention. Intégré avec d'autres systèmes ADAS, le TSR peut ajuster automatiquement la
vitesse du véhicule en fonction des limitations détectées. Bien que limité par certaines
conditions comme le mauvais temps ou les panneaux endommagés, le TSR est un atout
majeur pour la sécurité routière et se généralise de plus en plus chez les constructeurs
automobiles.
Une fois que les panneaux sont identifiés et classifiés, le système compare les données
extraites avec une base de données intégrée contenant des informations sur divers
types de panneaux de signalisation. Cela permet au TSR de déterminer la signification
exacte du panneau détecté, telle que la limitation de vitesse actuelle, les indications sur
les voies, les arrêts obligatoires, ou d'autres informations pertinentes pour la sécurité
routière.
Les résultats de cette analyse sont ensuite communiqués au conducteur par le biais
d'une interface utilisateur intuitive, souvent intégrée au tableau de bord du véhicule.
Cela peut se faire via des affichages visuels directs des panneaux et de leurs
significations associées, des alertes visuelles ou des alertes sonores pour attirer
l'attention du conducteur sur des panneaux critiques. Ces notifications en temps réel
aident les conducteurs à respecter plus facilement la signalisation routière, à prendre
des décisions plus informées et à réduire les risques d'accidents.
27
Figure 24 : affichage de vitesse limite
Pour fonctionner efficacement, le TSR doit surmonter plusieurs défis, tels que la
variation des conditions météorologiques (comme la pluie, la neige, ou le brouillard), les
variations de luminosité, ainsi que les obstacles physiques comme les véhicules ou les
panneaux partiellement cachés. Les systèmes modernes utilisent des techniques
avancées comme l'apprentissage profond (Deep Learning) pour améliorer la robustesse
et la précision de la reconnaissance, réduisant ainsi les erreurs et les faux positifs.
Malgré ses avantages indéniables, le TSR présente encore des limites. Il peut rencontrer
des difficultés à détecter les panneaux partiellement endommagés ou mal entretenus,
ainsi que ceux qui sont partiellement obstrués ou très éloignés. De plus, sa
performance peut être affectée dans des environnements urbains denses ou dans des
zones où la signalisation est complexe et dense.
3. Présentation de ACC :
3.1 Définition :
L'Adaptive Cruise Control (ACC) est un système sophistiqué intégré aux véhicules
modernes pour améliorer la sécurité et le confort des trajets sur route. Utilisant des
technologies avancées telles que des capteurs radar ou des caméras, l'ACC surveille en
28
temps réel la distance entre votre véhicule et celui qui le précède. Cette surveillance
permet à l'ACC d'ajuster automatiquement la vitesse de votre véhicule afin de maintenir
une distance sécuritaire prédéterminée, évitant ainsi les risques d'accidents dus à un
suivi inapproprié.
29
Figure 27 : FoV of ACC
Ces capteurs émettent des ondes radar et analysent les échos pour déterminer la
distance, la vitesse relative et la direction des véhicules environnants. Ces informations
sont essentielles pour évaluer la position du véhicule par rapport aux autres et calculer
une distance de sécurité optimal
Une fois que les données brutes sont collectées, elles sont traitées par des algorithmes
avancés à bord du véhicule. Ces algorithmes prennent en compte la vitesse définie par
le conducteur, ainsi que les informations sur la vitesse et la direction du véhicule qui
précède, pour décider de la meilleure façon de maintenir une distance sécuritaire. Ce
processus de traitement des données est crucial car il permet au système ACC de réagir
rapidement et précisément aux changements de situation sur la route, comme les
ralentissements soudains du trafic ou les véhicules qui changent de voie.
30
Figure 30 : principe de ACC
Une fois que le module de traitement a pris une décision sur la vitesse à adopter, des
actionneurs situés dans le système de freinage et d'accélération du véhicule sont
activés. Ces actionneurs ajustent automatiquement la vitesse du véhicule en fonction
des instructions du système ACC. Si nécessaire, le système peut également prévenir le
conducteur de manière proactive en cas de danger imminent, par exemple en activant
des alertes visuelles sur le tableau de bord ou en émettant des avertissements sonores
pour inciter une réaction rapide.
Figure 31 : block
4. CONCLUSION :
En conclusion, ce chapitre a présenté trois systèmes avancés d'aide à la conduite
(ADAS) qui seront les principaux sujets d'étude de notre recherche : la détection de
31
franchissement de ligne (LDW), la reconnaissance de panneaux de signalisation (STR) et
le régulateur de vitesse adaptatif (ACC). Ces technologies jouent un rôle crucial dans
l'amélioration de la sécurité routière et dans l'optimisation de l'expérience de conduite
en intégrant des fonctionnalités avancées pour assister les conducteurs dans
différentes conditions de circulation.
32
Chapitre III : Détection des obstacles
1. INTRODUCTION :
L'idée principale de ce projet été de réaliser un robot mobile type voiture puis de le
guider automatiquement en l'obligeant à suivre une trajectoire. Ce qui fait que ce travail
a été divisé en trois parties, une partie commande et l'autre mécanique et informatique.
La réalisation de ce véhicule requiert diverses notions dans plusieurs domaines :
électronique, informatique, électrotechnique et mécanique, ce qu'on appelle
brièvement Robotique. La commande de ce véhicule sera assurée principalement par
carte de commande à base de microcontrôleur.
Mon robot embarque des fonctionnalités inspirées des systèmes ADAS. Le suivi de ligne
simule la fonction LDW. De plus, le robot adapte sa vitesse selon la distance à un
obstacle, reproduisant le comportement d’un ACC simplifié.
Le robot éviteur d’obstacle, dans n’importe quel domaine où il est utilisé, doit
nécessairement être accompagné d’une fiche technique qui décrira la totalité de ses
fonctions et qui reflètera une image sur la qualité et la prestation de ses services. Ceci
dit, une analyse fonctionnelle devait être mise en place pour exprimer le besoin de la
construction du robot, définir les liens entre ses composants et rappeler les principales
fonctions qu’il doit satisfaire. Les outils utilisés pour cette analyse fonctionnelle sont le
le GRAFCET.
2. Description du système :
Notre robot éviteur d’obstacles utilise un capteur qui mesure la distance qui le sépare
avec les déférents objets qui l’entoure. L’information est traitée par un microcontrôleur.
Le robot avance et lorsqu’il rencontre un obstacle frontal, il s’arrête quelques instants,
et il fait tourner le capteur respectivement vers la droite puis vers la gauche puis se
tourne vers la direction la plus sûr et il continue en mouvement rectiligne.
3. Analyse fonctionnelle :
- Grafcet :
On a réalisé le grafcet de niveau 1 suivant :
33
▪ g : la probabilité de trouver un obstacle à gauche plus sûr que le trouver à
droite.
Donc :
▪ Peu coûteux : Les cartes Arduino sont relativement peu coûteuses par
rapport aux autres plates-formes de microcontrôleurs, la version la moins
chère du module Arduino peut être assemblée à la main pour diminuer le
coût, et même les modules Arduino pré assemblés coûtent peu cher.
▪ Multiplateforme le logiciel Arduino (IDE) fonctionne sur la plupart des
systèmes d'exploitation pour ordinateur : Windows, Macintosh OSX et
Linux, contrairement à la plupart des autres systèmes de
microcontrôleurs, qui sont souvent limités à Windows uniquement.
34
Figure 32 : Arduino UNO
- Microcontrôleur : ATmega328P
- Fréquence d'horloge : 16 MHz
- Mémoire Flash : 32 KB
- SRAM : 2 KB
- EEPROM : 1 KB
➢ L’utilisation :
Le Raspberry Pi se charge du traitement d'images et de la reconnaissance d'objets,
tandis que la carte Arduino Uno contrôle la voiture à 4 roues en fonction des
instructions reçues du Raspberry Pi. Cette approche permet une séparation claire des
35
tâches et une coordination efficace entre le traitement d'images et le contrôle des
actionneurs dans notre système.
4.2 L2G8n :
Le L298N est un pont en H double intégré utilisé pour le contrôle des moteurs à courant
continu (DC). Il est très populaire dans les projets électroniques, notamment dans ceux
impliquant des robots et des véhicules motorisés, en raison de sa facilité d'utilisation et
de sa capacité à contrôler la direction et la vitesse des moteurs DC.
- Type de charge : Moteurs à courant continu (DC) ou moteurs pas à pas bipolaires
- Protection intégrée : Diodes de protection contre les pics de tension générés par
le moteur
36
Figure 33 : L298N
➢ Fonctionnement :
- Les ponts en H :
Les Ponts en H ne sont en fait qu’un nom donné à une configuration particulière, de
composants électroniques. Classiquement, ceux-ci sont composés de 4 transistors,
disposés d’une certaine manière, formant visuellement la lettre « H » (ou presque !).
Figure 34 : Pont en H
➢ Commande :
Les ports ENA et ENB permettent de gérer l’amplitude de la tension délivrée au moteur,
grâce à un signal PWM. Les ports In1, In2 pour le moteur A et In3, In4 pour le moteur B,
permettent de contrôler le pont en H et par conséquent le sens de rotation des moteurs.
37
Figure 35 : contrôle
➢ Câblage :
Le schéma de câblage suivant utilise le pont B.
38
Un moteur à courant continu (DC) est un type de moteur électrique largement utilisé
dans de nombreuses applications, notamment dans les projets électroniques, les
robots, les véhicules électriques, etc. Il fonctionne en convertissant l'énergie électrique
en mouvement mécanique rotatif.
4.4 HC-SR04 :
39
Les capteurs ultrasons fonctionnent en mesurant le temps de retour d'une onde sonore
inaudible par l'homme émise par le capteur. La vitesse du son étant à peu près stable,
on en déduit la distance à l'obstacle. on utilise ces capteurs pour localiser le robot par
rapport à des obstacles statiques ou dynamiques, ce capteur repose sur l'idée de
calculer le temps de vol d'un signal ultrasonique depuis son point de départ. Alors si la
distance entre le transducteur et l'obstacle est « D » donc la distance parcourue par
l'onde ultrasonique est « 2D », le temps du parcoure est donné par :
Où :
➢ Principe de fonctionnement :
40
Figure 38 : Description du capteur ultra-son HC-SR04
Le son doit effectuer un aller (en partant du capteur) pour ensuite rebondir sur l’obstacle
et revenir à ce point de départ. Nous diviserons donc son temps par deux. Le HC-SR04
donne une durée d’impulsion en dizaines de µs. Il faut donc multiplier la valeur obtenue
41
par 10µs pour obtenir le temps t. La vitesse du son est égale à environ 340m/s ce qui
nous donnes :
d = (340000cm.10µs/ 1000000us) *t
Donc :
d =(170cm/1000) *t
La particularité du capteur chinois HC-SR04 s’incarne au début dans son prix qui n’est
vraiment pas cher (30 DHs), puis dans ses caractéristiques qui sont moyennement
satisfaisantes. En effet, ce dernier fonctionne avec une tension d’alimentation de 5
volts, dispose d’un angle de mesure de 15° environ et permet de faire des mesures de
distance d’un mètre à peu près, une précision de 3mm (en théorie, dans la pratique ce
n’est pas tout à fait exact), et c’est ce qui va nous permettre de rendre le projet plus
optimal en ajoutant 2 autres d’avoir une vision claire des obstacles et de diminuer le
temps de réponses.
4.5 Servomoteur :
Un servomoteur est un système asservi (ou système bouclé); il s’agit d’un moteur à
courant continu enfermé dans un boîtier de petite taille avec des constituants
électroniques et mécanique. Sa fonctionnalité est de tenir une position angulaire
donnée fournie au système en entrée sous forme d’un signal électrique. On en trouve de
toutes les tailles et de toutes les puissances. La plupart du temps la sortie peut se
positionner entre 0 et 180°. Il en existe également dont la sortie peut se débattre sur
seulement 90° et d’autres, ayant un plus grand débattement, sur 360°. Ceux qui ont la
possibilité de faire plusieurs tours sont souvent appelés servo-treuils. Enfin, les
derniers, qui peuvent faire tourner leur axe sans jamais se buter, sont appelés
42
servomoteurs à rotation continue. Les servomoteurs sont très fréquemment employés
dans les applications de modélisme pour piloter le safran d’un bateau, le gouvernail
d’un avion ou bien même les roues d’une voiture téléguidée.
➢ Composition :
Le servomoteur est composé de plusieurs éléments visibles et invisible :
43
La plupart des servomoteurs sont commandés par l’intermédiaire d’un câble électrique
à trois fils qui permet d’alimenter le moteur et de lui transmettre des consignes de
position sous forme d’un signal codé en largeur d’impulsion plus communément appelé
PWM. Cela signifie que c’est la durée des impulsions qui détermine l’angle absolu de
l’axe de sortie et donc la position du bras de commande du servomoteur. Le signal est
répété périodiquement, en général toutes les 20 millisecondes, ce qui permet à
l’électronique de contrôler et de corriger continuellement la position angulaire de l’axe
de sortie, cette dernière étant mesurée par le potentiomètre.
5. Partie SOFTWARE :
44
d’exploitation. L’IDE d’Arduino permet de regrouper dans le même outil les programmes
nécessaires au pilotage de la carte, il comprend également un éditeur de texte, un
débogueur/compilateur, une interface permettant de gérer les ports COM et le type de
carte, de plus, il fournit de nombreux exemples, installe automatiquement les drivers les
plus courants, et assure ensuite la communication avec l’Arduino (téléversement et
moniteur série) .
Cet Arduino IDE simplifie la programmation pour les cartes d’Arduino ou autre, il
ressemble à n’importe quel autre IDE de programmation, c'est-à-dire, il contient un
éditeur pour coder et compiler, de plus, il inclut de différents éléments d’aide pour
l’utilisateur qui vont au-delà des propres guides simples, mais aussi il a des exemples
de code pour différentes fonctionnalités et appareils. Il est pensé pour que n’importe
qui puisse commencer à s’en servir avec des connaissances de base, dans tous les cas
il existe de milliers de tutoriels sur internet pour apprendre programmer pour les
débutants.
45
- Partie 3 : C’est le programme principal (Loop), cette fonction est
répétée indéfiniment.
Comme pour n’importe quel autre logiciel de programmation, on peut rajouter de
commentaires, ce qui est vivement conseillé, deux types de commentaires sont
possibles :
L'IDE d’Arduino possède aussi une aide en ligne où toutes les instructions, structures du
langage Arduino sont décrites et accompagnées d'un exemple, pour accéder à cette
aide, il faut cliquer sur Aide puis Référence.
46
- De compiler ce programme dans le langage « machine » de l’Arduino,
la compilation est une traduction du langage C vers le langage du
microcontrôleur.
- D’afficher dans la console les informations sur le déroulement de la
compilation et d’afficher les messages d’erreur.
- De téléverser le programme dans la mémoire d’Arduino, le
téléversement (upload) se passe via le port USB de l’ordinateur, une
fois dans la mémoire de l’Arduino, le logiciel s’appelle un microgiciel.
L’un des avantages de l’EDI Arduino réside dans le fait qu’il est piloté par la
communauté, Arduino qui dispose d'un forum très actif où les utilisateurs peuvent
partager leurs créations avec d'autres programmeurs et obtenir des commentaires et
des conseils de dépannage, les utilisateurs les plus avancés peuvent également délivrer
47
leurs propres conseils, les utilisateurs ont aussi la possibilité de télécharger leur code
directement sur les forums ce qui est extrêmement pratique. Pour quelqu’un qui débute
en programmation, il ne fait aucun doute qu’Arduino IDE est l’un des meilleurs
programmes qui soit, il est facile à utiliser et contient de nombreux modèles très utiles
pour les débutants, de plus, les utilisateurs peuvent profiter de la communauté des
utilisateurs d’Arduino pour améliorer leurs créations.
6. Partie Expérimentale :
➢ Schéma du robot :
48
Figure 45 : schéma en utilisant le logiciel fritzing.
- Code pour ARDUINO :
#include <AFMotor.h>
#define Trig 12
#define Echo 13
#define ENA 5
#define ENB 6
#define IN1 3
#define IN2 4
#define IN3 2
#define IN4 7
float temp; //
void setup() {
49
[Link](9600);
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
void loop() {
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
cm = (temp * 17 ) / 1000;
back();
delay(500);
Left();
delay(200);
50
}
forward();
delay(100);
STOP();
[Link]("Echo =");
[Link](temp);
[Link](cm);
[Link]("cm");
delay(100);
void forward() {
analogWrite(ENA, 220);
analogWrite(ENB, 220);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
51
[Link]("Forward");
void back() {
analogWrite(ENA, 220);
analogWrite(ENB, 220);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
[Link]("Back");
void Left() {
analogWrite(ENA, 220);
analogWrite(ENB, 220);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
[Link]("Left");
void Right() {
analogWrite(ENA, 220);
analogWrite(ENB, 220);
digitalWrite(IN1, HIGH);
52
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
[Link]("Right");
void STOP() {
digitalWrite(ENA, LOW);
digitalWrite(ENB, LOW);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
[Link]("STOP");
53
Chapitre IV : Suiveur de ligne
1. Introduction :
Le robot suiveur de ligne est un système autonome capable de suivre un tracé (souvent
une ligne noire sur fond blanc) à l'aide de capteurs. Ce chapitre est une introduction
pratique à la robotique mobile, au traitement de signal, et à la régulation de mouvement.
1.1 Définition:
Un robot suiveur de ligne a une autonomie de plusieurs heures tandis qu’un employé
prendrait des pauses, mais Comme toute installation à base d’une technologie
intelligente récente, le robot suiveur de ligne compte un certain nombre d’inconvénients
,Ce type de robots à un peu d’impact sur la société car ils remplacent les vrais employés
(serveurs par exemple) ce qui augmente le taux de chômage, ce robot n’existe pas dans
tous les domaines (cas des industries par exemple) car il reste assez couteux (entre
4000 à 6000 euros) et son utilisation reste très limitée dans le monde.
Le principe de fonctionnement du robot c’est qu’il devra suivre une ligne noire sur un
sol blanc ou bien une ligne blanche sur un sol noir, on peut le faire fonctionner en
modifiant les connecteurs sur un fond sombre avec une ligne blanche. On suppose que
le robot avance dans un sens que pour lui il y a la droite et la gauche. Si le moteur a
tendance à dévier trop à gauche, il faut que les moteurs compensent pour le faire aller
plus à droite et inversement. Pour effectuer cette action, le choix d'utilisation est porté
sur deux capteurs "suiveurs de ligne" composés chacun d'une photorésistance. Le but
en fait, c’est de garder la ligne noire bien au centre du robot entre les 2 capteurs.
54
➢ Au service des restaurants : ce concept fait sensation auprès de certains pays
(USA, Chine, Japon) pour améliorer les services auprès des clients.
➢ Les jeux pour enfants : un concept dans lequel l’enfant dessine lui-même le
chemin qu’il veut que la voiture suive grâce à un feutre noir sur un fond clair .
55
Figure 46 :Représentation schématique d’une organisation générale d’un suiveur de
ligne
Sont des signaux envoyés par les capteurs dont les valeurs sont imposées à la partie
de traitement.
• La partie de traitement :
Représentent l’activité utile de la partie de traitement. Ils en sont les seuls points
observables, et ce sont eux qui permettent d’apprécier l’état de la partie de traitement.
• Les actionneurs :
56
Les actionneurs servent à convertir un signal de commande généré par la partie de
traitement en une action effective au niveau du système commandé. Les actionneurs
sont de types très divers et peuvent être des LEDs, des moteurs,
2. fonctionnement :
• C’est une couche teintée (souvent noire ou violette) placée devant la LED
émettrice et le phototransistor dans le boîtier du TCRT5000.
• Elle agit comme une "fenêtre" qui laisse passer les rayons infrarouges (~950 nm)
mais bloque la lumière visible (400–700 nm).
➢ Boîtier traversant (4 broches + clips de montage) :
• 4 broches : Anode et cathode de la LED, broches collecteur et émetteur du trasistor
• Clips métalliques sur les côtés pour fixer le capteur sur le PCB
58
Figure 50 :schéma fonctionnement de base
Dans ce circuit, lorsque le phototransistor reçoit une lumière intense, il laisse passer le
courant et la LED s’allume. Lorsque la lumière entrante est faible, la LED a une
luminosité proportionnelle a la lumière entrante.
59
Figure 51 :Capteur optique suiveur de ligne
Pour une bonne précision de ligne on peut utiliser plusieurs capteur ir a la fois (entre 3 et
5)
Caractéristiques du TCR5000 :
➢ Haute sensibilité
➢ La sensibilité est réglable par un potentiomètre ;
➢ Tension de service : 3.3 V - 5 V ;
➢ Courant de service : 20 mA ;
➢ Sortie de commutation numérique (0 et 1) ;
➢ 2 trous de fixation pour une installation facile ;
➢ CI de petite taille : 42 x 10.5 mm ;
60
➢ LED d'alimentation (rouge) et indicateur de sortie de commutation numérique
(vert) ;
➢ Distance de détection de réflexion : 1 mm - 25 mm La sensibilité est réglable par
un potentiomètre ;
2.2 Types de Capteurs Infrarouges (IR) :
61
➢ Capteurs IR à Matrice ou Multizone (image thermique IR) : Grid-EYE
(Panasonic AMG8833)
Principe : Mesure la température sur une grille de 8x8 zones pour créer une image
thermique basse résolution.
• Le capteur est situé au-dessus du champ blanc. La lumière réfléchie par le champ
blanc tombe sur la photodiode. Ensuite, le signal électrique déjà numérisé par le
comparateur est envoyé à l'entrée du contrôleur. Sur la base du programme écrit, le
contrôleur perçoit ce signal comme un champ blanc
• Le capteur est situé au-dessus du champ noir. La propriété physique d’un champ noir
est d’absorber la lumière, c’est à dire la réflexion ne se produit pas. Un tel état du
capteur par le contrôleur est perçu comme la présence d'un champ noir . Un signal
analogique chaotique est formé à la sortie de la photodiode. Pour augmenter l'immunité
au bruit, un comparateur est inclus dans le circuit du capteur, ce qui élimine les
interférences, les fausses réflexions, etc.
( noir/blanc)
62
Figure 55: Les capteurs de couleur
63
Figure 57 : La connexion entre l’Arduino et suiveur de ligne
• Arduino Uno ;
• Trois capteurs de couleur ;
64
• Une LED rouge qui renseigne sur la présence d’obstacles ;
65
interface du logiciel Arduino 1.8.G
66
Figure 60 : Paramétrage de la carte étape2
67
Une simple manipulation enchaînée doit être suivie afin d’injecter un code vers la carte
Arduino via le port USB.
7. On alimente la carte soit par le port USB, soit par une source d’alimentation
autonome (pile 9 volts par exemple).
int ENA = 5;
int IN1 = 3;
int IN2 = 4;
int ENB = 6;
int IN3 = 2;
int IN4 = 7;
int Sensor1 = 0;
int Sensor4 = 0;
void setup() {
68
pinMode(ENA, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(Sensor1, INPUT);
pinMode(Sensor4, INPUT);
[Link](9600);
void loop() {
digitalWrite(ENA, HIGH);
digitalWrite(ENB, HIGH);
Sensor1 = digitalRead(8);
Sensor4 = digitalRead(11);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
69
analogWrite (ENB, 0);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
[Link]("Move left");
70
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
[Link]("Move right");
else
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
[Link]("stop");
Conclusion de chapitre :
71
Chapitre V : Détection et reconnaissance des panneaux de
signalisation
1 Introduction :
72
panneau détecté. Il est possible d’ajouter une troisième étape qui est le suivi
temporel afin de ne pas resignaler au conducteur les mêmes panneaux reconnus.
1.1.1 Acquisition
Une caméra multifonctions positionnée contre le pare-brise du véhicule transmet
une séquence d’images pour faire l’étape suivante qu’est la détection.
1.1.2 Détection
Elle est effectuée pour identifier les régions d’intérêt (Regions of Interest - ROIs).
Cette étape exploite les caractéristiques visuelles des panneaux, comme la
couleur et la forme,
ou bien en utilisant des techniques d’apprentissage automatique.
La détection doit prendre en considération différents facteurs comme la diversité
des catégories de panneaux :
— Panneaux d’interdiction — Panneaux de danger — Panneaux d’obligation —
Panneaux de priorité
— Panneaux de la restriction
Les ROIs détectés sont ensuite soit reconnus ou rejetés pendant la phase de
reconnaissance.
1.1.3 Reconnaissance
Elle est réalisée sur les ROIs, où certains ROIs peuvent ne contenir pas des
panneaux de signalisation. Cette étape est réalisée avec certaines techniques
d’apprentissage automatique telles que le réseau neuronal convolutif
(Convolutional Neural Network - CNN)
1.1.4 Suivi temporel
Il identifie les panneaux déjà reconnus afin de ne pas les reclassifier, ce qui réduit
le temps de traitement. Cette identification est assurée par :
— Une étape d’association de données qui met en relation les panneaux reconnus
précédemment avec les panneaux détectés à l’instant courant
— Une étape de filtrage qui procure un a priori sur les positions et les résolutions
des panneaux dans les images suivantes
1.1.5 Affichage
Le rôle de cette dernière étape est d’informer le conducteur en affichant le
panneau ainsi reconnu sur le tableau de bord.
1.2 Les panneaux de signalisation
Les panneaux de signalisation constituent un élément fondamental de tout
système de circulation. Ils sont généralement implantés de part et d’autre sur nos
routes et indiquent les règles de la circulation établies pour permettre aux
véhicules de se déplacer en toute sécurité sur les routes.
Les usagers de la route doivent être bien informés des panneaux de signalisation
qui demeurent aujourd’hui un des éléments phares de la prévention routière.
Grâce aux panneaux de signalisation, les conducteurs sont informés des règles
73
d’avertissement sur les dangers pouvant apparaître sur la route ou tout type
d’informations intéressant le conducteur.
1.2.1. Panneaux d’interdiction ou de restriction
Ces types de panneaux interdisent ou limitent certaines actions à ceux qui les
rencontrent dans la direction de leur marche. Ces signes sont circulaires avec un
bord rouge
74
Figure 64 : – Exemples de panneaux d’avertissement de danger
1.2.3. Panneaux des obligations
Ils sont destinés à obliger les usagers à respecter certaines prescriptions et
règles à partir du niveau du panneau. Ces panneaux peuvent indiquer une
direction à suivre, une vitesse minimum à respecter, ou encore une voie
obligatoire pour certains usagers. Ils sont ronds avec une couleur bleue.
75
1.2.4 Panneaux de priorité
Ils informent les usagers de la route des règles de priorité spéciales aux
intersections ou passages étroits. En général, ils n’ont pas de forme ou couleur
spécifique.
76
Figure 68 : – Exemples de difficultés de détection : (a) Flou, (b) Éclairage, (c)
Décoloration, (d-e) Intempéries, (f) Occlusion
Parmi tous les types de panneaux, ceux concernant les limitations de vitesse
présentent un enjeu critique de sécurité, justifiant notre focalisation sur cette
catégorie spécifique.
Conclusion
Dans ce chapitre, nous avons vu en générale les systèmes de détection et de
reconnaissances des panneaux de signalisation. En plus, nous avons présentés
les panneaux de signalisations, leurs caractéristiques et défis que présentent.
Pour cela dans le deuxième chapitre nous présenterons des techniques et
méthodes qui permettent de réaliser ces systèmes : les techniques de détection
et de reconnaissance.
3. Méthodes de détection et de classification des panneaux
3.1 Introduction
Les systèmes de détections et de localisation est composé de plusieurs étapes :
la détection et la reconnaissance. La phase de détection couvre la localisation
des régions d’intérêt (ROIs) qui contiennent les panneaux et la détection des
panneaux sur l’image. La reconnaissance identifie le type du panneau.
La phase de détection doit trouver tous et que les panneaux figurants sur l’image.
Ainsi en doit trouvez maximum de panneaux et minimum d’autres objets
considérer comme arrière-plan. Les méthodes de détection sont souvent
groupées en trois catégories : les méthodes basées sur les couleurs, les
méthodes basées sur les formes géométriques et les méthodes basées sur
l’apprentissage automatique. La phase de reconnaissance ou bien classification
reconnaît le type de panneau détecté et l’assigne à une classe. Les méthodes de
classification sont groupées en deux catégories : les méthodes qui utilisent des
caractéristiques extraites par un expert et les méthodes de l’apprentissage
profond (Deep Learning).
Dans ce chapitre, nous allons présenter les différentes méthodes et technique
de détection et de reconnaissance des panneaux de signalisation à base
d’apprentissage approfondis.
Les méthodes supervisées
L’apprentissage supervisé est le paradigme d’apprentissage le plus populaire en
ML et en DL et aussi le plus utilisé. L’apprentissage supervisé a besoin des
77
données de la tâche qu’elle doit réaliser. Avec l’apprentissage supervisé, la
machine peut apprendre à faire une certaine tâche via l’étude des données de
cette tâche ; par exemple la détection des panneaux après avoir vu des millions
d’exemples des panneaux.
Les méthodes non supervisées
Contrairement à l’apprentissage supervisé, l’apprentissage non supervisé est un
système de ML qui apprend et crée des modèles à partir d’un ensemble de
données d’entraînement non étiquetées. Il s’agit d’un type d’apprentissage
hebbien auto-organisé qui aide à trouver des modèles auparavant inconnus dans
un ensemble de données sans étiquettes préexistantes. Il est également connu
sous le nom d’auto-organisation et permet de modéliser les densités de
probabilité d’entrées données. Les méthodes non supervisées sont utilisées
dans des domaines très variés, comme la sociologie, le marketing .
3.2 Le classificateur en cascade de Haar
L’algorithme de Viola et Jones, connue aussi par le classificateur en cascade de
Haar est l’une des premières et des plus connues des méthodes de détection
d’objet. Publié en 2001 par Paul Viola et Michael Jones, est devenu une référence
dans le domaine de la détection d’objet. Il appartient aux méthodes de
classification supervisées. Le classificateur est entraîné sur un ensemble de
données ensuite utilisé pour la détection d’objet sur l’image. Inventée à l’origine
pour détecter des visages, elle peut également être utilisée pour détecter
d’autres types d’objets comme des panneaux de signalisations. Les principaux
avantages de ce classificateur est le fait qu’il permet une détection efficace,
rapide et dans n’importe la position ou la taille de l’objet sur l’image.
Principe
La méthode de Viola et Jones consiste à balayer une image à l’aide d’une fenêtre
de détection de taille initiale 24x24px (Article Original) et de déterminer la
présence d’un objet. Lorsque l’image a été parcourue entièrement, la taille de la
fenêtre est augmentée et le balayage recommence, jusqu’à ce que la fenêtre
fasse la taille de l’image. L’augmentation de la taille de la fenêtre se fait par un
facteur multiplicatif de 1.25. Le balayage, quant à lui, consiste simplement à
décaler la fenêtre d’un pixel. Ce décalage peut être changé afin d’accélérer le
processus, mais un décalage d’un pixel assure une précision maximale.
Cette méthode est une approche basée sur l’apparence, qui consiste à parcourir
l’ensemble de l’image en calculant un certain nombre de caractéristiques dans
des zones rectangulaires qui se chevauchent. Elle a la particularité d’utiliser des
caractéristiques très simples mais très nombreuses.
La méthode de Viola et Jones se caractérisent par :
— Utilisation d’images intégrales qui permettent de calculer plus rapidement les
caractéristiques.
78
— La combinaison en cascade de classifieurs boostés, apportant un net gain de
temps d’exécution.
— La sélection par Boosting des caractéristiques.
Étapes de la méthode
La méthode se décompose en quatre étapes (voir Figure 3.4) :
1. Constitution d’une base de données contenant des images avec l’objet et
des images sans l’objet.
2. Extraction de caractéristique de l’ensemble des images contenu dans la
base.
3. Entraînement d’un classifieur en cascade : — Algorithme d’apprentissage
basé sur Adaboost. — Cascade de classifieurs.
4. Phase de détection.
79
des caractéristiques sélectionnées aux itérations précédentes, et le tout va
contribuer à la construction du classifieur fort final. Cette sélection se fait en
entraînant un classifieur faible pour toutes les caractéristiques et en
sélectionnant celui avec l’erreur la plus faible sur l’ensemble d’apprentissage.
L’algorithme tient également à jour une distribution de probabilités sur
l’ensemble d’apprentissage, réévaluée à chaque itération en fonction des
résultats de classification. En particulier, plus de poids est attribué aux exemples
difficiles à classer, c’est-à-dire ceux dont l’erreur est élevée. Le classifieur fort
final construit par AdaBoost est composé de la somme pondérée des classifieurs
sélectionnés.
Cascade de classifieurs
La méthode de Viola et Jones est basée sur une approche par recherche
exhaustive sur l’ensemble de l’image, qui teste la présence de l’objet dans une
fenêtre à toutes les positions et à plusieurs échelles. Cette approche est
cependant extrêmement coûteuse en calcul. L’une des idées-clés de la méthode
pour réduire ce coût réside dans l’organisation de l’algorithme de détection en
une cascade de classifieurs. Appliqués séquentiellement, ces classifieurs
prennent une décision d’acceptation ; la fenêtre contient l’objet et l’exemple est
alors passé au classifieur suivant, ou de rejet ; la fenêtre ne contient pas l’objet et
dans ce cas l’exemple est définitivement écarté. L’idée est que l’immense
majorité des fenêtres testées étant négatives (c.-à-d. ne contiennent pas l’objet),
il est avantageux de pouvoir les rejeter avec le moins possible de calculs. Ici, les
classifieurs les plus simples, donc les plus rapides, sont situés au début de la
cascade, et rejettent très rapidement la grande majorité des exemples négatifs.
Cette structure en cascade peut également s’interpréter comme un arbre de
décision dégénéré, puisque chaque nœud ne comporte qu’une seule branche.
Phase de détection
C’est l’étape finale. Une fois le classifieur entraîné, nous pouvons passer à la
phase de détection. En fournissant une image en entrée et en recevant en sortie
l’objet détecté sur l’image représenté par ses coordonnées.
3.3 Les méthodes d’apprentissage profond pour la classification des
panneaux
de signalisation
L’apprentissage profond (DL) est un type d’intelligence artificielle (IA) et le
sousdomaine de l’apprentissage automatique (ML), où la machine est capable
d’apprendre par elle-même. Le développement du DL fut motivé en partie par
l’échec des algorithmes traditionnels.
Les différences entre les méthodes d’apprentissage traditionnelles et les
méthodes d’apprentissage approfondis sont :
— Plus la quantité de données fournie est grande plus les performances sont
meilleures ;
80
— Pas de "plateau de performance" : ils ne possèdent pas une borne supérieure
à la quantité de données qu’ils peuvent recevoir ;
— L’étape de l’extraction de caractéristiques est automatisée
3.3.1 Réseaux de neurones convolutifs (CNN)
Un réseau de neurone convolutifs (Convolutional Neural Network - CNN en
anglais) est un type particulier de réseau de neurone qui se base sur l’opération
de convolution. Les CNN sont particulièrement adaptés à la reconnaissance d’i
Un réseau de neurones est un système composé de neurones, généralement
répartis en plusieurs couches connectées entre eux. Il est construit en empilant
les couches : la sortie d’une couche correspond à l’entrée de la suivante. Les
CNNs se composent de deux parties :
— La partie convolutive
— La partie classification
Couche de Convolution Est la composante clé des CNNs, constitue toujours
leur première couche. Cette couche est l’extracteur de caractéristiques des
images. Son but est de repérer la présence d’un ensemble de caractéristiques
(Features en anglais) dans les images reçues en entrée.
Pour cela, on réalise un filtrage par convolution. Le principe est de faire "glisser"
une fenêtre représentant la feature sur l’image, et de calculer le produit de
convolution entre la feature et chaque portion de l’image balayée.
Trois hyperparamètres permettent de dimensionner le volume de la couche de
convolution :
1. Profondeur de la couche K : nombre de noyaux de convolution ;
2. Le pas S : contrôle le chevauchement des champs récepteurs ;
3. La marge (à 0) ou zéro padding P : Cette marge permet de contrôler la
dimension
spatiale du volume de sortie.
Couche de Pooling C’est parmi les outils puissants de CNN. Cette couche
permet de
réduire la taille des images avec la préservation des caractéristiques.
81
Pooling est une fonction de sous-échantillonnage spatial. Elle prend toujours en
entrée des feature maps de taille (nx * ny * D), et réduit les deux premières
dimensions spatiales.
Pour appliquer cette opération il y a deux méthodes :
— On fait la moyenne des valeurs de la zone (Average Pooling en anglais) — On
extrait uniquement la valeur la plus élevée (Max Pooling en anglais)
82
permet de classifier l’image en entrée du réseau, elle renvoie un vecteur de taille
N, où N est le nombre de classes dans notre problème de classification d’images.
Chaque élément du vecteur indique la probabilité pour que l’image en entrée
appartienne à une classe.
3.3.2 Architectures CNN
Architecture LeNet LeNet est un réseau convolutif de LeCun ? conçu pour la
reconnaissance de caractères manuscrits et imprimés. Il s’agit d’un réseau
neuronal convolutif avec suffisamment d’entrée pour recevoir plusieurs objets et
plusieurs sorties appelés ré- seaux neuronaux à déplacement spatial (SDNN),
capable de reconnaître des chaînes en une seule passe sans segmentation
préalable.
Les couches convolutives clairsemées et la mise en commun maximale sont au
cœur de la famille de modèles LeNet
83
L’architecture de GoogLeNet est très différente des architectures précédentes, elle est
basée sur l’architecture Inception, car elle contient plusieurs blocs d’Inception. Comme
on peut le voir dans la Figure 3.9, l’opération de convolution est effectuée sur des
entrées avec trois tailles de filtre : (1×1), (3×3) et (5×5). Une opération de pooling max est
également effectuée avec les convolutions et est ensuite envoyée dans le module
d’Inception suivant.
L’idée principale est que les filtres de convolution de différentes tailles gèrent mieux les
objets à plusieurs échelles. Dans cette architecture, les opérations de convolution (1×1,
3×3, 5×5) et le max pooling (3×3) sont réalisés de manière parallèle à l’entrée et leurs
sorties sont empilées ensemble pour générer la sortie finale.
84
Figure 75 : – Architecture complète de GoogleNet
Conclusion
Dans ce chapitre, nous avons présenté les méthodes de détection et localisation des
panneaux de signalisations. Les différents espaces de couleur présentent des
caractéristiques utiles pour la segmentation. Les espaces RGB et HSV sont utilisés avec
le classificateur en cascade de Haar qui présente des taux de détection élevés. Pour
l’étape de classification, les méthodes basées sur l’apprentissage approfondi ont été
choisies.
4. Expérimentation et Évaluation
4.1 Introduction
85
Les résultats obtenus sont présentés en détails, comparés et discutés avec des
exemples sur des images des bases utilisées.
Pour réaliser ce travail, nous avons utilisé plusieurs modules, parmi lesquels :
— Module Matplotlib : Cela nous permet de créer des visualisations statiques, telles
que des graphiques 3.
— Module NumPy : Cela nous permet de manipuler les données pour répondre aux
exigences spécifiées 5.
1. [Link]
2. [Link]
3. [Link]
4. [Link]
5. [Link]
— Module Pickle : Cela nous permet de sérialiser les objets afin qu’ils puissent être
enregistrés dans un fichier et chargés ultérieurement dans un programme
Dans cette étape, nous avons utilisé une base de données de reconnaissance ,elle
contient plus de 40 000,images. Toutes ces images ont été utilisées avec leurs différents
types de panneaux de signalisation (43 types). Nous avons traité l’ensemble de données
afin que la taille de toutes les images devienne uniforme avec une dimension de
32×32px.
Cette section présente le code Python utilisé pour configurer les chemins d’accès aux
données et les paramètres d’entraînement du modèle.
87
Chargement et préparation des images
88
Definition du modele cnn apres encodage des etiquettes et qugmentation des donnees
Entrainement du modèle
Evaluation et sauvegarde
89
90
Le script Python utilise OpenCV, NumPy et un modèle de machine learning préalablement entraîné
(chargé avec joblib) pour reconnaître les panneaux de signalisation en temps réel via la webcam.
91
• VideoCapture(0) : active la webcam.
• [Link](3, 4, 10, ...) : règle largeur, hauteur et luminosité.
• threshold : probabilité minimale pour accepter une prédiction.
92
Lit une image de la webcam à chaque itération.
93
• Montre l’image originale avec la prédiction.
• Montre aussi l’image prétraitée (grayscale, égalisée).
Conclusion :Ce script utilise la webcam pour détecter et reconnaître en temps
réel les panneaux de signalisation à l’aide d’un modèle de machine learning
préalablement entraîné. Chaque image capturée est prétraitée (mise en niveaux de gris,
amélioration du contraste, normalisation), puis redimensionnée avant d’être analysée
par le modèle. Si la prédiction est suffisamment fiable, le nom du panneau détecté ainsi
que la probabilité de reconnaissance sont affichés sur l’image en direct.
Quelques résultats :
94
Voici une conclusion adaptée pour un chapitre sur la reconnaissance et
détection :
5 .Conclusion
95
les développements futurs dans le domaine de la vision par ordinateur et ouvrent la voie
à des applications concrètes dans divers secteurs industriels.
Conclusion
Le développement de notre système de gestion d’un véhicule autonome connecté a permis de démontrer
le potentiel des technologies embarquées et de l’intelligence artificielle dans le domaine des transports
intelligents. Grâce à la combinaison de capteurs, de traitement d’images, de communication réseau et
d’algorithmes d’apprentissage automatique, le véhicule est capable de percevoir son environnement, de
prendre des décisions en temps réel et d’interagir avec une infrastructure connectée.
Ce projet met en évidence l’importance de l’intégration entre les modules logiciels (détection de panneaux,
planification de trajectoire, communication V2X) et les composants matériels (caméras, processeurs
embarqués, interfaces de commande). Il illustre également les défis liés à la robustesse, à la sécurité et à la
réactivité d’un système autonome dans un environnement dynamique.
En perspective, ce travail ouvre la voie à des améliorations futures, notamment en matière d’optimisation
de l’architecture logicielle, de traitement distribué, et d’adaptation aux conditions réelles de circulation.
L’approche adoptée peut également être étendue à d’autres applications dans le domaine des véhicules
intelligents et des villes connectées.
96