Vous êtes sur la page 1sur 67

ISMAIK 2019/2020

Dédicace
<<Réussir, c’est les combles de mes rêves que dire donc qu’on le partage avec les personnes qu’on
aime ne se demander jamais plus >>

A mon cher père

Ce travail est le fruit de tes sacrifices que tu as consenti pour mon éducation et ma formation, je ne te
remerciement jamais assez. Que Dieu te protège et t’accorde une longue vie.

A ma tendre maman

Celle que j’adore tellement, ma raison d’être, ma raison de vivre la lanterne qui éclaire mon chemin,
puisse dieu, le tout puissant, te préserver et l’accorder santé et joie.

A mes chères frères et sœur

Pour tous le soutient et la coopération qu’ils m’ont offerte. Qu’elle trouve dans ce travail
L’expression de mon profond respect et reconnaissance. Que les garde tous, et leurs préserve bonheur
et santé.

A tous mes amis

Pour vos encouragements et pour avoir été là pour moi chaque fois que j’en avais besoin.

A tous ceux qui m’aiment, a tous ceux que j’aime que cette modeste dédicace puisse vous témoigner
ma profonde gratitude pour votre immense amour, votre confiance et vos paroles apaisantes qui m’ont
toujours fait garder le sourire.

A tous ceux qui ont contribué de près ou de loin pour la réussite de ce projet, veuillez trouver
ici le respect et la reconnaissance que j’éprouve pour vous.

i
ISMAIK 2019/2020

Remerciements

Nous tenons, tout d’abord, à remercier Dieu le tout puissant et miséricordieux, qui nous a donné la
force et la force et la patience d’accomplir ce modeste travail.

Au terme de ce travail qui a été réalisé au sein d’Institut Supérieur des Mathématiques
Appliquées et de l'Informatique à Kairouan, nous voudrons bien présenter nous remerciements à tous
ceux qui ont contribué à son bon déroulement.

Nous tenons également à remercier notre encadreur Madame SAFFAR Dhikra pour son accueil, sa
bienveillance, la générosité de ses efforts et pour ses précieux conseils qu’elle nous a toujours
prodigués.

Nous tenons aussi à remercier l’entreprise T.U.C.S pour l’accueil qui nous a été réservé et
particulièrement Monsieur HAJRI Mongi, tuteur de stage, pour la mission qi nous a été confiée, pour
son aide son soutien, ainsi que pour ses conseils pour réussir ce projet.

C’est un grand honneur pour nous que vous avez bien voulu accepter de juger notre projet de fin d’étude.

Nous présentons aussi notre profonde gratitude à tous nos enseignants qui ont contribué à notre
formation durant nos études.

ii
ISMAIK 2019/2020

Tableau de matière

Contents
Dédicace ...................................................................................................................................................... i

Remerciements ........................................................................................................................................... ii

Tableau de matière .................................................................................................................................... iii

Liste des figures ......................................................................................................................................... vi

Liste des tableaux .................................................................................................................................... viii

Introduction générale ..................................................................................................................................1

Chapitre1 : Etude préalable ..............................................................................................................................3

Introduction..................................................................................................................................................4

I. Présentation de la société d’accueil : ......................................................................................................4

1. Tunisien Universal Communication System (T.U.C.S) ...................................................................4

2. Fiche technique ..............................................................................................................................5

3. Organigramme de l’entreprise.........................................................................................................5

4. Les services de la société ................................................................................................................5

II. Présentation du projet :.......................................................................................................................6

1. Contexte du projet : ........................................................................................................................6

2. Objectif de projet : ..........................................................................................................................6

3. Travail demandé ...................................................................................................................................7

III. Analyse des besoins : .........................................................................................................................7

1. Exigences fonctionnelles : ..............................................................................................................7

2. Exigences non fonctionnelles :........................................................................................................8

Conclusion ...................................................................................................................................................8

Chapitre 2 : Architectures et technologie utilisées ............................................................................................9

Introduction................................................................................................................................................ 10

I. Lecture automatique des plaques d’immatriculations ........................................................................... 10


iii
ISMAIK 2019/2020
1. Définition : ................................................................................................................................... 10

2. Algorithmes de localisation des plaques existants ......................................................................... 11

3. Filtrage bilatéral ........................................................................................................................... 11

4. Détection de contour et opérations morphologiques ...................................................................... 11

5. Extraction de la plaque ................................................................................................................. 12

II. Exigences matérielles ....................................................................................................................... 12

1.Caméra Pi ............................................................................................................................................ 12

2. Raspberry pi ....................................................................................................................................... 14

III. Méthodologie ................................................................................................................................... 19

Conclusion ................................................................................................................................................. 21

Chapitre 3 : Conception .................................................................................................................................. 22

Introduction................................................................................................................................................ 23

I. Méthode et langage de modélisation .................................................................................................... 23

1. Choix d’UML (Unified Modeling Language) ............................................................................... 23

2. Modèle du cycle de vie ................................................................................................................. 25

II. Identification des besoins : ............................................................................................................... 26

1. Identification des acteurs : ............................................................................................................ 26

2. Identification des cas d’utilisation : ............................................................................................... 27

3. Schéma global de cas d’utilisation : .............................................................................................. 27

4. Diagramme d’activité ................................................................................................................... 34

5. Diagrammes de séquences des cas d’utilisation :........................................................................... 36

6. Diagramme de classe .................................................................................................................... 38

Conclusion ................................................................................................................................................. 39

Chapitre 4 : Réalisation .................................................................................................................................. 40

Introduction................................................................................................................................................ 41

I. Description de l'environnement de travail : .......................................................................................... 41

1. Environnement matériel :.............................................................................................................. 41


iv
ISMAIK 2019/2020
2. Environnement logiciel : ............................................................................................................... 41

II. Les Langages de programmation utilisés : ........................................................................................ 42

1. Python .......................................................................................................................................... 42

1.1. Présentation de python .................................................................................................................. 42

1.2. Présentation de la bibliothèque OpenCV de Python ...................................................................... 43

2. Flask............................................................................................................................................. 43

3. Vs Code ....................................................................................................................................... 43

4. Bootstrap ...................................................................................................................................... 43

III. Préparation du Raspberry pi ............................................................................................................. 44

1. Fonctionnement ............................................................................................................................ 44

2. Installation.................................................................................................................................... 45

IV. Démonstration.................................................................................................................................. 48

1. Partie embarquée : ........................................................................................................................ 48

2. Partie Web .................................................................................................................................... 52

Conclusion ................................................................................................................................................. 56

v
ISMAIK 2019/2020

Liste des figures


Figure1.1 : logo de la société ............................................................................................................................4
Figure 1.2: Organigramme de T.U.C.S .............................................................................................................5
Figure 2.1:Caméra Pi V2 ................................................................................................................................ 13
Figure 2.2: Raspberry Pi 3 Model B ............................................................................................................... 14
Figure 2.3:Modèle A ...................................................................................................................................... 14
Figure 2.4:Modèle A+ .................................................................................................................................... 15
Figure 2.5:Modèle B ...................................................................................................................................... 15
Figure 2.6:Modèle B+ .................................................................................................................................... 15
Figure 2.7:Raspberry standard ........................................................................................................................ 17
Figure 2.8: système d'exploitation Raspbian ................................................................................................... 18
Figure 2.9:les étapes de notre algorithme ........................................................................................................ 19
Figure 3.1:Modèle en V.................................................................................................................................. 26
Figure 3.2:cas d'utilisation général ................................................................................................................. 28
Figure 3.3:Raffinement du CU « Gérer voitures » .......................................................................................... 29
Figure 3.4:Raffinement du CU « Gérer historiques » ...................................................................................... 31
Figure 3.5:Raffinement du CU « Capturer photo » ......................................................................................... 32
Figure 3.6:diagramme d'activités « Pour capturer » ........................................................................................ 35
Figure 3.7:Diagramme de séquence de CU « Ajouter voitures » ..................................................................... 36
Figure 3.8:Diagramme de séquence du CU « Modifier voitures » ................................................................... 37
Figure 3.9:Diagramme de séquence du CU « Supprimer voiture » .................................................................. 38
Figure 3.10:Diagramme de classe ................................................................................................................... 39
Figure 4.1:composants nécessaires pour commencer avec Raspberry Pi ......................................................... 45
Figure 4.2: '' NOOBS '' fichier d'installation .................................................................................................. 46
Figure 4.3 : Installation de Raspbian dans le Raspberry Pi .............................................................................. 46
Figure 4.4:raspbian installé ............................................................................................................................ 47
Figure 4.5:activation de la caméra .................................................................................................................. 48
vi
ISMAIK 2019/2020
Figure 4.6:capturer l'image ............................................................................................................................. 49
Figure 4.7:detecter matricule .......................................................................................................................... 49
Figure 4.8:reconnaissance de plaque............................................................................................................... 50
Figure 4.9: Résultat de Reconnaissance .......................................................................................................... 50
Figure 4.10:matricule arabe ............................................................................................................................ 51
Figure 4.11:mauvaise détection ...................................................................................................................... 51
Figure 4.12:Interface d’authentification .......................................................................................................... 52
Figure 4.13:mot de passe invalide .................................................................................................................. 53
Figure 4.14:interface des gestions des voitures ............................................................................................... 53
Figure 4.15:modifier voiture........................................................................................................................... 54
Figure 4.16:ajouter voiture ............................................................................................................................. 55
Figure 4.17:détails voiture .............................................................................................................................. 55

