Memoire A Ab

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 70

Mémoire de Fin d’Études pour l’Obtention du Diplôme de Master Recherche

en Télécommunications et Systèmes Embarqués

Spécialité : Systèmes Embarqués et Intelligence Artificielle

Thème :
Apprentissage profond pour la détection et la
reconnaissance des plaques d’immatriculation des
véhicules

Presenté Par :

AMNE AMINE BRAHIM

Sous la direction de : Sous la supervision de :

M. ABAKAR MAHAMAT AHMAT, M. DAOUDA AHMAT MAHAMAT,


Maître-Assistant (CAMES), Maître de Conférences (CAMES),
ENASTIC Université de N’Djaména

Soutenu publiquement le 20 Janvier 2024


Devant le jury composé de :

Président :

M. AMIR MOUNGACHE, Maître de Conférences (CAMES),


Université de N’Djamena

Rapporteurs :

M. HAGGAR BACHAR SALIM, Maître-Assistant (CAMES), ENASTIC

M. ALI OUCHAR CHERIF, Maître-Assistant (CAMES), INSTA

Promotion : 2020-2023
ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Dédicace

je dédie ce travail à mon père AMINE BRAHIM et à ma mère KHADIDJA HISSENE.

Amné Amine Brahim i


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Remerciements
Avant tout, ma profonde et sincère louange à Dieu le Tout-Puissant de m’avoir donné la
force, la patience et le courage pour accomplir ce travail.
Je tiens à remercier le Président de Jury M. AMIR MOUNGACHE, Maître de Confé-
rences (CAMES), pour avoir accepté de présidé ce jury. Je remercie également M. HAGGAR
BACHAR SALIM, Maître-Assistant (CAMES) et M. ALI OUCHAR CHERIF, Maître-
Assistant (CAMES) pour avoir examiné et rapporté ce travail.
Je tiens à exprimer mes sincères remerciements à mon directeur de mémoire M. ABAKAR
MAHAMAT AHMAT, Maitre-Assistant (CAMES), pour la confiance, pour sa disponibilité,
son encouragement, ses conseils judicieux et surtout pour ses orientations lors de la réalisation
de mon travail.
Je tiens également à remercier M. DAOUDA AHMAT MAHAMAT, Maitre-Conférence
(CAMES), pour avoir accepté de supervisé ce travail.
Je souhaite aussi remercier l’équipe pédagogique et administrative de l’Ecole Nationale
Supérieur des TIC pour leurs efforts dans le but de nous offrir une excellente formation.
J’adresse mes sincères remerciements au directeur des études de l’Ecole Nationale Supérieur
des TIC, M. MAHAMAT CHARFADINE NIMANE, Maitre-Assistant (CAMES), pour
son dévouement et ses efforts en faveur de notre réussite.
Un merci particulier à toute ma famille qui a toujours été la source de mon succès, pour
cela je ne saurai jamais comment les remercier.
J’exprime ma gratitude à KHADIDJE OUSMANE KOSSI, FAITCHOU MARIUS
FIDEL, DOURE WILLIAM, BANI RICHARD, KAGBE ASDEBAYE, MAHA-
MAT SALEH SEID, MBAITIBET TOGBET, MBAIRANOUDJI CHARLOT, ainsi
que toute la promotion de master, pour les bons moments passés ensemble et leurs conseils qui
m’ont permis d’améliorer ce travail.
Enfin, à toutes les personnes qui ont contribué de près ou de loin à la réalisation de ce
travail.

Amné Amine Brahim ii


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Résumé
Grâce aux avancées technologiques en matière de la reconnaissance d’images et de l’intel-
ligence artificielle, de nombreuses applications ont été réalisées dans différents domaines tels
que la sécurité routière, la lutte contre la criminalité, la gestion du trafic etc. La méthode de
traitement d’image classique pour la reconnaissance des plaques d’immatriculation repose sur
l’extraction manuelle de caractéristiques spécifiques, ce qui n’est pas universellement applicable
à tous les scénarios. Afin de résoudre ce problème, les solutions intelligentes et automatisées des
systèmes de la reconnaissance automatique des plaques d’immatriculation sont utilisées. L’ap-
prentissage en profondeur utilise des réseaux de neurones artificiels multicouches pour extraire
des caractéristiques complexes à partir des images. A cet effet pour que ces systèmes soient
efficaces la reconnaissance précise des plaques d’immatriculation est essentielle.
L’objectif de cette étude est de proposer une solution permettant de déterminer l’approche la
plus performante et efficace pour la détection et la reconnaissance des plaques d’immatriculation
des véhicules qui grillent le feu de signalisation . Pour répondre à la problématique, nous avons
entrepris des recherches et études sur les différents travaux liés à la détection des plaques
d’immatriculation dont nous avons fait une synthèse de ces travaux.
Dans ce travail, nous avons utilisé le model CNN YOLOv5 pour la détection de la plaque
d’immatriculation et EasyOCR pour la reconnaissance de la plaque d’immatriculation. Nous
avons évalué l’algorithme YOLOv5 à l’aide d’une base des données contenant 350 images de
véhicules indiens. Les résultats obtenus en considérant 150 époques atteint une précision de 95%
avec un rappel de 94% et le mAP_0,5 est de 95,60% . Ensuite nous avons utilisé le modèle de
détection YOLOv5 ré-entrainé avec l’outil EasyOCR pour tester sur d’autres images provenant
d’une base de données différente, et les résultats étaient satisfaisants.
Mots clés :
CNN, YOLOv5, EasyOCR, Plaque d’immatriculation des véhicules.

Amné Amine Brahim iii


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Abstract
The technological advances in image recognition and artificial intelligence have led to a
wide range of applications in fields such as road safety, crime-fighting and traffic management.
The traditional image processing method for license plate recognition relies on the manual
extraction of specific features, which is not universally applicable to all scenarios. To solve this
problem, intelligent, automated solutions from automatic license plate recognition systems are
used. Deep learning uses multi-layer artificial neural networks to extract complex features from
images. For these systems to be effective, accurate license plate recognition is essential.
The purpose of this study is to propose a solution that will enable us to determine the most
effective and efficient approach for detecting and recognizing the license plates of vehicles that
run a traffic light. To address the problem, we have undertaken research and studies on the
various works related to license plate detection, and we have summarized these works.
In this research project we have used the CNN YOLOv5 model for license plate detection
and EasyOCR for license plate recognition. We evaluated the YOLOv5 algorithm using a data-
base containing 350 images of Indian vehicles. The results obtained by considering 150 epochs
achieved a precision of 95% with a recall of 94% and a mAP_0.5 of 95.60%. We then used the
re-trained YOLOv5 detection model with the EasyOCR tool to test on other images from a
different database, and the results were satisfactory.
Keywords :
CNN, YOLOv5, EasyOCR, Vehicle License Plate.

Amné Amine Brahim iv


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

TABLE DES MATIÈRES

Introduction Générale 1
Contexte et Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Objectifs scientifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1 Généralités sur l’apprentissage profond et la détection d’objet 5


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Détection d’objets dans une image . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Apprentissage automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Les types de l’apprentissage automatique . . . . . . . . . . . . . . . . . 6
1.2.2 Les réseaux de neurones artificiels . . . . . . . . . . . . . . . . . . . . . 7
1.3 Apprentissage profond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Fonctionnement de l’apprentissage profond . . . . . . . . . . . . . . . . 8
1.3.3 Quelques algorithmes de l’apprentissage profond . . . . . . . . . . . . . 9
1.3.4 Réseaux de neurones convolutifs (CNN) . . . . . . . . . . . . . . . . . . 10
1.3.5 Fonctionnement d’un CNN . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Reconnaissance des formes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.1 Applications typiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.2 Domaines d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.3 Reconnaissance optique de caractères (ROC) . . . . . . . . . . . . . . . . 14
1.4.4 Processus ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Plaque d’immatriculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Les modèles de détections et les travaux connexes 17


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Méthodes classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Amné Amine Brahim v


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

2.1.1 Histogramme de gradient orienté (HOG) . . . . . . . . . . . . . . . . . . 18


2.1.2 Transformation de caractéristiques visuelles invariante à l’échelle (SIFT) 18
2.1.3 Motif binaire local (LBP) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Méthodes basées sur les CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1 R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Fast R-CNN (R-CNN rapide) . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Faster R-CNN (R-CNN plus rapide) . . . . . . . . . . . . . . . . . . . . 22
2.2.4 Mask R-CNN (Masque R-CNN) . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.5 SSD (Single Shot MultiBox Detector) . . . . . . . . . . . . . . . . . . . . 23
2.2.6 RetinaNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.7 YOLOv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.8 YOLOv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3 Travaux connexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Cadre et méthode proposée 33


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1 Approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.1 Description du système proposé . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Algorithme YOLOv5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Choix de YOLOv5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2 Architecture de YOLOv5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.3 Fonction d’activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2.4 Fonction de perte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3 Les étapes de l’algorithme YOLOv5 . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Préparation du dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.1 Annotation des images . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2 Séparation de données apprentissage et test . . . . . . . . . . . . . . . . 41
3.4.3 Création des fichiers nécessaires . . . . . . . . . . . . . . . . . . . . . . . 41
3.5 Indicateur d’évaluation du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6 Reconnaissance des plaques d’immatriculation : EasyOCR . . . . . . . . . . . . 42
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Implémentation et résultats 43
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1 Environnement de travail et outils utilisés . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Environnements utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2 Langage de programmation . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3 Librairies utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Résultats de la simulation de model YOLOv5 . . . . . . . . . . . . . . . . . . . 45

Amné Amine Brahim vi


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

4.2.1 Taux d’erreur (loss) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45


4.2.2 Pertes en considérant 150 époques . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Rapport d’évaluation de détection . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3.1 Performance en considérant 100 époques . . . . . . . . . . . . . . . . . . 47
4.3.2 Performance en considérant 150 époques . . . . . . . . . . . . . . . . . . 47
4.4 Test des nouvelles images pour la détection et la reconnaissance des PI . . . . . 48
4.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Conclusion générale et perspectives 51


Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Amné Amine Brahim vii


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

TABLE DES FIGURES

1.1 Modèle d’un neurone artificiel [1] . . . . . . . . . . . . . . . . . . . . . . . . . . 7


