0% ont trouvé ce document utile (0 vote)
103 vues45 pages

Reconnaissance de Plaques par Deep Learning

Le document décrit un travail sur la reconnaissance automatique des plaques d'immatriculation en République Démocratique du Congo à l'aide de l'apprentissage profond. Le document est divisé en plusieurs chapitres abordant les concepts théoriques, l'état de l'art, la vision par ordinateur et la mise en œuvre du modèle proposé.

Transféré par

Bajikila Amand
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
103 vues45 pages

Reconnaissance de Plaques par Deep Learning

Le document décrit un travail sur la reconnaissance automatique des plaques d'immatriculation en République Démocratique du Congo à l'aide de l'apprentissage profond. Le document est divisé en plusieurs chapitres abordant les concepts théoriques, l'état de l'art, la vision par ordinateur et la mise en œuvre du modèle proposé.

Transféré par

Bajikila Amand
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 PDF, TXT ou lisez en ligne sur Scribd

SUJET DE TRAVAIL

APPRENTISSAGE ARTIFICIEL BASÉ SUR LES


RÉSEAUX DE NEURONES À CONVOLUTION
POUR LA RECONNAISSANCE DES PLAQUES
D’IMMATRICULATION

Par : David MUETU KASONGA


Introduction 1/4

Depuis quelques années, l’intelligence


artificielle est devenue l’une des grandes
priorités des grands acteurs de
l’économie numérique et des entreprises.
Son but est de permettre à des
ordinateurs de penser et d’agir comme
des êtres humains. Elle est présente dans
tous les domaines de la vie quotidienne.
Introduction 2/4
L’apprentissage automatique (machine learning)
est au cœur de la science des données et de
l’intelligence artificielle. Il s’intéresse
essentiellement à construire des modèles qui
permettent aux machines (ordinateur ou autre
engin) d’apprendre, de s’entrainer à partir
d’exemples afin de pouvoir évoluer de manière
autonome. Ses applications sont nombreuses et
variées entre autre la traduction automatique,
l’analyse des réseaux sociaux, la publication
ciblée, la vision par ordinateur, etc.
Introduction 3/4
La vision par ordinateur est une branche de
l’intelligence artificielle dont le but est de permettre
à une machine de comprendre ce qu’elle voit
lorsqu’on la connecte à une ou plusieurs caméras.
Elle est aussi un domaine interdisciplinaire qui traite
de la façon dont les ordinateurs peuvent être conçus
pour acquérir une compréhension de haut niveau à
partir d’images ou des vidéos numériques. Du point
de vue de l’ingénierie, elle cherche à automatiser les
taches que le système visuel humain peut effectuer.
Dans ce mémoire, nous l’appliquerons à la
reconnaissance des plaques d’immatriculation.
Introduction 4/4
Un système de reconnaissance automatique des plaques
d’immatriculation est une technologie qui trouve son essence dans
ces dernières années. Son but est l’identification automatique d’un
véhicule en appliquant des technologies avancées de traitement
d’image ainsi que les OCR. Il devient de plus en plus une nécessité
dans la gestion de plusieurs domaines comme la circulation et la
sécurité routière, la gestion des parkings ou la poursuite des
criminels.
Problématique 1/4
La République Démocratique du Congo, pays en
voie de développement, vit encore en marge de
ces opportunités qu’offrent les TIC. Avec
actuellement plus de 8 000 000 de véhicules
actifs, les autorités de notre pays sont
confrontées à plusieurs difficultés pour faire une
gestion efficace et optimale de ces multiples
engins routiers. Parmi ces difficultés, nous
pouvons citer :
Problématique 2/4
 La difficulté d’identifier et reconnaitre en temps réel des
plaques d’immatriculation des véhicules pour les associer
aux propriétaires des véhicules ;
 La difficulté classifier les automobiles grâce à leurs
immatriculations pour le paiement des impôts et
assurances ;
 La difficulté de traquer pour détection et reconnaissance des
plaques d’immatriculation des véhicules recherchés ;
 D’après l’administration fiscale de la Ville de Kinshasa, à
peine 28 000 vignettes sur les 150 000 prévues (en termes de
minimum) ont été vendues l’année 2017. Ce qui représentait
environ 6% des prévision réalisées
Problématique 3/4

Tous ces problèmes élucidés prouvent à


suffisance l’enclavement numérique dont
bénéficie la République Démocratique du
Congo en ce 21ème siècle. En tant que
chercheur, et dans le souci de contribuer à
l’essor technologique de notre pays, nous nous
sommes posés la question suivante :
Problématique 4/4

Comment peut-on arriver à


