0% ont trouvé ce document utile (0 vote)
228 vues69 pages

Anpr New

Transféré par

T SOHAYB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
228 vues69 pages

Anpr New

Transféré par

T SOHAYB
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

PFA: Automatic Number Plate Recognition SYSTEM

Préparé par : Encadré par :


• Sohayb talouzte  Mme. Jihane Kojmane

• Mouad limoni
• Ayoub lhawa Mustapha El kabli

1|Page
Table de matières
Chapitre 1 : Introduction sur le Système ANPR.................................................................................5
I. Introduction....................................................................................................................................6
II. Historique du développement........................................................................................................6
III. Composants et technologie........................................................................................................7
IV. Algorithmes................................................................................................................................8
V. Matériel pour ANPR........................................................................................................................8
VI. Le fonctionnement d’une caméra ANPR......................................................................................9
VII. Système de travail de l’ANPR.......................................................................................................9
a) Détection du véhicule...............................................................................................................10
b) Capture des images..................................................................................................................11
 Type de caméras.......................................................................................................................11
 Type de lumière........................................................................................................................11
c) Processus de reconnaissance des plaques d’immatriculation...................................................12
VIII. Domaines d’application de l’ANPR.............................................................................................12
IX. Conclusion................................................................................................................................14
Chapitre 2 : Présentation des outils utilisés....................................................................................15
I. Introduction..................................................................................................................................16
II. Outils utilisés................................................................................................................................16
1. Analyse fonctionnelle...............................................................................................................16
2. Diagramme de preuve..............................................................................................................17
3. Diagramme de FAST.................................................................................................................18
4. Matrice Morphologique...........................................................................................................19
5. Matrice de Pugh.......................................................................................................................19
III. Conclusion................................................................................................................................19
Chapitre 3 : Etude de projet...........................................................................................................20
I. Analyse du besoin.........................................................................................................................21
II. Analyse fonctionnelle du besoin...................................................................................................22
III. Cahier des charges fonctionnel.................................................................................................24
IV. Analyse fonctionnelle technique..............................................................................................25
1. Diagramme de FAST..............................................................................................................25
2. Matrice morphologique........................................................................................................26
3.Rassemblement des concepts...................................................................................................26
4.La matrice de décision : PUGH...................................................................................................27
Chapitre 4 : Implémentation du concept de solution......................................................................31
OpenCV-Python.................................................................................................................34

2|Page
1. Environnement matériel...............................................................................................................40
2. Environnement logiciel..................................................................................................................41
II/ Les axes du projet.................................................................................................................42
Chapitre 5 : Réalisation.................................................................................................................45
I/ Configuration du logiciel...............................................................................................................46
1. Virtual Machine et configuration de la Raspberry pi.................................................................46
Conclusion.....................................................................................................................................62

3|Page
Liste des figures

Figure 1 : Fonctionnement de Système ANPR......................................................................................10


Figure 2 : Lumière infrarouge...............................................................................................................12
Figure 3 : Exemples de diagramme pieuvre..........................................................................................17
Figure 4 : Diagramme de FAST..............................................................................................................18
Figure 5 : Diagramme de Pieuvre.........................................................................................................22
Figure 6 : Diagramme de FAST..............................................................................................................25
Figure 7 : composants..........................................................................................................................30
Figure 8 : Logo Python..........................................................................................................................32
Figure 9 : OpenCV.................................................................................................................................32
Figure 10 : OpenCV-Python..................................................................................................................34
Figure 11 : Détection des lignes et traits..............................................................................................37
Figure 12 : Échantillon de matrice binaire............................................................................................37
Figure 133 : Les étapes du processus...................................................................................................42
Figure 14 : Fonction détection et acquisition.......................................................................................42
Figure 15 : Fonction traitement............................................................................................................43
Figure 16 : Etude financière du projet..................................................................................................44
Figure 17: Putty configuration..............................................................................................................46
Figure 18 : Putty logn in........................................................................................................................47
Figure 19 : Activation du driver de la caméra.......................................................................................47
Figure 20 : Driver de la caméra est activée...........................................................................................48
Figure 21 : Dans le Vnc Viewer on peut accéder à la caméra PI...........................................................49
Figure 22 : l’activation de la caméra PI...................................................................................................49
Figure 23 : Le bureau de la Raspberry pi..............................................................................................50

Liste des tableaux

Tableau 1 : Matrice morphologique.....................................................................................................26


Tableau 2 : Table de concept 1.............................................................................................................26
Tableau 3 : Table de concept 2.............................................................................................................27
Tableau 4 : Table de concept 3.............................................................................................................27
Tableau 5 : Matrice de PUGH...............................................................................................................28
Tableau 6 : Matrice de PUGH 1............................................................................................................29
Tableau 7 : Matrice de PUGH 2............................................................................................................29
Tableau 8 : Table de spécification des composants..............................................................................41

4|Page
Chapitre 1 :
Introduction sur le
Système ANPR

5|Page
I. Introduction :
Le système ANPR (Automatic Number Plate Recognition) est une technologie
de reconnaissance de plaque d'immatriculation qui permet de lire et de
déchiffrer automatiquement les plaques d'immatriculation des véhicules. Cette
technologie est souvent utilisée par les forces de l'ordre et les agences de
sécurité pour surveiller et contrôler les véhicules qui circulent sur les routes et
les autoroutes.
Ce système fonctionne en utilisant des capteurs et des caméras qui prennent
des photos des plaques d'immatriculation des véhicules. Ces photos sont
ensuite traitées par un logiciel de reconnaissance de caractères qui lit les
numéros et les lettres de la plaque d'immatriculation et les envoie à une base
de données. La base de données peut être utilisée pour vérifier l'identité du
véhicule et de son propriétaire, ainsi que pour détecter les véhicules qui sont
suspect.
Il peut être utilisé de différentes manières, par exemple pour contrôler le
respect des limitations de vitesse, pour surveiller les mouvements de véhicules
suspects ou pour identifier les véhicules impliqués dans des infractions
routières. Il peut également être utilisé pour gérer le stationnement et le péage
autoroutier, ou encore pour suivre les mouvements de véhicules dans des
zones sensibles ou protégées.
Le système ANPR est considéré comme une technologie très utile pour la
sécurité routière et la lutte contre la criminalité, mais il soulève également des
questions de vie privée et de protection des données personnelles. En effet, le
système ANPR permet de suivre les déplacements des véhicules et de collecter
des informations sur leur propriétaire, ce qui peut être considéré comme une
atteinte à la vie privée. Par conséquent, il est important que les lois et les
réglementations en matière de protection des données soient strictement
respectées lorsque ce système est utilisé.

II. Historique du développement :


La reconnaissance automatique des plaques d’immatriculation ANPR a été
inventée en 1976 à la Police Scientific Development Branch au Royaume-
Uni. Les systèmes prototypes fonctionnaient en 1979 et des contrats ont été
attribués pour produire des systèmes industriels, d’abord chez EMI Electronics,
puis chez Computer Recognition Systems (CRS) à Wokingham, au Royaume-
Uni. Les premiers systèmes d’essai ont été déployés sur la route A1 et au tunnel

6|Page
de Dartford. La première arrestation par détection d’une voiture volée a eu lieu
en 1981.

III. Composants et technologie :


Le projet ANPR (Automatic Number Plate Recognition), ou reconnaissance
automatique de plaques d'immatriculation, repose sur un environnement
technique complexe combinant plusieurs éléments pour assurer une
performance optimale. Au cœur de cette solution se trouve un système de
traitement d'images avancé, utilisant des algorithmes de vision par ordinateur
et d'apprentissage automatique pour extraire les informations cruciales des
plaques d'immatriculation.
Les caméras installées dans le cadre du projet ANPR sont dotées de capteurs
haute résolution et de technologies d'imagerie avancées, permettant une
capture précise des plaques d'immatriculation dans des conditions variées, que
ce soit de jour ou de nuit. L'éclairage adaptatif et les filtres infrarouges sont
souvent intégrés pour garantir une qualité d'image optimale quel que soit
l'environnement lumineux.
L'infrastructure logicielle du projet repose sur des algorithmes de traitement
d'images sophistiqués, capables de reconnaître et de segmenter les caractères
des plaques d'immatriculation. Ces algorithmes sont souvent entraînés à l'aide
de vastes ensembles de données, utilisant des techniques d'apprentissage
profond pour améliorer la précision de la reconnaissance.
La gestion des données joue également un rôle crucial dans l'environnement
technique du projet ANPR. Les informations extraites des plaques
d'immatriculation sont stockées et traitées dans des bases de données
sécurisées, facilitant la recherche et la récupération rapides d'informations
spécifiques. Des protocoles de sécurité avancés sont mis en place pour garantir
la confidentialité et l'intégrité des données collectées.
L’ANPR utilise la reconnaissance optique de caractères (OCR) sur les images
prises par les caméras. Lorsque les plaques d’immatriculation néerlandaises
ont changé de style en 2002, l’un des changements apportés a été apporté à la
police, introduisant de petits espaces dans certaines lettres (telles que P et R)
pour les rendre plus distinctes et donc plus lisibles pour de tels systèmes.
Certains arrangements de plaques d’immatriculation utilisent des variations dans
la taille des polices et le positionnement - les systèmes ANPR doivent être
capables de faire face à de telles différences pour être vraiment efficaces.

7|Page
IV. Algorithmes :
Le logiciel a besoin de six algorithmes principaux pour identifier une plaque
d’immatriculation :
 Localisation de la plaque : responsable de la recherche et de l’isolement