vii
ISMAIK 2019/2020

Liste des tableaux


Tableau 1:caractéristique caméra .................................................................................................................... 12
Tableau 3.0.1:Description détaillé de CU « Ajouter voiture » ......................................................................... 29
Tableau 3.0.2: Description détaillé de CU « Modifier voiture » ...................................................................... 30
Tableau 3.3:Description détaillé de CU « Supprimer voiture » ....................................................................... 30
Tableau 5:Description détaillé de CU « ajouter historique » ........................................................................... 31
Tableau 6:Description détaillé de CU « supprimer historique » ...................................................................... 32
Tableau 7:Description détaillé de CU « capturer photo » ................................................................................ 33
Tableau 8:Description détaillé de CU « détecter la plaque » ........................................................................... 33
Tableau 9:Description détaillé de CU « reconnaisse la plaque » ..................................................................... 33
Tableau 10:Description détaillé de CU « vérifier la permission » ................................................................... 34

viii
ISMAIK 2019/2020

Introduction générale
Les systèmes embarqués sont utilisés dans d’innombrables domaines. L’exemple le plus concret est sans
aucun doute les supercalculateurs des voitures. Cette unité de calcul gère de nombreux composants du
véhicule. Il va enclencher certains éléments en fonction des événements. C’est de cette façon que les
airbags seront activés si l’on est face à une collision. De même, le freinage assisté permettra d’éviter une
éventuelle perte de contrôle.

Au cours de ces dernières années, les cartes intelligentes se sont particulièrement démarquées dans ce
domaine. Ces dispositifs peuvent notamment être utilisés comme des pocket PCs. Il suffira de les
connecter à un écran et à un clavier pour pouvoir les employer comme un ordinateur miniature. Ces
équipements sont désormais compatibles à la technologie Wireless. On peut donc connecter différents
périphériques en Bluetooth ou encore établir une connexion en WiFi. Cette innovation élargit grandement
les possibilités d’autant plus que les systèmes embarqués sont maintenant plus accessibles. Les intéressés
peuvent passer commande auprès d’un fournisseur présent sur internet.

Dans nos jours, les systèmes embarqués font une partie principale de la plupart des machines. L’un de
ses usages est traduit sous forme algorithmique ce qu’il est réaliste de l’être humain. De nombreuses
opérations pertinentes de l’analyse d’image et déjà effectuées peuvent aujourd'hui être résolues
automatiquement par des systèmes de vision artificielle, et ceci dans des domaines très diversifiés. Nous
pouvons citer entre l'autre la détection, la commande de qualité lors de la fabrication du matériel, les
applications dans l'imagerie médicale ...

La plaque d’immatriculation désigne une voiture d’une manière unique, et son image représente une
information importante pour identifier son propriétaire. En effet, les images des plaques peuvent être
utilisées comme support principal pour l’identification homme/véhicule, et pour la gestion des
informations des plaques d’immatriculation afin de contrôler le transport public. Par conséquent, la
reconnaissance des plaques d’immatriculation (Licence Plate Recognition) des véhicules est une partie
critique du transport intelligent moderne, depuis que la plaque d’immatriculation est devenue un moyen
simple et efficace pour identifier les véhicules.

1
ISMAIK 2019/2020
Les systèmes de reconnaissances des plaques sont utilisés pour contrôler efficacement la circulation et
l’application de sécurité telles que le contrôle d'accès aux zones restreintes et le suivi des véhicules
recherchés.

Avec l'augmentation du nombre de véhicules, il devient difficile de trouver une place de stationnement
appropriée pour un individu.

C’est dans ce cadre que s’inscrit notre projet de fin d’études réalisé pour l’obtention du diplôme de
mastère en administration et sécurité des systèmes informatiques et réseaux au sein de la société Tunisien
Universal Communication System (T.U.C.S). Consistant à la conception, le développement et la
réalisation d’un système de contrôle d’accès des véhicules à un parking à travers la détection et la
reconnaissance des leurs plaques d’immatriculation via le Raspberry. Fréquemment, il est nécessaire
d’identifier les plaques d’immatriculation des véhicules pour la sécurité. Les informations extraites
peuvent être utilisées pour plusieurs intérêts, comme le contrôle d’accès et de flux, la surveillance des
passages aux frontières et aux péages, la recherche de véhicules suspects ou encore la lutte contre la
criminalité, etc. Ceci rend leurs lectures cruciale et inévitable dans tous ces domaines.

Le présent travail sera organisé en quatre chapitres comme suit :

Dans le premier chapitre intitulé « Etude préalable » nous commencerons par une présentation de la
société d’accueil et une étude du projet et de ses objectifs et nous le terminerons par présenter les
exigences fonctionnelles et non fonctionnelles du système proposé .

Le deuxième chapitre intitulé « Architectures et technologies utilisé » sera consacré pour présenter les
systèmes de transport intelligents et la lecture automatique des plaques d'immatriculation et la deuxième
partie qui présente la Raspberry pi 3 modèle B+ qui consiste à justifier le choix de la carte et à la présenter
ainsi que ses caractéristiques, ses composants et le système d’exploitation. Nous allons également décrire
et expliquer la méthodologie du système.

Le troisième intitulé « Etude conceptuelle » sera consacré à la conception de notre système en utilisant
le langage de modélisation UML.

Le dernier chapitre intitulé « Réalisation » sera consacré à la présentation de l’environnement matériel


et logiciel de notre système ainsi que les tests effectués et la présentation des résultats obtenus.

Enfin, nous terminerons ce rapport avec une conclusion générale et nous proposerons les perspectives de
notre travail.
2
ISMAIK 2019/2020

Chapitre1:
Etude préalable

3
ISMAIK 2019/2020

Introduction
Ce chapitre est consacré à la présentation projet. Dans la première section nous allons tout d’abord
présenter l’entreprise T.U.C.S au sein de laquelle mon stage a été réalisé en décrivant brièvement sa
structure, les différentes activités. La deuxième partie, nous enchainons par une présentation du sujet et
l’analyse des besoins.

I. Présentation de la société d’accueil :

1. Tunisien Universal Communication System (T.U.C.S)


Est une société anonyme, qui s’est spécialisée dans le développement du système IoT (Objets Connectés)
TUCS est un Pioneer en Tunisie en matière de développement de systèmes de contextes, qui permettent
d’offrir des services diverses et personnalisés selon les spécificités de l’offre commerciale du client. La
particularité de ces systèmes réside dans l’offre des solutions intelligentes, permettant de personnaliser
systématiquement l’offre commerciale et d’optimiser les services offerts pour répondre parfaitement aux
besoins spécifiques de client.

Figure1.1 : logo de la société

4
ISMAIK 2019/2020

2. Fiche technique
Le tableau 1 représente quelques informations relatives à la société dans laquelle nous avons effectué
notre stage de projet de fin d’étude.

 Siège social :
1 Rue de parfumerie, Centre EL KSAR, Zone Industrielle Ksar Said 2086 Manouba, TUNISIE
 Type activité :
Développement des systèmes embarqués
 Email :
info@tucs.tn
 Numéros de Téléphone
+216 23 651 718

3. Organigramme de l’entreprise

Figure 1.2: Organigramme de T.U.C.S

4. Les services de la société