reconnaitre les plaques
d’immatriculation sans
intervention humaine afin
de résoudre les difficultés
citées ci-haut ?
Hypothèse 1/1

Ainsi, pour répondre à la question


précédente, nous avons pensé qu’un
modèle pour la reconnaissance
automatique de plaques en utilisant les
traitements d’images, la reconnaissance
optique des caractères et les réseaux des
neurones à convolution serait une
solution adéquate.
Intérêt du travail 1/1

Ce travail nous est très bénéfique car il nous a permis de comprendre


l’apprentissage automatique, spécialement la vision par ordinateur, pour y
produire ce premier fruit de nos recherches grâce au traitements d’image, les
OCR et à la programmation avec le langage python.
Sur le plan social, il est d’intérêt économique dans le sens où il permettra à
l’état congolais de maitriser l’effectif des automobiles accompagné des
informations spécifiques à chaque véhicule. Ce travail revêt aussi un intérêt
scientifique dans le sens où il pourra servir de modèle pour les chercheurs
qui aimeraient embrasser ce domaine aussi passionnant.
Objectif du travail 1/1
Les objectifs poursuivis dans ce travail sont les
suivants :
 Concevoir un modèle pour la reconnaissance des
plaques d’immatriculation basé sur les réseaux des
neurones à convolution
 Entrainer et optimiser le modèle pour améliorer
ses résultats
Méthodes et techniques utilisées 1/1
La réalisation concrète de ce travail a demandé de faire
recours au technique documentaire qui consiste en une
fouille systématique de tout ce qui est écrit ayant une
liaison avec notre domaine de recherche.
Nous avons aussi fait recours à la méthode expérimentale
qui nous a permis d’expérimenter la reconnaissance des
plaques d’immatriculation avec nos jeux de données et la
méthode descriptive nous a permis de décrire le processus
de reconnaissance des caractères
Division du travail 1/5

Ainsi, pour arriver à


trouver un remède au
problème posé, nous
avons divisé notre travail
de la manière suivante :
Division du travail 2/5
Le premier a porté sur les
concepts théoriques de la base.
Ce chapitre nous a permis de
comprendre les notions de
machine learning, deep learning
et le traitement d’images. Nous
l’avons subdivisé en 3 sections
Division du travail 3/5

Le deuxième a porté sur l’etat


de l’art, ce chapitre. Ce chapitre
nous permis de lire les autres
auteurs qui ont travaillé sur le
même sujet que nous.
Division du travail 4/5

Le troisième chapitre a porté sur la


vision par ordinateur. : ce chapitre
nous a permis de comprendre la
vision par ordinateur qui est une
branche de l’intelligence par
ordinateur et aussi la reconnaissance
des caractères.
Division du travail 5/5

Le dernier a porté sur


l’implémentation du modèle.
Dans ce chapitre nous avons conçu
notre modèle, nous avons présenté
son architecture et nous l’avons
implémenté avec le langage
python.
Chapitre 1 : Concepts théoriques de base 1/3

Section 1 : Machine Learning


La faculté d’apprendre est très importante à
l’être humain pour reconnaitre une voix, une
personne, un objet, un symbole, un caractère,
etc.
L’apprentissage automatique ou artificiel
(Machine Learning en anglais) est un des
champs d’étude de l’intelligence artificielle qui
fait référence à la capacité d’un système à
acquérir et intégrer de façon automatique des
connaissances.
Chapitre 1 : Concepts théoriques de base 2/3
Section 2 : Deep Learning
Le Deep Learning est un nouveau domaine de
recherche du ML, qui a été introduit dans le but de
rapprocher le machine learning de son objectif
principal : l’intelligence artificielle. Il concerne les
algorithmes inspirés par la structure et le
fonctionnement du cerveau.
Le Deep learning est un sous-ensemble des
techniques de machine learning à base de réseaux
de neurones qui s’appuient sur des réseaux de
neurones à plusieurs couches dites cachées.
Le Deep Learning est une méthode de Machine
Learning qui consiste à enseigner à des ordinateurs
ce dont les humains sont naturellement capables.
Chapitre 1 : Concepts théoriques de base 3/3
Section 3 : Traitement d’image

Le traitement d’image est un domaine très