de la plaque sur l’image.
 Orientation et dimensionnement de la plaque : compense l’inclinaison
de la plaque et ajuste les dimensions à la taille requise.
 Normalisation : ajuste la luminosité et le contraste de l’image.
 Segmentation des caractères : trouve les caractères individuels sur les
plaques.
 Reconnaissance optique de caractères.
 Analyse syntaxique/géométrique : vérifier les caractères et les positions
par rapport aux règles spécifiques à chaque pays
V. Matériel pour ANPR :
À l’avant de tout système ANPR se trouve le matériel d’imagerie qui capture
l’image des plaques d’immatriculation. La capture d’image initiale constitue une
partie cruciale du système ANPR qui déterminera souvent la performance globale.
La capture de plaques d’immatriculation est généralement effectuée par des
caméras spécialisées conçues spécifiquement pour la tâche. Les facteurs qui posent
des difficultés pour les caméras d’imagerie de plaques d’immatriculation
comprennent la vitesse des véhicules enregistrés, les conditions d’éclairage ambiant
variables, l’éblouissement des phares et les conditions environnementales difficiles.
La plupart des caméras dédiées à la capture de plaques d’immatriculation intègrent
un éclairage infrarouge afin de résoudre les problèmes d’éclairage et de réflectivité
des plaques.
De nombreux pays utilisent maintenant des plaques d’immatriculation rétro
réfléchissantes. Cela renvoie la lumière à la source et améliore ainsi le contraste de
l’image. Dans certains pays, les caractères sur la plaque ne sont pas réfléchissants,
ce qui donne un niveau élevé de contraste avec le fond réfléchissant dans toutes les
conditions d’éclairage. Une caméra qui utilise l’imagerie infrarouge active (avec un
filtre de couleur normal sur l’objectif et un illuminateur infrarouge à côté) en
bénéficie grandement car les ondes infrarouges sont réfléchies par la
plaque. Cependant, cela n’est possible que sur les caméras ANPR dédiées, de sorte
que les caméras utilisées à d’autres fins doivent s’appuyer davantage sur les
capacités logicielles. De plus, lorsqu’une image en couleur est requise ainsi que
l’utilisation des détails récupérés par ANPR, il est nécessaire d’avoir une caméra
infrarouge et une caméra normale (couleur) travaillant ensemble.
8|Page
9|Page
Pour éviter le flou, il est idéal d’avoir la vitesse d’obturation d’un appareil photo
dédié réglée sur 1/1000 de seconde. Parce que la voiture est en mouvement, des
vitesses d’obturation plus lentes pourraient entraîner une image trop floue pour être
lue à l’aide du logiciel OCR, surtout si la caméra est beaucoup plus haute que le
véhicule. Dans la circulation lente, ou lorsque la caméra est à un niveau inférieur et
que le véhicule est à un angle proche de la caméra, la vitesse d’obturation n’a pas
besoin d’être aussi rapide. Des vitesses d’obturation de 1/500 de seconde peuvent
faire face à un trafic allant jusqu’à 40 mph (64 km/h) et 1/250 de seconde jusqu’à 5
mph (8 km/h). Les caméras de capture de plaques d’immatriculation peuvent
désormais produire des images utilisables à partir de véhicules roulant à 120 mph
(190 km / h).
Pour maximiser les chances d’une capture efficace des plaques d’immatriculation,
les installateurs doivent examiner attentivement le positionnement de la caméra par
rapport à la zone de capture cible. Le dépassement des angles seuils d’incidence
entre l’objectif de la caméra et la plaque d’immatriculation réduira
considérablement la probabilité d’obtenir des images utilisables en raison de la
distorsion. Les fabricants ont développé des outils pour aider à éliminer les erreurs
lors de l’installation physique des caméras de capture de plaques d’immatriculation.

VI. Le fonctionnement d’une caméra ANPR :


L’ANPR fonctionne avec une double caméra : l’une couleur et l’autre à
infrarouge. La première enregistre l’environnement global du sujet. L’infrarouge
saisit les numéros de plaque. Il permet d’éliminer toute interférence à la capture
d’image et obtient une identification nette et précise en toutes circonstances :
projections d’eau par mauvais temps, brume, pluie, neige, obscurité totale,
éblouissement du trafic circulant en sens inverse, etc. Ce système est très
performant, car il permet de saisir jusqu’à 3 600 immatriculations par heure et de
capter jusqu’à une vitesse différentielle de 250 km/h.

VII. Système de travail de l’ANPR :

L’image suivante montre comment fonctionne ce système.

10 | P a g e
Figure 1 : Fonctionnement de Système ANPR

Les étapes de travail comprennent :


- Les images capturées à partir d’une caméra vidéo sont envoyées au
module responsable de la reconnaissance des plaques d’immatriculation
- Le numéro de plaque d’immatriculation du véhicule est reconnu à partir
du flux vidéo.
- Les résultats sont envoyés au module, qui effectue la validation selon la
base de données des véhicules immatriculés.
Le processus de ANPR est divisé en trois étapes :
 La détection du véhicule
 La capture des images
 Le processus de reconnaissance
Ensuite, nous détaillerons étape par étape comment cela fonctionne et en
fonction de chaque cas, quels sont les avantages et les inconvénients.
a) Détection du véhicule :
La première étape consiste à prendre une image du véhicule au bon
moment. Ainsi, la plaque d’immatriculation du véhicule sera visible dans
l’image. De nos jours, trois types de contrôle de déclenchement existent :
 Déclencheur matériel : L’équipement ANPR contrôle physiquement un
capteur directement installé dans la voie. Chaque fois qu’un véhicule a été
détecté par le capteur, l’équipement ANPR connaîtra sa présence, puis le
processus de capture commencera.

11 | P a g e
 Déclencheur logiciel : L’équipement ANPR communique avec
l’application cliente, qui contrôle physiquement un capteur directement
installé dans la voie. Chaque fois qu’un véhicule a été détecté par le
capteur, l’application cliente connaît la présence du véhicule et la
communique à l’équipement ANPR. À ce moment, le processus de
capture commence.
 Flux libre : L’équipement ANPR n’a pas besoin de recevoir de signal
d’un capteur externe. L’équipement ANPR prend des images en continu
et est capable de détecter automatiquement les véhicules.
b) Capture des images :
Une fois le véhicule détecté, l’étape suivante est la capture du véhicule. Afin de
prendre une image correcte, les points suivants devront être pris en compte.
 Type de caméras :
• Caméra entrelacée : La capture des images se fait en deux étapes.
D’abord les lignes inégales et plus tard les lignes paires. Ce type de
caméras sont moins chers mais son utilisation n’est pas recommandée
pour l’ANPR car si le véhicule est en mouvement, la plaque
d’immatriculation apparaît.
• Caméras progressives : La capture des images se fait
immédiatement. L’utilisation de ce type de caméras est totalement
recommandée car si le véhicule est en mouvement, la plaque
d’immatriculation apparaît toujours focalisée.
 Type de lumière :
La lumière infrarouge est généralement utilisée pour l’équipement ANPR. Bien
que certains équipements ANPR soient capables d’utiliser la lumière du jour et
la lumière infrarouge pendant la nuit.
Lumière infrarouge : Les systèmes ANPR utilisent la lumière infrarouge car l’œil
humain ne peut pas la détecter sans d’autres appareils. Un filtre infrarouge situé dans
la caméra permet de mettre en évidence la plaque d’immatriculation, mais, d’autre
part, le reste des éléments de l’image sont assombris.
Voici quelques exemples :

12 | P a g e
13 | P a g e
Figure 2 : Lumière infrarouge

Lumière du jour : Elle est perçue par l’œil humain. Il permet de prendre des images
dans lesquelles le véhicule est distingué.
Gestion de la lumière : Le type de lumière est aussi important que la façon dont elle
est gérée. Il est possible d’utiliser n’importe quelle technique typique de la
photographie, mais les fabricants de ANPR ont choisi deux grandes voies :
 Pour contrôler la lumière émise par la mise au point
 Pour contrôler la lumière qui pénètre dans la
caméra
c) Processus de reconnaissance des
plaques d’immatriculation :
Chaque fabricant de ANPR a développé ses propres
algorithmes de reconnaissance, bien qu’il s’agisse des
principaux et des plus courants.
Les étapes suivantes sont suivies :
 Pour localiser et isoler la plaque d’immatriculation dans l’image
 Pour corriger la luminosité et le contraste de la plaque d’immatriculation
 Pour séparer chaque caractère de la plaque d’immatriculation
 Reconnaître chaque caractère de la plaque d’immatriculation

VIII. Domaines d’application de l’ANPR :


La reconnaissance automatique des plaques d’immatriculation a un large
éventail d’applications puisque le numéro de licence est l’identifiant principal, le
plus largement accepté, lisible par l’homme et obligatoire des véhicules à
moteur.
Voici quelques-uns des domaines d’application de l’ANPR qui ont été discutés.
Certains importants sont les suivants :
 ANPR dans les systèmes mobiles :
Les systèmes ANPR mobiles sont des systèmes de lecture de plaques
d'immatriculation qui peuvent être installés sur des véhicules de patrouille ou
des drones, ce qui leur permet de lire les plaques d'immatriculation dans des

14 | P a g e
environnements en mouvement.