4.1. Géolocalisation
La géolocalisation est un procédé permettant de positionner un objet, un véhicule, ou une personne sur
un plan ou une carte à l'aide de ses coordonnées géographiques. Certains systèmes permettent également
de connaître l'altitude (géolocalisation - dans l'espace - en 3D).
5
ISMAIK 2019/2020
4.2. Gestion de Flotte
La gestion du parc de véhicules garantit des rapports fiables aux fins de la facturation, de la comptabilité
et de la fiscalité et aide à mieux prendre soin du parc. Le service de TUCS facilite la planification et la
supervision du travail.

4.3. Tracking en temps réel


Le suivi en temps réel des véhicules et les détails des kilomètres facilitent la supervision et des outils de
reporting fiables améliorent la précision de la facturation.

II. Présentation du projet :


Les villes avec un grand nombre de personnes ont souvent du mal à placer leur véhicule en lieu sûr. Les
grandes villes avec un plus grand nombre de véhicules, on peut à peine trouver un endroit convenable
pour garer son véhicule. De plus, perdre du temps à trouver un endroit pour installer le véhicule prendrait
non seulement du temps, mais augmenterait également les risques de vol. Avec l'évolution de la science
et de la technologie, on peut trouver diverses techniques pour traiter haut avec celles-ci complications
liées au stationnement. Malgré tous ces efforts, il y a encore des erreurs mineures auxquelles on est
confronté, ce qui entraîne d'énormes pertes et défauts de ce système.

1. Contexte du projet :
L’identification automatique des plaques minéralogiques est une technologie incontournable qui
constitue à ce jour le seul moyen technique permettant d’identifier de manière certaine un véhicule sans
nécessiter la collaboration du conducteur et l’installation d’un équipement spécifique à bord du véhicule.

Le déploiement de cette technologie dans le monde entier connait une forte croissance touchant plusieurs
environnements publics tel que les axes routiers, les parkings, les aéroports, les hôtels….

Notre projet tente de résoudre certains problèmes d'espace de stationnement dans une organisation
typique. Notre projet affiche la place de parking totale disponible et permet en même temps uniquement
au véhicule autorisé d'entrer dans le parking. Ceci est réalisé en utilisant la technique de la lecture
automatique de plaques d’immatriculation.

2. Objectif de projet :
La société vise à développer une solution avec des ressources humaines et matérielles. Cette solution a
les caractéristiques suivantes :

Fonctionne en mode autonome le jour et la nuit.


6
ISMAIK 2019/2020
Compatible avec toutes les plaques d’immatriculation.
Taux de reconnaissance élevé.
Possibilité de faire évoluer le système (taille, fonctionnalités, nombre de sites), sans remettre en
cause les systèmes et investissements initiaux.
Equipement robuste aux conditions climatiques et environnementales.
Design ergonomique adapté au besoin de l'application.
Facilité d’installation et de maintenabilité.
Coût compétitif.

3. Travail demandé
Les principaux objectifs de notre projet sont :

Mettre en œuvre l’image de la voiture détecter par la caméra, l’image capturée est ensuite traitée par
Raspberry Pi et les caractères sont extraits de la plaque d'immatriculation du véhicule. Les caractères de
la plaque d'immatriculation sont mis en correspondance avec la base de données et si une correspondance
est trouvée, Raspberry Pi envoie un signal au diode vert pour s'allume comme étant l'ouverture de la porte
pendant un certain intervalle de temps si la matricule est autorisée sinon la raspberry envoie le signal au
diode rouge qui s’allume. Le même processus se répète lorsqu'un véhicule sort.

III. Analyse des besoins :


Le but de cette section est d'introduire les exigences fonctionnelles et non fonctionnelles que notre
système doit répondre.

1. Exigences fonctionnelles :
Le développement est divisé en quatre parties principales :

 Développement d’une carte électronique


 Développement de la librairie logicielle embarquée de reconnaissance automatique
des plaques d'immatriculation.
 Développement d’un serveur de communication et d'une application Web de gestion.

Les fonctionnalités offertes sont :

 Reconnaissance des plaques pendant le jour et la nuit et dans toutes les conditions
climatiques (pluie, soleil, nuage, …).
 Envoi des matricules via wifi à un serveur de gestion d’accès.
7
ISMAIK 2019/2020
 Enregistrement des plaques d’immatriculation détectées dans une base de données.
 Configuration et gestion de deux listes des véhicules autorisés et non-autorisés dans
la base de données : ajout, suppression et modification.
 Exportation de l'historique des reconnaissances à partir de différents filtres : plaque
d'immatriculation, date et heure.

2. Exigences non fonctionnelles :


Ce sont des exigences qui ne concernent pas spécifiquement le comportement du système, mais au lieu
d'identifier les contraintes internes et externes du système. Les principales non-fonctionnelle exigences
de notre application peuvent se résumer dans les points suivants :

 Le coût du système devrait être faible.


 Le système doit être sécurisé contre les menaces qui peuvent affecter son
fonctionnement et résistant aux attaques sur le réseau de capteurs.
 L'interface doit être simple à utiliser.
 Le code doit être clair pour permettre des développements futurs ou des
améliorations.
 Le système doit garantir l'intégrité et la cohérence des données pour chaque mise à
jour et insertion.

Conclusion
Ce chapitre nous a permis de présenter le contexte général de notre projet à travers la description de
l’organisme d’accueil, du cadre de projet, et des besoins à satisfaire. Dans le prochain chapitre nous
présenterons une étude théorique et nous décrirons la méthode utilisée pour la réalisation de ce projet.

8
ISMAIK 2019/2020

Chapitre2:
Architectures et
technologie
utilisées
9
ISMAIK 2019/2020

Introduction
Dans ce chapitre nous allons introduire les systèmes de transport intelligents et la lecture automatique
des plaques d'immatriculation. Nous allons également décrire et expliquer l'algorithme existant pour finir
avec une présentation des différents outils utilisés dans la réalisation de ce projet.

I. Lecture automatique des plaques d’immatriculations


Comme nous le savons, les véhicules du monde ont un numéro d'identification du véhicule qui est en fait
un numéro de licence qui stipule une licence légale de participer à la circulation publique. Tout véhicule
doit avoir son numéro de licence écrit sur une plaque d'immatriculation monté sur son corps et aucun
véhicule sans plaque d'immatriculation visible et lisible ne devrait fonctionner sur les routes. Cette tâche
est généralement accomplie par des techniques de traitement d’image pour l’identification des véhicules
à l’aide de la lecture automatique des plaques d’immatriculations.

1. Définition :
La lecture automatique de plaques minéralogiques utilise la reconnaissance optique de caractères (OCR)
sur les images prises par des caméras. Lorsque les plaques d'immatriculation des véhicules néerlandais
ont été modifiées en 2002, un des changements concerna la police de caractères, dans lesquelles de petits
espaces ont été introduits dans certaines lettres (telles que P et R) pour les rendre plus distinctes, et donc
plus lisibles par tels systèmes. Certaines plaques d'immatriculation varient dans la taille des caractères et
leur position. Les systèmes de lecture automatique de plaques minéralogiques doivent savoir traiter ces
différences pour être vraiment efficaces.

Pour qu’on puisse identifier une plaque d'immatriculation on doit combiner ces cinq algorithmes :

 Localisation de la plaque : responsable de trouver et d'isoler la plaque sur l'image


 Orientation et dimensionnement de la plaque : compensation de l'orientation de la plaque
Et ajustement des dimensions à la taille nécessaire
 Normalisation : ajustement de l'intensité et du contraste de l'image
 Segmentation des caractères : localisation des caractères sur la plaque
 Reconnaissance optique de caractères.

10
ISMAIK 2019/2020

2. Algorithmes de localisation des plaques existants


L’étape de localisation des plaques d’immatriculation est l’étape la plus critique dans la reconnaissance
automatique des plaques car toutes les étapes suivantes dépendent d’elle. En effet, cette localisation des
plaques représente un grand défi vu les différents formats des plaques, les différents styles, la prise de
vue et la variation des conditions d’éclairage lors de l’acquisition des images des véhicules.

Commençant tout d’abord par les méthodes appliquées sur des images binaires, on trouve que la plupart
de ces méthodes utilisent une combinaison des calculs statistiques des contours et des opérations
morphologiques. Ils supposent également que le changement de luminosité dans la région de la plaque
est plus remarquable et plus fréquent que dans la zone extérieure de l’image. Le seul inconvénient de ces
méthodes c’est qu’elles peuvent difficilement être appliquées aux images complexes car ils sont trop
sensibles aux contours indésirables, c’est pour cette raison qu’elles sont combinées avec des opérations
morphologiques pour éliminer ces contours. Quant aux méthodes appliquées sur des images au niveau
de gris, on trouve des différents algorithmes qui traitent l’image globalement, partiellement ou
complètement après des transformations, L’image est balayée horizontalement à partir des lignes
horizontales avec un calcul de nombre des contours.