vaste qui a connu, et qui connait encore un
développement important depuis quelques
dizaines d’années.
Le traitement d’images est l’ensemble des
opérations effectués sur l’image dans le but
d’en améliorer la lisibilité et d’en extraire les
informations jugées pertinentes.
Chapitre 2 : Etat de l’art 1/2
Dans ce chapitre, nous faisons un inventaire
synthétique de travaux antérieurs en rapport avec
notre orientation. Plusieurs chercheurs ont déjà
abordé ce sujet. Nous avons présenté certains
travaux lus qui constituent la revue de la
littérature. Nous avons donc présenté pour chaque
travail, les objectifs, les algorithmes utilisés, les
outils utilisés enfin nous présenterons les résultats
obtenus.
Chapitre 2 : Etat de l’art 1/2
Conclusion et positionnement (Orientation de notre
travail)
Comme nous l’avions dit dans plus haut, dans ce projet,
nous allons travailler sur la reconnaissance des plaques. Par
rapport aux travaux précités, nous allons ajouter l’aspect
apprentissage et utiliser les réseaux de neurones à
convolution pour la classification afin d’améliorer les
résultats. Nous allons aussi utiliser les outils sophistiqués
pour l’apprentissage notamment le langage python
contrairement aux travaux cités ci-haut.
Chapitre 3: Vision par ordinateur 1/2
La vision par ordinateur désigne la capacité d’un ordinateur à
percevoir des informations visuelles à l’aide de caméras vidéo. Elle
est une technologie d’intelligence artificielle permettant aux
ordinateurs de voir de la même façon que les êtres humains.
La vision artificielle est l’application la plus courante et diversifiée
de l’IA. C’est l’une des principales applications du deep learning.
Nous l’appliquerons à la reconnaissance des plaques
d’immatriculation.
Il y’a différents types de vision par ordinateur. Ils varient selon ce
que l’ordinateur tente d’identifier. L’ordinateur peut chercher du
texte, des images ou des visages. Nous avons présenté quelques cas
d’usage de la vision par ordinateur mais nous nous sommes
beaucoup plus penché sur la reconnaissance optique de caractères.
Chapitre 3: Vision par ordinateur 2/2
Reconnaissance des caractères
La Reconnaissance Optique de Caractères (OCR) est
l'un des domaines de reconnaissance de formes, qui
fait référence à une série des étapes qui vise à
transformer une image de texte manuscrit ou
imprimé en une représentation compréhensible
qu'un ordinateur peut facilement reconnaître. Par
conséquent, les systèmes OCR est appliqué dans
plusieurs domaines tels que : traitement bancaire de
chèque, la reconnaissance de code postal, le tri du
courrier, les bibliothèques numériques, etc.
Chapitre 4: Implémentation 1/5
Outils utilisés pour l’implémentation du
modèle
Google Colaboratory, souvent raccourci en "Colab",
est un produit de Google Research. Colab permet à
n'importe qui d'écrire et d'exécuter le code Python de
son choix par le biais du navigateur. C'est un
environnement particulièrement adapté au machine
learning, à l'analyse de données et à l'éducation. En
termes plus techniques, Colab est un service hébergé
de notebooks Jupyter qui ne nécessite aucune
configuration et permet d'accéder gratuitement à des
ressources informatiques, dont des GPU.
Chapitre 4: Implémentation 1/5
Outils utilisés pour l’implémentation du
modèle
Python est un langage de programmation interprété,
multiparadigme et multiplateforme. Python est un langage
de programmation de haut niveau interprété (il n’y a pas
d'étape de compilation) et orienté objet avec une sémantique
dynamique. Il est très sollicité par une large communauté de
développeurs et de programmeurs. Python est un langage
simple, facile à apprendre et permet une bonne réduction du
coût de la maintenance des codes. Les bibliothèques
(packages) python encouragent la modularité et la
réutilisabilité des codes. Python et ses bibliothèques sont
disponibles (en source ou en binaires) sans charges pour la
majorité des plateformes et peuvent être redistribués
gratuitement.
Chapitre 4: Implémentation 1/5
Outils utilisés pour l’implémentation du
modèle
Tensorflow est une bibliothèque open-source
développée par l’équipe Google Brain qui
l’utilisait initialement en interne. Elle
implémente des méthodes d’apprentissage
automatique basées sur le principe des réseaux
de neurones profonds (deep learning). Une
API Python est disponible. Nous pouvons
l’exploiter directement dans un programme
rédigé en Python. TensorFlow est l'un des
outils les plus utilisés en IA dans le domaine
de l'apprentissage machine
Chapitre 4: Implémentation 1/5
Outils utilisés pour l’implémentation du
modèle
Keras est une librairie Python qui encapsule
l’accès aux fonctions proposées par plusieurs
librairies de machine learning, en particulier
Tensorflow. Conçue pour permettre une
expérimentation rapide avec les réseaux de
neurones profonds, elle se concentre sur son
ergonomie, sa modularité et ses capacites
d’extension. Elle a été développée dans le
cadre du projet ONEIROS (Open-ended
Neuro-Electronic Intelligent Robot Operating
System).
Chapitre 4: Implémentation 1/5
Outils utilisés pour l’implémentation du
modèle
OpenCV (Open Computer Vision) est
une bibliothèque graphique libre, initialement
développée par Intel, spécialisée dans
le traitement d'images en temps réel. La
bibliothèque OpenCV met à disposition de
nombreuses fonctionnalités très diversifiées
permettant de créer des programmes en partant
des données brutes pour aller jusqu'à la création
d'interfaces graphiques basiques.
Chapitre 4: Implémentation 1/5
Base d’image utilisé
Le jeu de données EMNIST est un ensemble
de chiffres de caractères manuscrits dérivés
de la base de données spéciale NIST 19 et
converti en un format d’image de 28x28
pixels une structure de jeu de données nd
qui correspond directement au jeu
de données.
Nous avons utilisé l’ensemble des données
‘emnist-balanced’ qui contient 86 400 images
d'entraînement, 14 400 images de test.
Architecture du modèle 01
Le modèle ci-contre est composé de 3 couches de convolution, trois Model: "sequential"
couches de Maxpooling et trois couches entièrement connectés et une _________________________________________________________________
Layer (type) Output Shape Param #
couche de sortie. =================================================================
L’image en entrée est de taille 28*28, l’image passe à la première conv2d (Conv2D) (None, 28, 28, 64) 640
couche de convolution. Cette couche est composée de 64 filtres, la max_pooling2d (MaxPooling2D (None, 14, 14, 64) 0
)
fonction d’activation ReLU est utilisée, cette fonction d’activation
force les neurones à retourner des valeurs positives. dropout (Dropout) (None, 14, 14, 64) 0
Ensuite le Maxpooling est appliqué pour réduire la taille de l’image conv2d_1 (Conv2D) (None, 14, 14, 128) 73856
par 2 chaque dimension et de ses paramètres. A la sortie de cette max_pooling2d_1 (MaxPooling (None, 7, 7, 128) 0
couche nous aurons 64 features maps de taille 14*14. Ensuite nous 2D)
faisons un dropout qui est utilisé pendant l’apprentissage pour forcer dropout_1 (Dropout) (None, 7, 7, 128) 0
la sortie de certains neurones à zéro. Ceci permettra de repartir
conv2d_2 (Conv2D) (None, 7, 7, 256) 295168
l’apprentissage sur tous les neurones et il permet d’avoir un
apprentissage beaucoup plus efficient. max_pooling2d_2 (MaxPooling (None, 4, 4, 256) 0
2D)
On refait la même chose avec la deuxième couche de convolution qui
est composée de 128 filtres et la troisième qui est composée de 256 dropout_2 (Dropout) (None, 4, 4, 256) 0
filtres, la fonction d’activation ReLU est toujours appliquée. Le flatten (Flatten) (None, 4096) 0
Maxpooling est appliquée après les couches de convolutions deux et dense (Dense) (None, 250) 1024250
trois. Et à la sortie de la dernière couche de Maxpooling, nous aurons
256 features maps de taille 4*4. On refait un dropout. Nous mettons dense_1 (Dense) (None, 250) 62750
tous l’image à plat car nos images sont dejà plus petite. Nous mettons dense_2 (Dense) (None, 250) 62750
un réseau de neurones composé de trois couches entièrement dropout_3 (Dropout) (None, 250) 0
connecté qui ont chacune 250 neurones avec la fonction d’activation
dense_3 (Dense) (None, 47) 11797
ReLU et la dernière couche est la couche de sortie est composé de 47
neurones avec une fonction d’activation Softmax qui permet de =================================================================
Total params: 1,531,211
calculer la distribution de probabilité des 47 classes (nombre de classe Trainable params: 1,531,211
dans le dataset emnist-balanced). Non-trainable params: 0
_________________________________________________________________
Architecture du modèle 02
Model: "sequential"
_______________________________________________________________
__
Layer (type) Output Shape Param #
===============================================================
==
Pour le deuxième modèle, nous
conv2d (Conv2D) (None, 28, 28, 16) 23248 utiliserons 4 couches convolutives
conv2d_1 (Conv2D) (None, 28, 28, 32) 131104
avec une couche de Maxpool. Nous
conv2d_2 (Conv2D) (None, 28, 28, 64) 131136
conv2d_3 (Conv2D) (None, 28, 28, 64) 65600
utiliserons également 2 couches
max_pooling2d (MaxPooling2D (None, 7, 7, 64) 0 denses ou les derniers couches
)
dropout (Dropout) (None, 7, 7, 64) 0
denses auront 36 unités de sortie (26
flatten (Flatten) (None, 3136) 0 alphabets + 10 chiffres) et la
dense (Dense) (None, 128) 401536 fonction d’activation utilisée sera
dense_1 (Dense) (None, 36) 4644
Softmax car il s’agit d’un problème
===============================================================
==
Total params: 757,268
de multi-classification.
Trainable params: 757,268
Non-trainable params: 0
_______________________________________________________________
__
Evaluation du modèle
Evaluation du modèle
Nous constatons d’après ces figures que la précision de
l’apprentissage et de la validation augmente avec le nombre
d’époque. A chaque époque, notre modèle est à mesure
d’apprendre plus. Les abscisses montrent l’epoch qui est exprimé
en heure et les axes des ordonnées en pourcentage.
Nous constatons également que l’erreur d’apprentissage et la
validation diminue avec le nombre d’époque. Les abscisses
montrent l’epoch qui est exprimé en heure et les axes des
ordonnées en pourcentage.
Evaluation du modèle

Chaque ligne du tableau correspond à une classe prédite, et


chaque colonne correspond à une classe réelle.
Evaluation du modèle
Evaluation du modèle
Nous constatons d’après ces figures que la précision de
l’apprentissage et de la validation augmente avec le
nombre d’époque. A chaque époque, notre modèle est à
mesure d’apprendre plus. Les abscisses montrent l’epoch
qui est exprimé en heure et les axes des ordonnées en
pourcentage. Nous constatons également que l’erreur
d’apprentissage et la validation diminue avec le nombre
d’époque. Les abscisses montrent l’epoch qui est exprimé
en heure et les axes des ordonnées en pourcentage.
Comparaison des résultats

Ce tableau montre l’architecture Modèle Architecture Nombre Précision Erreur

utilisée dans chaque modèle. Les d’époque obtenu sur


CONV POOL FC l’apprentissa
résultats obtenus sont exprimés ge
en termes de précision
d’apprentissage, de validation, de
test et d’erreur. Le modèle 2 a
Modèle 1 03 03 04 25 89,41 % 0.3267 %.

présenté les meilleurs résultats Modèle 2 04 01 02 25 98,61 % 0.0273 %.

pour la reconnaissance.
Détection et prédiction de la plaque
Nous avons utilisé la méthode de recherche de contour pour
détecter la plaque, l’image est importée et prétraitée. Nous
avons effectué les opérations suivantes :
 Redimensionnement de l’image : chaque image est
redimensionnée pour faciliter le traitement dans les
étapes ultérieures
 Conversion en niveaux de gris : l’image d’entrée est au
format RVB. Le but principal de cette conversion est
de réduire le nombre de couleurs
 Suppression du bruit : les bruits d’image sont une
distorsion de l’image qui survient en raison d’un
défaut de l’appareil photo ou du résultat d’une
mauvaise visibilité.
 Binarisation : c’est un processus de conversion d’une
image en une image avec une valeur de deux pixels
seulement, c’est-à-dire contenant des pixels blancs et
noirs.
Détection et prédiction de la plaque
Prédiction des caractères 3/3

L’étape suivante est la


prédiction de caractère à partir
de l’image segmenté. En sortie
nous aurons donc la plaque en
format txt.
Conclusion 1/2
Cela étant, en présentant ces résultats, nous prouvons que nous avons atteint notre
objectif et nous affirmons donc notre hypothèse selon laquelle un modèle pour la
reconnaissance automatique de plaques en utilisant les traitements d’images, la
reconnaissance optique des caractères et les réseaux des neurones à convolution serait
une solution adéquate.
Comme perspectives, nous proposons l’augmentation de nombres de couches cachées
et le nombre d’époque pour améliorer la précision du premier modèle. Nous proposons
aussi la conception d’un modèle de détection d’objet qui pourra détecter la plaque
d’immatriculation sur une photo ou une vidéo en utilisant les algorithmes sophistiqués
notamment YOLO afin d’utiliser notre modèle pour la reconnaissance des caractères.
Conclusion 2/2

Enfin, les améliorations peuvent encore être apportées notamment pour la


conception d’un système qui pourra faciliter l’utilisateur et l’ajout d’une
base de données afin d’y stocker les identités des propriétaires des
véhicules. Ces améliorations feront l’objet d’une autre étude.
Nous espérons que l’élaboration du présent travail a apporté un plus à ce
vaste domaine de recherche.
Nous vous remercions pour votre
attention

Vous aimerez peut-être aussi