15 | P a g e
Les systèmes ANPR mobiles sont souvent utilisés par les forces de l'ordre pour
contrôler les véhicules en circulation et rechercher des véhicules volés ou
impliqués dans des infractions. Ils peuvent également être utilisés pour surveiller
les zones de trafic dense, comme les autoroutes et les aéroports, ou pour
surveiller les frontières et les points de passage.
Les systèmes ANPR mobiles sont généralement équipés de caméras et de
logiciels de reconnaissance optique des caractères, mais ils peuvent également
utiliser d'autres technologies de lecture, comme l'infrarouge ou le laser. Ils sont
souvent couplés à des bases de données d'immatriculation pour vérifier
rapidement si un véhicule est enregistré ou s'il est impliqué dans une infraction.
Les systèmes ANPR mobiles présentent plusieurs avantages, notamment la
possibilité de surveiller de vastes zones de manière efficace et de rechercher
rapidement des véhicules impliqués dans des infractions. Toutefois, ils peuvent
également être coûteux à mettre en place et à entretenir, et ils peuvent susciter
des préoccupations en matière de vie privée si leur utilisation n'est pas
correctement encadrée.
 Contrôle D’accès :
Le contrôle d’accès en général est un mécanisme permettant de limiter l’accès
aux zones et aux ressources en fonction de l’identité des utilisateurs et de leur
appartenance à divers groupes prédéfinis. Toutefois, l’accès à des zones limitées
peut également être géré en fonction de l’accès aux véhicules seuls ou avec une
identité personnelle. La reconnaissance des plaques d’immatriculation apporte
l’automatisation de la gestion du contrôle d’accès des véhicules, offrant une
sécurité accrue, la gestion du covoiturage pour la logistique, l’assistance au
guide de sécurité, la journalisation des événements, la gestion des événements,
la tenue du journal d’accès, les possibilités d’analyse et d’exploration de
données.
 Contrôle aux frontières :
Le contrôle des frontières est un effort coordonné par l’État pour parvenir à un
contrôle opérationnel de la frontière de l’État du pays avec la mission prioritaire
de soutenir la sécurité du territoire contre le terrorisme, le trafic transfrontalier
illégal, la contrebande et les activités criminelles. Un contrôle efficace aux
frontières réduit considérablement le taux de criminalité violente et accroît la
sécurité de la société. La reconnaissance automatique des plaques
d’immatriculation ajoute une valeur significative en enregistrant les événements,
en établissant des bases de données sur les passages frontaliers, en alarmant les
passages suspects, et bien d’autres.

16 | P a g e
17 | P a g e
 Mesure du temps de trajet :
La mesure du temps de trajet est une méthode très efficace et largement
utilisable pour comprendre le trafic, détecter les situations et les événements
ostentatoires, etc. Un système basé sur la vision par ordinateur a ses
inconvénients bien connus dans la mesure du temps de trajet, tandis que la
reconnaissance automatique des plaques d’immatriculation a assuré sa viabilité :
les temps de trajet des véhicules peuvent être mesurés de manière fiable par des
systèmes basés sur la reconnaissance automatique des plaques
d’immatriculation. Les données collectées par les systèmes de reconnaissance
des plaques d’immatriculation peuvent être utilisées de nombreuses façons après
le traitement : retour d’informations aux usagers de la route pour accroître la
sécurité du trafic, aide à une application efficace de la loi, optimisation des
itinéraires de circulation, réduction des coûts et des délais, etc.

 Application de la loi :
La reconnaissance automatique des plaques d’immatriculation est une
technologie idéale pour être utilisée à des fins d’application de la loi. Il est
capable d’identifier automatiquement les voitures volées sur la base de la liste
noire à jour. D’autres applications d’application de la loi très courantes sont
l’application des feux rouges, la recharge sur la vitesse excessive et le contrôle
des voies réservées aux bus.

IX. Conclusion :
Le système ANPR (Automatic Number Plate Recognition) est utilisé pour lire
automatiquement les plaques d'immatriculation des véhicules et peut être utilisé
pour diverses applications telles que la gestion du stationnement, la
réglementation de la circulation, la sécurité routière et la lutte contre la
criminalité.
Dans ce chapitre on a donné une généralité à propos du Système ANPR.

18 | P a g e
Chapitre 2 :
Présentation des outils
utilisés

19 | P a g e
I. Introduction :
Le but principal de l'utilisation de méthodes de gestion de projet est de garantir
que le projet est terminé de manière efficace et efficace, en respectant les délais
et le budget impartis, et en atteignant les objectifs et les résultats souhaités. Les
méthodes de gestion de projet permettent également de gérer les risques et les
problèmes qui peuvent survenir pendant le projet.

II. Outils utilisés :


1. Analyse fonctionnelle :
L’analyse fonctionnelle est une méthode d’analyse qui permet de transcrire le
besoin d’un client d’une manière particulièrement précise et structurée, sans
évoquer un moyen, mais tout en restant focalisée sur les détails de l’objectif.
C’est une analyse pertinente qui constitue à elle seule un véritable outil dédié
aux entreprises à la recherche de nouveaux clients.
Un besoin fonctionnel se traduit en fonctions de services à traiter. L’analyse
fonctionnelle est donc un outil qui donne une certaine liberté sur les fonctions
techniques à mettre en place au niveau des solutions sélectionnées pour répondre
au maximum au besoin client.
Pourquoi utiliser l’analyse fonctionnelle ?
L’objectif de l’analyse fonctionnelle est de convertir le besoin client en
fonctionnalités à remplir. Il s’agit donc d’une formulation de besoin en termes
de résultats à atteindre, plutôt qu’en termes de moyen à mettre en œuvre. Une
telle formulation produit une certaine marge de manœuvre technique et
financière, ce qui permet de sélectionner la meilleure réponse pour traiter le
besoin client au mieux, tout en restant dans les clous du coût de développement.
Le contexte de l’analyse fonctionnelle se justifie par la volonté de clarifier le
besoin client, peu importe le sujet et la nature de son besoin. De ce fait, l’analyse
fonctionnelle apparaît comme un outil incontournable dans le procédé d’analyse
de la valeur, valeur qui se bâti sur l’optimisation de la relation performance/coût.
Comment utiliser l’analyse fonctionnelle ?
Pour correctement mettre en place l’analyse fonctionnelle, il convient de
respecter une démarche spécifique, en 4 temps. Il s’agit de la démarche ROCH :

 R pour recenser les fonctions et contraintes à satisfaire et prendre en compte


 O pour ordonner ces fonctions en groupes basés sur le niveau de
précision, les fonctions techniques ainsi que les contraintes ;
 C pour caractériser les fonctions en définissant les critères de jugement, et
en les mesurant ;

20 | P a g e
 H pour hiérarchiser les fonctions avec un degré de priorité pour le client.

2. Diagramme de preuve :
Un diagramme de pieuvre, également appelé diagramme en étoile ou diagramme
radial, est un type de diagramme qui utilise des rayons à partir d'un point central
pour représenter des données. Chaque rayon représente une catégorie de
données, et la longueur de chaque rayon est proportionnelle à la valeur de la
donnée associée. Le diagramme de pieuvre est souvent utilisé pour illustrer la
répartition de données et pour mettre en évidence les différences entre les
catégories.

Le diagramme pieuvre représente les différentes fonctions et leurs interactions


entre le milieu extérieur et le produit/service. Il existe deux types de fonctions :
 Les fonctions principales, ce pour quoi le produit a été créé. Il est en
relation entre deux ou plusieurs éléments extérieurs et passe par le produit
ou service. Par exemple : la fonction principale d’un réveil est d’être
réveillé à l’heure prévue. Donc, l’interaction entre l’utilisateur et le temps
(en passant par le réveil au centre) est la fonction principale du réveil. La
fonction prend la forme d’une ligne avec une légende, ici FP1 parce que
c’est la fonction principale une.
 Les fonctions contraintes, ce sont les limites, ce à quoi le produit doit se
soustraire pour pouvoir marcher correctement ou être légal sur le marché.
Il relie directement l’élément extérieur avec le produit. Si on reprend
l’exemple du réveil, l’une des fonctions contraintes c’est d’avoir assez
d’énergie pour marcher. L’élément extérieur « énergie » est donc relié au
produit par la fonction contrainte 1 : FC1.

21 | P a g e
Figure 3 : Exemples de diagramme pieuvre

22 | P a g e
3. Diagramme de FAST :
Le diagramme FAST - qui signifie en anglais Function Analysis System
Technique – est une représentation visuelle des relations logiques qui existent
entre les fonctions à satisfaire et l'acteur ou les ressources du système technique.
Il se construit pas à pas sur un questionnement logique :

Figure 4 : Diagramme de FAST

Les 3 questions à se poser :


 Comment cette fonction doit-elle être assurée ?
 Pourquoi cette fonction doit-elle être assurée ?
 Quand cette fonction doit-elle être assurée ? Cette question permet
d'identifier les fonctions qui se passent en même temps.
Pour que le diagramme soit clair et parlant, les fonctions - ou les sous-fonctions
- sont décrites par un verbe à l’infinitif et un complément. L'objectif est de rester
simple et clair afin de faciliter la compréhension rapide.
Pourquoi utiliser le diagramme FAST ?
Les avantages :
 Permet de s'immerger dans le monde d'un nouveau produit pour prendre
du recul sur son usage.
 Donne une bonne compréhension de l'utilisation du produit et facilite
l'émergence de solutions techniques plus pertinentes.
 Facilite l'identification de défaillances fonctionnelles ciblées pour ensuite
apporter des solutions précises au juste coût.
 Permet de communiquer et de partager en équipe la même vision du
