Memoire Nassima Yahiaoui
Memoire Nassima Yahiaoui
Mémoire
MASTER ACADEMIQUE
Thème :
Soutenu publiquement
Le : 17/06/2021
Gérer par :
Dédicace
A
Mon père et ma mère et Mon mari
Toute ma famille
Tous…
Nassima
Introduction Generale
Remerciement
Avant tous, nous remercions ALLAH, pour nous avoir données
Sommaire :
INTRODUCTION GENERALE
1. Contexte et Problématique
2. Objective
3. Organisation du mémoire
CHAPITRE 1 : LA VISION PAR ORDINATEUR
Introduction
1.1 La vision par ordinateur……………………………..………………………………..…..01
1.2 Les application de la vision par ordinateur ……………………....………..……..………02
Conclusion
CHAPITRE 2 : METHODES DE CLASSIFICATION DES IMAGES
2.1 Système d'IA de surveillance à distance sociale et de détection de masque facial pour
Covid-19 ……………………….……………………………………………………….……05
2.2 Explication détaillée ……………………….….…………..…………….....………..….05
2.8
Résultats……………………………………….……………………………….……….........09
Introduction
4.2 Conception du système de detection de masque ………………………………………..18
4.3 Choix de l’environnement (langage) ……………………………………...…………….19
Introduction :
Contexte et Problématique :
1.1- Objective :
Parmi les solutions informatiques qu’on va l’adopter est la vision par
ordinateur (aussi appelée vision artificielle ou vision numérique), c’est une
branche de l'intelligence artificielle dont le principal but est de permettre à une
machine d'analyser, traiter et comprendre une ou plusieurs images prises par un
système d'acquisition (par exemple : caméras, etc.).
C’est une approche qui consiste à tenter d'imiter la vision humaine par le
truchement de composants électroniques. Cette manière de procéder peut être
perçue comme un traitement des données visuelles par le biais de modèles
fondés sur la géométrie, la physique, la biologie, les statistiques et la théorie
d’apprentissage (les applications de reconnaissance).
Introduction Generale
Notre travail s'inscrit au domaine de la detection des images, pour réaliser notre
application, nous avons organisé le mémoire en quatre chapitres,incluant cette
introduction générale et se termine par une conclusion générale, comme suit :
Le premier chapitre :il présente quelque notion de la vision par
ordinateur base sur l'image numérique et quelques descripteurs(Locaux et
globaux) de l'image.
Dans le second chapitre :presente le notion de reconnaissance d’image et
la deference entre ce dernier notion et la vision par ordinnateur
Le troisième chapitre : présente les méthodes choisies ainsi que les
différentes étapes qui leurs constituent.
Dans le quatrieme chapitre, nous le avons consacré à la conception et la
réalisation de notre application en utilisant python et deep learning, pour
faciliter l’implémentation de la detection des images.
Introduction :
La vision par ordinateur est un domaine scientifique à part entière, mais une partie de ses
applications est en lien étroit avec l’apprentissage statistique. Elle est d’ailleurs parfois
nommée reconnaissance des formes.
En vision par ordinateur, l'extraction de caractéristiques visuelles (ou visual features
extraction en anglais) consiste en des transformations mathématiques calculées sur les
pixels d'une image numérique.
L’objectif principal de la vision par ordinateur est le développement d’un
systèmeinformatique capable de doter l’ordinateur du sens de vision.
Vue d'artiste d'un Rover automatique explorant la surface de Mars. Il est équipé sur son
sommet de deux caméras vidéo lui conférant une vision stéréoscopique.
Les tâches de vision par ordinateur comprennent des procédés pour acquérir, traiter, analyser
et « comprendre » des images numériques, et extraire des données afin de produire des
informations numériques ou symboliques,
1
Introduction Generale La vision par ordinateur
La Computer Vision est une branche de l’Intelligence Artificielle qui a pour objectif
de permettre aux ordinateurs d’interpréter des données visuelles (photos ou vidéo) afin d’en
extraire des informations.
Les données visuelles sont issues de différents capteurs tels que des caméras de
vidéosurveillance ou le smartphone de techniciens de terrain. La Computer Vision est elle-
même constituée de plusieurs branches, dont les deux principales sont la reconnaissance
d’image et la Machine Vision. La première branche, dans laquelle évolue Deepomatic, permet
de mettre en place plusieurs pratiques comme la classification, le tagging, la détection, la
segmentation ou encore l’OCR (Optical character recognition), la reconnaissance optique de
caractères.
Ces tâches sont des algorithmes dits “d’apprentissage supervisé” : ils sont “entraînés” à partir
d’exemples d’images annotées par les concepts qu’il faudrait pouvoir reconnaître, pour
ensuite être capables de prédire les concepts d’intérêt dans des images que l’algorithme n’a
encore jamais rencontrés.
Enfin, l’OCR est une technique de reconnaissance d’image visant à reconnaître et traduire en
fichier texte des données visuelles de textes imprimés ou dactylographiés.
- Aider les humains dans les tâches d'identification, par exemple, un système d'identification
des espèces19;
2
Introduction Generale La vision par ordinateur
L'apprentissage des formes 3D a été une tâche difficile en vision par ordinateur.
Les progrès récents de l'apprentissage en profondeur ont permis aux chercheurs de créer
des modèles capables de générer et de reconstruire des formes 3D à partir de cartes de
profondeur ou de silhouettes à une ou plusieurs vues de manière transparente et efficace.
La solution utilise des principes géométriques. Elle peut donc s’adapter à de nombreux
sujets.
Le fait d’utiliser des principes géométriques rend la solution très fiable, car ce sont des
principes immuables.
3
Introduction Generale La vision par ordinateur
Cependant, cette technique présente aussi des inconvénients. Tout d’abord, il s’agit
d’un système compliqué à mettre en place. En effet, il nécessite la création d’algorithmes
géométriques complexes dont l’élaboration ne peut se faire sans un expert. De plus, les
principes immuables de la géométrie et la rigidité des algorithmes rend cette technique peu
adaptable. Pour chaque évolution du sujet à analyser, un nouvel algorithme doit être créé.
Il n’est pas nécessaire d’être un expert pour bénéficier de la reconnaissance d’image, il suffit
de collecter des images ou des vidéos qui serviront d’exemples de situations à reconnaître.
Cette solution permet donc d’être indépendant tout au long de sa mise en place.
Il s’agit d’une technique très fiable si les réseaux de neurones sont bien entrainés, et les
données d’entrainement bien annotées.
Conclusion :
La vision par ordinateur est la construction explicite des descriptions significatives d’objets
physiques à partir d’images. C’est un système pour lequel on produit des descriptions de
l’environnement perçu à partir de l’analyse d’images. Ces descriptions doivent contenir les
aspects des objets observés qui sont utiles pour accomplir les tâches auxquelles est dédiée la
machine de vision.
4
Introduction Generale
Système d'IA de surveillance à distance sociale et de détection de masque facial pour Covid-19
Introduction Generale
YOLO (You Only Look Once) est un système de détection d'objets en temps réel à la pointe
de la technologie. C'est un modèle spp basé sur la version 3 (pré-entraîné sur le jeu de
données COCO), avec une résolution de 608x608 utilisé dans ce projet pour obtenir les cadres
de délimitation des personnes individuelles dans une image vidéo. Pour obtenir une vitesse de
traitement plus rapide, une résolution de 416x416 ou 320x320 peut être utilisée. YOLOv3-
tiny peut également être utilisé pour l'optimisation de la vitesse. Cependant, cela entraînera
une diminution de la précision de détection. La couche de sortie a été extraite du modèle yolo
v3 qui convient à la détection de personnes. Chaque personne est détectée si le score de
confiance est > 0,5.
5
Système d'IA de surveillance à distance sociale et de détection de masque facial pour Covid-19
Introduction Generale
6
Système d'IA de surveillance à distance sociale et de détection de masque facial pour Covid-19
Introduction Generale
Un modèle ResNet50 légèrement modifié (avec des couches de base pré-entraînées sur
imagenet) est utilisé pour classer si un visage détecté est masqué correctement ou non. Une
combinaison de quelques couches de mise en commun moyenne 2D et dense (avec abandon)
se terminant par un classificateur Sigmoïde ou Softmax est ajoutée au-dessus des couches de
base. Si le score de confiance est inférieur à 0,5, cela signifie que le masque facial est présent
alors que si le score de confiance est supérieur à 0,5, cela signifie que le masque facial n'est
pas présent. Nous avons observé que le déploiement du réseau pré- entraîné ResNet50 nous a
apporté un modèle de haute précision ainsi qu'un temps de formation rapide.
Une fois la personne détectée, nous suivons le centroïde afin d'identifier de manière unique la
personne et de vérifier la distance avec les personnes adjacentes à l'aide de l'algorithme de
clustering de données DBSCAN (Density based spatial clustering of applications with noise)
7
Système d'IA de surveillance à distance sociale et de détection de masque facial pour Covid-19
Introduction Generale
8
Système d'IA de surveillance à distance sociale et de détection de masque facial pour Covid-19
Introduction Generale
2.8 Résultats
Comme nous pouvons le voir, le système identifie les personnes dans le cadre et place des
cadres de délimitation vert clair, rouge foncé ou orange si elles sont en sécurité (Aucun
risque), à risque élevé ou à risque faible respectivement. Les lignes de connexion entre les
personnes indiquent le niveau de proximité entre les personnes (le rouge indique très proche
et le jaune indique proche). Après avoir détecté la personne, le système détecte également le
visage et identifie si la personne est masquée ou non en mettant un cadre de délimitation vert
ou rouge. Le statut est affiché dans une barre en bas, montrant tous les détails. Ce sont des
résultats assez décents compte tenu de la complexité du problème que nous avons entre nos
mains.
2.9Avantages et inconvénients :
2.9.1 Avantages :
Comme nous pouvons le voir, le système d'IA identifie les personnes dans le cadre et leurs
visages (s'il est visible) et met des cadres de délimitation verts ou rouges s'ils sont
respectivement en sécurité ou non et détecte correctement les visages masqués. Le statut est
affiché dans une barre en haut, montrant tous les détails. Ce sont des résultats assez décents
compte tenu de la complexité du problème que nous avons entre nos mains et peuvent être
déployés dans des solutions d'IA de surveillance CCTV.
2.9.2 Désavantages :
Le modèle doit être entraîné sur des tonnes de données pertinentes avant de pouvoir
l'appliquer en temps réel et de s'attendre à ce qu'il fonctionne. Il a besoin de beaucoup de
puissance de calcul et je veux dire beaucoup! Nous pouvons essayer nos modèles entraînés
sur un grand ensemble de données dans des machines virtuelles cloud, ce qui pourrait
produire des résultats souhaitables. Pour l'instant, j'ai utilisé des modèles open source pré-
entraînés.
9
Introduction Generale
Introduction GeneraleBASES DE LA RECONNAISSANCE DE VISAGES
Introduction
L’intelligence artificielle, et notamment la reconnaissance d’image, aura bientôt une place
prépondérante dans nos vies quotidiennes. Les possibilités induites par cette technologie sont
considérables, car elle va améliorer les services existants et en créer de nouveaux, impulser de
nouvelles opportunités économiques et ainsi redéfinir les standards de nos industries.
tout dépendamment du mode d’application dans lequel ils sont employés, des données
utilisées pour l’entraînement des modèles de visages, des données employées durant le
mode d’opération, ainsi que des préalables d’utilisation imposés par leur contexte
d’application.
grandes familles afin de parvenir à définir une méthode de représentation des visages
en mémoire [8, 26, 122, 150], de sorte à pouvoir exploiter ces représentations pour entraîner
un système de classification qui pourra à son tour identifier ou vérifier l’identité d’un
individu.
Ces familles regroupent (1) les approches holistiques (template matching), c’est-à-dire dont le
objectif de nature relativement similaire. Il en est de même pour les architectures permettant
de représenter le séquencement des étapes principales employées en reconnaissance de
visages.
Dit autrement, malgré que les algorithmes utilisés aux plus bas niveaux de chaque application
de FR puissent grandement varier d’un cas à l’autre, en considérant non seulement tous les
types de catégories présentées jusqu’à présent, mais également les modes spécifiques
d’opérations envisageables, l’architecture à plus haut niveau est en tout point similaire d’un
cas à l’autre.
La mise en place un système de FR complet requiert trois étapes majeures, soit (1) la
détection de visage (face detection, FD) à partir des images ou séquences vidéo, (2)
l’extraction de caractéristiques (feature extraction, FE) permettant de décrire et encoder
l’apparence d’un visage sous forme numérique ou binaire, et finalement, (3) la
classification de visages (face classification, FC) à proprement parlé pour accomplir la FR
qui permet d’identifier ou vérifier la présence d’un individu dans scène en entrée [8, 122,
150]. La Figure 3.1 représente cette architecture sous sa forme la plus traditionnelle et
simplifiée.
11
Introduction GeneraleBASES DE LA RECONNAISSANCE DE VISAGES
système de FR, c’est-à-dire la détection de la position de régions d’intérêt des visages sur les
images ou vidéos. La technique la plus répandue est sans doute l’algorithme proposé par les
auteurs Viola-Jones [129, 130, 131], portant le même nom. La détection VJ consiste à
appliquer plusieurs faibles classificateurs en cascade (d’où le nom alternatif cascade classifier
de l’algorithme) qui ont été entraînés à progressivement valider avec de plus en plus de
rigueur la présence de caractéristiques Haar bien précises et qui représentent la réponse
typique d’un visage.
3.4.2Extraction de caractéristiques :
Afin d’accomplir la reconnaissance de visages, il est nécessaire de représenter ceux-ci dans un
de caractéristiques (FE) discriminantes pour représenter les visages sont requises pour
un système de FRiVS. De manière générale, trois sous-classes de descripteurs de la
catégorie template-matching sont définies en littérature [67, 69], soit (1) les méthodes par
projection, (2) les méthodes de vision et, (3) les méthodes par apprentissage de
caractéristiques. Celles -ci seront présentées aux sous-sections qui suivent.
réduction de dimensionnalité des vecteurs descripteurs caractérisant les visages, tels que PCA
ou LDA, que les méthodes très spécifiques pour la reconnaissance de visages comme
les représentations par eigenfaces ou fisherfaces. Ces techniques ont maintes fois été
appliquées au domaine de la reconnaissance de visages [14, 69, 72, 88, 118, 124, 125, 135].
Le principe général des techniques se base sur le fait que plusieurs des caractéristiques
existantes dans l’hyper-espace servant à caractériser les visages sont extrêmement
redondantes. Ainsi, étant donné la corrélation élevée existant à travers certaines
combinaisons de features, il devient possible de les projeter selon un système d’axes
différent, à plus petite dimensionnalité, et où chaque dimension (ou nouvelle feature
générée) est bien plus discriminante et non corrélée aux autres données qu’initialement.
13
Introduction Generale BASES DE LA RECONNAISSANCE DE VISAGES
afin d’appliquer des masques sur les pixels, ou des analyses en fonction des couleurs
de l’image. Cette catégorie regroupe ainsi les approches traditionnelles de feature
engineering, qui sont obtenues en se basant sur des propriétés sélectionnées selon des
objectifs précis. Étant donné la variété de la catégorie, il existe une abondance de
méthodes, mais les quelques exemples suffiront à démontrer pourquoi elles sont considérées
handcrafted.
Une première approche de ce type qui est souvent ressortie en littérature pour la FR est le
descripteur LBP [2, 53, 148, 149, 151, 152]. Celui-ci est conceptualisé dans l’objectif
de caractériser des patterns de textures très spécifiques, à partir des tons de gris dans l’image.
La technique se base sur un seuillage des pixels autour d’une valeur centrale dans une fenêtre
localisée, afin d’encoder binairement si les pixels voisins sont supérieurs ou inférieurs à
celleci, d’où le nom Local Binary Patterns. Ce procédé d’encodage est représenté à la
Figure3.4.
Les occurrences de combinaisons binaires observées sur l’image sont ensuite accumulées
dans un histogramme, tel que montré à la Figure 2.13, après filtrage à un maximum de 59
features pour supprimer les patrons irréalistes selon les observations accomplies dans le mode
réel.
14
BASES DE LA RECONNAISSANCE DE VISAGES
Introduction Generale
sont la hauteur et largeur d'une image. La matrice d'une image contient, pour chaque
emplacement interne, une structure permettant de représenter l'intensité moyenne de la
lumière à cet endroit que l'on appelle un pixel. Un pixel n'est toutefois pas une représentation
parfaite de l'information visuelle de ce qu'elle représente, puisque la limitation des capteurs
cause une perte d'information.
des donné s.
Cette perte possible d information e t xacerbée lor de l'utili ·ation d capteurs numériques.
Le ystème de vi ion du cerveau humain 'appuie sur la moitié du cortex du cerveau
(Wordenweber et al. 2007) oit environ 30 milliard de neurones et plu ieurs trilliards de
synap e et utili e différents systèmes encore peu connus par 1 chercheurs, d'finis par divers
modèles opposés (Gib on, 1966; Gregory, 1970) afin d enrichir leur données par les
informations déjà connues telles que sa repré ntation 3D, s textur s, ses motif t bi n plus
encore.
Une caméra ne peut offrir eule ce processu et transmet donc une perception ubjec ive
incomplète de 1 environnement perçu. Chaqu pixel de l'image peut alors seulement repré
enter 1 inten it, moyenn de luminance pour son emplacem nt nomm' l x.y t toute
information supplémentair nécessite 1 utilisation de plusieurs système additionnels pour le
enrichir.
15
Introduction Generale
Implementation
Introduction Generale
4.1Introduction :
La maladie à coronavirus 2019 ou Covid-19 est une maladie de type zoonose virale
causée par SARS-CoV-2. Les symptômes les plus fréquents sont la fièvre, la toux, la fatigue
et la gêne respiratoire. Dans les formes les plus graves, notamment chez les personnes plus
fragiles du fait de leur âge ou en cas de comorbidités.
Après avoir présenté dans le chapitre précédent les méthodes, l’objectif de ce chapitre est
d’étudier, définir et de mettre en place un système de detection de masque. Ce chapitre donne
une vue plus détaillée sur le travail réalisé pour la detection de masque.
16
Introduction Generale Implementation
Code facile à comprendre et très lisible et une aide très bien faite.
Propose un ensemble complet d'algorithmes standard de référence.
Programmation infiniment plus rapide pour le calcul et pour l’affichage.
Une librairie très riche (descripteurs d’images intégrés).
Fonctions et d'applications destinées au traitement d'images, à l’analyse, à la
visualisation et au développement d’algorithmes.
Permet de réaliser de nombreuses opérations, parmi lesquelles l’analysed ’images,
la segmentation d’images, l’amélioration d’images, la suppression du bruit, le
recalaged’images.
17
Implementation
Introduction Generale
18
Implementation
Introduction Generale
confidence = detections[0, 0, i, 2]
# If confidence > 0.5, save it as a separate file
L’interface de l’application
if (confidence > 0.5):
frame = image[startY:endY, startX:endX]
#Appel du modèle appris pour la detection de masque
capture = cv2.resize(frame, (224, 224))
capture = capture.reshape((1, capture.shape[0], capture.shape[1], capture.shape[2]))
predict = modelMasque.predict(capture)
pasDeMasque = predict[0][0]
avecMasque = predict[0][1]
if (pasDeMasque > avecMasque):
cv2.rectangle(image, (startX, startY), (endX, endY),(0, 0, 255), 2)
cv2.putText(image, "PAS DE MASQUE", (startX, startY-10),cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 0, 255), 2)
else:
cv2.rectangle(image, (startX, startY), (endX, endY),(0, 255, 0), 2)
cv2.putText(image, "OK", (startX, startY), cv2.FONT_HERSHEY_SIMPLEX, 0.45, (0, 255, 255), 2)
# Affichage de l'image
cv2.imshow('img', image)
k = cv2.waitKey(30) & 0xff
if k==27:
break
cap.release()
Introduction Generale Implementation
20
Introduction Generale Implementation
21
Implementation
Introduction Generale
conclusion :
Nous avons présenté dans ce chapitre notre contribution en essayant de
répondre aux besoins des utilisateurs liés au domaine de detection de porte
de mask, nous y avons développé les principales étapes d’un processus de
detection à savoir .
22
Introduction Generale
Conclusion Generale
Introduction Generale
Conclusion générale :
Malgré les efforts et les travaux intensifs réalisés dans le domaine de
classification des images, aucune méthode n’est jugé fiable à 100%, Mais au
fur et à mesure les chercheurs essayent d’améliorer les scores pour de
meilleurs résultats.
Dans ce mémoire, nous avons abordé le problème de classification des
images. Plus précisément, nous nous sommes focalisés sur la classification
basée sur le contenu visuel.
Le but de ce travail été d’ajouter une valeur minimale aux travaux de
recherche du domaine de classification des images distinctement, et au
domaine de l’imagerie et la reconnaissance des formes d’une façon générale.
Pour atteindre cet objectif ,nous avons commencé par un état de l’art sur la
vision par ordinateur et les caractéristiques des images, Ensuite, nous avons
étudié les différentes méthodes d’extractions des caractéristiques visuelles.
Enfin nous nous sommes intéressés à l’intégration de nos méthodes
proposées à un système de classification des images.
On a choisi aussi des méthodes comme méthode de classification, ce choix
est justifié par leur principal avantage pour tous les méthodes supervisées,
qui est l’aspect d’"apprentissage" qui permet de développer des systèmes
dynamiques et évolutifs.
Nous avons développé une interface qui permet àl’utilisateur de proposer
facilement un modèle et d’afficher ses résultats de classification, cette
application peut être intégré ou utilisé avec des machines qui possèdent un
environnement d’acquisition des images. De plus ce travail peut être utilise
dans des autre domaines (analyse des images, traitement,
classification…etc.).
Enfin, ce travail reste ouvert pour des travaux de comparaison avec d'autres
méthodes de classification (SVM, méthodes neuronales…..) et d'autres types
de descripteurs (descripteurs de Fourier, ondelette …).
23
Introduction Generale
BIBLIOGRAPHIE
[3]. [ABED, H., & ZAOUI, L]. (2011). Système D’Indexation et de Recherche
d’Images par le contenu. Système D’Indexation et de Recherche d’Images par
le contenu, 3.
[4]. [BEN CHIKH, N., & BEN ELZZINE, R.] (2011, 06). LA RECHERCHE
D’IMAGES PAR LA SEMANTIQUE. LA RECHERCHE D’IMAGES PAR LA
SEMANTIQUE. Mémoire de Master informatique académique, département
mathématique at informatique, Université kasdiMarbah Ouargla.
[5]. [LAOUBI, A.] (2014, 06 19). Recherche d’images sémantique basée sur la
sélection automatique des concepts. Mémoire MASTER ACADEMIQUE.
Ouargla, Département d’informatique et des technologies de l’information,
Algérie : UNIVERSITE KASDI MERBAH OUARGLA.
[6]. [LESLOUS, O., & BOUCETTA, M.] (2011, 07 27). Recherche d'images
par le contenu visuel : recherche d'images par le contenu visuel :Mémoire de
master. Ouargla, départementmathématique et informatique,UniversitéKasdi
Merbah.Ouargla
[22]. [Web,
13]http://www.loria.fr/~rougier/teaching/matplotlib/matplotlib.html.(Cons
ulté le 05/05/2016).