3. Filtrage bilatéral

Le filtre bilatéral est utilisé, est un filtre de lissage généralement utilisé pour atténuer un bruit qui
corrompt l'information, généralement avant un autre traitement. L’effet de ce filtre sur l’image est assez
similaire au filtre moyenneur, dont la moyenne est pondérée : les pixels près du centre ont un poids plus
important que les autres. L’intérêt de la pondération est de minimiser la perte d’informations tout en
réduisant le bruit global.

4. Détection de contour et opérations morphologiques

On a supposé que les plaques d’immatricules des véhicules sont caractérisées par leur forme
rectangulaire, par leurs hauteur et largeur qui peuvent différer légèrement mais comprises entre des seuils
bien définis, par leur fond blanc et les caractères en noir. Les prétraitements sont suivis par la détection
des contours en utilisant le filtre de Canny. Cette opération est suivie d’une dilatation afin d’améliorer
les contours déjà existants pour une meilleure segmentation.

11
ISMAIK 2019/2020

5. Extraction de la plaque
L’étape finale est l’extraction des plaques. Après la détection des rectangles qui correspondent aux
critères, il faut extraire le rectangle de la plaque, Pour ce faire, une corrélation avec une plaque prédéfinie
est utilisée. Le rectangle qui maximise cette corrélation est la plaque.

II. Exigences matérielles

1.Caméra Pi
1.1. Définition :
Les modules de caméra Raspberry Pi sont des produits officiels de la Fondation Raspberry Pi. Le modèle
original de 5 mégapixels a été publié en 2013, et un module de caméra de 8 mégapixels v2 a été publié
en 2016. Pour les deux itérations, il existe des versions lumière visible et infrarouge. Une caméra de haute
qualité de 12 mégapixels a été lancée en 2020. Il n'y a pas de version infrarouge de la caméra HQ, mais
le filtre IR peut être retiré si nécessaire.

1.2. Choix de caméra :


Tableau 1:caractéristique caméra

Module de Module de Caméra HQ


caméra v1 caméra v2
Prix net 25 $ 25 $ 50 $

Taille Environ 25 × 38 x 38 x 18,4


mm (objectif
24 × 9 mm
non compris)

Poids 3g 3g

Résolution 5 mégapixels 8 mégapixels 12,3


fixe
mégapixels
Capteur Omni Vision Sony IMX219 Sony IMX477
OV5647

12
ISMAIK 2019/2020
Résolution 2592 × 1944 3280 × 2464 4056 x 3040
du capteur
pixels pixels pixels
Zone 3,76 × 2,74 3,68 x 2,76 6,287 mm x
d'image du mm (4,6 mm 4,712 mm
mm
capteur de diagonale) (7,9 mm de
diagonale)
Taille de 1,4 µm × 1,4 1,12 µm x 1,55 µm x
µm 1,12 µm 1,55 µm
pixel

1.3. Camera Module V2


Le Raspberry Pi Camera Module V2 est facile à installer, elle permet de doter votre système ARM
Raspberry Pi d'une caméra 8 Mégapixels. Une solution idéale pour transformer votre Raspberry Pi en
Webcam, Caméra IP ou Caméra de vidéosurveillance. Compatible avec toutes les cartes Raspberry (Pi
Model A/A+/B/B+, Pi 2 Model B, Pi 3...)

Figure 2.1:Caméra Pi V2

13
ISMAIK 2019/2020

Figure 2.2: Raspberry Pi 3 Model B

2. Raspberry pi
Le Raspberry Pi est un ordinateur de la taille d'une carte de crédit qui se branche sur notre téléviseur et
un clavier, qui peut être utilisé pour de nombreuses choses que notre bureau moyen fait dans les feuilles
de calcul. Traitement de texte, jeux et lecture de vidéo haute définition. Le raspberry pi est une série de
petits ordinateurs monocartes qui utilisent Linux comme système d'exploitation. C'est une sorte de
processeur qui fournit différents ports comme la vidéo et le réseau pour l'interaction.

2.1. Modèles et Caractéristiques


Dans ce paragraphe on va faire une brève présentation des modèles et les caractéristiques du Raspberry
Pi.

2.1.1. Modèle A :

Figure 2.3:Modèle A
14
ISMAIK 2019/2020

2.1.2. Modèle A+

Figure 2.4:Modèle A+

2.1.3. Modèle B

Figure 2.5:Modèle B
2.1.4. Modèle B+

Figure 2.6:Modèle B+

15
ISMAIK 2019/2020
Chacun de ces modèles ayant des caractéristiques bien spécifiques pour cela nous avons décidé de
présenter les caractéristiques de chaque modèle dans un schéma qui fait une comparaison entre ces
différents modèles.

Table 2.1:Modèles et Caractéristiques des cartes Raspberry

2.2. Les composants standards


La figure représente un Raspberry standard :

16
ISMAIK 2019/2020

Figure 2. 7:Raspberry standard

 Processeur ARM

Les architectures RAM sont des architectures de processeurs à faible consommation

 Mémoire vive RAM

C’est l’endroit où la carte Raspberry pi sauvegarde les donnes au cours de traitement

La carte Raspberry pi 3b+ possède des différentes connectiques :

 HDMI

Qui sert d’associer le Raspberry PI à un dispositif compatible : écran LCD ou un vidéoprojecteur…

 Port USB 2.0

Le port « Universal Serial Bus » est un port série qui sert à communiquer le Raspberry aux autres
périphériques.

 Port Ethernet

C’est un port qui connecte la carte Raspberry pi à un réseau local.

 GPIO

« General Purpose Input/Output » Le Raspberry Pi à des pins qui sont des ports d’Entrée/Sortie
permettent la connexion d’autres composantes électroniques.

17
ISMAIK 2019/2020
 Slot carte SD

Le Raspberry utilise un périphérique externe de stockage (micro SD) supplémentaire pour fonctionner.
La carte mémoire permettra de stocker les données et le système d’exploitation du Raspberry.

2.3. Système d’exploitation du Raspberry


Comme tout système informatique, le Raspberry Pi nécessite un système d'exploitation pour fonctionner.
Le choix d'un système d'exploitation est une tâche pouvant se révéler ardue. Ce choix repose sur les
besoins de l'utilisateur mais aussi sur ses goûts et préférences. Il est ainsi difficile de dire que tel système
est le meilleur.

Pour cela on va présenter des différents systèmes :

 Raspbian : Est une distribution GNU/Linux basée sur la célèbre Debian. Raspbian est la
distribution la plus simple et plus appropriée pour utiliser le Raspberry Pi.
 Fedora : Est une distribution GNU/Linux sponsorisée par Red Hat. La version disponible à
travers BerryBoot est la version 21 (sortie en 2014). L'environnement de bureau proposé est
MATE.
 Ubuntu 15.04 MATE : Est une distribution GNU/Linux reposant originellement sur Dans notre
projet, nous avons utilisés le système d’exploitation Raspbian

Raspbian est simple à utiliser et il est spécialement conçue et optimisée pour tourner sur un Raspberry Pi
équipé d’un processeur ARM.

Figure 2.8: système d'exploitation Raspbian

18
ISMAIK 2019/2020

III. Méthodologie
Le mécanisme de fonctionnement de toutes les pièces est décrit en détail ci-dessous ; Le modèle logiciel
utilise la technologie de traitement d'image. L'algorithme est divisé en parties suivantes : capture d'image,
prétraitement, extraction de région de plaque, segmentation de caractère dans la plaque d'immatriculation
extraite, reconnaissance de caractères, comparaison avec la base de données et indiquer le résultat.

L'organigramme de la mise en œuvre du système de reconnaissance de plaque d'immatriculation dans ce


travail est illustré dans la figure suivante. Il y a différentes étapes dans cette approche et ce sont la mise
en œuvre dans la programmation Python.

Figure 2.9:les étapes de notre algorithme

19
ISMAIK 2019/2020

Capture d’image :

La première étape est la capture d'image. L'image est capturée par l'appareil électronique Pi Camera
ou Webcam. L'image capturée est stockée au format JPEG. Plus tard, il est converti en image en échelle
de gris.