système étudié.
Les limites :

23 | P a g e
 Sa construction peut vite vous prendre du temps inutilement s'il n'est pas
suffisamment ciblé.
 Ne remplace pas le test d'un produit. Cela reste un complément abstrait
pour une analyse plus fine.
4. Matrice Morphologique :
Une matrice morphologique est un outil utilisé en gestion de projet pour décrire
les différentes combinaisons possibles de produits ou de services qui peuvent
être proposés par une entreprise. Elle permet de visualiser les différentes options
qui sont disponibles et de déterminer comment elles pourraient être combinées
de manière à satisfaire les besoins et les attentes des clients.
La matrice morphologique est généralement organisée sous la forme d'un
tableau qui comprend deux axes. Le premier axe représente les différents
attributs ou caractéristiques des produits ou services proposés, tandis que le
second axe représente les différentes catégories de clients ou de segments de
marché ciblés. Chaque cellule de la matrice indique si un produit ou service
particulier est adapté à un segment de clientèle particulier.
L'utilisation d'une matrice morphologique peut aider une entreprise à identifier
de nouvelles opportunités de développement de produits et à cibler de manière
plus efficace ses efforts de marketing. Elle peut également être utilisée pour
évaluer l'impact de modifications de l'offre de produits ou de services sur les
différents segments de clientèle ciblés.
5. Matrice de Pugh :
La matrice de Pugh, ou matrice de décision, est un outil simple d’aide à la
décision multicritères permettant de progresser dans la résolution de problèmes
de décision où plusieurs objectifs, souvent contradictoires, doivent être pris en
compte. En appliquant plusieurs critères de décision simultanément.
L’objectif de cet outil est d’effectuer le choix optimal malgré des critères
conflictuels. L’outil s’utilise dans des contextes variés, tels la conception de
produit, le choix de processus de fabrication ou sélection d’une opportunité
d’amélioration, et est intégré à la philosophie Six Sigma.

III. Conclusion :
Dans ce chapitre, nous avons mentionné tous les outils que nous allons utiliser
dans notre projet. L'objectif de ces méthodes est d'obtenir une meilleure
visibilité de l'ensemble du projet avec le choix idéal de matériels à utiliser.

24 | P a g e
Chapitre 3 : Etude de projet

25 | P a g e
I. Analyse du besoin :

L’analyse du besoin consiste à rechercher, à comprendre et à exprimer le besoin


de l'utilisateur.

 À qui le produit rend-il service ?

Forces de l'ordre : Les services de police utilisent les systèmes ANPR pour
détecter les véhicules impliqués dans des activités criminelles, tels que les
véhicules volés, ceux associés à des crimes, ou ceux recherchés dans le cadre
d'enquêtes. Les informations collectées peuvent aider à localiser et à suivre les
véhicules suspects.

Recherche et sauvetage : En cas d'urgence, les systèmes ANPR peuvent aider à


localiser rapidement des véhicules impliqués dans des situations d'urgence,
comme des accidents, des enlèvements, ou d'autres incidents nécessitant une
intervention rapide.

Sécurité routière : Les systèmes ANPR contribuent à renforcer la sécurité


routière en identifiant et en signalant les véhicules en infraction, tels que ceux
circulant sans assurance, sans inspection technique valide, ou en excès de
vitesse. Cela permet de renforcer le respect des règles de conduite et de
promouvoir la sécurité sur les routes.

 Sur quoi le produit agit-il ?

Le système de reconnaissance automatique de plaque d'immatriculation


(ANPR) agit sur les plaques d'immatriculation des véhicules. En utilisant des
caméras et des algorithmes de traitement de l'image, il capture des images des
plaques d'immatriculation et extrait les caractères qui composent le numéro de
la plaque. Ces caractères sont ensuite comparés à une base de données de
plaques d'immatriculation autorisées ou à une liste de plaques à surveiller,
selon l'application dans laquelle le système est utilisé.

Le système ANPR peut agir de différentes manières selon l'application dans


laquelle il est utilisé. Par exemple, il peut être utilisé pour :

 Suivre les déplacements des véhicules et collecter des données sur leur
trafic, ce qui peut être utile pour l'analyse de la circulation routière et la
planification des transports.
 Gérer l'accès et le stationnement des véhicules dans les parkings et les
garages.

26 | P a g e
 Détecter les véhicules qui ont des plaques d'immatriculation falsifiées ou
qui sont impliqués dans des activités criminelles.

 Dans quel but ?

Les systèmes ANPR (Automatic Number Plate Recognition) sur les autoroutes
sont mis en place dans le but d'atteindre plusieurs objectifs, visant à améliorer
la sécurité, la gestion du trafic, et la collecte d'informations liées aux
déplacements des véhicules.

II. Analyse fonctionnelle du besoin :


Cette deuxième étape vise à identifier et à recenser les fonctions de services du
produit, en se projetant dans le contexte de son utilisation.
À ce stade, l'analyse est fréquemment formalisée par le diagramme pieuvre : le
schéma représente les fonctions de services, et définit les liens entre le produit
et son environnement ainsi que les éventuelles interactions entre les fonctions.

Utilisateur Elément extérieur

FP

Sécurité
Contrainte
ANPR Techniques

Ethiques

Financières

Légales

Figure 5 : Diagramme de Pieuvre

27 | P a g e
Le système de reconnaissance automatique de plaque d'immatriculation
(ANPR) admet deux fonctions principales, la première fonction comporte
l’dentification de la plaque de matricule, la deuxième est la lecture des
numéros de plaque d'immatriculation de véhicules.

1. Contraintes Techniques :
Qualité de l'image : Pour que le système ANPR fonctionne de manière fiable, il
est important que l'image de la plaque d'immatriculation soit de bonne qualité.
Cela peut être difficile à garantir si la plaque est sale, floue ou prise à un angle
non favorable.
Variabilité des plaques : Les plaques d'immatriculation varient d'un pays à
l'autre et peuvent être présentées dans des formats différents. Le système
ANPR doit donc être capable de traiter cette variabilité pour être efficace.
Éclairage : L'éclairage peut également affecter la qualité de l'image de la plaque
d'immatriculation et rendre la reconnaissance plus difficile.
Vitesse du véhicule : Si le véhicule se déplace à une vitesse élevée, il peut être
difficile de capturer une image claire de la plaque d'immatriculation.
Conditions climatiques : Les conditions climatiques peuvent également affecter
la qualité de l'image de la plaque d'immatriculation, par exemple en cas de
pluie ou de neige.

2. Contraintes financières :
Coût : La mise en place d'un système ANPR peut être coûteuse, en particulier si
le système doit être déployé sur de grandes distances ou si plusieurs caméras
et autres équipements sont nécessaires.

3. Contraintes légales :
Aspects légaux : Il peut y avoir des considérations légales à prendre en compte
lors de la mise en place d'un système ANPR, en particulier en ce qui concerne la
protection de la vie privée et l'utilisation des données collectées.

4. Contraintes éthiques :
Respect de la vie privée : Le système ANPR peut collecter des données sur les
mouvements des véhicules et les associer à leurs propriétaires. Il est important
de s'assurer que ces données sont collectées et utilisées de manière
responsable et en respectant la vie privée des individus.

28 | P a g e
Utilisation des données : Il est important de s'assurer que les données
collectées par le système ANPR sont utilisées de manière éthique et ne sont pas
utilisées à des fins discriminatoires ou illégales.

5. Contraintes Sécurité :
Protection des données : Le système ANPR peut collecter et stocker des
données sur les véhicules et leurs propriétaires, il est donc important de
s'assurer que ces données sont protégées contre les accès non autorisés et les
fuites de données.
Sécurité physique : Le système ANPR peut être composé de caméras et
d'autres équipements qui doivent être protégés contre le vol et les dommages
physiques.
Sécurité des communications : Le système ANPR peut être connecté à d'autres
systèmes ou réseaux, il est donc important de s'assurer que les
communications sont sécurisées pour éviter les interceptions ou les attaques
de type man-in-the- middle.
Sécurité des logiciels : Le système ANPR peut être composé de logiciels et de
systèmes d'exploitation qui doivent être protégés contre les virus et autres
types de malware.
Gestion des mots de passe : Il est important de mettre en place des politiques
de gestion des mots de passe pour s'assurer que seuls les utilisateurs autorisés
ont accès au système ANPR.

III. Cahier des charges fonctionnel :


Le cahier des charges fonctionnel d'un système de reconnaissance automatique
de plaque d'immatriculation (ANPR) décrirait les fonctionnalités du système de
manière précise et détaillée, en prenant en compte les objectifs et les
exigences du système, les caractéristiques techniques des fonctions proposées,
les coûts de réalisation, les ressources nécessaires et les délais de réalisation.
Pour utiliser une caméra ANPR, On a besoin de certains équipements et
logiciels, tels que :
 La caméra Raspberry pi 4 : cet équipement est nécessaire pour lire et
enregistrer les plaques d'immatriculation des véhicules.
 La carte Raspberry pi 4 model B 4GB: est une carte micro-ordinateur
monocarte développée par la Raspberry Pi Foundation. Elle est conçue
pour être un ordinateur compact, abordable et polyvalent, adapté à une
29 | P a g e
variété d'applications, de projets et d’utilisations...

30 | P a g e
 Une carte SD: Une carte SD de 32 Go est une carte mémoire flash utilisée