1.2 Structure d’un réseau de neurones [2] . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Processus d’autoapprentissage[3] . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Architecture CNN [4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Opération de convolution[5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6 Opération de Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Plaque d’immatriculation à travers le monde . . . . . . . . . . . . . . . . . . . . 15

2.1 Principales étapes du calcul HOG [6] . . . . . . . . . . . . . . . . . . . . . . . . 18


2.2 Exemple de la méthode LBP [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 Architecture R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Architecture Fast R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Architecture Faster R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 Architecture Mask R-CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Architecture SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.8 Architecture RetinaNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.9 Architecture YOLOv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.10 Architecture YOLOv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.1 Modèle du système proposé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35


3.2 Architecture YOLOv5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Annotation Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Fichier annoté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1 Pertes à 100 époques pour l’entrainement . . . . . . . . . . . . . . . . . . . . . . 45


4.2 Pertes à 100 époques pour la validation . . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Pertes à 150 époques pour l’entrainement . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Pertes à 150 époques pour la validation . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 Performance à 100 époques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.6 Performance à 150 époques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Amné Amine Brahim viii


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

4.7 Test et détails sur la reconnaissance des caractères de l’image1. . . . . . . . . . . 48


4.8 Test et détails sur la reconnaissance des caractères de l’image2. . . . . . . . . . . 49
4.9 Test et détails sur la reconnaissance des caractères de l’image3. . . . . . . . . . . 49

Amné Amine Brahim ix


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

LISTE DES TABLEAUX

2.1 Résumé : Travaux Connexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.1 Résultats Pertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47


4.2 Résultats Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3 Comparaison avec d’autres approches . . . . . . . . . . . . . . . . . . . . . . . . 50

Amné Amine Brahim x


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Sigles et abréviations
IA : Intelligence Artificielle
CNN : Convolutional Neural Network (Réseaux de neurones convolutif)
R-CNN : Region-Convolutional Neural Network
YOLO : You Only Look Once (Vous ne regardez qu’une seule fois)
PI : Plaque d’Immatriculation
IoU : Intersection sur Union
OMS : Organisation Mondiale de la Santé
MLP : Multilayer Perceptron (Perceptron multicouche)
ROC : Reconnaissance Optique de Caractères
TIC : Technologie de L’information et de la Communication
HOG : Histogramme de Gradient Orienté
SIFT : Scale Invariant Feature Transform
LBP : Local Binary Pattern (Motif binaire local)
SSD : Single Shot MultiBox Detector (Détecteur multibox à prise unique)
SVM : Support Vector machine(Machines à vecteurs de support)
CPU : Central Processing Unit (unités centrales des traitements)
GPU : Graphics Processing Unit(processeur graphique)
mAP : Mean average precision (précision moyenne moyenne)
FPN : Feature Pyramid Net(Réseaux pyramidaux de fonctionnalités)
PAN : Agrégation de chemins Réseau
LCV : Local Corrélation Voisinage
RAPI : Reconnaissance Automatique des Plaques d’Immatriculation
ALPR : Lecteur Automatique de Plaques d’Immatriculation

Amné Amine Brahim xi


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

INTRODUCTION GÉNÉRALE

Contexte et Problématique
Ces dernières années, le nombre de véhicules a augmenté d’une manière très rapide, vu
le développement de l’industrie et de la population. Cette évolution a engendré de nombreux
problèmes : les embouteillages, la violation des règles des feux de signalisation, les accidents
etc. Les systèmes de contrôle des feux de circulation sont largement utilisés pour surveiller et
contrôler le flux des automobiles à la jonction de nombreuses routes. Ceci permet un mouvement
fluide des véhicules mais malheureusement les systèmes de contrôle des feux de circulation sont
allègrement violés par certains usagers de la voie publique, soit par ignorance soit par incivisme.
Cette violation est source de plusieurs accidents de circulation dont certains sont mortels.
Selon l’Organisation mondiale de la Santé (OMS), le nombre des morts sur les routes conti-
nue d’augmenter et atteint 1,35 million par an [8]. Le Rapport [9] de situation de l’OMS sur la
sécurité routière dans le monde en 2018 souligne que les accidents de la route sont désormais la
principale cause de mortalité chez les enfants et les jeunes de 5 à 29 ans. Ce rapport souligne
également que la situation s’est améliorée dans les pays riches, pas un seul pays à faible revenu
n’a enregistré une réduction du nombre total de décès, en grande partie à cause du manque
de mesures pour améliorer la sécurité. Le risque de mortalité routière reste ainsi trois fois plus
élevé dans les pays à faible revenu que dans les pays à revenu élevé ; avec les taux les plus
élevés en Afrique (26,6 pour 100.000 d’habitants) et les plus bas en Europe (9,3 pour 100.000
d’habitants). Depuis la dernière édition du rapport il y a trois ans, trois régions dans le monde
ont enregistré une baisse des taux de mortalité sur les routes : les Amériques, l’Europe et le
Pacifique occidental, la plus forte réduction ayant été observée dans le Pacifique occidental [9].
C’est dans ce contexte que ce projet se place dans le cadre de la sécurité routière, et plus
précisément dans la détection et la reconnaissance des plaques d’immatriculation des voitures
en infraction au feu de signalisation. L’IA (Intelligence artificielle) est aujourd’hui largement
utilisée dans plusieurs domaines, en particulier dans le domaine de la vision par ordinateur
et du traitement d’image pour la détection d’objets dans une image ou une vidéo capturée
numériquement en temps réel. Les méthodes d’apprentissage en profondeur les plus efficaces
font appel à des réseaux de neurones convolutifs (CNN), d’après plusieurs travaux réalisés par

Amné Amine Brahim 1


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[10] [11] [12] [13] [14] [15]. Les CNN qui prennent en charge l’algorithme de détection, ont une
précision plus élevée et une vitesse plus rapide comparé à d’autres algorithmes de détection
traditionnels [16] [17] [18].
les systèmes de la reconnaissance automatique de la plaque d’immatriculation offrent un
certains nombre d’avantage que les systèmes traditionnels de surveillance du trafic. Ainsi, la
RAPI(Reconnaissance automatique des plaques d’immatriculation) fait partie d’un plus grand
domaine qui est la détection d’objets au sein des images et des vidéos [10]. L’une des approches
les plus connues dans ce domaine est l’apprentissage en profondeur (le deep learning). En effet,
l’apprentissage profond bénéficie des modèles des réseaux de neurones artificiels qui sont connus
pour leurs capacités d’apprentissage et de mémorisation. Les réseaux de neurones sont devenus
les modèles déterminant de l’apprentissage en profondeur grâce à leur puissance et leur évoluti-
vité. La détection et la reconnaissance automatique des plaques d’immatriculation est un sujet
de recherche fréquent en raison de nombreuses applications pratiques, telles que l’application
du code de la route, le contrôle d’accès aux espaces privés, la surveillance du trafic routier et
bien d’autres. Pourtant, elles sont confrontées à des problèmes d’images floues, d’images captu-
rées la nuit, d’images de mauvaise qualité. En intelligence artificielle, le passage de perceptron
multicouche (MLP) au deep learning est dû à la capacité des réseaux de neurones profonds
à traiter des données de manière plus complexe. Dans [19], les auteurs ont utilisé un modèle
de réseaux de neurones dit : perceptron multicouche (MLP) dans lequel le taux d’erreur est
différent pour chaque ensemble d’entraînement d’images dont ils suggèrent que d’autres outils
neuronaux puissent être exploités tel que le « deep learning ». Le passage du traitement d’image
à l’apprentissage profond pour la détection et la reconnaissance des plaques d’immatriculation
a été une avancée significative et les techniques de l’apprentissage en profondeur ont montré une
performance impressionnante. Dans [20] [14], les auteurs ont mené une étude comparative entre
l’algorithme pour le traitement d’image et l’algorithme d’apprentissage profond dont les résul-
tats montrent que l’apprentissage profond était plus précis, rapide, performant et fonctionnant
en temps réel. Plusieurs modèles d’algorithme d’apprentissage en profondeurs, tels que Faster
R-CNN [11], SSD MobileNet [11] [21], MobileNet SSDv2 [22], YOLO v2 [23], YOLOv3 [15],
YOLOv4 [24] [25], traitent les problèmes de la détection et la reconnaissance de caractères
de la PI (plaque d’immatriculation) dans différents types d’environnements. Chacune de ces
méthodes présentent des performances plus ou moins différentes.
Cela nous amène à nous interroger sur les modèles le plus adéquat à être utilisé pour la
reconnaissance automatique des plaques d’immatriculation des voitures en infraction au feu de
signalisation ?
Le numéro d’immatriculation des véhicules représente un moyen efficace pour identifier les
propriétaires. Ce pendant, quelle méthode de l’apprentissage profond utilisée pour obtenir une
meilleure performance pour la détection et la reconnaissance des plaques d’immatriculation des
véhicules qui grillent le feu de signalisation ?

Amné Amine Brahim 2


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Objectifs scientifiques
Pour donner une réponse à la problématique, l’objectif principal de ce mémoire est l’utilisa-
tion de l’apprentissage profond, particulièrement les réseaux des neurones convolutifs (CNN).
Cette technique permet la détection et la reconnaissance des plaques d’immatriculation des
véhicules qui grille le feu de signalisation à partir d’une image avec une grande précision. Pour
atteindre notre objectif globale, les objectifs spécifiques se dégagent :
✺ Explorer un état de l’art sur les méthodes des détections et des reconnaissances des
plaques d’immatriculations des véhicules utilisant l’apprentissage profond.
✺ Élaborer un cadre pour la détection et la reconnaissance des plaques d’immatriculation
des véhicules qui grillent le feu de signalisation
✺ Implémenter l’approche proposé et discussions des résultats.

Méthodologie
Pour atteindre notre objectif de recherche, nous adaptons la démarche suivante :
✺ Compréhension du contexte qui s’agit de la détection d’objet dans une image et la
reconnaissance des formes ; d’étudier les méthodes classiques et les méthodes basées
sur les CNN pour la détection d’objet dans une image ; d’établir un état de l’art sur les
algorithmes de l’apprentissage profond pour la détection et la reconnaissance des plaques
d’immatriculation des véhicules.
✺ Présenter le cadre pour la détection et la reconnaissance des plaques d’immatriculation
des véhicules qui ne respectent pas le feu de signalisation. Ce cadre vise à mettre en
place un système capable d’identifier les véhicules en infraction, afin d’assurer le respect
des règles de sécurité routière.
✺ Présenter la mise en œuvre du cadre de détection et de reconnaissance des plaques d’im-
matriculation des véhicules en infraction au feu de signalisation, en évaluant sa perfor-
mance à travers des tests et en exposant les résultats obtenus lors des expérimentations.

Organisation du mémoire
Ce mémoire est organisé en quatre chapitres :
Nous commençons par une introduction générale qui fixe le Contexte et la Problématique,
les objectifs scientifiques, la méthodologie et l’organisation du mémoire.
Le premier chapitre présente une généralité sur la détection d’objets, les concepts relatifs
à l’apprentissage profond et aux réseaux de neurones, ainsi qu’une introduction des plaques
d’immatriculation.
Le deuxième chapitre explique les différentes approches de l’apprentissage profond dans le
domaine de la détection des plaques d’immatriculation et un état de l’art sur les travaux de
recherche connexes. Une étude comparative entre les différents types d’approches permet de
justifier le choix de la méthodologie adoptée.

Amné Amine Brahim 3


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Le troisième chapitre détaille la méthode que nous avons proposée pour la détection et la
reconnaissance de la plaque d’immatriculation.
Le quatrième chapitre est consacré à l’implémentation de notre travail, la présentation et
discussion des résultats obtenus. Nous terminons le manuscrit, par une conclusion générale et
les perspectives.

Amné Amine Brahim 4


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

CHAPITRE 1

GÉNÉRALITÉS SUR L’APPRENTISSAGE


PROFOND ET LA DÉTECTION D’OBJET

Introduction
Les solutions intelligentes et automatisées de contrôle de la circulation sont utilisées de
manière omniprésente, pour la détection de violation de feu de signalisation, pour la détection
de violation de vitesse, pour la détection de violation de ceinture de sécurité etc.
Pour commencer il nous faut tout d’abord définir les notions importantes liées à l’application
de l’apprentissage profond « Deep Learning » pour la détection des plaques d’immatriculation
des véhicules.
Ce chapitre fournit une généralité sur la détection d’objets dans une image, un aperçu général
sur l’apprentissage automatique. Ensuite, détaille les concepts relatifs à l’apprentissage profond
et aux réseaux de neurones, puis la reconnaissance des forme. Enfin nous présentons les plaques
d’immatriculation.

1.1 Détection d’objets dans une image


La détection d’objet désigne une méthode permettant de détecter la présence d’une instance
(reconnaissance d’objet) ou d’une classe d’objets dans une image numérique. Cette méthode
fait souvent appel à l’apprentissage supervisé et a des applications dans de multiples domaines,
tels la recherche d’image par le contenu ou la vidéo surveillance.
L’approche générale pour détecter un objet dans une image se passe en trois étapes [26] :

✺ Déterminer les localisations potentielles de l’objet, soit au moyen d’une fenêtre glissante
sur l’image, soit directement en détectant les points d’intérêt en son sein ;
✺ Extraire des caractéristiques dans l’image permettant d’identifier la classe d’objet visé ;
✺ Classifier automatiquement chaque sous fenêtre comme contenant l’objet recherché, ou
bien apparier les caractéristiques extraites avec celles d’un modèle de référence.

Amné Amine Brahim 5


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

La détection d’objets est souvent abordée en apprentissage automatique. Il existe plusieurs


techniques et implémentations dans ce domaine, chacune, présentant ses avantages et ses in-
convénients. Toujours dans le contexte de la détection d’objets, nous verrons dans les parties
suivantes quelques notions générales autour de l’apprentissage automatique.

1.2 Apprentissage automatique


L’apprentissage automatique est un champ d’étude de l’intelligence artificielle qui se fonde
sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d’« ap-
prendre » à partir de données, c’est-à-dire d’améliorer leurs performances à résoudre des tâches
sans être explicitement programmés pour chacune. Plus largement, il concerne la conception,
l’analyse, l’optimisation, le développement et l’implémentation de telles méthodes. On parle
d’apprentissage statistique car l’apprentissage consiste à créer un modèle dont l’erreur statis-
tique moyenne est la plus faible possible [27].

1.2.1 Les types de l’apprentissage automatique


Trois principaux types d’algorithmes l’apprentissage automatique sont utilisés aujourd’hui :
✺ Apprentissage supervisé : l’apprentissage supervisé consiste à entrainer un modèle à par-
tir de données préalablement étiquetées ou annotées. Elle est utilisée dans les domaines
de la bio-informatique, le traitement du langage, la reconnaissance vocale, la vision par
ordinateur etc.[28]. Dans ce travail nous nous intéressons à la vision par ordinateur
qui désigne une technique d’intelligence artificielle permettant d’analyser des images.
Elle fonctionne grâce à la combinaison de plusieurs technologies, parmi lesquelles l’ap-
prentissage profond. Nous nous focalisons sur l’apprentissage profond pour détecter et
reconnaitre les plaques d’immatriculation des véhicules [29].
✺ Apprentissage non supervisé : l’apprentissage non supervisé consiste à entraîner des mo-
dèles, sans réaliser d’étiquetage manuel ou automatique des données au préalable. Les
algorithmes regroupent les données en fonction de leur similitude, sans aucune inter-
vention humaine. L’apprentissage non supervisé implique une formation basée sur des
données sans étiquette ni résultat spécifique défini. [30].
✺ Apprentissage par renforcement : est une partie de l’apprentissage automatique qui s’in-
téresse à la prise de décision, dans ce type d’apprentissage, un ensemble de données
d’entrées non étiquetées sera utilisé, afin de laisser l’algorithme à trouver tout seul les
points communs parmi cet ensemble de données. Etant une branche de l’apprentissage
automatique, dans l’apprentissage par renforcement un agent intelligent apprend direc-
tement à partir d’expériences basées sur les données sans être exclusivement modélisé
par un modèle statistique [31].

Amné Amine Brahim 6


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

1.2.2 Les réseaux de neurones artificiels


1.2.2.1 Le neurone formel(artificiel)

Le neurone artificiel s’inspire grossièrement d’un neurone biologique, il désigne le nœud,


l’unité de base ou l’unité de calcul élémentaire d’un réseau de neurones artificiels (neural net-
work). Le neurone artificiel reçoit généralement plusieurs valeurs d’entrée et calcule une valeur
de sortie en appliquant une fonction d’activation (transformation non linéaire) à une somme
pondérée des valeurs d’entrée.[32]

Figure 1.1 – Modèle d’un neurone artificiel [1]

La figure 1.1 montre la structure d’un neurone artificiel qui est composé de :
✺ Entrées : Un neurone artificiel reçoit généralement plusieurs valeurs d’entrée x. Ces
entrées peuvent provenir de données externes ou des sorties d’autres neurones dans le
réseau.
✺ Poids : Les entrées x sont multipliées par les poids w, ils représentent les paramètres
internes du perceptron.
✺ Somme : Toutes les multiplications sont sommées avec ajout d’un biais.
✺ Activation : La somme pondérée passe ensuite à travers une fonction d’activation pour
produire la sortie du neurone
✺ Sortie : La sortie sera donc le résultat de la fonction d’activation

1.2.2.2 Les réseaux de neurones

Les réseaux de neurones artificiels sont des modèles mathématiques inspirés de la biologie.
La brique de base de ces réseaux, le neurone artificiel, était issu au départ d’une volonté de mo-
délisation du fonctionnement d’un neurone biologique. Un réseau de neurones est un assemblage
de neurones connectés entre eux qui permet de résoudre de nombreux problèmes d’intelligence
artificielle.
La figure 1.2 représente la structure d’un réseau de neurones.

Amné Amine Brahim 7


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 1.2 – Structure d’un réseau de neurones [2]

Schématiquement, le fonctionnement est le suivant :


✺ Les neurones sont organisés en couches successives : chaque neurone reçoit une informa-
tion (une entrée) issue des neurones de la couche qui précède ;
✺ Poids : Les entrées x sont multipliées par les poids w, ils représentent les paramètres
internes du perceptron ;
✺ Chacune de ces informations est pondérée : elle est multipliée par une valeur qui lui
confère un "poids" w particulier ;
✺ Les entrées ainsi pondérées sont additionnées.
✺ Elles sont traitées par une fonction objective dont le but est d’adapter la valeur de sortie
à une plage de valeurs ;
✺ La valeur de sortie issue de cette fonction constitue l’entrée de l’ensemble des neurones
de la couche suivante [33].

1.3 Apprentissage profond


1.3.1 Définition
L’apprentissage profond est une méthode de l’IA issue de l’apprentissage automatique. Cette
méthode d’apprentissage dit profond se base plus spécifiquement sur la notion de réseau de
neurones artificiel. De structure non linéaire, un réseau de neurones artificiel se présente sous la
forme d’un réseau d’ensembles d’unités d’exécution d’information (représentant les neurones)
superposées en couches et liés entre eux via des connecteurs (les synapses). Partant de-là, il
traite l’information à travers des modèles de propagation d’activations de ces unités [34].

1.3.2 Fonctionnement de l’apprentissage profond


L’apprentissage profond se base sur un réseau de neurones artificiels imitant le cerveau hu-
main. La structure est disposée en plusieurs couches, interconnectées entre elles. La première

Amné Amine Brahim 8


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

couche correspond aux neurones d’entrée et la dernière transmet les résultats de sortie. Entre
les deux se trouvent plusieurs couches intermédiaires par lesquelles l’information est traitée.
Cette architecture est propre à l’apprentissage profond et permet que chaque couche analyse
de manière plus précise les données d’entrée.
Plus le réseau de neurones artificiels est profond et donc contient plusieurs couches, plus le
système peut effectuer des tâches complexes. Il est capable de déterminer par lui-même une
représentation de ce qu’il reçoit, que ce soit une image ou un texte. [35].
Par exemple, le modèle de l’apprentissage profond peut être entraîné à l’aide d’un grand nombre
d’images, des images représentant des chats par exemple(voir figure 1.3). Ce type de réseau
neuronal tire son apprentissage des pixels contenus dans les images reçues. Il peut classer des
groupes de pixels en fonction des caractéristiques du chat telles que les griffes, les oreilles, les
yeux indiquant la présence de l’animal dans l’image.
Avec l’apprentissage profond, il suffit de fournir au système un très grand nombre d’images de
chats pour qu’il en retienne de façon autonome les caractéristiques [34].

Figure 1.3 – Processus d’autoapprentissage[3]

1.3.3 Quelques algorithmes de l’apprentissage profond


Plusieurs types d’algorithmes sont utilisés en apprentissage profond. Chaque algorithme
possède ses propres spécificités et son domaine applications.

✺ Réseaux neuronaux convolutifs (CNN)


Également appelés ConvNets, les CNN sont constitués d’une multitude de couches char-
gées de traiter et d’extraire les caractéristiques des données. De manière spécifique, les
réseaux neuronaux convolutifs sont utilisés pour l’analyse et la détection d’objets. Ils
peuvent donc servir par exemple à reconnaître des images satellites, traiter des images
médicales, détecter des anomalies ou prédire des séries chronologiques etc.
✺ Réseaux neuronaux récurrents (RNN)

Amné Amine Brahim 9


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Les réseaux neuronaux récurrents possèdent des connexions qui constituent des cycles
dirigés. Cela permet aux sorties du LSTM(Réseaux de mémoire à long et court terme)
d’être exploitées comme entrées au niveau de la phase actuelle. La sortie du LSTM se
transforme en une entrée pour la phase actuelle. Elle peut donc mémoriser les entrées
précédentes à l’aide de sa mémoire interne. Dans la pratique, les RNN sont utilisés pour
le sous-titrage d’images, le traitement du langage naturel et la traduction automatique.
✺ Réseaux de fonction de base radiale (RBFN)
Ces algorithmes sont des réseaux neuronaux assez particuliers. Ils exploitent des fonctions
de base radiales en tant que fonctions d’activation. Ils sont constitués d’une couche
d’entrée, d’une couche cachée et d’une couche de sortie. Généralement, les RBFN sont
utilisés dans la classification, la prédiction des séries temporelles et la régression linéaire.
✺ Réseaux de mémoire à long et court terme(LSTM)
Les LSTM sont des dérivés de RNN. Ils peuvent apprendre et mémoriser des dépendances
sur une longue durée. Les LSTM conservent ainsi les informations mémorisées sur le long
terme. Ils sont particulièrement utiles pour prédire des séries chronologiques, car ils se
rappellent des entrées précédentes. Outre ce cas d’utilisation, les LSTM sont également
utilisés pour composer des notes de musique et reconnaître des voix.
✺ Réseaux adversariaux génératifs (GAN)
Les GAN créent de nouvelles instances de données qui s’apparentent aux données d’ap-
prentissage profond. Ils possèdent deux principaux composants : un générateur et un
discriminateur. Si le générateur apprend à produire des informations erronées, le dis-
criminateur, quant à lui, apprend à exploiter ces fausses informations. Les GAN sont
généralement utilisés par les créateurs de jeux vidéo pour améliorer les textures 2D [36].

1.3.4 Réseaux de neurones convolutifs (CNN)


Les CNN ont une méthodologie similaire à celle des méthodes d’apprentissage supervisé : ils
reçoivent des images en entrée, détectent les features automatiquement de chacune d’entre elles,
puis entraînent un classifieur dessus. Donc les CNN réalisent eux-mêmes tout le boulot fastidieux
d’extraction et description de features. L’extraction et la hiérarchisation automatiques des
features, qui s’adaptent au problème donné, constituent une des forces des CNN.
Aujourd’hui, les CNN, aussi appelés ConvNet, sont toujours les modèles les plus performants
pour la détection et la classification d’images.
Comme pour les réseaux de neurones ordinaires, les paramètres des couches sont déterminés par
rétropropagation du gradient : l’entropie croisée est minimisée lors de la phase d’entraînement.
Mais dans le cas des CNN, ces paramètres désignent en particulier les features des images. Il
existe quatre types de couches pour un réseau de neurones convolutif : la couche de convolution,
la couche de pooling, la couche de correction ReLU et la couche fully-connected (voir figure
1.4).

Amné Amine Brahim 10


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

1.3.4.1 Architecture de CNN

Une architecture CNN est formée par un empilement de couches de traitement indépen-
dantes :

✺ La couche de convolution (CONV) qui traite les données d’un champ récepteur.
✺ La couche de pooling (POOL), qui permet de compresser l’information en réduisant la
taille de l’image intermédiaire (souvent par sous-échantillonnage).
✺ La couche de correction (ReLU), souvent appelée ReLU en référence à la fonction
d’activation (Unité de rectification linéaire).
✺ La couche entièrement connectée (FC), qui est une couche de type perceptron.
✺ La couche de perte (LOSS).
La figure 1.4 représente l’architecture CNN.

Figure 1.4 – Architecture CNN [4]

1.3.5 Fonctionnement d’un CNN


Un CNN est composé de plusieurs couches d’opérations, chacune avec sa propre fonction.
Le CNN prend une image en entrée et la transmet à la première couche. Les informations
sur les entités sont propagées à travers les couches cachées. Pour chaque couche, les fonctions
d’activation effectuent une activation élément par élément à la sortie produite par la couche
précédente. La sortie de la couche finale est ensuite comparée à la sortie cible.

1.3.5.1 Couche de convolution (CONV)

Les couches convolutives constituent le noyau du réseau convolutif. Une convolution est une
opération mathématique qui consiste à appliquer un filtre de convolution qui multiplie chacun
des pixels de la matrice d’entrée par le filtre. Lorsque on applique la convolution au traitement
d’image, on multiplie l’image d’entrée avec une sous-région de cette image (filtre). Le filtre est
aussi connu sous le nom du noyau de convolution, qui est systématiquement appliqué aux don-
nées d’entrée pour créer une carte de caractéristiques [37]. La figure 1.5 représente l’opération
de convolution.

Amné Amine Brahim 11


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 1.5 – Opération de convolution[5]

En terme mathématique, Une couche de convolution C i (couche i du réseau) est paramé-


trée par son nombre N de cartes de convolution Mij (j ∈ {1, ..., N }), la taille des noyaux de
convolution Kx.Ky (souvent carrée), et le schéma de connexion à la couche précédente Li−1 .
Chaque carte de convolution Mij est le résultat d’une somme de convolution des cartes de la
couche précédente Mji−1 par son noyau de convolution respectif. Un biais bji est ensuite ajouté
et le résultat est passé à une fonction de transfert non-linéaire ϕ. Dans le cas d’une carte com-
plètement connectée aux cartes de la couche précédente, le résultat est alors calculé par :

N
Mij = ϕ(bji + Mni−1 .Kni ) (1.1)
X

n=1

1.3.5.2 Couche de sous-échantillonnage (Pooling)

Dans les architectures classiques de réseaux de neurones convolutionnels, les couches de


convolution sont suivies par des couches de sous échantillonnage (couche d’agrégation). Cette
dernière réduit la taille des cartes de caractéristique pour but de diminuer la taille de paramètre,
et renvoie les valeurs maximales des régions rectangulaires de son entrée[37]. La figure 1.6
représente l’opération de pooling.

Figure 1.6 – Opération de Pooling [38]

Amné Amine Brahim 12


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

1.3.5.3 Couche entièrement connectée

Les paramètres des couches de convolution et de max agrégation sont choisis de sorte que
les cartes d’activation de la dernière couche soient de taille 1, ce qui résulte en un vecteur
1D d’attributs. Des couches classiques complètement connectées composées de neurones sont
alors ajoutées au réseau pour réaliser la classification. La dernière couche, dans le cas d’un
apprentissage supervisé, contient autant de neurones que de classes désirées. Cette dernière
couche contient N neurones (nombre des classes dans la base), et une fonction d’activation de
type sigmoïde est utilisée afin d’obtenir des probabilités d’appartenance à chaque classe[37].

1.3.5.4 Fonctions d’activation

La fonction d’activation ϕ est appliquée à la sortie d’une couche de convolution pour limiter
la sortie de chaque neurone et pour introduire des non-linéarités aux activations linéaires géné-
rées par une couche de convolution. Quelques exemples de certaines des fonctions d’activation
populaires utilisées dans les réseaux de neurones pour les tâches de classification et de détection
sont donnés comme suit[37] :
✺ Unité linéaire rectifiée (ReLU) : La couche d’unité linéaire rectifiée (en anglais rectified
linear unit layer) est l’une des fonctions d’activation les plus couramment utilisées dans
l’apprentissage en profond, qui est calculée comme suit :

f (x) = max(0, x) (1.2)

Les fonctions d’activation ReLU sont très populaires pour la création d’un réseau non
linéaire car il est plus facile de se différencier pour la rétropropagation du gradient.
Même si la fonction ReLU n’est pas différenciable à zéro contrairement à la fonction
d’activation sigmoïdale, qui a des dérivées lisses, elle converge toujours plus rapidement
que la fonction tangente sigmoïde et hyperbolique.
✺ Unité linéaire rectifiée Leaky (Leaky ReLU) : La fonction d’activation Leaky ReLU est
similaire à la fonction ReLU avec une différence clé : elle permet un petit gradient positif
lorsque l’unité est inactive. Un Leaky ReLU est calculé comme suit :

f (x) = max(x, ax) (1.3)

✺ La fonction sigmoïde : La fonction Sigmoïde était la fonction d’activation la plus utilisée


avant ReLU, qui prend les valeurs réelles en entrée et sort les valeurs dans l’intervalle
[0, 1]. La fonction sigmoïde est définie comme suit :

1
σ(x) = (1.4)
1 + e−x

Les valeurs d’entrée négatives plus grandes ont tendance à être plus proches de 0 tandis
que les entrées positives plus grandes sont plus proches de 1. La fonction sigmoïde est
rarement utilisée maintenant car elle souffre des problèmes de saturation de gradient et

Amné Amine Brahim 13


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

d’un calcul plus lent. En plus n’est pas centré en zéro.


✺ La fonction tangente hyperbolique : La fonction tangente hyperbolique ou tanh est simi-
laire à la fonction sigmoïde avec une différence de sortie, variant dans l’intervalle [−1, 1]
au lieu de [0, 1]. Il est défini comme :

2
tanh(x) = (1.5)
1 + e−2x

1.4 Reconnaissance des formes


Elle est dans le domaine de l’intelligence artificielle et peut être définie comme « l’acte de la
prise en compte des données brutes et la prise d’une action basée sur la catégorie des données
». Elle utilise les méthodes de statistiques, d’apprentissage automatique et d’autres domaines.

1.4.1 Applications typiques


Les applications typiques de la reconnaissance de formes sont :

✺ Reconnaissance automatique de la parole ;


✺ Classification du texte en plusieurs catégories (par exemple, spam/non-spam messages) ;
✺ La reconnaissance automatique des codes postaux manuscrits sur les enveloppes pos-
tales ;
✺ La reconnaissance automatique d’images de visages humains, etc [39].

1.4.2 Domaines d’application


✺ Vision par ordinateur ;
✺ Analyse d’images médicales ;
✺ Reconnaissance optique de caractères, etc [39].

1.4.3 Reconnaissance optique de caractères (ROC)


La Reconnaissance optique de caractères est la traduction mécanique ou électronique, lecture
d’images de texte manuscrit, dactylographié ou imprimé (généralement capturé par un scanner)
en texte modifiable par machine.
Tous les systèmes ROC comprennent un scanner optique pour la lecture de texte et sophistiqué
logiciel d’analyse d’images. La plupart des systèmes ROC utilisent une combinaison de matériel
(circuits imprimés spécialisés) et des logiciels pour reconnaître les caractères, bien que certains
systèmes peu coûteux le font entièrement par logiciel [39].

Amné Amine Brahim 14


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

1.4.4 Processus ROC


Les principales étapes de la processus ROC sont présentées ci-dessous :
1. Distinguer la segmentation du texte et de l’image :
Dans cette étape, le processus de reconnaissance des blocs de texte et de l’image numérisée sera
exécuté. Les limites de chaque image sont analysées afin de reconnaître le texte.
2. Extraction de fonctions de reconnaissance de caractères :
Cette étape implique l’utilisation d’une méthode appelée extraction de caractéristiques pour
reconnaître les caractères. Les outils ROC utilisent une méthode appelée processus d’appren-
tissage pour stocker des règles sur les caractères dans un script donné. Ensuite, les caractères
sont reconnus en analysant la forme des caractères et en comparant leurs caractéristiques à un
ensemble de règles qui distinguent chaque caractère stocké sur le moteur ROC.
3. Reconnaissance de mots :
Après le processus de reconnaissance de caractères, le processus de reconnaissance de mots est
effectué en comparant la chaîne de caractères avec le dictionnaire de mots existant. Dans le cadre
de cette étape, d’autres processus tels que la vérification orthographique seront exécutés[39].

1.5 Plaque d’immatriculation


Une plaque d’immatriculation de véhicule, est une plaque de métal ou de plastique fixée à un
véhicule à moteur ou à une remorque à des fins d’identification officielle. Tous les pays exigent
des plaques d’immatriculation pour les véhicules routiers tels que les voitures, les camions et
les motos. L’identifiant d’enregistrement est un identifiant numérique ou alphanumérique qui
identifie de manière unique le véhicule ou le propriétaire du véhicule dans le registre des vé-
hicules de la région émettrice. Dans certains pays, l’identifiant est unique dans tous les pays
tandis que dans d’autres, il est unique dans un état ou une province. Le fait que l’identifiant soit
associé à un véhicule ou à une personne varie également selon l’agence émettrice. Les plaques
d’immatriculation peuvent avoir des formats, des couleurs, des polices et des modes de fixation
différents, selon les normes et les législations en vigueur dans chaque pays[40]. La figure 1.7
représente les plaques d’immatriculation à travers le monde.

Figure 1.7 – Plaque d’immatriculation à travers le monde

Amné Amine Brahim 15


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Conclusion
Dans ce chapitre, nous avons présenté les principales notions autour du domaine de la détec-
tion d’objet, de l’apprentissage profond, et les CNN qui permettent de résoudre de nombreux
problèmes d’intelligence artificiel, tels que la détection d’objets dans une image. Nous avons
également présenté les plaques d’immatriculation.
Dans le prochain chapitre, nous allons détailler les différentes méthodes de l’apprentissage pro-
fond dans le domaine de la détection d’objet et de la reconnaissance des caractères, ainsi qu’un
état de l’art des travaux connexes.

Amné Amine Brahim 16


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

CHAPITRE 2

LES MODÈLES DE DÉTECTIONS ET LES


TRAVAUX CONNEXES

Introduction
Au cours des dernières années, plusieurs chercheurs se sont concentrés sur les algorithmes
de l’IA dont ces méthodes présentent des performances plus ou moins différentes. L’objectif de
ce mémoire est de proposer un algorithme de l’apprentissage profond pour la détection et la
reconnaissance des plaques d’immatriculation des véhicules en infraction au feu de signalisation.
Dans ce chapitre, nous aborderons en détails les méthodes des algorithmes de l’apprentissage
profond utilisées pour la détection des PI. Ces méthodes font appel aux techniques avancées
d’intelligence artificielle pour traiter et analyser les images, afin de détecter et identifier les
caractères des plaques d’immatriculation.
Dans ce chapitre, nous examinerons de manière détaillée les différentes étapes et méthodes
utilisées dans les algorithmes d’apprentissage profond pour la détection des PI, ainsi que les
avantages et les limites de ces méthodes.
Ce chapitre fera aussi l’objet d’un état de l’art sur l’utilisation des modèles de détection et
reconnaissance des PI.

2.1 Méthodes classiques


La détection d’objets est une méthode permettant de détecter la présence d’une instance
(reconnaissance d’objet) ou d’une classe d’objets dans une image numérique. Les méthodes
classiques de détection d’objets étaient principalement basées sur l’extraction de descripteurs
de caractéristiques, tels que HOG ou SIFT avec classification ultérieure par un classificateur
linéaire, tel que SVM. Ces méthodes ont été largement utilisées avant l’avènement des approches
basées sur l’apprentissage profond comme Faster R-CNN, YOLO V2, SSD etc.

Amné Amine Brahim 17


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

2.1.1 Histogramme de gradient orienté (HOG)


Le HOG est une statistique locale des orientations des dégradés de l’image. Il se caractérise
par son invariance aux changements de rotation et d’éclairage. L’idée principale derrière ce
descripteur est que l’apparence et la forme d’un objet local peuvent souvent être assez bien
caractérisées par la distribution des gradients d’intensité locaux ou par les directions des bords.
Dans sa forme la plus simple, la fonction HOG divise l’image en plusieurs cellules, dans cha-
cune d’elles un histogramme compte les occurrences d’orientations de pixels données par leurs
dégradés. Le descripteur HOG final est ensuite construit avec une combinaison de ces histo-
grammes. En pratique, quatre grandes étapes interviennent : Informatique dérivée d’images,
Calcul de la magnitude et de l’orientation du gradient, Construction d’histogrammes partiels,
et normalisation des histogrammes partiels [6]. La figure 2.1 illustre les principales étapes du
calcul HOG.

Figure 2.1 – Principales étapes du calcul HOG [6]

(a) Image originale, (b) résultat de convolution du visage avec noyau horizontal, (c) résultat
de convolution du visage avec noyau vertical, (d) orientation dégradée de l’ensemble du visage,
(e1) . . .(en) vecteurs de gradient dans chaque cellule, (f1) ... (Fn) histogrammes correspondant
aux cellules calculées en fonction du gradient et de l’amplitude, (g) calcul HOG final.

2.1.2 Transformation de caractéristiques visuelles invariante à l’échelle


(SIFT)
SIFT est un algorithme utilisé dans le domaine de la vision par ordinateur pour détecter
et identifier les éléments similaires entre différentes images numériques (éléments de paysages,
objets, personnes, etc.).
Cette approche transforme une image en une large collection de vecteurs de caractéristiques
locales, dont chacun est invariant par rapport à l’image translation, mise à l’échelle et rotation,
et partiellement invariant aux changements d’éclairage et à la projection affine ou 3D. Les

Amné Amine Brahim 18


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

caractéristiques invariantes d’échelle sont identifiées efficacement à l’aide d’une approche de


filtrage par étapes. La première étape identifie les emplacements clés dans l’espace d’échelle en
recherchant les emplacements qui sont des maximas ou des minima d’une fonction de différence
de gaussienne. Chaque point est utilisé pour générer un vecteur de caractéristiques qui décrit la
région d’image locale échantillonnée par rapport à son cadre de coordonnées d’échelle-espace.
Les fonctionnalités permettent d’obtenir une invariance partielle aux variations locales, telles
que les projections affines ou 3D, en brouillant les emplacements de gradient d’image. Cette
approche s’appuie sur un modèle du comportement de cellules complexes du cortex cérébral de
la vision des mammifères.
Les clés SIFT dérivées d’une image sont utilisées dans une approche d’indexation du plus
proche voisin pour identifier des modèles d’objets candidats[41].

2.1.3 Motif binaire local (LBP)


L’opérateur motif binaire local (LBP) a été proposé initialement par Ojala et al. La tech-
nique LBP (local Binary Pattern), c’est une méthode mathématique dont le principe consiste à
caractériser Ia texture d’une image par calcul du code LBP pour tous les pixels d’image ensuite
calcule l’histogramme de cette image LBP pour former un vecteur de caractéristiques repré-
sentant l’image. La méthode LBP originale étiquette les pixels d’une image avec des nombres
décimaux, qui sont appelés LBP qui codent la structure locale autour de chaque pixel. On pro-
cède ainsi, comme illustré sur la figure 2.2 : chaque pixel est comparé à ses huit voisins dans un
voisinage 3 × 3 en soustrayant la valeur du pixel central ; les valeurs strictement négatives résul-
tantes sont codées avec 0 et les autres avec un. Pour chaque pixel donné, un nombre binaire est
obtenu en concaténant l’ensemble de ces valeurs binaires dans le sens horaire, ce qui commence
à partir de l’une de ses voisines en haut à gauche. La valeur décimale correspondant du nombre
binaire généré est ensuite utilisée pour marquer le pixel donné. Les nombres binaires dérivés
sont appelés codes de LBP. La méthodologie de LBP a été développée récemment avec un grand
nombre de variations pour l’amélioration des performances dans différentes applications [7]. La
figure 2.2 illustre l’exemple de la méthode LBP.

Figure 2.2 – Exemple de la méthode LBP [7]

Amné Amine Brahim 19


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

2.2 Méthodes basées sur les CNN


La détection d’objets basée sur les CNN est une méthode qui utilise des CNN pour identifier
et localiser les instances dans une image ou une vidéo.
Des exemples de méthodes de détection d’objets basées sur les CNN comprennent R-CNN,
Fast R-CNN, Faster R-CNN et YOLO. Ces méthodes diffèrent par la façon dont elles sélec-
tionnent les régions d’intérêt dans l’image et la manière dont elles effectuent la classification.
L’utilisation des CNN pour la détection d’objets présente plusieurs avantages : Précision,
Rapidité, apprentissage automatique des caractéristiques, robustesse aux variations et utilisa-
tion dans une variété d’applications.

2.2.1 R-CNN
R-CNN a été proposé pour améliorer la méthode de CNN dans la reconnaissance d’images,
il peut choisir un grand nombre de boîtes englobantes qui pourraient être des cibles finales par
une recherche facultative, puis diviser les différentes zones indépendantes de l’image en utilisant
l’extraction de caractéristiques de CNN. Le fait est qu’une trame de R-CNN se compose de
quatre étapes, notamment la saisie d’images, l’extraction de propositions de régions, le calcul
des caractéristiques CNN et la classification des régions. Le modèle d’algorithme de R-CNN
peut être identifié à plusieurs processus. Premièrement, les CNN peut être entraîné en classant
les images et les zones cibles peuvent être recherchées par la recherche sélective. De plus, ces
zones cibles doivent être redimensionnées à une taille par défaut. Deuxièmement, pour chaque
zone d’image, un vecteur de caractéristiques est généré par la propagation vers l’avant de CNN,
puis doit être saisi dans le SVM binaire. Enfin, le modèle de régression est utilisé pour réduire
les erreurs de positionnement et corriger la zone de délimitation. Pour résumer, CNN, SVM et
le modèle de régression sont inclus dans R-CNN [42].
Le principal avantage du R-CNN est qu’il présente un taux d’erreur inférieur à celui du CNN
conventionnel, en divisant les images en régions individuelles. En outre, un autre avantage est
que le réseau CNN peut extraire automatiquement les caractéristiques de l’image.
En revanche, l’inconvénient comprend plusieurs points : Premièrement, la formation est
échelonnée et les étapes sont compliquées. Deuxièmement, chaque proposition de région doit
extraire des fonctionnalités via le réseau CNN, générant un nombre important de fichiers de
fonctionnalités et occupant trop de mémoire physique. Troisièmement, chaque proposition de
région doit extraire des fonctionnalités via le réseau CNN, ce qui entraîne une vitesse de fonc-
tionnement lente. Enfin, comme SVM est utilisé pour la classification, la formation de bout en
bout ne peut pas être réalisée [42]. La figure 2.3 représente l’architecture R-CNN.

Amné Amine Brahim 20


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 2.3 – Architecture R-CNN [43]

2.2.2 Fast R-CNN (R-CNN rapide)


Afin d’améliorer l’efficacité du traitement d’image de R-CNN, Fast R-CNN a été introduit en
2015. Trois des modèles indépendants ont été fusionnés dans un cadre de formation commun,
partageant les résultats informatiques. Plus précisément, les formateurs ne définissent plus
de vecteurs de caractéristiques indépendants pour chaque caractéristique, mais chaque image
utilise un canal aller CNN et partage la matrice de caractéristiques. La même matrice propre
est utilisée pour construire le classificateur et la matrice de régression des limites. Il est un
fait que de nombreuses étapes de Fast R-CNN sont les mêmes que celles de R-CNN. En outre,
Fast R-CNN comprend plusieurs processus. Premièrement, un CNN pré-entraîné a été appliqué
à la tâche de classification ainsi qu’au choix de la zone de recherche. Ensuite, la couche de
pooling maximum qui est la dernière couche de CNN pré-entraîné sera échangée par la couche
de pooling Rol. Deuxièmement, Les algorithmes rapides R-CNN remplacent la dernière couche
de connexion complète et le dernier SoftMax de classe k par une couche de connexion complète
et SoftMax de classe k+1. Enfin, Fast R-CNN produit une probabilité discrète pour chaque
RoI et prédire le modèle de régression de boîte englobante des décalages par rapport au RoI
d’origine pour chaque classe K.
Fast R-CNN présente plusieurs avantages par rapport à R-CNN. Premièrement, Fast R-CNN
résoud la méthode de formation en plusieurs étapes de R-CNN et SPP-Net forme l’ensemble du
réseau en multitâche. Deuxièmement, il utilise SoftMax pour remplacer SVM pour la prédiction
multi-classification afin de réaliser une formation de bout en bout. Enfin, il réalise le partage
de poids d’un réseau convolutif et adopte la mise en commun RoI pour maintenir une entrée
multiéchelle.
En outre, l’inconvénient est la perte de temps importante, puisque la proposition de région
extraite par recherche sélective ne peut être exécutée que dans le CPU [42]. La figure 2.4
représente l’architecture Fast R-CNN.

Amné Amine Brahim 21


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 2.4 – Architecture Fast R-CNN [44]

2.2.3 Faster R-CNN (R-CNN plus rapide)


Fast R-CNN n’est toujours pas assez rapide. En conséquence, Faster R-CNN a été introduit
en 2016. Premièrement, de nombreuses étapes de Faster R-CNN sont les mêmes que celles de
Faster R-CNN. Deuxièmement, afin de proposer une distribution, la mise au point de Faster
R-CNN est un réseau de proposition de région (RPN) de bout en bout utilisant une classifi-
cation d’images préentraînée. Troisièmement, un modèle de vérification d’objet Fast R-CNN
est proposé à travers la distribution proposée de la génération actuelle de RPN. Ensuite, Fast
R-CNN est utilisé pour lancer la formation RPN. Tout en conservant la couche de convolution
partagée, seule la couche RPN est ajustée. À ce stade, le RPN et la couche de convolution du
réseau de détection sont partagés. Enfin, la couche unique de Fast R-CNN peut être affinée et
Fast R-CNN peut être répétée en 4 à 5 étapes.
Le Faster R-CNN, en tant que version la plus améliorée, présente plusieurs avantages iden-
tifiés. Pour commencer, Faster R-CNN optimise la génération de la zone proposée, afin de
réaliser véritablement une formation de bout en bout. Ensuite, il atteint le temps réel sur GPU
et une grande précision. Cependant, la proposition d’objets nécessite beaucoup de temps et les
performances du système dépendent des performances du système précédent. Après cette série
d’améliorations, la série R-CNN a évolué pour compléter la structure de base. Tout d’abord,
la caractéristique de la région candidate est extraite par la méthode de convolution partagée.
Deuxièmement, afin de s’adapter aux différentes tailles de zones candidates, Fast R-CNN a
adopté la dimension de mutualisation du retour sur investissement avec immobilisation. Enfin,
cela permettra de réaliser des tâches de formation en plusieurs étapes afin que le modèle soit
plus simple et plus pratique [42]. La figure 2.5 représente l’architecture Faster R-CNN.

Amné Amine Brahim 22


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 2.5 – Architecture Faster R-CNN [45]

2.2.4 Mask R-CNN (Masque R-CNN)


Il y a une nouvelle mise à jour dans Faster R-CNN en 2017, Mask R-CNN. Il applique un
R-CNN plus rapide à la segmentation des images en pixels. Le point clé est de classer et de
générer des masques au niveau des pixels. Mask R-CNN ajoute une troisième branche telle que
la classification, l’emplacement et le masque basé sur Faster R-CNN. La branche masque génère
un petit réseau de liaison complète pour chaque RoIAlign et génère un masque pixel à pixel.
De plus, comme la découpe de pixels nécessite une zone de délimitation plus précise, elle a
également modifié le pooling RoI. Le masque R-CNN est une extension du R-CNN plus rapide.
Faster R-CNN prédit les boîtes englobantes et Mask R-CNN ajoute essentiellement une autre
branche pour prédire un masque d’objet en parallèle [42]. La figure 2.6 représente l’architecture
Mask R-CNN.

Figure 2.6 – Architecture Mask R-CNN [46]

2.2.5 SSD (Single Shot MultiBox Detector)


Le SSD présenté par Liu et al a une performance élevée et en temps réel [47]. SSD est
un détecteur en une passe entièrement convolutif. Il permet une détection à multi-échelles
facilitant ainsi la détection d’objets de tailles différentes, s’appuie sur l’architecture VGG-16

Amné Amine Brahim 23


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

pour l’extraction de caractéristiques. Des couches supplémentaires convolutives succèdent le


backbone et font partie du neck du détecteur. Elles ont pour rôle de réduire progressivement
la taille des matrices d’activation. Enfin, la couche de la tête du détecteur prend en entrée des
cartes de caractéristiques du neck et de l’extracteur [48]. La figure 2.7 représente l’architecture
SSD.

Figure 2.7 – Architecture SSD [47]

2.2.6 RetinaNet
RetinaNet est l’un des algorithmes représentatifs en une étape et sa structure est illustrée
à la Figure 2.8 Le backbone utilise les structures ResNet et Feature Pyramid Net (FPN). Sur
la base de la structure FPN, un chemin descendant et une connexion horizontale sont ajoutés.
Chaque niveau du FPN est connecté aux réseaux entièrement convolutifs, qui comprennent
deux sous-réseaux indépendants utilisés pour la classification et la régression. La principale
innovation de RetinaNet est l’ajout de Focal Loss au sous-réseau de classification. Étant donné
que le déséquilibre du nombre d’échantillons positifs et négatifs dans la détection cible de
l’algorithme en une étape affectera la perte d’entraînement, Focal Loss attribue différents poids
aux échantillons durs, ce qui résoud efficacement le problème de déséquilibre de classe dans le
modèle de détection cible [49]. La figure 2.8 représente l’architecture RetinaNet.

Figure 2.8 – Architecture RetinaNet [49]

2.2.7 YOLOv3
Les deux premières versions de YOLO ont été publiées en 2016 et 2017 respectivement.
Cependant, en 2018 une version de YOLO a été publiée, nommées YOLOv3 effectue des pré-
dictions à partir de cartes de caractéristiques à trois niveaux différents. Les cartes de caractéris-
tiques sont divisées en grilles et les cellules des grilles sont placées avec des ancres de différentes

Amné Amine Brahim 24


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

tailles, qui sont acquises en effectuant des K moyennes sur l’ensemble de données. Les ancres
sont étiquetées au premier plan si leur IoU avec une boîte de vérité terrain est supérieure au
seuil de 0,3. Les coordonnées centrales et les tailles des boîtes sont régressées en fonction des
positions et des tailles des ancres. Par rapport à l’utilisation d’une couche entièrement connec-
tée pour prédire directement les coordonnées des cadres de délimitation, le mécanisme basé sur
l’ancrage peut améliorer considérablement le rappel du modèle sur des objets de petite taille.
Au lieu d’une couche softmax, YOLOv3 effectue des classifications avec des classificateurs bi-
naires C, où C est le nombre de classes de l’ensemble de données. Cette modification donne
à YOLOv3 la capacité d’effectuer une classification multi-étiquettes. Suite à l’idée du réseau
résiduel, un réseau fédérateur plus profond Darknet-53 a été adopté dans YOLOv3. De plus,
YOLOv3 applique une stratégie de formation multi-échelle, qui répond davantage à la difficulté
du précédent YOLO à détecter de petits objets. YOLOv3 est compétitif en termes de précision
et de vitesse, et il est robuste dans la détection de différents types d’objets [50]. La figure 2.9
représente l’architecture YOLOv3.

Figure 2.9 – Architecture YOLOv3 [50]

2.2.8 YOLOv4
YOLOv4 se compose de : Colonne vertébrale (CSPDarknet53), Cou(SPP), POÊLE, Tête(
YOLOv3) . YOLO v4 utilise :
✺ Sac de cadeaux (BoF) pour le backbone : augmentation des données CutMix et Mosaic,
régularisation DropBlock, lissage des étiquettes de classe.
✺ Bag of Specials (BoS) pour le backbone : activation Mish, connexions partielles entre
étages (CSP), connexions résiduelles pondérées multi-entrées (MiWRC).
✺ Sac de cadeaux (BoF) pour le détecteur : perte CIoU, CmBN, régularisation DropBlock,
augmentation des données mosaïque, formation auto-adversative, élimination de la sen-
sibilité de la grille, utilisation de plusieurs ancres pour une seule vérité terrain [52].
✺ Bag of Specials (BoS) pour détecteur : activation Mish, bloc SPP, bloc SAM, bloc d’agré-
gation de chemin PAN, DIoU-NMS. La figure 2.10 représente l’architecture YOLOv4.

Amné Amine Brahim 25


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 2.10 – Architecture YOLOv4 [51]

2.3 Travaux connexes


Les auteurs [16] ont abordé la détection et la reconnaissance d’objets de texte dans des
images de scènes réelles Plus précisément, pour la reconnaissance de texte, ils ont développé un
descripteur basé sur HOG, et dédié au traitement du texte Roman, baptisé T-HOG. Ils ont donc
montré la valeur en tant que post-filtre pour un détecteur de texte existant (SNOOPERTEXT).
Ils ont également amélioré l’algorithme SNOOPERTEXT en développant une approche multi-
échelle pour traiter des caractères de taille très différentes tout en limitant la sensibilité de
l’algorithme.
Pour améliorer les performances de LBP, les auteurs de [17] ont proposé une nouvelle mé-
thode pour capturer des informations discriminantes pour représenter les images de texture le
descripteur s’appelle Local Corrélation Voisinage (LCV) basé sur LBP. Le descripteur LCV est
calculé en se basant sur la corrélation autour du pixel centre, et sa dimension est la même de
LBP. Les résultats expérimentaux sur la base de données de texture représentatives CUReT
montrent que le LCV proposé reste à améliorer par rapport à LBP conventionnelle.
Un système de reconnaissance d’images a été étudié par les auteurs de [18] qui s’intéressent
à améliorer la complexité en temps de calcul pour la reconnaissance d’objets. Dans un premier
temps, ils ont proposé d’utiliser un système d’attention visuelle comme filtre pour réduire le
nombre de points d’intérêts générés par les détecteurs traditionnels Par la suite, ils ont proposé
un descripteur hybride perceptuelle-texture. L’expérimentation de ce descripteur sur un système
de reconnaissance d’objets (le détecteur restant SIFT), sur la base d’images de VOC 2007, a
montré une légère baisse de performance par rapport à l’algorithme original, basé sur SIFT.
Dans cette recherche [19], les auteurs ont proposé la méthode qui se base sur les réseaux de
neurones, son schéma général se définit par les opérations suivantes qui se succèdent depuis la
saisie des données à traiter, suivie d’un prétraitement, le seuillage et la détection des contours.
Après cela ils enchainent avec l’opération d’extraction des caractéristiques, dans leur cas ils ont
utilisé le détecteur de Harris et finalisé par une opération de segmentation afin d’obtenir des
données claires, distinctes, représentatives et prêtes pour classification. Cette dernière représente
le noyau de la méthode qu’ils ont proposé, elle se base sur un modèle des réseaux de neurones

Amné Amine Brahim 26


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

dite : perceptron multicouche « MLP » connu par sa capacité de classification et la possibilité


de l’exécuter sous forme parallèle. Afin de tester l’approche qu’ils ont développé et vu que le
matricule algérien possède une organisation des caractères et une interprétation spécifique, ils
avaient créé leur propre base de données afin qu’elle soit prête pour l’évaluation de ce projet. Le
réseau neuronal a ensuite été testé avec 200 images de chaque chiffre et le résultat a été Taux de
réussite de 95% pour la reconnaissance des chiffres. Le taux d’erreur est différent pour chaque
ensemble d’entraînement d’images. Ils suggèrent que d’autres outils neuronaux puissent être
exploités dans ce type de reconnaissances tel que l’apprentissage profond toutes en diversifiant
le type d’images en introduisant les images nocturnes avec des bruits importants.
Pour réaliser un système de détection de plaque d’immatriculation automatique, les auteurs
de [20] ont proposé d’utiliser les techniques d’apprentissage en profondeur et le traitement
d’images pour implémenter ce système dans un Raspberry Pi à base de CPU. Ils ont comparé
les deux types d’algorithmes pour détecter la plaque, l’algorithme pour le traitement d’image qui
est basé sur la méthode de segmentation, le traitement de chaque caractère individuellement
et l’algorithme d’apprentissage approfondie qui est le MobileNetsSSD et visualise les deux
résultats. Pour entrainer le modèle de l’apprentissage profond, ils ont pris une base de données
déjà étiquetée et additionnée à leurs propres donnés. Les résultats d’étude comparative entre les
deux algorithmes montrent que l’apprentissage profond était plus précis alors que le traitement
d’image était plus rapide et plus performant. Mais la limite était la mise en place de l’algorithme
Yolo le meilleur pour la reconnaissance d’objet sur la carte Raspberry donc le choix enfin était
MobilNetsSDD.
[14] Ce travail se focalise sur le système de détection et gestion des automobiles au sein d’un
parking par la reconnaissance des matricules avec des techniques avancées dont ils ont utilisé
un programme spécial permettant l’identification et la reconnaissance de la plaque d’immatri-
culation en utilisant le traitement d’images et un deuxième modèle entrainé par l’apprentissage
approfondi qui est la méthode Faster R-CNN. Pour leurs dataset ils ont Rassemblé et étiqueté
des données avec des arrière-plans différents, des objets aléatoires et des conditions d’éclairage
variables, et les voitures avec plusieurs positions. Ils ont conclu l’importance de l’apprentissage
en profondeur, étant donné qu’il est rapide et efficace, fonctionnant en temps réel pour découvrir
la plaque de numérotation. Par rapport au premier model. Et leur système présente quelques
limites lies à la précision de détection du numéro matricule dont il propose en perspective
d’utiliser le modèle YOLO au lieu Faster SSD.
Andrew et all [52] aborde, le développement d’un modèle de détection et de reconnaissance
automatique des PI qui reconnaît automatiquement le numéro de PI des véhicules. Pour au-
tomatiser ce processus, ils ont proposé un processus en trois étapes qui détectera la plaque
d’immatriculation, segmentera les caractères et reconnaîtra les caractères qui y sont présents.
La détection s’effectue en convertissant l’image d’entrée en une image à deux niveaux. À l’aide
des accessoires de région, les caractères sont segmentés à partir de la PI détectée. Un modèle
CNN à deux couches est développé pour reconnaître les caractères segmentés. Pour former et
tester le modèle, ils ont utilisé 3 types différents d’ensembles de données extraits de l’ensemble

Amné Amine Brahim 27


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

de données Chars74k qui est couramment utilisé pour la reconnaissance des caractères des PI.
Le modèle a atteint une précision de 91,1% mais le modèle est incapable de reconnaître les
caractères lorsqu’ils sont fortement floutés.
N. Eswar et all, [53] ont mis en œuvre un système de reconnaissance de PI efficace qui
détecte d’abord les véhicules, puis récupère les PI des véhicules pour réduire les faux positifs
lors de la détection des plaques. Ainsi, la méthode proposée, le caractère est reconnu à l’aide de
réseaux de neurones convolutifs (CNN). Les résultats expérimentaux montrent que le modèle
proposé était suffisamment capable de détecter avec succès la PI du véhicule à partir d’images
contenant une scène naturelle et différentes conditions d’éclairage.
Parneet Kaur et all, [54] ont présenté un système RAPI efficace qui utilise un CNN pour la
reconnaissance de caractères. Une combinaison d’opérations de prétraitement et morphologiques
a été appliquée pour améliorer la qualité de l’image d’entrée, ce qui contribue à l’efficacité du
système. Le système possède diverses fonctionnalités, telles que la capacité de reconnaître les
PI multilignes, asymétriques et multipolices. Il fonctionne également efficacement en mode nuit
et peut être utilisé pour différents types de véhicules. Une précision globale de 98,13 % a été
obtenue en utilisant la technique CNN proposée, il existe également certaines limitations, telles
que la reconnaissance de plusieurs PI dans une seule image. La CNN ne peut pas faire la
distinction entre la zone de la plaque et les grilles du véhicule automobile.
Gonçalves et all dans [24] ont introduit une nouvelle approche en deux étapes pour détecter
et reconnaître les plaques d’immatriculation brésiliennes basée sur deux réseaux. Un réseau de
détection conçu spécifiquement pour gérer la détection des plaques d’immatriculation et un
CNN multitâche pour effectuer simultanément la segmentation et la reconnaissance des images
des PI. Ils ont créé une nouvelle fonction de perte utilisée pour améliorer la convergence de
leur réseau de détection. Ils ont également conçu deux techniques d’augmentation des données
pour augmenter le nombre d’échantillons disponibles pour former leurs réseaux. Ensuite, cet
article introduit également un nouvel ensemble de données ALPR contenant 6 660 images. Les
résultats ont démontré que leur approche était capable de détecter 79,3 % PI à l’aide de leur
nouvel ensemble de données proposé. De plus, le réseau de reconnaissance a pu reconnaître 85,6
%de toutes les PI.
Alperen et all, [21] ont proposé une méthode de reconnaissance des PI pour les caméras
de surveillance routière générale. Ainsi, Ils ont utilisé SSD, qui est une technique populaire
de détection d’objets basée sur l’apprentissage en profondeur, à des fins de détection d’objets.
Pour la formation du modèle de détection de caractères, ils ont utilisé 72 000 images de plaques
synthétiques annotées pour apprendre les paramètres du modèle de classification et 18 000
images ont été utilisées pour la validation. À des fins de test, les mêmes 2000 images réelles,
qui sont utilisées pour tester le modèle de détection de plaque, ont été utilisées. Le modèle SSD
proposé atteint généralement une précision globale d’environ 73,3% sur un ensemble de test
composé de 2 000 images réelles.
Pour réduire le temps d’inférence pour le système de reconnaissance de PI en temps réel pour
une faible ressource, Ashrafee et all dans [22] ont utilisé un classificateur haar-cascade comme

Amné Amine Brahim 28


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

filtre au-dessus de leur modèle de détection de base MobileNet SSDv2, il n’y a pas d’ensembles
de données des PI en bengali accessibles au public, pour lesquels ils ont créé un ensemble de
données d’images et vidéo contenant des plaques d’immatriculation à l’état sauvage. Le modèle
a une performance de détection de 82,7% de taux de détection.
[11] Dans de ce travail, l’auteur propose une méthode utilisant des techniques d’apprentis-
sage en profondeur pour résoudre la tâche de détection automatique des PI dont ils ont créé leur
propre base de données et labellisé les images manuellement. Les algorithmes d’apprentissage
utilisés sont : Faster R-CNN et SSD MobileNet qui ont été comparés sous CPU et GPU. Le
premier s’est avéré plus précis mais plus lent et l’utilisation de GPU est beaucoup plus rapide
pour les deux. Les résultats montrent que la perte du modèle Faster R-CNN Inception v2 est
trop faible. Par contre avec le modèle SSD-MobileNet v1 une perte un peu trop. Ils ont conclu
qu’ils ont obtenu une haute précision par le modèle Faster-R-CNN-Inception-v2, et grand temps
d’exécution, dont on ne peut pas utiliser le modèle en temps réel dans les systèmes embarqués.
Le modèle SSD-MobileNet-v1 donne une faible précision et petit temps d’exécution, donc on
peut l’utiliser dans les systèmes embarqués.
[12] Dans cet article, ils ont proposé un nouveau système RAPI en temps réel robuste basé sur
les réseaux de neurones convolutifs (CNN) de détection d’objets YOLO. Pour la segmentation
et la reconnaissance des caractères, ils ont conçu une approche en deux étapes utilisant des
astuces simples d’augmentation des données telles que les PI inversées et les caractères inversés.
L’approche ALPR qui en a résulté a obtenu des résultats impressionnants dans deux ensembles
de données. Tout d’abord, dans le jeu de données SSIG, composé de 2000 images à partir de 101
vidéos de véhicules, le système a atteint un taux de reconnaissance de 93,5%. Deuxièmement, en
ciblant un scénario plus réaliste, ils ont introduit un ensemble de données publiques plus large,
appelé jeu de données UFPR-ALPR, conçu pour ALPR. Cet ensemble de données contient 150
vidéos et 4 500 images capturées lorsque la caméra et les véhicules se déplacent et contient
également différents types de véhicules. Dans leur ensemble de données proposé, les versions
d’essai des systèmes commerciaux ont atteint des taux de reconnaissance inférieurs à 70%.
En revanche, le système a mieux performé, avec un taux de reconnaissance de 78,33%. Pour
optimiser davantage (en termes de vitesse) les étapes de détection des véhicules et également
de corriger l’alignement des PI inclinés et des caractères afin d’améliorer la segmentation et la
reconnaissance des caractères ils ont proposé d’explorer de nouvelles architectures CNN.
Jamtsho et all [23] ont présenté la détection en temps réel de plaque d’immatriculation
pour un motard non casqué à l’aide du détecteur d’objets en temps réel YOLO v2 (You Only
Look Once). Dans cette approche proposée, un seul réseau neuronal convolutif a été déployé
pour détecter automatiquement la PI d’un motocycliste non casqué à partir du flux vidéo. La
méthode de suivi centroïde avec une ligne de référence horizontale a été utilisée pour éliminer
le faux positif généré par le motard casqué à la sortie des images vidéo. Le taux de détection
global de plaque d’immatriculation était de 98%.
Huang et all [55] dans cet article propose une méthode de détection YOLOv3 améliorée pour
les pommes immatures dans le verger. Ils ont utilisé CSPDarknet53 comme réseau fédérateur

Amné Amine Brahim 29


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

du modèle, le mécanisme de régression de trame cible et combiner avec l’algorithme Mosaic


pour améliorer la précision de la détection. Pour l’ensemble de données, la précision est de
67%. Par conséquent, pour l’ensemble de données de pommes immatures gravement occluses,
la méthode proposée dans cet article a un effet de détection significatif.
Onim et all [25], ont abordé la surveillance du trafic à l’aide de la plaque d’immatriculation
du véhicule, Détection et reconnaissance au Bangladesh. Ainsi, ils ont utilisé la version 4 de
Tesseract comme moteur ROC pour former un classificateur de véhicule et une détection avec
YOLOv4 . Ils ont entrainé le modèle avec la base Tkinter, dont une précision moyenne de
90,50%, ils ont présenté également une interface utilisateur graphique (GUI) reconnaissant les
caractères à l’aide de tesseract à partir de la licence détectant la plaque d’immatriculation des
véhicules du Bangladesh.
[56] Cet article aborde la RAPI à partir de captures d’images prises du devant ou de l’ar-
rière des véhicules. Pour atteindre leur objectif, ils ont développé une application Python qui
consiste tout d’abord à une détection de véhicule, une segmentation de la PI, une identification
automatique du numéro de la plaque. Pour la détection les plaques d’immatriculation des véhi-
cules marocaines, ils ont utilisé la méthode YOLO v3, la méthode présente les avantages d’une
haute précision et de performances en temps réel. Pour mener les expériences, ils ont rassemblé
leur propre ensemble de données (quelques photos de voitures) pour former le classificateur de
modèle basé sur CNN.
[15] Dans ce travail, l’auteur aborde la classification automatisée et création d’ensembles
de données basé sur les topologies de réseau neuronal YOLO, leur approche consiste à utiliser
l’algorithme YOLOv3 pour la détection et l’OCR pour la reconnaissance. Pour la détection des
PI, ils ont d’abord préparé leurs propres jeux de données puis les ont annotés pour extraire les
numéros des PI. A cet effet ils ont utilisé des images capturées à l’aide de téléphone portable et
extrait d’autres à partir de sites Web de vente de voitures. De plus, la base de données proposée
est suffisamment diversifiée. Le résultat de la détection avec yolov3 avec une précision de 97%,
mais le mot Tunisie écrit en arabe fait que le code de la reconnaissance a quelques difficultés.
Dans ce travail [10], l’auteur aborde l’apprentissage profond avec les modèles de réseaux de
neurones pour la détection des PI, dans le but d’améliorer les taux de précision de la détection
des PI, ils ont développé une application qui a été testée pour la détection et reconnaissance
des PI des véhicules. En effet, ils ont fusionné deux modèles de détection des PI. Pour mener les
expériences, ils ont choisi un dataset composé de photos prises sur des véhicules. Ainsi, la fusion
des deux modèles (YOLOv3 et RetinaNet) a donné suite à une augmentation significative de la
précision de la détection. Comme perspective pour ce travail, ils ont proposé l’utilisation d’un
troisième modèle en plus de RetinaNet et de YOLOv3, et ce afin de faire face à d’éventuelles
lacunes, sinon, apporter plus légitimité et de pertinence à leur contribution.
Sham et all, [13] ont abordé la reconnaissance automatique des plaques d’immatriculation
YOLOv4 ET Tesseract OCR. Ainsi, Ils ont développé un modèle basé sur plusieurs types des PI
de différents pays. L’ensemble de données d’images a été formé à l’aide de Yolov4 qui utilise des
architectures CNN. La reconnaissance des caractères a été effectuée à l’aide de l’OCR Tesseract

Amné Amine Brahim 30


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

après plusieurs techniques de prétraitement d’images et de transformations morphologique.


Ce modèle de détection permet la détection et la reconnaissance de caractères dans différents
types d’environnements et sur plusieurs types de PI. Ils ont testé le programme avec 30 autres
échantillons d’images et obtenu 92% de précision dans la détection des PI et 81% de précision
dans la reconnaissance des caractères.
Li et all [57], ont abordé la détection et le comptage des épis de blé qui sont essentiels pour
la gestion des champs de culture. Ils ont proposé un algorithme YOLOv5 amélioré basé sur
une couche d’entités peu profonde. Il y a deux idées principales : augmenter le champ percep-
tif en ajoutant un quadruple sous-échantillonnage dans la pyramide des caractéristiques pour
améliorer la détection de petites cibles, et introduire le mécanisme d’attention CBAM dans le
réseau neuronal pour résoudre le problème de la disparition du gradient pendant l’entraîne-
ment. Enfin, pour que le modèle ait une meilleure capacité de généralisation, ils ont proposé
la méthode d’amélioration des données Mosaic-8, avec une fonction de perte ajustée et une
formule de régression modifiée pour le cadre cible. Les résultats expérimentaux montrent que
l’algorithme a une précision de 88,5% et un rappel de 98,1%.
Linfeng Jiang et all, [58] ont abordé YOLOv5 amélioré avec pyramide de fonctionnalités équi-
librée et module d’attention pour détecter les panneaux de signalisation, les auteurs ont proposé
une méthode YOLOv5 améliorée en utilisant la structure pyramidale des caractéristiques des
soldes et le bloc de contexte global pour améliorer la capacité de fusion et d’extraction des
caractéristiques. Pour vérifier leur méthode proposée, ils ont mené de nombreuses expériences
comparatives sur le jeu de données difficile TsinghuaTencent-100K (TT100K). Les résultats ex-
périmentaux démontrent que la précision de augmente de 2,4% et le rappel augmente de 3,3%.

Table 2.1 – Résumé : Travaux Connexes

Auteurs Année Méthodes Précision


[10] 2021 Fusion : YOLOv3&RetinaNet 80%
[11] 2020 Faster R-CNN et SSD MobileNet
[20] 2021 MobileNetsSSD et T.Img MobileNetsSDD : 80% et T.Img : 60%
[14] 2020 Faster R-CNN et T.Img
[19] 2020 MLP 95%
[52] 2021 CNN à deux couches Det : 91,1% Rec : 98,8%
[12] 2018 YOLO Det 93,53% Rec : 78,33%
[22] 2022 MobileNet SSDv2 82,7%
[22] 2022 CNN multitâche Det : 79,3% Rec :85,6%
[13] 2021 YOLOv4 Det : 92% Rec :81%
[21] 2019 SSD Précision : 73,3%
[25] 2020 YOLOv4 90,50%

1. T.Img : Traitement d’image ; 2. Det : Detection ; 3. Rec : Reconnaissance

Amné Amine Brahim 31


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

2.4 Synthèse
Les études précédentes, notamment [16] [17] [18], ont utilisé les descripteurs HOG, LBP
et SIFT, qui sont des méthodes classiques de détection d’objets dans une image. Cependant,
ces descripteurs ne tiennent pas compte de l’échelle des objets, sont sensibles aux variations
d’éclairage, aux transformations complexes, au bruit et aux rotations, ce qui limite leur précision
et leur fiabilité. Pour pallier ces limites, il est souvent recommandé d’utiliser des techniques
d’apprentissage automatique pour améliorer la détection d’objets. Dans l’étude de [19], les
auteurs ont utilisé l’apprentissage automatique pour la détection des PI, mais cette méthode
présente également des limites, d’où la suggestion d’utiliser l’apprentissage profond. Dans [20] et
[14], les auteurs ont réalisé une étude comparative entre les algorithmes de traitement d’image et
les algorithmes d’apprentissage profond, dont les résultats montrent que l’apprentissage profond
est plus précis, rapide, performant et fonctionne en temps réel. Différents travaux ont été
menés pour la détection des PI, tels que Faster R-CNN [11], SSD MobileNet [11], MobileNet
SSDv2 [22], YOLO v2 [23], YOLOv3 [15] et YOLOv4 [13] [25]. Chacune de ces méthodes
utilise l’apprentissage profond avec des modèles de réseaux de neurones, présentant chacune
leurs avantages et leurs compromis.
En conclusion, les travaux se sont concentrés sur la détection et la localisation précises en
temps réel des PI. Ils ont abordé les problèmes liés à la détection et à la reconnaissance des
caractères dans différents environnements, tels que l’uniformité des modèles des PI, la faible
résolution, l’alignement des plaques inclinées et les différentes conditions d’éclairage. Parmi
les algorithmes étudiés, YOLO est l’algorithme de détection le plus célèbre en raison de sa
précision, de sa rapidité, de sa performance et de son fonctionnement en temps réel. Cependant,
il est important de noter que l’algorithme YOLOv5, qui est plus spécifiquement adapté à notre
problématique, n’a pas été traité dans ces travaux. Nous pensons l’utilisation du modèle de
détection YOLOv5 et de l’outil easyOCR serait une contribution importante pour améliorer le
système RAPI en temps réel. L’utilisation de YOLOv5 permettrait de localiser avec précision les
plaques dans différentes conditions, tandis que l’utilisation de easyOCR permettrait d’extraire
les caractères des plaques pour obtenir l’information complète sur le numéro de la PI de véhicule.

Conclusion
Dans ce chapitre, nous avons abordé les méthodes classiques de détection d’objets, ainsi
que les méthodes basées sur les CNN, leurs fonctionnements et leurs différentes architectures.
Nous avons également examiné leurs avantages et leurs limites. Afin de mieux comprendre l’état
actuel de la recherche dans ce domaine, nous avons fait un état de l’art approfondi des travaux
qui ont été réalisés dans le cadre de la détection de la PI. Les travaux utilisant les méthodes
classiques ont montré de réelles limites. Afin de relever ce défi, plusieurs chercheurs ont intégré
l’apprentissage profond.
Le prochain chapitre expliquera en détail la méthodologie proposée pour détecter les PI en
infraction au feu de signalisation.

Amné Amine Brahim 32


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

CHAPITRE 3

CADRE ET MÉTHODE PROPOSÉE

Introduction
L’apprentissage profond, une technique de l’IA, est largement utilisée avec succès dans de
nombreux domaines. En particulier, son utilisation dans la reconnaissance automatique des
plaques d’immatriculation(PI) a considérablement amélioré la précision et l’efficacité de cette
tâche. Les CNN sont spécialement conçus pour extraire les caractéristiques pertinentes des
images, ce qui les rend adaptés à la reconnaissance des PI.
Les modèles de détection d’objets en apprentissage profond sont généralement classés en
deux catégories : les modèles à un étage et les modèles à deux étages. L’approche à deux
étages, est une approche classique les régions d’intérêt sont proposées à l’étape initiale, puis
classifiées et ajustées dans l’étape suivante. Cette méthode est plus lente mais offre une précision
de détection. Elle est utilisée dans des modèles tels que R-CNN, Fast R-CNN , Faster R-
CNN et Mask R-CNN. Par contre, l’approche à un étage est une méthode pour résoudre les
problèmes de classification et de localisation en même temps, elle vise à prédire directement
les régions d’intérêt contenant les objets. Ces modèles, basés sur les CNN tels que YOLO ou
SSD, permettent une détection rapide en prédisant simultanément les coordonnées des boîtes
englobantes et les classes des objets.
Les modèles en un étage ont l’avantage d’être plus rapides que les modèles en deux étages,
ce qui les rend idéaux pour les applications en temps réel.
Dans [21] les auteurs ont proposé la méthode SSD de reconnaissance des PI pour les caméras
de surveillance routière générale mais la précision était faible. La méthode SSD utilise des filtres
à différentes échelles pour détecter des objets à des tailles différentes. Cela permet une meilleure
détection des objets de petite taille, mais peut augmenter la complexité du modèle.
Le célèbre algorithme de détection d’objets YOLO avec plusieurs versions a été mis en œuvre
et a très rapidement fait l’objet de plusieurs recherches [13] [15] [56] [25]. Ainsi, les travaux de
[57] [58] ont étudié le modèle YOLOv5, mais ces travaux n’ont pas été dans le cadre de la
détection de la PI.

Amné Amine Brahim 33


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

De ce constat, nous proposons le modèle YOLOv5 pour la détection des PI, tandis que la
segmentation et la reconnaissance des caractères seront gérées par la reconnaissance optique des
caractères (OCR). Nous détaillerons également le modèle YOLOv5 utilisé dans notre approche,
ainsi que la reconnaissance optique des caractères, plus précisément l’outil easyOCR. Cette
combinaison de techniques nous permettra d’obtenir des résultats précis et efficaces dans la
détection et la reconnaissance des PI.

3.1 Approche proposée


3.1.1 Description du système proposé
Les techniques de détection d’objets sont à la base de l’IA [59]. La recherche a révélé que
l’utilisation de l’IA pour résoudre le problème de la détection et la reconnaissance des PI est la
solution efficace. Plusieurs chercheurs ont fourni différentes méthodes et techniques de détection
qui présentent des performances plus ou moins différentes [23] [55] [56] [15] [60] [25] [13] [60] [57].
Cependant, chaque méthode a ses propres avantages et inconvénients. De plus, le système de
numérotation des plaques d’immatriculation diffère pour chaque pays, les couleurs, la langue
des caractères, le style (police) et les tailles. Notre approche consiste à utiliser l’algorithme
YOLOv5 pour la détection des PI et ROC pour la reconnaissance des caractères des PI. Notre
projet est divisé en deux grandes parties majeures : la détection de la plaque d’immatriculation
du véhicule et la reconnaissance du numéro de la PI.
La première phase détecte si une voiture est en mouvement quand le feu de signalisation est
au rouge, la caméra IP capture une image de la voiture en mouvement, l’image est envoyée en
temps réel a notre système, ainsi nous devons définir une méthode qui localisera et recadrera
précisément le numéro sur la plaque de la voiture. La détection est basée sur l’algorithme
YOLOv5 [60], qui est célèbre pour sa caractéristique de détection d’objet.
Ensuite, la deuxième phase sera la reconnaissance du numéro des PI mais avant cette phase
différentes techniques de pré-traitement d’image doivent être faites pour obtenir une plus grande
précision, nous utilisons la reconnaissance optique des caractères pour la reconnaissance des PI.
Il existe de nombreuses méthodes existantes pour la détection des PI des véhicules ; cependant,
nous avons décidé d’explorer l’apprentissage en profondeur à travers ce projet pour détecter et
reconnaitre les PI des véhicules en infraction au feu de signalisation.

Amné Amine Brahim 34


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 3.1 – Modèle du système proposé

3.2 Algorithme YOLOv5


YOLO(You Only Look Once) qui signifie en français (Vous ne regardez qu’une seule fois) est
une approche de détection d’objet qui traite les images d’entrée dans leur intégralité, contrai-
rement à l’ancienne approche de fenêtre coulissante où des segments d’image spécifiques sont
classés individuellement souvent en plusieurs passes. Cette approche permet un traitement plus
rapide car elle n’a pas à effectuer de nombreuses évaluations indépendantes et elle améliore éga-
lement la précision puisque le contexte global de l’image est mis à la disposition de l’ensemble
du réseau de neurones [61] [62].

3.2.1 Choix de YOLOv5


Actuellement, il existe deux types de méthodes de détection basées sur l’apprentissage pro-
fond : le détecteur à 1 étage et le détecteur à 2 étages. Tout d’abord, un détecteur à 2 étages dans
lequel la proposition régionale et la classification sont effectuées séquentiellement. Le R-CNN et
le masque R-CNN [42] correspondent au type de détecteur à 2 étages. Contrairement au détec-
teur à 2 étages, dans le détecteur à 1 étage, une proposition régionale et une classification sont
effectuées simultanément. En d’autres termes, c’est une méthode pour résoudre les problèmes
de classification et de localisation en même temps. YOLO [61] [62], SSD [21], SSD MobileNet
[22] et RetinaNet [10] sont des algorithmes représentatifs du détecteur à 1 étage. Fast R-CNN
[42] a un problème d’inefficacité dans la vitesse d’apprentissage et d’exécution parce que le
module de génération de zone candidate est effectué dans un module séparé indépendamment
de CNN.

Amné Amine Brahim 35


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

YOLO est un célèbre algorithme de détection d’objets avec plusieurs versions. Le cœur de
l’algorithme de détection de cible YOLO réside dans la petite taille du modèle et la vitesse
de calcul rapide. La structure de YOLO est simple. Il peut directement sortir la position et
la catégorie de la boîte englobante via le réseau neuronal. La vitesse de YOLO est rapide car
il utilise directement l’image globale pour la détection, ce qui peut encoder les informations
globales et réduire l’erreur de détection de l’arrière-plan en tant qu’objet, pour cette raison,
YOLO s’est développé progressivement [61]. En 2020, la cinquième version de YOLO est sortie.
Par rapport aux méthodes a 2 étages, la vitesse et la précision ont augmenté. Étant donné
que YOLO n’applique pas de réseau distinct pour extraire les régions candidates, il affiche de
meilleures performances en termes de temps de traitement [42]. La structure de base YOLOv5
[58] est divisée en partie réseau de base, partie cou et partie tête.
Le principe de base de YOLOv5 est similaire à YOLOv4 [25]. YOLOv5 est une base d’amé-
lioration de YOLOv4, et YOLOv5 [58] [61] [63] a les meilleures performances en termes de préci-
sion, de rappel et de précision moyenne par rapport à Faster R-CNN, YOLOv3 et YOLOv4 [25].
En outre, YOLOv5 [61] [63] se compose de cinq versions à lui seul, qui sont YOLOv5n(nano)
YOLOv5s(petit), YOLOv5m(moyen), YOLOv5l(grand) et YOLOv5x (très grand). Ceci est
classé en fonction de la taille de stockage de la mémoire, mais le principe est le même ; La prin-
cipale différence entre eux réside dans le nombre de modules d’extraction de caractéristiques
et de noyaux de convolution, la taille des paramètres pour Yolov5n, YOLOv5s, YOLOv5m,
YOLOv5l et YOLOv5x sont respectivement de 4 Mo, 14 Mo, 41 Mo, 89 Mo et 166 Mo, les
auteurs de [17] ont comparé l’expérience de classification des personnes qui portent un masque
ou non a été réalisée indépendamment sur cinq architectures YOLOv5 (n, s, m, l, x) d’abord
sur la formation, puis sur les sous-ensembles d’images de test. L’architecture la plus complexe
YOLOv5x a obtenu les meilleurs résultats dans le sous-ensemble de formation, tandis que les
modèles (m et l) ont obtenu des résultats légèrement inférieurs. YOLOv5n a obtenu les pires
performances en raison de la corrélation entre le nombre de paramètres et la capacité à ap-
prendre le réseau. Ainsi, ils ont conclu que les modèles les plus complexes sont certainement
plus précis. Et aussi ils ont indiqué que lors du choix d’une architecture de réseau optimale, il
est nécessaire de faire un compromis entre la qualité et la vitesse. Pour que les modèles plus
complexes soient compétitifs en termes de vitesse, ils ont besoin d’un matériel plus puissant,
qui n’est pas toujours disponible. Pour notre cas nous avons choisi l’architecture Yolov5s.
YOLOv5 utilise plusieurs stratégies d’optimisation d’algorithmes du domaine des réseaux
de neurones convolutifs tels que les ancres de boîte englobante d’apprentissage automatique,
l’augmentation de données en mosaïque et le réseau partiel à plusieurs étages. Par rapport
aux solutions précédentes, le modèle YOLO a été le premier détecteur d’objets à connecter la
procédure de prédiction des boîtes englobantes avec des étiquettes de classe dans un réseau
différentiable de bout en bout [63].

Amné Amine Brahim 36


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

3.2.2 Architecture de YOLOv5


Le réseau YOLOv5 se compose de trois composants principaux : Epine dorsale, cou et sortie,
comme le montre la figure 3.2 :

Figure 3.2 – Architecture YOLOv5 [64]

Tout d’abord, le terminal d’entrée effectue des tâches de prétraitement des données, no-
tamment l’augmentation des données en mosaïque et le remplissage adaptatif des images [65].
Pour pouvoir s’adapter à différents ensembles de données, YOLOv5 intègre le calcul adaptatif
du cadre d’ancrage sur l’entrée, de sorte qu’il peut définir automatiquement la taille initiale du
cadre d’ancrage lorsque l’ensemble de données change.
✺ L’épine dorsale :
Est CNN qui agrège et forme des caractéristiques d’image à différentes granularités.
Il utilise principalement un réseau partiel à plusieurs étages (CSP) [66] et un regrou-
pement de pyramides spatiales (SPP) [67] pour extraire des cartes de caractéristiques
de différentes tailles à partir de l’image d’entrée par convolution multiple et mise en
commun. L’architecture BottleneckCSP est utilisée pour réduire la quantité de calcul
et augmenter la vitesse d’inférence, tandis que la structure SPP réalise l’extraction de
caractéristiques à partir de différentes échelles pour la même carte de caractéristiques, et
peut générer des cartes de caractéristiques à trois échelles, ce qui contribue à améliorer
la précision de la détection.
✺ Le réseau neuronal du cou :
Représente une série de couches pour mélanger et combiner les caractéristiques de
l’image et les transmettre à la prédiction. Dans le réseau du cou, les structures py-
ramidales caractéristiques de FPN (Réseaux pyramidaux de fonctionnalités) et PAN
(agrégation de chemins Réseau) sont utilisées. La structure FPN transmet de fortes
caractéristiques sémantiques des cartes de caractéristiques supérieures aux cartes de ca-
ractéristiques inférieures. Dans le même temps, la structure PAN transmet de fortes

Amné Amine Brahim 37


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

caractéristiques de localisation des cartes de caractéristiques inférieures aux cartes de


caractéristiques supérieures. Ces deux structures renforcent conjointement la fonction-
nalité extraite de différentes couches réseau en Backbone fusion, ce qui améliore encore
la capacité de détection [68].
✺ la sortie de la tête :
Elle est principalement utilisée pour prédire des cibles de différentes tailles sur des
cartes d’entités. La prédiction inclut la fonction de perte de boîte englobante et la sup-
pression non maximale (NMS). YOLOv5 utilise GIoU comme fonction de perte, ce qui
résoud efficacement le problème des cadres de délimitation qui ne se chevauchent pas.
Lors de l’étape de traitement du résultat de prédiction de détection de cible, la trame
cible optimale est obtenue en utilisant l’opération NMS pondérée pour le criblage de
nombreuses trames cibles [68].

3.2.3 Fonction d’activation


SiLU signifie Sigmoid Linear Unit et est également appelé fonction d’activation swish, il a
été utilisé avec les opérations de convolution dans les couches cachées. La fonction d’activation
SiLU est définie comme suit [69] :

SiLU (x) = xσ(x)


σ(z) = (1 + exp(−z))−1 (3.1)

Alors que la fonction d’activation Sigmoïde a été utilisée avec les opérations de convolution
dans la couche de sortie [69].
1
f (x) = (3.2)
1 + e−x

3.2.4 Fonction de perte


La fonction de perte de YOLOv5 comprend trois parties : la perte de localisation, la perte de
classification et la perte de confiance, où la fonction de perte totale est la somme de la fonction
de perte en trois parties. La fonction GIOU pour la perte de confiance est calculée comme suit
[69] :

C − (A ∪ B)
GIOU = IOU −
C
(A ∩ B)
IOU = (3.3)
(A ∪ B)

Où A est la boîte de prédiction du modèle, B est la boîte réelle, et C est la boîte minimale
contenant A et B.
Pour la perte de localisation et la perte de classification, le modèle YOLOv5 adopte la

Amné Amine Brahim 38


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

fonction de perte d’entropie croisée [69] :

1X
C=− [ylna + (1 − y)ln(1 − a)] (3.4)
n x

Où x est l’échantillon, y est l’étiquette, a est la valeur prédite et n est le nombre total
d’échantillons.

3.3 Les étapes de l’algorithme YOLOv5


Les étapes de l’algorithme YOLOv5 sont décrites par le pseudo-code suivant.

Algorithm 1 YOLOv5
Entrée(s) Images et hyperparamètres : le nombre de classes d’objets, les dimensions de l’image
d’entrée, etc.
1: Prétraitement de l’image
Image = prétraitement (Image entrée)
2: Forward pass à travers le réseau
Sortie = réseau(image)
3: Traitement de la sortie du réseau
Boîtes, scores, classes = post-traitement (Sortie)
Retourner boîtes, scores, classes

Le prétraitement : L’image d’entrée est prétraitée pour correspondre aux exigences du


modèle. Cela peut inclure le redimensionnement de l’image, la normalisation des valeurs de
pixel, etc.
Forward pass : L’image prétraitée est passée à travers le réseau. Le réseau est une série
de couches convolutives, de couches de normalisation par lots et de fonctions d’activation qui
transforment l’image d’entrée en une sortie utile pour la détection d’objets.
Post-traitement : La sortie du réseau est traitée pour obtenir les informations finales
nécessaires pour la détection d’objets. Cela peut inclure l’application d’une fonction seuil pour
éliminer les détections à faible score, l’application de la surpression non maximale pour éliminer
les détections.

3.4 Préparation du dataset


3.4.1 Annotation des images
La collecte d’un ensemble d’image est l’une de la partie cruciale de la construction d’un
système d’apprentissage automatique. Pour entraîner un modèle de détection d’objets, on utilise
des images qui ont été annotées en définissant les régions contenant les objets à détecter, et
en leur attribuant les étiquettes appropriées. Ainsi, la préparation des données signifie annoter
les images, c’est un processus qui consiste à étiqueter les images en faisant une boite autour
de l’objet dans un fichier texte indiquant les coordonnées et la classe de chacun des objets

Amné Amine Brahim 39


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

présents dans l’image qui sera ensuite transmis au modèle pour l’entrainement. Le détecteur
YOLOv5 ont été entraînés sur de grandes bases de données annotées comme MS-COCO pour
tester leur performance. Cependant, dans le cas d’une application spécifique comme la nôtre,
qui vise à détecter les plaques d’immatriculation des voitures qui grillent le feu de signalisation,
il n’est pas toujours possible de trouver une grosse base de données annotées disponible pour
entraîner le modèle. Pour cela, nous avons téléchargé une base de données contenant 350 images
de véhicules indiens dont nous avons annoté en utilisant le site Web makesens.ai.
Il existe plusieurs outils (Yolo Mark, LabelImg, Bbox-Label-Tool. . .) qui peuvent être utilisés
pour créer les annotations pour chacune des images qui feront partie de l’ensemble d’entraine-
ment. Cela signifie, pour indiquer manuellement le « cadre entourant » contenant chacun des
objets dans l’image et indiquer à quelle classe appartient l’objet.

Figure 3.3 – Annotation Image

La plupart des plates-formes d’annotation prennent en charge l’exportation au format d’éti-


quetage YOLO, fournissant un fichier texte d’annotations par image. Chaque fichier texte
contient une annotation de boîte englobante (BBox) pour chacun des objets de l’image. Les
annotations sont normalisées à la taille de l’image et se situent dans la plage de 0 à 1. Elles sont
représentées au format suivant : < object-class-ID> <X center> <Y center> <Box width>
<Box height>
Pour chaque image, nous allons obtenir un fichier correspondant contenant les annotations.
Par exemple : cars34.txt

Figure 3.4 – Fichier annoté

object-class-ID : représente le nombre correspondant à la catégorie d’objet (ici nous avons


une seule classe.

Amné Amine Brahim 40


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

X center et Y center : représentent le point central du cadre de sélection.


Box width et Box height : représente la largeur et la hauteur du cadre de sélection. Le
fichier texte d’annotation généré pour chaque image contiendra chaque ligne comme ci-dessus
et cela pour chaque cadre de l’image.

3.4.2 Séparation de données apprentissage et test


Généralement, les gens utilisent 60 à 90% de l’ensemble de données pour l’entrainement et
gardent le reste pour les tests/la validation. Il n’y a pas vraiment de consensus ici sur les chiffres.
Cela varie selon la situation. Dans notre cas, nous avons un total de 350 images annotées, nous
avons utilisé donc 300 images pour l’entrainement et 50 images pour la validation.
- train.txt : ce fichier contiendra la liste des images qui seront utilisées pour le train.
- val.txt : ce fichier contiendra la liste des images qui seront utilisées pour la validation.

3.4.3 Création des fichiers nécessaires


Il existe certains fichiers nécessaires lies aux données pour répondre à nos besoins souhaités :
Le fichier data-configurations décrit les paramètres du jeu de données, étant donné que nous
nous entraînons notre ensemble de données sur la détection de la plaque d’immatriculation des
voitures, nous allons fournir : les chemins vers les ensembles de données d’entraînement, de
validation et de test ; le nombre de classes (nc) ; et les noms des classes dans le même ordre
que leur index. Dans notre cas nous n’avons qu’une seule classe, nommée ’License-plate’. Nous
avons nommé notre fichier de configurations de données ’data.yaml’ et l’avons placé sous le
répertoire ’data’. Le contenu de ce fichier YAML est le suivant :
path : dataset/
train : /content/drive/MyDrive/ProjetPlaque/datasets/train
val : /content/drive/MyDrive/ProjetPlaque/datasets/val
classes ;
nc 1 : nombre de classes
Fichiers de configuration de modèle(.yaml) : Il contient les paramètres qui régissent le fonc-
tionnement du réseau.

3.5 Indicateur d’évaluation du modèle


Les indicateurs d’évaluation de la précision du modèle sont : la précision, le rappel, la
précision moyenne (AP) et la précision moyenne moyenne (mAP) où AP représente l’aire sous
la courbe PR et mAP représente la valeur moyenne de AP pour chaque catégorie [69]. Dans
le modèle yolov5, la performance de précision du modèle est évaluée par la précision moyenne
moyenne (mAP) [51], plus le mAP est élevé, plus il est précis. Ces mesures d’évaluation sont
définies comme suit [70] :

Amné Amine Brahim 41


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Précision :
TP
P = (3.5)
TP + FP
Rappel :
TP
P = (3.6)
TP + FN
Précision moyenne : P
P
AP = (3.7)
N um(objets)
Précision moyenne moyenne :
P
AP
mAP = (3.8)
N um(classe)

3.6 Reconnaissance des plaques d’immatriculation : Ea-


syOCR
EasyOCR est une bibliothèque de reconnaissance optique de caractères (OCR) qui permet
de détecter le texte à partir d’images. Elle est capable de reconnaître plus de 80 langues, y
compris le français. EasyOCR utilise des réseaux de neurones profonds pour la détection de
texte et la reconnaissance de caractères, ce qui lui permet d’obtenir de bons résultats même
sur des images de faible qualité ou avec des polices de caractères inhabituelles. Elle est souvent
utilisée pour la numérisation de documents, la RAPI, la traduction de panneaux dans des
langues étrangères, et bien d’autres applications. EasyOCR est créé par la société Jaided AI
company. Pour que la détection soit plus précise en utilisant EasyOCR, certaines étapes de
prétraitement sont appliquées telles que : Niveaux de gris, Application du lissage gaussien, Seuil
et binarisation, Transformations morphologiques etc, nous utilisons la bibliothèque OpenCV
pour le prétraitement des images [58].

Conclusion
En conclusion, ce chapitre a fourni une vue d’ensemble de notre approche pour résoudre
notre problématique, nous avons décrit en détail les choix du modèle, l’architecture et la base
des données utilisés pour l’entrainement du modèle, ainsi que l’outil EasyOCR pour la recon-
naissance des caractères.
Dans le prochain chapitre, nous passerons à la mise en œuvre de notre approche et nous
présenterons les logiciels et les outils que nous avons utilisés pour réaliser nos expérimentations.
Nous montrerons également les résultats des tests que nous avons effectués pour évaluer la
performance de notre modèle.

Amné Amine Brahim 42


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

CHAPITRE 4

IMPLÉMENTATION ET RÉSULTATS

Introduction
Nous avons présenté dans le premier chapitre les concepts fondamentaux de l’apprentissage
automatique et l’apprentissage profond, ainsi que la détection d’objet dans une image. Dans le
deuxième chapitre nous avons vu les différentes architectures des modèles de détection d’objet
classiques et les modèles basés sur les CNN, ainsi qu’un état de l’art sur les travaux connexes.
Les deux premiers chapitres donnent un aperçu de l’état actuel afin de mieux comprendre la
méthodologie de notre recherche.
Le présent chapitre se concentre sur la phase expérimentale et les résultats, tout en pré-
sentant les différents logiciels et outils utilisés. Pour implémenter notre système de détection
et reconnaissance des PI, nous allons ré-entrainer le model yolov5 pour la détection des PI
dont nous utilisons l’environnement libre de google Colab. Ensuite, nous utilisons le modèle
ré-entrainé pour détecter et reconnaitre les PI en temps réel. A cet effet nous utilisons l’appli-
cation VS code de l’environnement de développement Anaconda. Enfin, nous examinerons les
résultats obtenus en utilisant les différentes métriques d’évaluation de performances.

4.1 Environnement de travail et outils utilisés


Cette partie présente les différents outils et logiciels utilisés pour la réalisation de ce travail.

4.1.1 Environnements utilisés


Google Colab : Colaboratory est à l’origine un projet d’incubation de Google créé dans
un but de collaboration (comme son nom l’indique), de formation et de recherche relatives à
l’apprentissage automatique. Il s’agit d’un environnement de notebook Jupyter, qui peut être
utilisé sans aucune configuration et fonctionne entièrement sur le cloud. Google propose une
utilisation gratuite du GPU et constitue une fonctionnalité intéressante pour les développeurs.

Amné Amine Brahim 43


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Les raisons de le rendre public pourraient être de faire de son logiciel une norme dans le domaine
universitaire pour l’enseignement de l’apprentissage automatique et de la science des données.
Colab prend en charge de nombreuses bibliothèques d’apprentissage automatique populaires et
de haut niveau qui peuvent être facilement chargées dans votre notebook [71].
Pour notre apprentissage nous avons utilisé les ressources de Colab avec RAM 12.7 GB et
Disque de taille 78.2 GB, la version de GPU c’est Tesla 4.
Anaconda : est une distribution libre et open source des langages de programmation Py-
thon et R appliqué au développement d’applications dédiées à la science des données et à
l’apprentissage automatique (traitement de données à grande échelle, analyse prédictive, calcul
scientifique), qui vise à simplifier la gestion des paquets et de déploiement. Les versions de
paquetages sont gérées par le système de gestion de paquets conda [72].
On a choisi IDE VS code 1.83.1(nommé Visual Studio Code) Visual Studio Code est l’éditeur
de code gratuit et multiplateforme de Microsoft. Il a été très populaire parmi les développeurs
de la nouvelle ère et il est livré avec un excellent support pour l’édition de code Python [73].

4.1.2 Langage de programmation


Python : est un langage de programmation de haut niveau interprété pour la program-
mation à usage général. Créé par Guido van Rossum, et publié pour la première fois en 1991.
Python propose un système de typage dynamique et une gestion automatique de la mémoire. Il
prend en charge plusieurs paradigmes de programmation, notamment orienté objet, impératif,
fonctionnel et procédural, et dispose d’une bibliothèque standard étendue et complète [74].

4.1.3 Librairies utilisées


Torch : est une bibliothèque logicielle Python open source d’apprentissage machine qui
s’appuie sur Torch , PyTorch permet d’effectuer les calculs tensoriels nécessaires notamment
pour l’apprentissage profond (deep learning). Ces calculs sont optimisés et effectués soit par le
processeur (CPU) soit, lorsque c’est possible, par un processeur graphique (GPU) supportant
CUDA [75].
NumPy : est la bibliothèque de base pour le calcul scientifique en Python. Le principe
fondamental de NumPy est l’apport de tableaux multi-dimensionnels. Aussi, NumPy peut être
vu comme la base du calcul matriciel dans Python, et a été conçu dans l’optique de résoudre
des problèmes mathématiques et scientifiques. Le module NumPy nous fournit un ensemble de
milliers de fonctions mathématiques très utiles [76].
OpenCV : (Open Source Computer vision) est une bibliothèque graphique libre, initiale-
ment développée par Intel et maintenant soutenu par la société de robotique Willow Garage,
spécialisée dans le traitement d’images en temps réel. La bibliothèque OpenCV met à dis-
position de nombreuses fonctionnalités très diversifiées, elle propose la plupart des opérations
classiques en traitement d’images : Lecture, écriture, affichage d’image, calcul de l’histogramme
des niveaux de gris ou d’histogramme de couleur, lissage, filtrage [77].

Amné Amine Brahim 44


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Easy OCR : EasyOCR est un package Python open-source qui est utilisé pour effectuer
la reconnaissance optique de caractères - OCR (extraire du texte à partir d’images) [78]. pour
extraire du texte à partir d’images. Nous avons utilisé pour la reconnaissance de la PI.
TensorBoard : TensorBoard est une suite d’applications web permettant d’inspecter et de
comprendre les exécutions et les graphiques TensorFlow. Il permet de visualiser en temps réel
les performances réalisées par CNN en cours d’entraînement [79]. Nous utilisons TensorBoard
pour visualiser nos mesures d’entraînement, telles que la perte et la précision de l’entraînement
et de la validation.
Matplotlib : Matplotlib est une librairie graphique 2D (avec un support partiel de la 3D)
qui est la librairie standard pour la visualisation scientifique. Elle est utilisée pour tracer et
visualiser des graphiques via le langage de programmation Python [80].

4.2 Résultats de la simulation de model YOLOv5


Afin de montrer les résultats obtenus pour notre modèle, on illustre dans ce qui suit les
résultats en termes d’erreur, précision et le rappel. Nous varions l’époque d’entrainement du
modèle pour voir sa performance.

4.2.1 Taux d’erreur (loss)


La fonction de perte YOLO est composée de trois parties :
Box_loss : perte de régression de la boîte englobante(perte de localisation).
Obj_loss : la confiance de la présence de l’objet est la perte d’objectivité.
Cls_loss : la perte de classification.

4.2.1.1 Pertes en considérant 100 époques

✺ Pour l’entrainement :

Figure 4.1 – Pertes à 100 époques pour l’entrainement

✺ pour la validation :

Amné Amine Brahim 45


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 4.2 – Pertes à 100 époques pour la validation

Dans la phase d’entrainement et validation, la perte box_loss est de 1% et 3% respectivement,


la perte obj_loss est de 0,5% dans la phase d’entrainement et validation et la perte cls_loss
est à 0.00 puisque nous avons une seule classe qui est la plaque d’immatriculation.

4.2.2 Pertes en considérant 150 époques


✺ Pour l’entrainement :

Figure 4.3 – Pertes à 150 époques pour l’entrainement

✺ pour la validation :

Figure 4.4 – Pertes à 150 époques pour la validation

A 150 époque les pertes sont sensiblement les mêmes avec celles de 100 époque. Le tableau 4.1
résume les résultats Pertes

Amné Amine Brahim 46


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Table 4.1 – Résultats Pertes


Entrainement Validation
Époques Box_loss Obj_loss Cls_loss % Box_loss Obj_loss Cls_loss
100 1% 0,5% 0% 3% 0,5% 0%
150 2% 0,5% 0% 3% 0,5% 0%

4.3 Rapport d’évaluation de détection


Pour évaluer les performances d’un modèle de façon complète, nous devons analyser à la
fois la précision, le rappel et la précision moyenne (mAP_0,5). La précision mesure la quantité
de prédictions de bbox correctes, le Rappel mesure la proportion de la vraie bbox qui a été
correctement prédite et le mAP_0.5 mesure la précision moyenne du modèle en utilisant un
seuil d’IoU (Intersection over Union) de 0,5, l’IoU mesure à quel point le cadre de détection
prédit correspond au cadre réel d’un objet.

4.3.1 Performance en considérant 100 époques

Figure 4.5 – Performance à 100 époques

A 100 époque, la précision est de 91%, le rappel est de 94% et le mAP_0,5 est de 95%.

4.3.2 Performance en considérant 150 époques

Figure 4.6 – Performance à 150 époques

Amné Amine Brahim 47


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

A 150 époque, la précision est de 95%, le rappel est de 94% et le mAP_0,5 est de 95,60%.
Après avoir analysé les résultats, nous faisons les observations suivantes : En ce qui concerne la
métrique perte, nous constatons que le taux d’erreur d’apprentissage et de validation diminue
avec le nombre de périodes jusqu’à atteindre une stabilité. En ce qui concerne les métriques
précision, rappel et mAp_0,5 le taux d’apprentissage augmente avec le nombre de périodes, ce
qui reflète le fait qu’à chaque époque le modèle apprend plus d’informations. Le tableau 4.2
résume les résultats performances

Table 4.2 – Résultats Performances


Époques Précision Rappel mAP_0.5
100 91% 94% 95%
150 95% 94% 95,6%

4.4 Test des nouvelles images pour la détection et la


reconnaissance des PI
Les figures suivantes illustrent le résultat de test des nouvelles images pour la détection et
la reconnaissance des PI. Les tests ont été réalisés dans différentes situations afin de simuler
diverses conditions réelles dans lesquelles les images peuvent être prises. Cela permet d’évaluer
la robustesse de la méthode de détection et de reconnaissance des PI dans des conditions diffé-
rentes. Nous avons illustré trois cas différents, la première est une image prise en mouvement,
la deuxième est une image prise dans la nuit et la troisième c’est une image avec d’autres
caractères que la plaque d’immatriculation. Dans les trois cas, le modèle arrive à détecter et
reconnaitre les PI.

Figure 4.7 – Test et détails sur la reconnaissance des caractères de l’image1.

Amné Amine Brahim 48


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Figure 4.8 – Test et détails sur la reconnaissance des caractères de l’image2.

Figure 4.9 – Test et détails sur la reconnaissance des caractères de l’image3.

4.5 Discussion
Dans cette étude, nous avons évalué les performances de la méthode de détection d’objet
basée sur les CNN, spécifiquement YOLOv5, pour la détection des PI en infraction aux feux
de signalisation. Nous avons adapté le modèle pré-entraîné YOLO sur un ensemble de données
d’images. Les résultats obtenus après avoir testé 350 images annotées manuellement indiquent
que le modèle fonctionne de manière optimale, avec un taux d’erreur de perte de régression de
la boîte englobante de 3% et une perte d’objectivité de 0,5% pour la validation. La précision du
modèle atteint 95% avec un rappel de 94% et le mAP_0,5 est de 95,60%. Nous avons également
testé le modèle sur d’autres images provenant d’une base de données différente, et obtenu de
bons résultats.

Amné Amine Brahim 49


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

En Comparant avec d’autres travaux utilisant les méthodes de la détection des PI, les auteurs
de [52] ont utilisés un modèle CNN à deux couches pour détecter la plaque d’immatriculation
avec 3 types différents d’ensembles de données extraits de l’ensemble de données Chars74k
dont une précision de 91,1%. Dans [25] , les auteurs ont travaillé sur la surveillance du trafic à
l’aide de la plaque d’immatriculation du véhicule, détection et reconnaissance au Bangladesh
où ils ont utilisé le modèle YOLOv4 pour la détection des PI du véhicule, ils ont entrainé le
modèle avec la base Tkinter, dont la performance de la précision moyenne est de 90,50% et
rappel de 86%. Les auteurs de l’étude [22], ont abordé un système de reconnaissance de plaque
d’immatriculation en temps réel au cours duquel ils ont utilisé un classificateur haar-cascade
comme filtre au-dessus de leur modèle de détection de base MobileNet SSDv2, ils ont créé un
ensemble de données d’images et un ensemble de données vidéo contenant des PI dans des
conditions réelles, obtenant un taux de détection de 82,7%.
En conclusion, nos expérimentations ont produit des résultats meilleurs que ceux des études
précédentes. Le tableau ci-dessous présente un récapitulatif de la précision des méthodes utili-
sées pour la détection des PI des véhicules dans notre système proposé, ainsi que dans d’autres
travaux similaires.

Table 4.3 – Comparaison avec d’autres approches

Références Méthodes Précisions


[52] CNN à deux couches 91,1%
[25] YOLOv4 90,50%
[22] MobileNet SSDv2 82,7%
Notre étude YOLOv5s 95%

Conclusion
Le dernier chapitre de cette étude a été consacré à une simulation visant à évaluer les
performances de l’algorithme YOLOv5. Nous avons entraîné ce modèle jusqu’à 150 époques en
utilisant une base de données contenant 350 images de véhicules indiennes. Nous avons utilisé
plusieurs paramètres d’évaluation, notamment la perte, la précision et le rappel. Les résultats
obtenus ont montré que le modèle a produit des résultats satisfaisants.
Nous avons également testé le modèle reentraîné en utilisant l’outil easyOCR pour la re-
connaissance des caractères des PI sur différentes images et dans des conditions variées. Par
conséquent, nous pouvons conclure que l’algorithme YOLOv5 est performant et capable de
fournir des résultats positifs satisfaisants.

Amné Amine Brahim 50


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

CONCLUSION GÉNÉRALE ET PERSPECTIVES

Conclusion
Cette recherche vise à contribuer à l’utilisation de l’algorithme de l’IA, plus précisément
d’étudier l’application de l’apprentissage profond pour le problème de la détection des PI des
véhicules en infraction au feu de signalisation qui a un impact profond sur la sécurité routier
car elle est source de plusieurs accidents de circulation. L’objectif est de trouver le modèle de
l’apprentissage profond qui répond le mieux à ce besoin de détection en obtenant les meilleures
performances possibles.
Nous avons commencé par fournir un aperçu complet sur les différentes notions liées à la
détection d’objets dans une image, ainsi que l’apprentissage profond et les réseaux de neu-
rones. Ensuite, nous avons fait une étude détaillée sur les méthodologies de la détection d’objet
dans une image, puis un état de l’art exposant les différentes méthodes basées sur les modèles
classiques et les modèles des CNN utilisées pour la détection des PI des véhicules.
Par la suite, nous avons présenté le cadre proposé et sa description où nous avons détaillé
le choix de l’algorithme utilisé et son architecture. Pour réaliser ce système nous nous sommes
basés sur les CNN, Nous avons utilisé le model CNN yolov5 pour la détection des PI parce qu’il
a prouvé sa performance dans la détection d’objet en temps réel.
Nous avons évalué l’algorithme YOLOV5 à l’aide d’une base des données contenant 350
images de véhicules indiens que nous avons annoté manuellement, et dont nous avons présenté
et discuté les résultats. Les résultats obtenus étaient très satisfaisants par rapport à d’autres
travaux dans le même thème. La précision du modèle atteint 95% avec un rappel de 94% et le
mAP_0,5 est de 95,60%.
Enfin, nous avons également effectué des tests sur le modèle reentrainé YOLOv5 et easyOCR
pour reconnaître les PI sur d’autres images provenant d’une base de données différente. Nous
avons obtenu de bons résultats, parvenant à atteindre notre objectif avec un minimum d’erreurs
et un taux de précision élevé.
Pour conclure, les objectifs fixés dans ce travail ont été atteints. Cependant, il reste encore
des perspectives et des possibilités d’amélioration qui pourront être réalisées à l’avenir.

Amné Amine Brahim 51


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

Perspectives
Comme perspective pour ce travail, nous proposons de :

Développement d’une plate-forme web


créer une plate-forme Web qui permettrait aux utilisateurs de faciliter l’interaction avec
le système, ce qui permettrait d’identifier le propriétaire du véhicule à partir de la base de
données.

Diversifier la base de données


L’algorithme YOLOv5 peut être encore amélioré pour une détection plus précise des plaques
d’immatriculations, notamment en entraînant le réseau sur des ensembles de données plus vastes
et diversifiés.

Améliorer le programme de la reconnaissance de caractères


Augmenter la robustesse de l’approche en créant une manière de former les réseaux de
neurones conjointement pour la détection et la reconnaissance des PI.

Amné Amine Brahim 52


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

BIBLIOGRAPHIE

[1] Hamza Mesai Ahmed, Youcef Djeriri, and NADIR KAIS. Commande de la machine asyn-
chrone à double alimentation – apport des techniques de l’intelligence artificielle. PhD
thesis, 07 2017.
[2] Structure d’un reseau ds neurones, consulté le 14 Aout 2023. https://www.
researchgate.net/profile/Redha-Tir/publication/326066153/figure/fig2/AS:
642875817721876@1530284947757/Architecture-dun-reseau-multi-couches_Q640.
jpg.
[3] Processus d’autoapprentissage, consulté le 25 Aout 2023. https://cdn.
futura-sciences.com/buildsv6/images/mediumoriginal/d/c/d/dcdc8d74ca_
125717_deep-learning.jpg.
[4] Architecture cnn, consulté le 30 Aout 2023. https://user-images.githubusercontent.
com/24530726/172461568-80639e2a-abe8-42ac-841b-90b737dd35fa.png.
[5] Operation de convolution, consulté le 30 Aout 2023. https://www.researchgate.net/
figure/Convolution-operation_fig1_330880103.
[6] Tsung Yi Lin, Priya Goyal, Ross B. Girshick, Kaiming He, and Piotr Dollar. Focal loss for
dense object detection. CoRR, abs/1708.02002, 2017.
[7] Abdelmalik Ouamane. Reconnaissance Biométrique par Fusion Multimodale du Visage 2D
et 3D. PhD thesis, Université Mohamed Khider-Biskra, 2015.
[8] Le rapport de situation de l’oms sur la sécurité routière dans le monde. consulté
le 2 Juillet 2023. https://news.un.org/fr/story/2021/11/1109092#:~:
text=Selon%20le%20Rapport%20de%20situation%20sur%20la%20s%C3%A9curit%C3%
A9,estimation%20de%201%2C35%20million%20de%20morts%20chaque%20ann%C3%A9e.
[9] le bilan mondial annuel sur le rapport de situation de l’oms sur la sécurité routière dans
le monde, consulté le 2 Juillet 2023. https://www.dhnet.be/actu/monde/2018/12/07/
la-route-tue-toujours-plus-voici-le-bilan-mondial-annuel-.
[10] Kaouba Fatima Zohra. L’apprentissage profond avec les modèles de réseaux de neurones
pour la détection des plaques d’immatriculations. Master’s thesis, Université Abdelhamid
Ibn Badis - Mostaganem, 2021.

Amné Amine Brahim 53


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[11] Malki Yacine and Tiachachat Nassim. Deep learning pour la détection des plaques d’im-
matriculation. Master’s thesis, Université Saad Dahleb - Blida, 2020.
[12] Rayson Laroca, Evair Severo, Luiz A. Zanlorensi, Luiz S. Oliveira, Gabriel Resende Gon-
çalves, William Robson Schwartz, and David Menotti. A robust real-time automatic license
plate recognition based on the YOLO detector. CoRR, abs/1802.09567, 2018.
[13] Adarsh Sham, Paritosh Pandey, Sambhav Jain, and S. Kalaivani. Automatic license plate
recognition using yolov4 and tesseract ocr. INTERNATIONAL JOURNAL OF ELEC-
TRICAL ENGINEERING AND TECHNOLOGY, 12, 05 2021.
[14] SEGHIRIA Youcef Salim TABI Mohammed Riad. Détection et gestion des automobiles
au sein d’un parking par la reconnaissance des matricules avec des techniques avancées.
2019.
[15] Ameni Neffati. Automated classification and dataset creation based on YOLO neural net-
work topologies. PhD thesis, University of Sousse, 2020.
[16] Rodrigo Minetto. Ficha catalográfica elaborada por maria fabiana bezerra muller-
crb8/6162 biblioteca do instituto de matemática, estatística e computação científica-
unicamp.
[17] Elhacene Lazrag MECHTOUNE and Brahim Abdeldjebar MASSARIA. Extraction des ca-
ractéristiquesdiscriminantes basées sur LBP pour laclassification des textures. PhD thesis,
Université Ibn Khaldoun-Tiaret-, 2022.
[18] Dounia Awad. Vers un système perceptuel de reconnaissance d’objets. Theses, Université
de La Rochelle, September 2014.
[19] Ahmed Dhiya Eddine Guendouz and Mohamed Berkane. Conception et réalisation d’un
système de reconnaissance automatique des plaques d’immatriculation algérien. 2020.
[20] Boulahchiche Nadir and Ferkioui Mecheri. Système intelligent de reconnaissance de plaque
d’immatriculation via raspberry pi. Master’s thesis, Université Saad Dahleb - Blida, 2021.
[21] Alperen Elihos, Burak Balci, Bensu Alkan, and Yusuf Artan. Deep learning based seg-
mentation free license plate recognition using roadway surveillance camera images. CoRR,
abs/1912.02441, 2019.
[22] Alif Ashrafee, Akib Mohammed Khan, Mohammad Sabik Irbaz, Al Nasim, and MD Ab-
dullah. Real-time bangla license plate recognition system for low resource video-based
applications. In Proceedings of the IEEE/CVF Winter Conference on Applications of
Computer Vision, pages 479–488, 2022.
[23] Yonten Jamtsho, Panomkhawn Riyamongkol, and Rattapoom Waranusast. Real-time li-
cense plate detection for nonhelmeted motorcyclist using yolo. ict express 7 (1) : 104–109,
2021.
[24] Gabriel Resende Gonçalves, Matheus Alves Diniz, Rayson Laroca, David Menotti, and
William Robson Schwartz. Real-time automatic license plate recognition through deep
multi-task networks. In 2018 31st SIBGRAPI conference on graphics, patterns and images
(SIBGRAPI), pages 110–117. IEEE, 2018.

Amné Amine Brahim 54


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[25] Akash M. I. Haque M. Onim, S. H. and R. I Hafiz. Traffic surveillance using vehicle license
plate detection and recognition in bangladesh. International Conference on Electrical and
Computer Engineering (ICECE), page 4, 12 2020.
[26] La definition de la détection d’objets dans une image, consulté le 2 Aout 2023. https:
//fr.wikipedia.org/wiki/D%C3%A9tection_d%27objet.
[27] Definition de l’apprentissage automatique, consulté le 2 Aout 2023. https://fr.
wikipedia.org/wiki/Apprentissage_automatique.
[28] Definition de l’apprentissage supervisé, consulté le 2 Aout
2023. https://www.journaldunet.fr/intelligence-artificielle/
guide-de-l-intelligence-artificielle/1501311-apprentissage-supervise/.
[29] Definition de l’apprentissage profond et la vision par ordinateur, consulté le 2
Aout 2023. https://www.journaldunet.fr/web-tech/dictionnaire-de-l-iot/
1489513-computer-vision-definition-et-applications-de-la-vision-par-ordinateur/.
[30] l’apprentissage non supervisé, consulté le 2 Aout 2023. https://www.journaldunet.
fr/intelligence-artificielle/guide-de-l-intelligence-artificielle/
1501309-apprentissage-non-supervise/.
[31] Said Lazrak and Ahmer El Kaab Noureddine. Apprentissage par renforcement. 01 2017.
[32] Le réseau de neurone artificiel. consuté le 10-08-2023. https://datafranca.org/wiki/
Neuroneartificiel.
[33] Merzougui. Support cours de deep learning chapitre2. http://staff.univ-batna2.
dz/sites/default/files/merzougui_ghalia/files/support_de_cours_-deep_
learning-chapitre2-rn.pdf.
[34] Définition de l’apprentissage profond, consulté le 20 Aout
2023. https://www.journaldunet.fr/intelligence-artificielle/
guide-de-l-intelligence-artificielle/1501333-deep-learning-definition-et-principes-
[35] Fonctionnement de l’apprentissage profond, consulté le 20 Aout 2023. https://blog.
hubspot.fr/marketing/deep-learning.
[36] Les types d’algorithmes de l’apprentissage profond, consulté le 25 Aout 2023. https:
//www.jedha.co/formation-ia/algorithmes-deep-learning.
[37] Pierre Buyssens and Abderrahim Elmoataz. Réseaux de neurones convolutionnels multi-
échelle pour la classification cellulaire. In RFIA 2016, Clermont-Ferrand, France, June
2016.
[38] Opeartion de max pooling, consulté le 13 Septembre 2023. https:
//www.researchgate.net/profile/Philippe-Caudal/publication/
357670371/figure/fig52/AS:1109783595745312@1641604436183/
Operation-de-max-pooling-sur-une-carte-de-caracteristiques-Modifie-de-Gholamalinezh
png.

Amné Amine Brahim 55


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[39] Hounaida Nessaibia. Reconnaissance optique de caractères par réseau de neurones artifi-
ciels : Application aux scripts de la langue arabe. Master’s thesis, Université Larbi Tebessi
- Tebessa, 2020.
[40] Definition de la plaque d’immatriculation, consulté le 2 octobre 2023. https://fr.
wikipedia.org/wiki/Plaque_d%27immatriculation.
[41] D.G. Lowe. Object recognition from local scale-invariant features. In Proceedings of the
Seventh IEEE International Conference on Computer Vision, volume 2, pages 1150–1157
vol.2, 1999.
[42] Richeng Cheng. A survey : Comparison between convolutional neural network and yolo in
image identification. Journal of Physics : Conference Series, 1453(1) :012139, jan 2020.
[43] Architecture rcnn, consulté le 10 octobre 2023. https://jamiekang.github.io/media/
2017-05-27-faster-r-cnn-r-cnn-architecture.jpg.
[44] Architecture fast r-cnn, consulté le 10 octobre 2023. https://jamiekang.github.io/
media/2017-05-27-faster-r-cnn-fast-r-cnn-architecture.jpg.
[45] Architecture faster r-cnn, consulté le 10 octobre 2023. https://lilianweng.github.io/
lil-log/assets/images/faster-RCNN.png.
[46] Architecture mask r-cnn, consulté le 10 octobre 2023. 0development%20with%
20Labellerr/Mask%20R-CNN.webp.
[47] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang
Fu, and Alexander C Berg. Ssd : Single shot multibox detector. In Computer Vision–
ECCV 2016 : 14th European Conference, Amsterdam, The Netherlands, October 11–14,
2016, Proceedings, Part I 14, pages 21–37. Springer, 2016.
[48] T Zgheib, H Borges, V Feldman, T Guntz, C Di Loreto, O Desmaison, and F Corduant.
Détection d’objets en temps réel : Entraînement de réseaux de neurones convolutifs sur
images réelles et synthétiques. In Conférence Nationale en Intelligence Artificielle 2022
(CNIA 2022), Actes CNIA 2022, Saint-Etienne, France, June 2022.
[49] Lu Tan, Tianran Huangfu, Liyao Wu, and Wenying Chen. Comparison of retinanet, ssd,
and yolo v3 for real-time pill identification. BMC medical informatics and decision making,
21 :1–11, 2021.
[50] Xinbei Jiang, Tianhan Gao, Zichen Zhu, and Yukang Zhao. Real-time face mask detection
method based on yolov3. Electronics, 10(7) :837, 2021.
[51] Architecture globale yolo v4, consulté le 20 octobre 2023. https://www.
researchgate.net/profile/Monalika-Padma-Reddy/publication//figure/fig2/
/YOLOv4-architecture-YOLOv4-consists-of-three-major-components-after-image.
png.
[52] J Andrew Onesimu, Robin D Sebastian, Yuichi Sei, and Lenny Christopher. An intelli-
gent license plate detection and recognition model using deep neural networks. Annals of
Emerging Technologies in Computing (AETiC), 5(4), 2021.

Amné Amine Brahim 56


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[53] 2020 N. Eswar, Dr. D. Gowri Shankar Reddy. Détection de plaque d’immatriculation de
véhicule basée sur l’opération morphologique. INTERNATIONAL JOURNAL OF ENGI-
NEERING RESEARCH and TECHNOLOGY (IJERT), 09(02), 2020.
[54] Shakeel Ahmed Abdulaziz Alhumam Ruchi Singla Muhammad Fazal Ijaz Parneet Kaur,
Yogesh Kumar. Automatic license plate recognition system for vehicles using a cnn. Com-
puters, Materials, Continua, 71(1) :35–50, 2022.
[55] Zhongqiang Huang, Ping Zhang, Ruigang Liu, and Dongxu Li. Immature apple detection
method based on improved yolov3. ASP Transactions on Internet of Things, 1(1) :9–13,
2021.
[56] Ibtissam Chafia. Reconnaissance automatique des numéros de plaques d’immatriculation
marocaines. 09 2020.
[57] Rui Li and Yanpeng Wu. Improved yolo v5 wheat ear detection algorithm based on
attention mechanism. electronics, 11(11) :1673, 2022.
[58] Linfeng Jiang, Hui Liu, Hong Zhu, and Guangjian Zhang. Improved yolo v5 with balan-
ced feature pyramid and attention module for traffic sign detection. In MATEC Web of
Conferences, volume 355, page 03023. EDP Sciences, 2022.
[59] Peiyuan Jiang, Daji Ergu, Fangyao Liu, Ying Cai, and Bo Ma. A review of yolo algorithm
developments. Procedia Computer Science, 199 :1066–1073, 2022.
[60] Marko Horvat and Gordan Gledec. A comparative study of yolov5 models performance
for image localization and classification. In Central European Conference on Information
and Intelligent Systems, pages 349–356. Faculty of Organization and Informatics Varazdin,
2022.
[61] Joseph Redmon and Ali Farhadi. Yolov3 : An incremental improvement. arXiv preprint
arXiv :1804.02767, 2018.
[62] Glenn Jocher, Alex Stoken, Jirka Borovec, Liu Changyu, Adam Hogan, Laurentiu Diaconu,
Jake Poznanski, Lijun Yu, Prashant Rai, Russ Ferriday, et al. ultralytics/yolov5 : v3. 0.
Zenodo, 2020.
[63] Marko Horvat and Gordan Gledec. A comparative study of yolov5 models performance
for image localization and classification. In Central European Conference on Information
and Intelligent Systems, pages 349–356. Faculty of Organization and Informatics Varazdin,
2022.
[64] Architecture de yolov5, consulté le 6 Aout 2023. https://www.researchgate.
net/profile/Md-Shakhrul-Iman-Siam/publication/369818303/figure/fig4/AS:
11431281144474624@1681318167117/YOLOv5-Model-Architecture.png.
[65] Jacob Solawetz. Yolov5 new version-improvements and evaluation. Roboflow. Seach date,
2020.
[66] Juho Lee, Yoonho Lee, Jungtaek Kim, Adam Kosiorek, Seungjin Choi, and Yee Whye Teh.
Set transformer : A framework for attention-based permutation-invariant neural networks.
In International conference on machine learning, pages 3744–3753. PMLR, 2019.

Amné Amine Brahim 57


ENASTIC Mémoire de fin d’études pour l’obtention du diplôme de Master

[67] Qiaoning He, Haijian Yang, Lei Wu, and Chunxiang Hu. Effect of light intensity on physio-
logical changes, carbon allocation and neutral lipid accumulation in oleaginous microalgae.
Bioresource technology, 191 :219–228, 2015.
[68] Zhong Wang, Lei Wu, Tong Li, and Peibei Shi. A smoke detection model based on improved
yolov5. Mathematics, 10(7), 2022.
[69] Chenyang Wei, Zh Tan, Qixiang Qing, Rong Zeng, and Guilin Wen. Fast helmet and
license plate detection based on lightweight yolov5. Sensors, 23, 04 2023.
[70] Thi-Ngot Pham, Viet-Hoan Nguyen, and Jun-Ho Huh. Integration of improved yolov5 for
face mask detector and auto-labeling to generate dataset for fighting against covid-19. The
Journal of Supercomputing, 79(8) :8966–8992, 2023.
[71] Definition google colab, consulté le 10 septembre 2023. https:https://datacorner.fr/
colab/.
[72] Definition anaconda, consulté le 15 septembre 2023. https://fr.wikipedia.org/wiki/
Anaconda_(distribution_Python).
[73] Definition de l’editeur visual studiocode, consulté le 15 septembre 2023. https://fr.
wikipedia.org/wiki/Visual_Studio_Code.
[74] Younes Derfoufi. Programmation en langage python. 2019.
[75] Definition de la librairie pytorch, consulté le 15 septembre 2023. https://fr.wikipedia.
org/wiki/PyTorch.
[76] Definition de la librairie numpy, consulté le 20 septembre 2023. https://code.tutsplus.
com/fr/introducing-numpy--cms-28703t.
[77] Radja HANNOUF, Imene BOURIDANE, et al. Etude et Construction d’un Modèle d’Ap-
prentissage de l’Apparence Pour la Reconnaissance d’Objets. PhD thesis, 2015.
[78] Definition de la librairie easuocr, consulté le 20 sep-
tembre 2023. https://dontrepeatyourself.org/post/
number-plate-recognition-with-opencv-and-easyocr/.
[79] Franck Dernoncourt, Ji Young Lee, and Peter Szolovits. Neuroner : an easy-to-use program
for named-entity recognition based on neural networks. CoRR, abs/1705.05487, 2017.
[80] Nicolas P. Rougier. Visualisation scientifique avec Matplotlib. Linux Magazine France,
73 :44–55, July 2014.

Amné Amine Brahim 58

Vous aimerez peut-être aussi