Prétraitement :

L'étape suivante après la capture de l'image est le prétraitement de l'image. Lorsque l'image est
capturée, il y a beaucoup de perturbations et de bruits présents dans l'image pour lesquels l'image ne peut
pas être utilisée correctement. Alors dans cette étape, les bruits de l'image doivent être éliminés pour
obtenir un résultat précis.

Traitement gris :

Cette étape implique la conversion de l'image en niveaux de gris. Les images couleur sont
converties en image grise. Selon la valeur R, V, B de l'image, il calcule la valeur de la valeur de gris et
obtient en même temps l'image de gris.

Filtrage médian :

Le filtrage médian est l'étape pour supprimer les bruits de l'image. Gris niveau ne peut pas
supprimer les bruits. Donc, pour rendre l'image exempte de filtrage des médias de bruit.

Extraction de la région de la plaque :

La plus importante étape est l'extraction de la plaque d'immatriculation de l'image érodée de


manière significative. L'extraction peut être effectuée en utilisant la méthode de segmentation d'image. Il
existe de nombreuses méthodes de segmentation d'images disponibles dans diverses littératures. Dans la
plupart des méthodes, la binarisation d'images est utilisée.

Segmentation des caractères :

Dans cette étape, obtenez le o / p de la plaque d'immatriculation extraite à l'aide de composants


d'étiquetage, puis séparez chaque caractère et divisez chaque caractère de l'image de la plaque
d'immatriculation en utilisant Split et trouvez également la longueur de la plaque d'immatriculation, puis
20
ISMAIK 2019/2020
recherchez la corrélation et la base de données si les deux La valeur est la même signifie qu'il générera
la valeur 0-9 et A - Z, et finalement convertira la valeur en chaîne et l'affichera dans la zone d'édition, et
stockera également le caractère dans un fichier texte dans ce code.

Conclusion
Dans ce chapitre la première partie est consacré au fonctionnement de système de la lecture et la détection
de la plaque d’immatriculation des voitures. Deuxième partie dédiée à la présentation du Raspberry Pi 3
B, Ainsi les spécificités de la partie logicielle utilisée.

21
ISMAIK 2019/2020

Chapitre3:
Etude
Conceptuelle
22
ISMAIK 2019/2020

Introduction
Dans ce chapitre, nous commencerons par la spécification des besoins. Ensuite, nous présenterons la
conception de quelques cas d’utilisation pour spécifier de façon détaillée les différents aspects statiques
et dynamiques de notre système en effectuant le diagramme de classe et les diagrammes de séquences.
Enfin, on va élaborer le schéma de la base de données de l’application.

I. Méthode et langage de modélisation


La création d’une application informatique ce réalise grâce à la préparation des techniques de
développement qui utilise un modèle de conception avec des structures spéciales. Vu que les analyses et
les structures utiliser par le modèle de conception sa déférent, UML (Unified Modeling Language) c’est
le langage de conception adéquat pour faire suivre notre étude de l’application. Pour cette raison, nous
allons utiliser pour la conception ou modélisations.

1. Choix d’UML (Unified Modeling Language)


Utilisé afin de spécifier, visualiser, modifier et construire les documents nécessaires au bon
développement d’un logiciel orienté objet, on va choisir un langage de modélisation pour mieux
représenter l’architecture logicielle de notre application. C’est l’UML qui est un langage de modélisation,
qui offre un standard de modélisation graphique pour représenter les différents points de vue de système
(fonctionnel, statique, dynamique…)

1.1 Avantage UML


 UML est un langage officiel qui réalise plusieurs bénéfices de régularité et de stabilité.
 Permet de communiquer visuellement des solutions objet
 Découper le processus de développement :
 Faciliter la représentation des techniques de projet
 Largement utilisé langage universel.
 Support pour tout langage de programmation orientée objet

23
ISMAIK 2019/2020

 La polyvalence et la souplesse
 S’adapte aux projets simples
 La modélisation exploitée par les humains et les machines
 La clarté des aspects techniques

1.2. Décomposition UML


UML offrant un ensemble de diagramme adaptés pour :

▪ Les applications objet

▪ Les bases de données relationnelles ou objet

UML se décompose de plusieurs diagrammes, chacun d’eux a un rôle spécifique de représentation des
concepts d’un système logiciel mais, pour réaliser notre projet on va utiliser seulement les suivants :

 Diagramme de cas d’utilisation :

Représente le point de vue fonctionnelle du logiciel c’est-à-dire l’ensemble des fonctionnalités à satisfaire
pour les utilisateurs du système à travers les concepts de cas d’utilisations d’acteurs et leurs relations.

 Diagramme de classe :

Diagramme statique qui représente le point de vue logique du logiciel à travers le concept de classe et les
relations entre classes.

 Diagramme de séquence :

Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le
système selon un ordre chronologique dans la formulation Unified Modeling Language.

 Diagramme d’activité :

Le diagramme d'activité est un diagramme comportemental d'UML, permettant de représenter le


déclenchement d'événements en fonction des états du système et de modéliser des comportements
parallélisables. Le diagramme d'activité est également utilisé pour décrire un flux de travail.

Nous avons utilisé UML pour :

 Gérer l’évolution d’un projet informatique.

24
ISMAIK 2019/2020
 Formaliser la conception d’application.

 Faciliter la communication entre les différents intervenants au sein d’un projet informatique.

 Proposer des outils standardisés prenant en compte de nombreux aspects de la conception.

Ainsi UML présente plusieurs caractéristiques par rapport aux autres langages :

 Sa richesse : il couvre toute la phase d’un cycle de développement.

 Son indépendance : par rapport aux langages des programmations, aux domaines d’application et
aux processus.

 Sa notion graphique : permet d’exprimer visuellement une solution objet ce qui facilite la
comparaison et l’évaluation de solution.

2. Modèle du cycle de vie


Un cycle de vie est un assemblage cohérent de phases qui décrivent la vie d’un objet, une phase x ne peut
commencer que lorsqu’ une phase x-1 est finie.

2.1. Modèle en V
Une représentation graphique en V, possède des boites qui s’appellent : Spécification, conception ; qui
se divise en deux travaux, analyse des besoins et faisabilité, codage, test et finalement la validation.

La signification de chacune des noms des différentes boites est assez claire :

La spécification décrit le quoi, la conception décrit le comment, etc. Il s’agit des disciplines classiques
du développement logiciel.

25
ISMAIK 2019/2020

Figure 3.1:Modèle en V

2.2. Caractéristiques du Modèle en V


Le modèle de cycle de vie en V possède comme principe de départ, que les procédures de vérifications
de la conformité du logiciel aux spécifications doivent être élaborées dès les phases de conception.

 Le modèle en V reste actuellement le cycle de vie le plus connu et certainement le plus utilisé.
 Validation finale montante et confirmation de la validation descendante.
2.3. Avantages du Modèle en V
L’avantage principal d’un modèle en V est sa nécessité d’une formalisation des fonctionnalités du produit
et de ce qui sera fait sur le projet. Il assure nettement de bien approfondir et de se poser les questions
appropriées dès le début du projet, quel que soit du côté client ou prestataire.

II. Identification des besoins :


La phase de modélisation nécessite des méthodes pour mettre en place un modèle d'analyse. Dans notre
cas, nous avons adopté le langage UML, "Unified Modeling Language", qui est une modélisation
graphique langue pour les données et le traitement. Grâce à UML, nous pouvons donner plusieurs vues
d'un système. Dans cette partie, nous identifierons les différents acteurs et cas d'utilisation possible pour
notre système. Ensuite nous présentera la description textuelle et les diagrammes d'activité de certains
cas importants.

1. Identification des acteurs :


Un acteur représente un rôle (une personne ou un autre système externe) qui interagit avec le système.
Par définition, les acteurs sont en dehors du système.

26
ISMAIK 2019/2020
Concernant notre système nous considérons les acteurs suivants :

Technicien : Représente le contrôleur d’application, il gère l’accès à l’application, l’ajout, la


modification, la suppression d’un véhicule il peut aussi test le camera et lancer la détection.
Camera : Le caméra permet d’identifier une voiture par la plaque d’immatriculation de son
véhicule.

2. Identification des cas d’utilisation :