pour le stockage de données dans divers appareils électroniques, y
compris les appareils photo, les smartphones, les tablettes, les caméras
de surveillance, et bien sûr, les cartes Raspberry Pi...

IV. Analyse fonctionnelle technique :


1. Diagramme de FAST :
Le diagramme FAST (Functional Flow Block Diagram) est un outil de
modélisation qui permet de représenter graphiquement les différentes
fonctions et les flux de données d'un système. Il peut être utilisé pour illustrer
le fonctionnement d'un système de reconnaissance de plaque
d'immatriculation (ANPR, Automatic Number Plate Recognition).

Figure 6 : Diagramme de FAST

31 | P a g e
2. Matrice morphologique :
Fonctions Solution1 Solution 2 Solution 3
Fct 1 : Caméra USB Caméra ESP32 Caméra Raspberry
Capture
d'image de la
matricule

Fct 2 : Arduino Serveur Raspberry Pi


Traitement de
l'image de
matricule

Tableau 1 : Matrice morphologique

3. Rassemblement des concepts :


Concept 1 :
Fonctions Solution
Fct 1 : Caméra ESP32
Capture d'image de
la matricule

Fct 2 : Arduino
Traitement de l'image
de matricule

Tableau 2 : Table de concept 1

32 | P a g e
Concept 2 :
Fonctions Solution
Fct 1 : Caméra Raspberry
Capture d'image de
la matricule

Fct 2 : Raspberry Pi
Traitement de l'image
de matricule

Tableau 3 : Table de concept 2

Concept 3 :
Fonctions Solution
Fct 1 : Caméra USB
Capture
d'image
de la
matricule

Fct 2 : Arduino Server


Traitement
de l'image
de
matricule

Tableau 4 : Table de concept 3

4. La matrice de décision : PUGH :

La matrice de Pugh est une démarche en gestion de production.

Elle est utilisée dans le cadre d'une méthode Lean-Six Sigma1.

C'est un processus de synthèse et de sélection de solutions en plusieurs étapes.


Elle permet d’évaluer différentes solutions qui seront les plus faciles à mettre
en place, qui seront les moins couteuses, les plus visibles, qui donneront les

33 | P a g e
meilleurs résultats le plus rapidement, le meilleur retour sur investissement, le
moins de résistance au changement…

Une pondération est affectée à chaque critère et la matrice permet d'obtenir


une "note" pour chaque solution.

Tableau 5 : Matrice de PUGH