Dans cette partie, nous décrivons les exigences fonctionnelles du système en utilisant les diagrammes de
cas d'utilisation. Le modèles de cas d’utilisation est une interaction entre le système à développer et un
utilisateur. Plus précisément, un cas d'utilisation décrit une séquence d'actions effectuées par le système
qui produit un résultat observable pour un utilisateur. Se référant à cette définition et compte tenu du rôle
de chaque acteur, nous identifions les différentes cas utilisations pour répondre aux besoins fonctionnels
qui sont les cas suivants :

 Authentifier.
 Gérer les véhicules.
 Gérer l’historiques.
 Capturer.

3. Schéma global de cas d’utilisation :


Le diagramme de cas d'utilisation représente la structure des fonctionnalités requises par les utilisateurs
du système. Il est normalement utilisé pendant les étapes de la capture fonctionnelle et technique
exigences. Le schéma suivant illustre les fonctions globales de notre système :

27
ISMAIK 2019/2020

Figure 3.2:cas d'utilisation général

28
ISMAIK 2019/2020
3.1. Raffinement des cas d’utilisation
3.1.1. Raffinement du cas d’utilisation « Gérer voitures »

Figure 3.3:Raffinement du CU « Gérer voitures »

a. Description détaillée du cas d'utilisation « Ajouter voiture »

Tableau 3.0.1:Description détaillée du CU « Ajouter voiture »

Titre : Ajouter voiture


Résumé : Le technicien ajoute une voiture à
sa base de données
Acteur : Technicien
Précondition : Le technicien s’authentifie
Post condition : Une voiture est ajoutée est la base
de données
Scénario normal : 1/ Le technicien lance l’interface
d’ajout des voitures.
2/ Le technicien remplis le
formulaire d’ajout.
3/ Confirmer l’ajout

29
ISMAIK 2019/2020
b. Description détaillée du cas d'utilisation « Modifier voiture »

Tableau 3.0.2: Description détaillée du CU « Modifier voiture »

Titre : Modifier voiture


Résumé : Le technicien modifier une voiture
à sa base de données
Acteur : Technicien
Précondition : Le technicien s’authentifie
Post condition : Voiture modifiée
Scénario normal : 1/ Chercher la voiture à modifier.
2/ Demande de modification de la
voiture.
3/Affichage du formulaire de
modification.
4/ Effectuer la modification.
5/ Enregistrer la modification
c. Description détaillée du cas d'utilisation « Supprimer voiture »

Tableau 3.3:Description détaillée du CU « Supprimer voiture »

Titre : Supprimer voiture


Résumé : Le technicien supprimer une
voiture à sa base de données
Acteur : Technicien
Précondition : Le technicien s’authentifie
Post condition : Voiture supprimée
Scénario normal : 1/Chercher la voiture à modifier.
2/Demande de supprimer une
voiture
3/ Confirmer la suppression.

30
ISMAIK 2019/2020
3.1.2. Raffinement du cas d’utilisation « Gérer historiques »

Figure 3.4:Raffinement du CU « Gérer historiques »

a. Description détaillée du cas d'utilisation « Consulter historiques »

Tableau 3.1.1: Description détaillée du CU « Consulter historiques »

Titre : Consulter historique


Résumé : Le technicien consulte l’historique
d’une voiture à sa base de données
Acteur : Technicien
Précondition : Le technicien s’authentifie
Post condition : L’historique est consulté est la base
de données
Scénario normal : 1/ Le technicien lance l’interface de
la consultation des historiques.

b. Description détaillée du cas d'utilisation « Supprimer historique »

31
ISMAIK 2019/2020
Tableau 3.1.2 : Description détaillée du CU « Supprimer historique »

Titre : Supprimer historique


Résumé : Le technicien supprimer une
voiture à sa base de données
Acteur : Technicien
Précondition : Le technicien s’authentifie
Post condition : Historique supprimée
Scénario normal : 1/Chercher l’historique la voiture à
supprimer.
2/Demande de supprimer une
voiture
3/ Confirmer la suppression.

3.1.3. Raffinement du cas d’utilisation « Capturer photo »

Figure 3.5:Raffinement du CU « Capturer photo »

a. Description détaillée du cas d'utilisation « capturer photo »

32
ISMAIK 2019/2020
Tableau 3.2.1: Description détaillée du CU « Capturer photo »

Titre : Capturer photo


Résumé : La caméra capte la photo et
l’envoie à sa base de données
Acteur : Caméra
Précondition : Présence de voiture
Post condition : Image du voiture capturée
Scénario normal : 1/voiture présente sur ka porte4
2/ camera capture l’image de la
voiture
3/envoie de l’image vers la base de
données
b. Description détaillée du cas d'utilisation « Détecter la plaque »

Tableau 3.2.2: Description détaillée du CU « détecter la plaque »

Titre : Détecter la plaque


Résumé : Le camera détecte la plaque
d’immatriculation
Acteur : Camera
Précondition : Image du voiture capturée
Post condition : Plaque d’immatriculation détectée
Scénario normal : 1/image de la voiture reçue
2/traitement de l’image
3/plaque d’immatriculation détectée
c. Description détaillée du cas d'utilisation « Reconnaissance par plaque »

Tableau 3.2.3: Description détaillée du CU « Reconnaissance de la plaque »

Titre : Reconnaissance de la plaque


Résumé : Reconnaitre les chiffres et les
symboles de la plaque
Acteur : Camera
Précondition : Plaque d’immatriculation détectée
Post condition : Plaque reconnue

33
ISMAIK 2019/2020
Scénario normal : 1/traiter la plaque détectée
2/reconnaitre les chiffres et
symboles
3/requête de la base de données

d. Description détaillée du cas d'utilisation « Vérifier permission »

Tableau 3.2.4: Description détaillée du CU « Vérifier la permission »

Titre : Vérifier la permission


Résumé : Décider si la voiture est autorisée
ou non autorisée
Acteur : Camera
Précondition : Plaque reconnue
Post condition : Autoriser la Voiture d’entrer
Scénario normal : 1/ plaque reçue
2/ comparaison avec la base de
données
3/ allumer led vert.

4. Diagramme d’activité
Le diagramme d'activité est fixé à une catégorie de classe et décrit le flux d'activités dans cette catégorie.
Le flux est appelé « flux de contrôle. » Elle indique la part prise par chaque objet l'exécution d'une tâche
et sera enrichi par les conditions de séquençage.

4.1 Diagramme d’activité de CU « Capturer voiture »


Le cas d'utilisation « Capturer voiture » est représenté par le diagramme d'activité ci-dessous :

34
ISMAIK 2019/2020

Figure 3. 6:diagramme d'activités « Pour capturer »

35
ISMAIK 2019/2020

5. Diagrammes de séquences des cas d’utilisation :

5.1 Diagramme de séquence du CU « Gérer voitures »


a. Diagramme de séquence du CU « Ajouter voitures »

La figure 3.7 représente le diagramme de séquence relatif au cas d’utilisation « Ajouter voiture ». Nous
faisons une référence dans ce diagramme à celui du cas d’utilisation « S’authentifier »

Figure 3.7:Diagramme de séquence de CU « Ajouter voitures »

b. Diagramme de séquence de CU « Modifier voitures »

La figure 3.8 représente le diagramme de séquence relatif au cas d’utilisation « Modifier voiture ». Nous
faisons une référence dans ce diagramme à celui du cas d’utilisation « S’authentifier »

36
ISMAIK 2019/2020

Figure 3.8:Diagramme de séquence du CU « Modifier voitures »

c. Diagramme de séquence de CU « Supprimer voitures »

La figure 3.9 représente le diagramme de séquence relatif au cas d’utilisation « Supprimer voiture ».
Nous faisons une référence dans ce diagramme à celui du cas d’utilisation « S’authentifier »

37
ISMAIK 2019/2020

Figure 3.9:Diagramme de séquence du CU « Supprimer voiture »

6. Diagramme de classe
Figure 3.10 représente le diagramme de classe de notre application qui est constitué des classes : Client,
Technicien, Voiture et Historique.

38
ISMAIK 2019/2020

Figure 3. 10:Diagramme de classe

Conclusion
Dans ce chapitre, nous avons présenté la phase de conception de notre système à travers l’élaboration des
diagrammes de cas d’utilisation, de séquence, de classe et de déploiement. Nous arrivons à la phase de
développement et de réalisation qui est la concrétisation finale du résultat de cette démarche conceptuelle.

39
ISMAIK 2019/2020

Chapitre4:
Réalisation

40
ISMAIK 2019/2020

Introduction

I. Description de l'environnement de travail :


Après avoir terminé l’étude conceptuelle, il faut définir l’environnement technique du projet et décrire
les étapes de la phase d’implémentation. Ce chapitre est destiné alors à présenter cet environnement ainsi
que les outils de développement utilisé tout en justifiant nos choix. Dans ce qui suit, nous allons présenter
quelques interfaces graphiques illustrant ce qui a été réalisé.

1. Environnement matériel :
 PC Portable
Système d’exploitation : Windows 7
Processeur : Intel Core (2Ghz)
RAM : 4 GO
 Carte Raspberry PI 3 model B+
 Caméra pi V2
 Adaptateur vidéo (optionnel, pour l’installation)
 Carte sd
 Led
 Bouton

2. Environnement logiciel :
 SDFormater

Est un programme qui vous fournit un accès facile et rapide à tous les formats de carte mémoire comme
SD.

 MongoDB

Est un système de gestion de base de données orienté documents.

 WIN32 DISK IMAGER

Est un logiciel qui vous permet de créer facilement des images ISO amorçables.

 Tesseract

Est un logiciel de reconnaissance optique de caractères sous licence Apache.

41
ISMAIK 2019/2020

 Pacestar UML Diagrammer

Pour les diagrammes UML et la notation de modélisation de processus métier de OMG (Object
Management Group). Outre la prise en charge de la modélisation, il offre des fonctionnalités de
génération de rapports d’ingénierie, y compris la génération de code.

 VNC (Virtual Network Computing)

Est un système de visualisation et de contrôle de l'environnement de bureau d'un ordinateur distant. Il


permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à
l'ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique.

 Techniques et outils de Reconnaissance Optique des Caractères (OCR)

C’est un ensemble de techniques informatiques qui réalisent une reconnaissance de la forme des
caractères, après captation d’image par procédé optique. Le résultat est souvent transmis sous forme d’un
fichier. Nous avons testé un ensemble d’OCR, et nous avons opté pour le choix de « Tess4J» pour
l’importance de son taux de reconnaissance.

II. Les Langages de programmation utilisés :

1. Python

1.1. Présentation de python


Python est un langage de programmation puissant et facile à manipuler créer par Guido van Rossum, il
nous offre plusieurs fonctionnalités intègres ainsi il contient des bibliothèques qui facilite le
développement sur thèmes différents.

Python est considérer comme étant un langage de programmation interprété (transformation instantanée
en langage machine en cohérence avec la lecture)

Le code d'octet Python est exécuté dans l'interpréteur Python utilisé dans :

• Développement de site web


• l'analyse des données,
42
ISMAIK 2019/2020
• Maintenance du serveur,
• analyse numérique

1.2. Présentation de la bibliothèque OpenCV de Python


OpenCV (Open Source Computer Vision) est une bibliothèque proposant un ensemble de plus de 2500
algorithmes de vision par ordinateur, accessibles au travers d'API pour les langages C, C++, et Python.
Elle est distribuée sous une licence BSD (libre) pour les plateformes Windows, GNU/Linux, Android et
MacOs. OpenCV est aujourd'hui développée, maintenue, documentée et utilisée par une communauté de
plus de 40 000 membres actifs. C'est la bibliothèque de référence pour la vision par ordinateur, aussi bien
dans le monde de la recherche que celui de l'industrie, pour java deux adaptation du projet JavaCV ont
été faite afin de permettre son utilisation, la première est un artifact du projet OpenCV dans la repository
de Maven, la deuxième est un artifact bytedeco qui se trouve aussi dans la repository Maven : ce sont
deux interface DLL différente qui se sert du même noyau qui est OpenCV sous c++.

2. Flask
Flask est un Framework open-source de développement web en Python. Son but principal est d'être léger,
afin de garder la souplesse de la programmation Python, associé à un système de Template.

3. Vs Code
Visual Studio Code est un éditeur de code extensible développé par Microsoft pour Windows, Linux et
macOS2.

4. Bootstrap
Bootstrap une source gratuite et ouverte pour le développement et la création de sites et des application
web.

Il est basé sur HTML, CSS, et Java Script (JS) pour faciliter le développement de sites et d’application
réactif et mobiles dont le design permet à une page web o une application, de détecter la taille et
orientation de l’écran du visiteur et d’adapter automatiquement l’affichage.

43
ISMAIK 2019/2020

III. Préparation du Raspberry pi

1. Fonctionnement
Pour parvenir à ce travail il y a différentes étapes à suivre. Parce que le Raspberry Pi est juste mini-
ordinateur monocarte. Donc, nous aurons besoin d'autres composants en plus de notre carte Raspberry
pi.

 Source de courant : nous avons besoin d'une alimentation micro-USB 5V.


 Clavier USB : à brancher sur un des port USB du raspberry pi.
 Souris USB : Nous pouvons utiliser une souris Bluetooth ou clavier.
 Carte Micro SD : Notre carte microSD doit avoir au moins 8 Go de stockage.
 MicroSD lecteur de carte USB : nous avons besoin pour connecter la carte microSD à notre PC
pour télécharger le logiciel sur celui-ci.
 Un moniteur : qui supporte la vidéo HDMI ou composite : Nous pouvons utiliser une ancienne
affichage vidéo composite, mais HDMI fonctionne mieux et prend en charge les transferts audios.
 Un câble Ethernet (ou connexion WI-FI) : Une connexion à Internet n'est pas requise pour
l'installation, mais notre projet Raspberry Pi utiliser le WiFi .

44
ISMAIK 2019/2020

Figure 4.1:composants nécessaires pour commencer avec Raspberry Pi

2. Installation
2.1. Reformater la carte microSD :
Pour commencer à utiliser Raspberry Pi nous devons reformater la carte microSD que
nous utiliserons pour télécharger le système d'exploitation. Ainsi, reformater supprimera
tous les fichiers et efface complètement la carte.

2.2.Télécharger NOOBS sur la carte microSD :


L'étape suivante consiste à obtenir NOOBS sur la carte microSD. Une fois qu'il est
chargé, nous pouvons brancher notre Raspberry Pi et installer le système d'exploitation.
La carte microSD est déjà connecté à notre ordinateur à ce moment.

45
ISMAIK 2019/2020

Figure 4. 2: '' NOOBS '' fichier d'installation

2.3.Télécharger le système d'exploitation Raspbian sur le Raspberry Pi :


Nous devrions commencer à l'aide du système d'exploitation Raspbian. Il est si facile,
mais nous pouvons utiliser d'autres différents systèmes d'exploitation, nous pouvons
reconfigurer le Raspberry Pi alors. Cet écran de démarrage apparaît sur notre écran alors
comme le montre la figure 4.3:

Figure 4.3 : Installation de Raspbian dans le Raspberry Pi

2.4.Configurer le Raspberry Pi :
Lorsque Raspbian commence à charger un groupe de lignes de messages apparaîtra. Cela
continuera jusqu'à ce que le processus de démarrage soit terminée. Ensuite, l'écran
d'accueil Raspbian apparaît.

46
ISMAIK 2019/2020

Figure 4. 4:raspbian installé

Nous avons exécuté les commandes suivantes dans une session du terminal pour faire la
mise à jour avec la dernière version de tous les paquets, après avoir installé le système
d’exploitation :

Sudo apt-get update


Sudo apt-get upgrade

2.5.Configuration des modules de la Caméra Pi V2


Pour commencer, nous branchons directement notre caméra au port du module de la
caméra à le Raspberry Pi.

Après le démarrage du Raspberry Pi nous accédons au menu principal et ouvrons l’outil


de configuration Raspberry Pi et nous activons l’interface de la caméra, comme montré
dans la figure 4.5 ci-dessous :

47
ISMAIK 2019/2020

Figure 4.5:activation de la caméra

Après, la première chose qu’il essayer est de prendre une simple photo de l'image vue
par la caméra " raspistill " est la commande correspondante sur Raspbian pour prendre
une photo.

Raspistill -o image.jpg

Avec -o (le nom du fichier cible).

IV. Démonstration

1. Partie embarquée :
Notre projet combine les capacités du matériel et des logiciels en un seul système
automatique intégré. L'objectif est de fournir un système de gestion de stationnement
pour les plaques d'immatriculation :

L’image capturée est ensuite traitée par Raspberry Pi et les caractères sont extraits de la
plaque d'immatriculation du véhicule.

48
ISMAIK 2019/2020