4.1. Implémentation :
On fixe Le concept 2 comme Datum est on établit La matrice de Pugh afin de
choisir le meilleur concept.
Le fonctionnement en temps réel du système est le critère le plus prioritaire ici,
la qualité d’acquisition est un critère aussi important vu qu’on a intérêt à avoir
un système qui capte des donnés avec une exactitude optimale. Le stockage (la
taille du CPU de notre Microcontrôleur est un facteur crucial vu que le système
traitera plusieurs données quotidiennement.

34 | P a g e
Les critères sont classés du plus prioritaire au moins prioritaire.

Tableau 6 : Matrice de PUGH 1

Dans cette matrice de Pugh, la qualité d'image, la résolution et la vitesse de capture sont
évaluées sur une échelle de 1 à 5, où 5 est la meilleure valeur.
De cette comparaison, les caméras Raspberry Pi et USB sont sélectionnées comme les
meilleures options, avec un score global de 17 surpassant la Camera ESP32 et Camera USB.

Tableau 7 : Matrice de PUGH 2

Dans cette matrice de Pugh, la puissance de traitement, la connectivité, la flexibilité, la


facilité d'utilisation et le coût sont évalués sur une échelle de 1 à 5, où 5 est la meilleure
valeur.
Par defaut les solutions Raspberry Pi Model B et Raspberry Pi Model A sont sélectionnées
comme les meilleures options, avec un score global de 20 chacune.

35 | P a g e
Après établissement de la deuxième matrice de Pugh on trouve que les deux
concepts proposés sont inférieurs au datum (le concept solution Raspberry PI 4
model B) en terme de critères prioritaires pour notre système.
Pour cela le meilleur concept de solution qui s’avère pour le moment est la
solution dont on va utiliser la raspberry pi 4 avec sa caméra pour le
prototypage de ce système vu les possibilités qu’il offre en terme d’un
fonctionnement en temps réel qui est fiable, et sa capacité d’acquérir le
maximum des données et les traiter même dans des conditions défavorables
(matricule flou, grande vitesse de véhicule, brouillard etc …).

Figure 7 : composants

36 | P a g e
Chapitre 4 : Implémentation
du concept de solution

37 | P a g e
Dans cette partie projet nous allons apprendre à reconnaître et à lire le numéro
de plaque d'immatriculation des automobiles à l'aide de Raspberry Pi et
OpenCV, ainsi la lecture du numéro de la plaque à l'aide de Tesseract OCR.
En addition nous nous intéressons à présenter l'environnement du matériel et
du logiciel, exploités dans la réalisation du projet, description de la conception
de notre système, sans oublier son étude financière.

Python :
Le langage Python est un langage de programmation open
source multi-plateformes et orienté
Figure 8 : Logo Python

Objet. Grâce à des bibliothèques spécialisées, Python s'utilise pour de


Nombreuses situations comme le développement logiciel, l'analyse de données,
ou la gestion d'infrastructures. Il n'est donc pas, comme le langage HTML par
exemple, uniquement dédié à la programmation web.
OpenCV :
OpenCV (Open Source Computer Vision Library :
http://opencv.org) est une bibliothèque open source qui
comprend plusieurs centaines d'algorithmes de vision par
ordinateur. Il a été lancé chez Intel en 1999 par Gary
Bradsky , et la première version est sortie en 2000.
Vadim Pisarevsky a rejoint Gary Bradsky pour gérer
l'équipe OpenCV du logiciel russe d'Intel. En 2005,
OpenCV a été utilisé sur Stanley, le véhicule qui a
remporté le DARPA Grand Challenge 2005. Plus tard,
son développement actif s'est poursuivi sous le
Figure 9 : OpenCV

soutien de Willow Garage avec Gary Bradsky et Vadim Pisarevsky à la tête du


projet. OpenCV prend désormais en charge une multitude d'algorithmes liés à
la vision par ordinateur et à l'apprentissage automatique et se développe de
jour en jour.
L’API OpenCV 2.x, qui est essentiellement une API C++, par opposition à l'API
OpenCV 1.x basée sur C (l'API C est obsolète et non testée avec le compilateur
"C" depuis les versions OpenCV 2.4)

38 | P a g e
OpenCV a une structure modulaire, ce qui signifie que le package comprend
plusieurs bibliothèques partagées ou statiques. Les modules suivants sont
disponibles :

 Fonctionnalité de base ( core ) : un module compact définissant les


structures de données de base, y compris le tableau multidimensionnel
dense Mat et les fonctions de base utilisées par tous les autres modules.
 Traitement d'image ( imgproc ) : un module de traitement d'image qui
inclut le filtrage d'image linéaire et non linéaire, les transformations
géométriques d'image (redimensionnement, déformation affine et de
perspective, remappage générique basé sur une table), conversion
d'espace colorimétrique, histogrammes, etc.
 Analyse vidéo ( vidéo ) : un module d'analyse vidéo qui comprend des
algorithmes d'estimation de mouvement, de soustraction d'arrière-plan
et de suivi d'objets.
 Étalonnage de caméra et reconstruction 3D ( calib3d ) - algorithmes
géométriques de base à vues multiples, étalonnage de caméra unique et
stéréo, estimation de pose d'objet, algorithmes de correspondance
stéréo et éléments de reconstruction 3D.
 2D Features Framework ( features2d ) : détecteurs de caractéristiques
saillantes, descripteurs et apparieurs de descripteurs.
 Détection d'objets ( objdetect ) : détection d'objets et d'instances des
classes prédéfinies (par exemple, visages, yeux, tasses, personnes,
voitures, etc.).
 Interface graphique de haut niveau ( highgui ) : une interface facile à
utiliser pour des fonctionnalités d'interface utilisateur simples.

39 | P a g e
 E/S vidéo ( videoio ) : une interface facile à utiliser pour la capture vidéo
et les codecs vidéo.
 ... d'autres modules d'assistance, tels que les wrappers de test FLANN
et Google, les liaisons Python, etc.

OpenCV-Python :

Figure 10 : OpenCV-Python

OpenCV-Python est une bibliothèque de liaisons Python conçue pour résoudre


les problèmes de vision par ordinateur.
Python est un langage de programmation à usage général lancé par Guido van
Rossum qui est devenu très populaire très rapidement, principalement en
raison de sa simplicité et de la lisibilité du code. Il permet au programmeur
d'exprimer des idées en moins de lignes de code sans réduire la lisibilité.
Comparé à des langages comme C/C++, Python est plus lent. Cela dit, Python
peut être facilement étendu avec C/C++, ce qui nous permet d'écrire du code
intensif en calcul en C/C++ et de créer des wrappers Python pouvant être
utilisés comme modules Python. Cela nous donne deux avantages :
premièrement, le code est aussi rapide que le code C/C++ d'origine (puisque
c'est le code C++ réel qui fonctionne en arrière-plan) et deuxièmement, il est
plus facile de coder en Python qu'en C/C++. OpenCV-Python est un wrapper
Python pour l'implémentation OpenCV C++ originale.

40 | P a g e
OpenCV-Python utilise Numpy , qui est une bibliothèque hautement optimisée
pour les opérations numériques avec une syntaxe de style MATLAB. Toutes les
structures de tableau OpenCV sont converties vers et à partir de tableaux
Numpy. Cela facilite également l'intégration avec d'autres bibliothèques qui
utilisent Numpy telles que SciPy et Matplotlib.

OCR :
La reconnaissance optique des caractères, ou Optical Character Recognition –
OCR en anglais, est une conversion électronique d’images textuelles
dactylographiées, manuscrites ou imprimées. Ce texte est encodé par une
machine dans un fichier de format texte.
Ces images et documents peuvent être numérisés sous forme de document
texte, de photo de document ou de photo de scène d’une capture de matricule
d’une voiture pour la Reconnaissance automatique des plaques
d’immatriculation.
Le challenge de l’OCR repose principalement sur la difficulté à reconnaître les
différentes polices de caractères qui démultiplient les façons d’écrire chaque
symbole. Ceci fait en sorte qu’avant même de sélectionner un algorithme
d’OCR, l’image en elle-même doit être prétraitée pour en assurer la lecture.

Prétraitement
La majorité des logiciels d’OCR prétraitent les images pour augmenter les
chances de reconnaissance.
Les techniques de prétraitement comprennent :
1. Réalignement (de-skew)
Si le document n’a pas été correctement aligné lorsqu’il est numérisé, il peut
avoir besoin d’être tourné de quelques degrés dans le sens horaire ou
antihoraire pour s’assurer que les lignes de texte soient parfaitement
horizontales ou verticales.
2. Déparasitage (Despeckle)
Enlever les taches sur le document ou lisser ses bords.
3. Binarisation

41 | P a g e
Convertir une image en noir et blanc (appelé une « image binaire » parce qu’il
n’y a que deux couleurs). La tâche de binarisation est effectuée comme un
moyen facile et précis de distinguer le texte de l’arrière-plan.
4. Suppression de la ligne
Nettoyer les boîtes et les lignes non glyphes.
5. Analyse de mise en page ou « zonage »
Identifier les colonnes, les paragraphes, les légendes, sous forme de blocs.
Particulièrement utile dans les mises en page et les tables multicolonnes.
6. Détection de lignes et de mots
Établir des formes avec les mots et les caractères de base, diviser les mots au
besoin.
7. Reconnaissance du script
Dans plusieurs documents linguistiques, le script peut se transformer au niveau
des mots. Donc l’identification du script est essentielle avant que l’OCR puisse
être utilisé pour gérer un script en particulier.
8. Isolation des caractères ou « segmentation »
Divers caractères liés par des artefacts d’images doivent être divisés. Par
exemple, les caractères uniques qui ont été divisés en plusieurs morceaux
basés devraient être liés.
9. Normalisation
Normaliser le ratio des dimensions de l’image (aspect ratio) et l’échelle (scale
ratio).

Extraction des propriétés statistiques de l’image


Il existe essentiellement deux méthodes principales pour extraire les propriétés
statistiques d’une image en OCR :
 l’algorithme de détection définit un caractère en évaluant ses lignes
et ses traits;
 la reconnaissance des motifs, fonctionne en identifiant l’ensemble du
caractère.

42 | P a g e
Nous pouvons reconnaître une ligne de texte en recherchant des lignes de
pixels blancs qui ont des pixels noirs entre les deux. De la même façon, nous
pouvons reconnaître où un caractère commence et où il se termine.
Les images suivantes démontrent visuellement ces méthodes respectivement :

Figure 11 : Détection des lignes et traits.

Ensuite, nous convertissons l’image du caractère en une matrice binaire où les


pixels blancs sont des 0 et les pixels noirs sont des 1 comme indiqué dans
l’image suivante :

Figure 12 : Échantillon de matrice binaire

Post-traitement
La précision de l’OCR peut être améliorée si son extrant est limité par un
lexique (une liste de mots autorisés dans un document). Par exemple, un
lexique pourrait comprendre tous les mots en anglais ou une liste de mots plus
techniques spécifiques à un domaine en particulier.
Évidemment, cette méthode sera moins efficace si le document contient des
mots qui ne sont pas dans le lexique. C’est souvent le cas avec les noms
propres par exemple.

43 | P a g e
Heureusement, pour améliorer la précision il existe plusieurs librairies d’OCR
gratuites sur Internet. La librairie Tesseract par exemple utilise son dictionnaire
pour contrôler la segmentation des caractères.
L’extrant de l’algorithme peut être une seule chaîne ou un fichier de caractère.
Les systèmes OCR plus avancés peuvent conserver la structure de page
d’origine et créer un PDF contenant à la fois les pages d’image d’origine et le
rendu textuel décodé.

Corriger les erreurs


Afin de corriger certaines erreurs, l’analyse des proches voisins peut utiliser des
fréquences de cooccurrence en notant que certains mots ont été vus
ensemble. Par exemple de ces deux expressions similaires, « Washington, D.C.
» est plus répandu dans la langue anglaise que « Washington DOC ».

44 | P a g e
Conception

45 | P a g e
I/Environnement technique du projet :
Le projet ANPR (Automatic Number Plate Recognition), ou reconnaissance
automatique de plaques d'immatriculation, repose sur un environnement
technique complexe combinant plusieurs éléments pour assurer une
performance optimale. Au cœur de cette solution se trouve un système de
traitement d'images avancé, utilisant des algorithmes de vision par ordinateur
et d'apprentissage automatique pour extraire les informations cruciales des
plaques d'immatriculation.
Les caméras installées dans le cadre du projet ANPR sont dotées de capteurs
haute résolution et de technologies d'imagerie avancées, permettant une
capture précise des plaques d'immatriculation dans des conditions variées, que
ce soit de jour ou de nuit. L'éclairage adaptatif et les filtres infrarouges sont
souvent intégrés pour garantir une qualité d'image optimale quel que soit
l'environnement lumineux.
L'infrastructure logicielle du projet repose sur des algorithmes de traitement
d'images sophistiqués, capables de reconnaître et de segmenter les caractères
des plaques d'immatriculation. Ces algorithmes sont souvent entraînés à l'aide
de vastes ensembles de données, utilisant des techniques d'apprentissage
profond pour améliorer la précision de la reconnaissance.

1. Environnement matériel
Dans notre système ANPR commandés par les informations captées par la ou
les caméras situées dans ou à côté de la barrière, et gérée par des capteurs de
préséance du véhicule, et un moteur commandé pour l’ouverture ou la
fermeture de la barrière.
Camera pi

Dans notre cas, la caméra pi représente le point d'entrée de toutes


les fonctions de notre système, permettra la détection d’obstacles,
détection de lignes de la route, détection des feux et des
panneaux de signalisation, piéton, obstacles…

46 | P a g e
Raspberry Pi est carte basée sur un processeur ARM et permet
l'exécution du système d'exploitation GNU/Linux/Windows 10
IoT et des logiciels compatibles.
Dans ce projet c’est le dispositif principal qui sera soumis à
beaucoup de pression, et assumera la plupart des responsabilités,
car il doit être en permanence:
 alimenté
 connecté avec un point d’accès (wifi ) .

Afin d’assurer :

 traitement d’image : détection des obstacles ,panneaux,…


 la communication entre les véhicules : l’envoi des DATA
(panneaux de signalisation , les alertes , … )
 le contrôle des différentes parties du système et
commandes des moteurs,…

Tableau 8 : Table de spécification des composants

2. Environnement logiciel :
Oracle VM Virtual box :
Oracle VM VirtualBox est un logiciel libre de virtualisation publié par Oracle.
• Machine hôte : La machine hôte représente la machine physique qui va «
héberger » une ou plusieurs machines virtuelles. VirtualBox est installé sur la
machine hôte.
• Système hôte : Le système hôte représente le système d'exploitation
(OS) (Windows, MacOS ou Linux) qui est installé sur la machine hôte.
• Machine invitée : La machine invitée représente la machine virtuelle qui
sera allouée et gérée par l'hyperviseur VirtualBox. On l'appelle aussi parfois
"client".
• Système invité : Le système invité représente le système d'exploitation
(OS) qui est installé sur la machine virtuelle. N'importe quel système
d'exploitation peut être utilisé comme système invité sur VirtualBox.

47 | P a g e
II/ Les axes du projet

Contrôle
Figure 133 : Les étapes du processus

Détection :
La caméra PI est un composant de la chaine de détection prélève les
informations utiles de la présence du véhicule et la capture d’immatriculation.

Figure 14 : Fonction détection et acquisition

48 | P a g e
• Traitement :
Des programmes seront développés et lancés sur la Raspberry pi traitent les
données reçues des capteurs (Infra rouge, Camera PI) ou par communication et
agit sur le système.
Les programmes ou les scriptes seront responsables de :
 Collecte des données des capteurs : détection du véhicule et
l’acquisition de la capture d’immatriculation.
 Gestion des données : préparation des bibliothèques, et de la base
de données.
 Traitement de l’image : l’utilisation de la bibliothèque OpenCV pour
les transformations géométriques d'image, et l’application du filtre
pour garder que les contours et la détection de la matricule puis
extraction des caractères en utilisant l’Optical Character
Recognition.
 Vérification : La comparaison des caractères extraire avec la base de
données des immatriculations autorisé.

Figure 15 : Fonction traitement

49 | P a g e
50 | P a g e
III/Etude financière du projet :
Le tableau ci-dessous représente les résultats de l’étude financière effectuée
pour notre projet :

Totale : 1085,00MAD
Figure 16 : Etude financière du projet

51 | P a g e
Chapitre 5 : Réalisation

52 | P a g e
I/ Configuration du logiciel :
1.Virtual Machine et configuration de la Raspberry pi
 Etape 1 : Installation des applications d’affichage du desktop RPI 4 dans un écran de pc.
Putty :
C’est un émulateur de terminal doublé d'un client pour les protocoles SSH, Telnet, rlogin, et
TCP brut. Il permet également des connexions directes par liaison série RS-232.

Figure 17: Putty configuration

Initialisation de la Raspberry PI 4.
On peut commander la RP4 par l'adresse :
168.192.8.110
Premièrement on commande le terminal de la RPI4 via l’application Putty pour entrer le Login et le
password pour pouvoir l’accéder à partir du VNC viewer.
 Etape 2 : Configuration de la connexion de l’applications Putty R :

Figure 18 : Putty logn in

Password: pfa2024

 Etape 3 : configuration de l’Interface de la Raspberry PI :

Figure 19 : Activation du driver de la caméra

47 | P a g
 Etape 4 : l’activation de Vnc Viewer

Figure 20 : Driver de la caméra est activée

VNC Viewer:

Virtual Network Computing est un dispositif créé en 1999 permettant d'accéder à un bureau
d'ordinateur à distance via le protocole RFB.

48 | P a g
Figure 21 : Dans le Vnc Viewer on peut accéder à la caméra PI

 Etape 5 : l’activation de la caméra PI

Figure 22 : l’activation de la caméra PI

49 | P a g
Figure 23 : Le bureau de la Raspberry pi

Traitement d'image :
Puisque on manque toujours du matériel on va programmer la RPI de traité
des images qu’on a importé de google dans le système :

Pour acquérir une plaque d’immatriculation d’une image qui contient


plusieurs détails, on doit installer la bibliothèque OpenCV qui inclut le filtrage
d'image linéaire et non linéaire et traiter l'image, y compris la localisation de la
plaque d'immatriculation, la suppression de l'arrière-plan, la suppression du
bruit, l'amélioration des caractères et la correction de l'inclinaison.

On va importer toutes les bibliothèques nécessaires pour commander notre


système.

import cv2 : est une bibliothèque open-source populaire pour la vision par ordinateur.
Elle est utilisée ici pour effectuer des opérations de traitement d'image.

import pytesseract : est une interface Python pour Tesseract-OCR, un moteur OCR
open-source. Cette bibliothèque permet de reconnaître du texte dans des images.

50 | P a g
from picamera import PiCamera : Cette ligne importe la classe PiCamera du
module picamera, qui permet de contrôler la caméra Raspberry Pi.

from picamera.array import PiRGBArray : Cette ligne importe la classe


PiRGBArray du module picamera.array. Elle est utilisée pour obtenir des images au format
RGB à partir de la caméra Raspberry Pi.

import imutils : est une bibliothèque facilitant l'utilisation d'OpenCV, en simplifiant


certaines opérations courantes.

import time : Cette ligne importe le module time, qui est utilisé pour introduire des
délais dans le script, par exemple pour attendre que la caméra se stabilise avant de capturer
une image.

import os : Le module os fournit une interface pour interagir avec le système


d'exploitation, et il peut être utilisé ici pour gérer des opérations liées aux fichiers et aux
répertoires.

from datetime import datetime : Cette ligne importe la classe datetime du


module datetime. Elle est utilisée pour obtenir la date et l'heure actuelles, potentiellement dans
le but de nommer les fichiers générés.

# Définir le répertoire pour enregistrer les images

save_directory
Ce code = "saved_images"
définit un répertoire appelé "saved_images" pour sauvegarder les
images traitées. La fonction os.makedirs
os.makedirs(save_directory, est utilisée pour créer le répertoire s'il
exist_ok=True)
n'existe pas déjà (exist_ok=True garantit qu'aucune erreur n'est générée si le
répertoire existe déjà).

# Définissez le facteur de conversion de pixels en centimètres (ajustez-le en fonction


de votre configuration)
pixels_to_cm = 0.1 # Example value, replace with your actual conversion factor

Cette variable (pixels_to_cm) représente le facteur de conversion de pixels en


centimètres. Elle est utilisée pour convertir les mesures des pixels dans les

51 | P a g
images vidéo en distances réelles en centimètres. Le commentaire suggère que
vous devriez ajuster cette valeur en fonction de votre configuration spécifique.

# Initialiser les variables pour le calcul de la vitesse

prev_timesont
Ces variables = time.time()
initialisées pour calculer la vitesse d'un objet dans les images
vidéo.prev_position
prev_time stocke
= le temps précédent où la vitesse a été calculée,
prev_position stocke la position précédente de l'objet, et speed stocke la
None speed = 0
vitesse calculée.

# Enregistrer l'image toutes les X images par seconde

save_interval
Ces variables = 50 # Adjust
contrôlent this valueàbased
la fréquence on how
laquelle les often
imagesyousont
wantsauvegardées.
to save images
La variable save_interval
save_counter =0 détermine le nombre d'images entre chaque
sauvegarde d'image. save_counter garde une trace du nombre d'images
traitées depuis la dernière sauvegarde.

# Créer une fenêtre pour l'affichage des résultats

cv2.namedWindow('Results',
Ce code crée une fenêtre appelée cv2.WINDOW_NORMAL)
'Results' pour afficher les images vidéo
traitées. La fonction cv2.namedWindow
cv2.resizeWindow('Results', 800, 600) # crée
Adjustune fenêtre,
window etneeded
size as cv2.resizeWindow
définit la taille initiale de la fenêtre.

# Plaque d'immatriculation suspectée avec un espace


suspected_license_plate = "ABC 123"

Cette variable (suspected_license_plate) stocke une chaîne représentant une


plaque d'immatriculation suspecte. Elle pourrait être utilisée pour des

52 | P a g
traitements ultérieurs, comme la comparaison des plaques d'immatriculation
détectées dans les images vidéo avec cette valeur prédéfinie.

Cette def
fonction (calculate_speed) prend la position actuelle d'un objet en
argument et calcule sa vitesse en fonction de la différence de temps (time_diff)
calculate_speed(current_position):
entre le temps actuel et le temps précédent où la vitesse a été calculée. La
global prev_time, prev_position,
fonction utilise des variables globales (prev_time, prev_position, speed) pour
speedl'état
current_time = time.time()
conserver entre les appels de fonction.
time_diff = current_time - prev_time
if prev_position is not None:
# Appliquez le facteur de conversion ici pour obtenir la vitesse en centimètres par seconde

speed =du
Cette partie (distance
code *complète
pixels_to_cm) /
la fonction calculate_speed présentée
précédemment.
time_diff prev_time = current_time
Elle calcule la distance
prev_position parcourue par un objet entre deux instants dans le
= current_position
temps.
return speed
En utilisant le facteur de conversion (pixels_to_cm), elle convertit cette
distance en centimètres.
Elle divise ensuite cette distance par la différence de temps (time_diff) pour
obtenir la vitesse en centimètres par seconde.
Les variables globales prev_time et prev_position sont mises à jour pour être
utilisées lors du prochain appel de la fonction.

53 | P a g
def enhance_characters(image):

# Convertir en niveaux de gris

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Appliquer une égalisation adaptative de l'histogramme

clahe = cv2.createCLAHE(clipLimit=2.0,
# Appliquer une binarisation adaptative tileGridSize=(8, 8))

_,enhanced
thresh = =cv2.threshold(enhanced,
clahe.apply(gray) 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

# Effectuer des transformations morphologiques pour améliorer la visibilité du texte

kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))

opening = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations=1)

closing = cv2.morphologyEx(opening, cv2.MORPH_CLOSE, kernel, iterations=1)

return closing
Cette fonction enhance_characters prend une image en couleur (image)
comme entrée.
Elle convertit l'image en niveaux de gris et applique une égalisation adaptative
de l'histogramme pour améliorer la luminosité.
Ensuite, elle applique une binarisation adaptative pour obtenir une image
binaire.
Des transformations morphologiques (ouverture et fermeture) sont appliquées
pour améliorer la visibilité du texte dans l'image.
L'image améliorée est renvoyée.

def recognize_plate(frame):
global speed, save_counter
# Convertir l'image en niveaux de gris
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

La fonction cvtColor de la bibliothèque OpenCV est utilisée pour convertir


l'image couleur (frame) en niveaux de gris.
Cela simplifie le traitement ultérieur de l'image en la transformant en une seule
composante de luminance.

54 | P a g
# Appliquer une égalisation adaptative de l'histogramme

Un objetclahe = cv2.createCLAHE(clipLimit=2.0,
clahe tileGridSize=(8,
est créé en utilisant la méthode 8))
createCLAHE de la bibliothèque
OpenCV.enhanced_gray = clahe.apply(gray)
Cette méthode crée un égaliseur d'histogramme adaptatif en spécifiant des
paramètres tels que clipLimit (limite de clip) et tileGridSize (taille de la grille).
L'objet clahe est ensuite appliqué à l'image en niveaux de gris (gray) pour
améliorer le contraste et la visibilité des caractéristiques.

# Appliquer un flou gaussien pour réduire le bruit


blurred = cv2.GaussianBlur(enhanced_gray, (5, 5), 0)

La fonction GaussianBlur est utilisée pour appliquer un filtre de flou gaussien à


l'image améliorée en niveaux de gris (enhanced_gray).
Les paramètres spécifiés, (5, 5), indiquent la taille du noyau gaussien, et 0
représente l'écart-type du noyau.
Cela a pour effet de réduire le bruit et de rendre l'image plus lisse.