Figure 4.6:capturer l'image

Dans la figure 4.7, nous montrons un cas de détection de la plaque d’immatriculation


par notre système.

Figure 4.7:detecter matricule

Lorsque nous essayons l’image de la matricule suivant la Raspberry détecte la plaque


qui les caractères de la plaque d'immatriculation sont mis en correspondance avec la
base de données et on constate que le serveur répond par un id soit égale à 1 c’est à dire
que la correspondance est trouvée et par suite la voiture a un accès autorisé et dans notre
système le led vert s’allume, sinon si l’id égale à 0 cette voiture n’a aucun accès et par
suite le led rouge s’allume.

49
ISMAIK 2019/2020

Figure 4.8:reconnaissance de plaque

Figure 4.9: Résultat de Reconnaissance

Pour faire la comparaison entre les images dans la base de données et les images
détectés, on utilise la fonction difflib.

50
ISMAIK 2019/2020

Échecs dans la reconnaissance des plaques d'immatriculation :


La précision dépend de la clarté de l'image, de l'orientation, de l'exposition à la lumière,
et le type de caractères (caractères arabe).

Figure 4.10:matricule arabe

Figure 4.11:mauvaise détection

Comme vous pouvez le constater, notre programme a pu détecter correctement la plaque


d'immatriculation et la ronger.

Problèmes rencontrés dans le processus de détection et de reconnaissance des plaques


d’immatriculation
Les plaques d’immatriculation ont deux propriétés principales qui devraient contribuer
à l’amélioration des performances des systèmes de la détection. Tout d’abord, les
couleurs possibles d’une plaque de véhicule sont limitées. Deuxièmement, le nombre de
caractères dans une plaque d’immatriculation est fixé. Demeure cependant, des
problèmes classiques de traitement d’image telles que :

51
ISMAIK 2019/2020

- La différence de polices des caractères de la plaque,

- La mauvaise résolution de l’image, soit parce que la plaque est trop loin ou parfois
résultant de

-L’utilisation d’une caméra de mauvaise qualité.

- Les objets qui cachent une partie de la plaque, bien souvent, une barre de remorquage,
ou la saleté sur la plaque,

- Le mauvais éclairage et le faible contraste à cause de la surexposition, la réflexion ou


l’ombre

2. Partie Web
1.1. Interface pour s’authentifier
La première interface montrée dans la figure 4.12 est celle de l’identification du
technicien du parking, là où il va enter son login et mot de passe dans les champs
correspondants pour pouvoir accéder à la page d’accueil de l’application.

Figure 4.12:Interface d’authentification

Une fois que le technicien a cliqué sur le bouton « connexion », le système vérifie les
données entrées. En cas d’échec, un message d’erreur sera affiché.

52
ISMAIK 2019/2020

Figure 4.13:mot de passe invalide

Si le Login et le mot de Passe sont valides, le système passe à la page d’accueil.

1.2. Interface technicien « Gérer voitures »


L’interface montrée dans la figure 4.14 permet d’afficher un tableau qui inclut la liste
des voitures qui sont déjà abonnées avec les numéros de leurs plaques d’immatriculation.

Le tableau affiche le client de la voiture, la matricule, la marque, le modèle, la date et


l’heure de l’abonnement.

Figure 4.14:interface des gestions des voitures

53
ISMAIK 2019/2020

A partir de cette interface le technicien peut effectuer les opérations suivantes :

 Consulter les détails d’une voiture


 Modification des détails d’une voiture
 Suppression d’une voiture
 L’ajout d’une nouvelle voiture

Le technicien peut modifier les données relatives à une voiture.

La figure 4.15 affiche le formulaire utilisé pour la modification et l’enregistrement des


données d’une voiture.

Figure 4.15: Interface de modification des détails d’une voiture

54
ISMAIK 2019/2020

Pour ajouter un nouvelle voiture,l’interface suivante de la figure 4.16 s’affiche :

Figure 4.16: Interface d’ajout d’une voiture

Lorsque nous ajoutons une voiture, on peut voir les détails tels que le client auquel
appartient cette voiture et l’historique de cette dernière comme le montre la figure 4.17

Figure 4.17: Interface de consultation des détails d’une voiture

55
ISMAIK 2019/2020

Conclusion
Dans ce chapitre nous avons présenté l’implémentation de quelques cas d’utilisations
pour achever l’architecture logicielle de notre application. Nous avons exposé quelques
interfaces utilisateurs, aussi nous avons décrit les environnements matériels et logiciels
que nous avons utilisé pour l’implémentation de notre système.

56
ISMAIK 2019/2020

Conclusion générale
L’objectif de notre travail est de développer un système de détection et de
reconnaissance de plaques minéralogiques ayant la capacité d’extraire les caractères
d’immatriculation.

Le travail suivant représente le fruit d’une recherche dans le domaine de la


reconnaissance des plaques d’immatriculation, dans lequel nous nous sommes intéressés
à extraire les caractéristiques des plaques.

Après avoir présenté la société d'accueil et la problématique de notre projet, nous avons
présenté les différentes technologies utilises pour l’accomplissement de ce travail ainsi
que la méthodologie utilisée pour la reconnaissance des plaques d’immatriculation.

Nous avons réussi à détecter avec une grande précision les chiffres formant la matricule
du véhicule. En fait la reconnaissance nécessite le passage par les différentes étapes de
prétraitement tels que la détection de Canny Edge, la segmentation d'image, l’OCR, etc.

En plus, d’avoir atteint l’objectif final demandé, ce projet nous a été très bénéfique car
il nous a permis de maîtriser plusieurs techniques, de manipuler des outils très
complexes, se familiariser avec le langage de programmation Python et explorer ses
riches bibliothèques et aussi manipuler et réaliser un système embarqué.

La vraie problématique pour identifier des plaques d’immatriculation réside dans le fait
de pouvoir faire de la reconnaissance optique des caractères sur une petite partie d’image
extraite de séquences enregistrées, souvent dans des conditions de grande vitesse et de
faible luminosité. De plus, le fait de ne disposer que de très peu d’images hautes
définition par seconde sur la plupart des caméras vidéo entraîne un manque de netteté
lors de la capture de ces images. Pour cela, il faut procéder à un prétraitement de ces
images à la détection des contours, pour permettre une reconnaissance optique assez
fiable des caractères.

On peut citer comme perspectives de notre projet, nous souhaiterons améliorer les
résultats obtenus afin de résoudre ce problème. Aussi, d'autres technologies peuvent être
utilisées pour l'identification des véhicules, comme par exemple la RFID. Cette
technologie est aujourd'hui utilisée dans de nombreuses applications. Les véhicules

57
ISMAIK 2019/2020

pourraient ainsi être équipés de systèmes RFID mémorisant des informations


élémentaires (marque du véhicule, type, immatriculation...) puis être lus par des unités
bord de voie.

Enfin, ce projet était une bonne occasion pour réaliser un travail très concret, avec des
objectifs clairs et bien définis et il a été très bénéfique car il nous a permis de maîtriser
plusieurs techniques et de manipuler des outils très complexes.

58
ISMAIK 2019/2020

Références webographies

https://openclassrooms.com/fr/paths/68-developpeur-dapplication-python
https://python.doctor/
http://dictionnaire.sensagent.leparisien.fr/Lecture%20automatique%20de%20pl
aques%20min%C3%A9ralogiques/fr-fr/
https://www.researchgate.net/post/How_can_I_use_Raspberry_Pis_camera_mo
dule_for_real-time_acquisition_by_python
https://www.generationrobots.com/fr/402927-raspberry-pi-3-modele-b.html
https://projects.raspberrypi.org/en
https://community.ibm.com/community/user/legacy
https://pymotion.com/lecture-plaques-dimmatriculation/
http://isidoredd.documentation.developpement-
durable.gouv.fr/documents/CETTEXST005348/CETTEXST005348_2.pdf
https://fr.wikipedia.org/wiki/Filtre_m%C3%A9dian
https://opensource.google/projects/tesseract?fbclid=IwAR3puGtyu0I9Jbmyb1
Q0QCGb4-kkGR84lK_wVm_r9aBqWXI2Ja8CvYwrsdU
https://docs.python.org/3/library/difflib.html?fbclid=IwAR3puGtyu0I9Jbmyb1
Q0QCGb4-kkGR84lK_wVm_r9aBqWXI2Ja8CvYwrsdU

59

Vous aimerez peut-être aussi