# Utiliser le détecteur de contours Canny


edges = cv2.Canny(blurred, 50, 150)

Le détecteur de contours Canny de la bibliothèque OpenCV est appliqué à


l'image floue (blurred).
Les valeurs 50 et 150 sont les seuils de gradient, et ils déterminent quelles sont
les valeurs de gradient considérées comme des contours.

55 | P a g
# Trouver les contours dans l'image des contours

contours,
La fonction _ = cv2.findContours(edges.copy(),
findContours trouve les contours danscv2.RETR_EXTERNAL,
l'image des contours
cv2.CHAIN_APPROX_SIMPLE)
résultant de l'étape précédente.
cv2.RETR_EXTERNAL spécifie le mode de récupération des contours externes
(pas de contours internes).
cv2.CHAIN_APPROX_SIMPLE spécifie le type d'approximation des contours
(compression horizontale, verticale et diagonale).

# Filtrer les contours en fonction de la surface (ajuster le seuil si nécessaire)


valid_contours = [cnt for cnt in contours if cv2.contourArea(cnt) > 1000]

Les contours trouvés sont filtrés en fonction de leur surface à l'aide de la


fonction cv2.contourArea.
Seuls les contours dont la surface est supérieure à 1000 pixels carrés sont
considérés comme valides. Vous pouvez ajuster ce seuil en fonction de vos
besoins.

# Itérer à travers les contours valides

Une foisfor
lescontour in valid_contours:
contours valides obtenus, la boucle itère à travers chacun d'eux.
x, y, w, h = cv2.boundingRect(contour)
cv2.boundingRect est utilisée pour obtenir les coordonnées du rectangle
englobant le contour, représenté par (x, y, w, h).

# Recadrer la région d'intérêt (ROI) contenant la plaque d'immatriculation potentielle


roi = frame[y:y + h, x:x + w]

La région d'intérêt (ROI) contenant potentiellement la plaque d'immatriculation


est extraite de l'image d'origine (frame) en utilisant les coordonnées du
rectangle englobant.
.

56 | P a g
# Utilisation de Tesseract OCR pour reconnaître le texte :

Cette text
ligne= pytesseract.image_to_string(roi, config='--psm
utilise la bibliothèque pytesseract 8')
pour appliquer Tesseract OCR à la
région d'intérêt (ROI) roi de l'image.
Le paramètre config='--psm 8' spécifie le mode de segmentation de page 8,
adapté à la reconnaissance de mots.

# Vérification d'une correspondance partielle avec la plaque d'immatriculation


suspecte :

#ifAjouter
suspected_license_plate.lower() in text.lower():
du texte au-dessus de la plaque d'immatriculation indiquant qu'il s'agit d'une
plaque suspecte

cv2.putText(frame,
Si le texte "Suspected
extrait contient License", (x, y - 50),
une correspondance cv2.FONT_HERSHEY_SIMPLEX,
partielle avec la plaque
0.5, (0, 0, 255), 2)
d'immatriculation suspecte, le texte "Plaque Suspecte" est ajouté au-dessus de
la plaque dans le cadre (frame).

# Affichage du texte reconnu sur le cadre :


if text:

print("License Plate: ", text)


# Dessiner le cadre autour de la plaque d'immatriculation

#cv2.rectangle(frame, (x, y),pour


Améliorer les caractères (x + une
w, ymeilleure
+ h), (0, 255, 0), 2)
visibilité

#enhanced_roi = enhance_characters(roi)
Dessiner la ROI améliorée sur le cadre d'origine

#frame[y:y + h,
Dessiner le x:x +reconnu
texte w] = cv2.cvtColor(enhanced_roi, cv2.COLOR_GRAY2BGR)
sur le cadre (changer la couleur du texte en blanc)

cv2.putText(frame,
Si du texte est extrait, ilf"License Plate:sur
est affiché {text}", (x, y - 10),
la console.
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2)

57 | P a g
Un rectangle est dessiné autour de la plaque d'immatriculation dans le cadre.
Les caractères de la plaque sont améliorés pour une meilleure visibilité.
La ROI améliorée est dessinée sur le cadre d'origine.
Le texte reconnu est également affiché sur le cadre avec des informations sur la
plaque.

# Calcul et affichage de la vitesse :

plate_center_x
Le centre horizontal= de
(x +la
x +plaque
w) // 2 d'immatriculation est calculé.
current_speed = calculate_speed(plate_center_x)
La fonction calculate_speed est appelée pour obtenir la vitesse actuelle de la
plaque.
La vitesse est affichée sur le cadre.

# Vitesse d'affichage en centimètres par seconde (changer la couleur du texte en


blanc)

Affichercv2.putText(frame, f"Speed: {current_speed:.2f} cm/s", (x, y -


la vitesse ne centimètres/seconde
30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2)
# Affichage de l'heure actuelle :

current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")


cv2.putText(frame, f"Time: {current_time}", (x, y - 70),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 2)
L'heure actuelle est obtenue et affichée sur le cadre.

58 | P a g
# Enregistrement du frame à l’intervalles X :

À des ifintervalles
save_counter % save_interval
réguliers, le cadre==est
0: enregistré avec un nom de fichier qui
inclut filename
des informations
= telles que le texte de la plaque, la vitesse, le temps, et
le numéro du cadre.
f"{save_directory}/plate_{text}speed{current_speed:.2f}time{current_time}frame{sav
e
Le compteur save_counter est incrémenté à chaque itération.
_counter}.png"
cv2.imwrite(filename,
return
frame)frame
Le cadre modifié est renvoyé, prêt à être affiché ou traité dans la boucle
principale du script.

if _name_ == "_main_":
# Initialisation de la PIcaméra

camera = PiCamera()
camera.resolution = (1280, 720) # Increase resolution
camera.framerate = 32
rawCapture = PiRGBArray(camera, size=(1280, 720)) # Update size accordingly
Cette section s'exécute uniquement si le script est exécuté directement (pas
importé en tant que module).
La caméra Raspberry Pi est initialisée avec une résolution de 1280x720 pixels et
un taux de rafraîchissement de 32 images par seconde.
rawCapture est créé pour capturer les images brutes de la caméra.

# Préchauffage de la caméra:
time.sleep(2.0)

59 | P a g
La caméra est mise en marche pendant 2 secondes pour permettre à ses
composants de se stabiliser avant de commencer à capturer des images.

# Boucle sur les cadres d’images de la caméra :

for frame
La boucle in camera.capture_continuous(rawCapture,
for itère en continu, capturant chaque image de la caméra.
format="bgr", use_video_port=True):

# Récupérer le tableau NumPy représentant l'image


frame = frame.array
# Redimensionner l'image pour de meilleures performances
frame = imutils.resize(frame, width=800) # Adjust width accordingly

Chaque image capturée est représentée comme un tableau NumPy.


L'image est redimensionnée en largeur à 800 pixels (modifiable en fonction des
besoins) pour améliorer les performances.

# Effectuer l'ANPR sur l'image


result_frame = recognize_plate(frame)

La fonction recognize_plate est appelée pour effectuer la reconnaissance


automatique de plaques d'immatriculation sur l'image.

# Afficher le résultat dans la fenêtre 'Results'


cv2.imshow('Results', result_frame)

Le résultat de l'ANPR (image modifiée) est affiché dans une fenêtre nommée
'Results' à l'aide de la bibliothèque OpenCV (cv2).

60 | P a g
# Effacer le flux en préparation pour la prochaine image
rawCapture.truncate(0)

Le flux rawCapture est effacé pour permettre la capture de la prochaine image


brute.

# Interrompre la boucle si la touche 'q' est pressée

if cv2.waitKey(1)
La boucle & 0xFF ==
est interrompue ord('q'):
si la touche 'q' est pressée dans la fenêtre
d'affichage.
break

# Fermer la fenêtre 'Results'


cv2.destroyWindow('Results')

Une fois que la boucle est terminée (touche 'q' pressée), la fenêtre 'Results' est
fermée.

61 | P a g
Conclusion
En conclusion, le projet ANPR a démontré avec succès la capacité de reconnaître et d'analyser
automatiquement les plaques d'immatriculation avec une précision élevée. Grâce à l'utilisation de
technologies avancées telles que la vision par ordinateur et les réseaux neuronaux, notre système a
été en mesure d'effectuer une identification rapide et fiable des plaques d'immatriculation dans des
conditions variées, y compris de jour comme de nuit et dans des environnements météorologiques
difficiles.

Les avantages de ce système incluent une amélioration significative de l'efficacité des processus de
surveillance et de contrôle du trafic, une réduction des délais de traitement des données et une
augmentation de la sécurité routière grâce à la détection rapide des véhicules suspects. Cependant, il
est important de noter que l'efficacité globale du système dépend de la qualité des données
d'entrée, de la maintenance régulière du système et de la conformité aux normes de protection de la
vie privée.

Des perspectives d'amélioration future pourraient inclure l'intégration de fonctionnalités


supplémentaires telles que la reconnaissance de caractères multilingue, l'optimisation des
performances en temps réel et l'exploration de méthodes innovantes pour traiter les situations
complexes. En résumé, le projet ANPR représente une avancée significative dans le domaine de la
surveillance automatisée, offrant des solutions pratiques pour améliorer la sécurité et l'efficacité des
opérations liées à la gestion du trafic routier.

62 | P a g

Vous aimerez peut-être aussi