PFESana Akhssassi
PFESana Akhssassi
PFESana Akhssassi
Master
Big Data et aide à la décision
P RÉSENTÉ PAR :
AKHSSASSI Sana
Je dédie ce travail :
A ceux qui se dévouent sans cesse pour m’éclaircir la voie et les immenses horizons
du savoir et dont la vocation mérite largement mon respect.
Il m’est agréable de m’acquitter d’une dette de reconnaissance auprès de toutes les personnes,
dont l’intervention au cours de ce projet, a favorisé son aboutissement.
Je remercier aussi l’ensemble du corps professoral de l’ENSA Khouribga qui ont participé à
ma formation sans aucun égoïsme et qui ont partagé avec moi leurs connaissances et leurs expé-
riences
Que les membres du jury Mr. EL HADFI Youssef et Mr. DARGHAM Abdelmajid trouvent
ici l’expression de ma reconnaissance pour avoir accepté d’évaluer mon travail.
Que tous ceux et celles qui ont contribué de près ou de loin à l’accomplissement de ce travail
trouvent l’expression de mes remerciements les plus chaleureux.
Résumé :
Les réseaux adversaires génératifs ont trouvé un large éventail d’applications. L’une des appli-
cations les plus importantes est la translation d’image à image, ce qui amène à faire une appli-
cation pour la translation contour-réel visant à détecter les bords pour la segmentation d’images.
Le processus de division d’une image numérique en régions ou en ensembles de pixels est ap-
pelé segmentation d’image. Un bord est la limite entre deux régions homogènes. La détection des
bords fait référence au processus d’identification et de localisation de discontinuités nettes dans une
image. Dans ce travail, l’objectif principal est de comparer des méthodes de détection des contours
standard largement utilisées dans le traitement d’images, telles que les détecteurs des contours
de Canny et de Sobel, avec la méthode d’apprentissage automatique GAN expérimentées sur une
grande ensemble de données de chaussures dans des situations d’images silencieuses et bruyantes,
les résultats obtenus démontrent les performances bénéfiques du détecteur des contours proposé.
Abstract :
Generative adversarial networks have found a wide range of applications. One of the most im-
portant applications is image-to-image translation, which leads to an application for contour-real
translation aimed at detecting edges for image segmentation. The process of dividing a digital
image into regions or sets of pixels is called image segmentation. An edge is the boundary between
two homogeneous regions. Edge detection refers to the process of identifying and locating sharp
discontinuities in an image. In this work, the main objective is to compare standard edge detec-
tion methods widely used in image processing, such as the Canny and Sobel edge detectors, with
the GAN machine learning method experimented on a large footwear dataset in silent and noisy
image situations, the results obtained demonstrate the beneficial performance of the proposed edge
detector.
Table des matières
Dédicaces I
Remerciements II
Résumé III
Introduction générale 1
1 Contexte Générale 3
1.1 Traitement d’image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Contour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Types de contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 détection des contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Utilité de détection de contour . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.3 Opérateurs de détection de contours . . . . . . . . . . . . . . . . . . . . . 8
1.5 Translation d’image à image utilisant GAN . . . . . . . . . . . . . . . . . . . . . 12
1.5.1 Le problème de la translation image à image . . . . . . . . . . . . . . . . 12
1.5.2 Introduction aux GANs . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.3 Types de GANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.4 Applications de GANs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.5 GAN Pix2Pix pour la translation d’image à image . . . . . . . . . . . . . 18
2 Etat de l’art 20
2.1 Approche classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Approche fractionelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Approche basé sur le modèle binaire local LBP . . . . . . . . . . . . . . . . . . . 23
2.4 Approche maching learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5 Translation d’image à image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3 Méthodologie 27
3.1 GAN pour la détection de contour . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2 Architecture utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.3 Modèle de générateur U-Net . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.4 Modèle de discriminateur PatchGAN . . . . . . . . . . . . . . . . . . . . 30
3.1.5 Perte du générateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.6 Perte du discriminateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.7 Mathématiques derrière le GAN . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Détecteur de contour Canny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.2 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.3 Filtre gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.4 Calcul du gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.5 Suppression non maximale . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.6 Double seuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.7 Suivi des bords par hystérésis . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Détecteur de contour Sobel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2 Description simplifiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.3 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.4 Détails d’implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.5 Pseudo-codes pour la méthode de détection des bords de Sobel . . . . . . . 41
3.4 Fonctions de pertes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.1 MAE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.2 SSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.3 Perte de bord de Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Perte de bord de Sobel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.5 Perte de Huber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.6 Perte de Laplacian pyramid . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.7 BCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Métriques d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.1 Rapport signal-bruit de crête . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5.2 Erreur quadratique moyenne . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6 Ensemble de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4 Résultats et expérimentaux 49
4.1 Expérience 1 : Analyse des performances des trois méthodes . . . . . . . . . . . . 49
4.2 Expérience 2 : la robustesse au bruit des méthodes . . . . . . . . . . . . . . . . . 52
4.3 Expérience 3 : Comparaison des fonctions de perte intégrées dans GAN pour une
proposition d’amélioration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Conclusion et perspective 57
Bibliographie IV
Table des figures
La détection des contours est un outil fondamental dans le traitement d’images et la vision par
ordinateur, en particulier dans le domaine de la détection et de l’extraction de caractéristiques, qui
vise à identifier les points des images numériques où la luminosité de l’image change brusquement.
L’objectif principal de la détection des contours est de localiser et d’identifier les discontinuités
nettes dans une image. Ces discontinuités sont dues à des changements soudains dans les intensités
des pixels qui caractérisent les limites des objets dans une scène.
Les contours délimitent différentes zones de l’image. Ces limites sont utilisées pour identifier les
objets pour la segmentation et la mise en correspondance. Ces limites d’objets sont la première
étape de nombreux algorithmes de vision par ordinateur, tels que la reconnaissance faciale basée
sur les contours, la reconnaissance d’objets basée sur les contours, la détection d’obstacles basée
sur les contours, la compression d’image, etc. Par conséquent, des détecteurs de contours sont né-
cessaires pour extraire les contours. Il existe de nombreux opérateurs de détection de contours. Ces
opérateurs reconnaissent les contours verticaux et horizontaux, les coins et les marches. La qualité
des contours détectés par ces opérateurs dépend fortement du bruit, des conditions d’éclairage, des
objets de même intensité et de la densité des contours dans la scène. Ces problèmes peuvent être ré-
solus en ajustant divers paramètres dans le détecteur de bord et en modifiant les seuils qui prennent
en compte les bords. Une méthode adaptative pour ces valeurs n’a pas été proposée. Ces opérateurs
sont très sensibles au bruit et aux contours contenant un contenu haute fréquence. D’où la nécessité
de supprimer le bruit, qui provoque des bords flous et déformés. Une large gamme d’opérateurs est
disponible qui peuvent extraire les contours d’une image bruyante . Mais ces contours sont moins
précis. Cela est dû à la présence de bruit, ils extraient des contours erronés. Ils ne trouvent pas les
limites des objets avec de petits changements dans les valeurs d’intensité. Il en résulte un mauvais
positionnement des contours. Par conséquent, nous avons besoin d’un opérateur pour reconnaître
ce changement progressif d’intensité. Il y a donc des problèmes de fausse détection des bords, des
problèmes causés par le bruit, le manque des bords à faible contraste, un temps de calcul long, etc.
Les réseaux adversaires génératifs, ou GAN en abrégé, sont un domaine passionnant et en crois-
1
sance rapide qui promet des modèles génératifs capables de générer des exemples concrets dans une
gamme de domaines de problèmes, offrant un moyen de résoudre des problèmes qui nécessitent une
solution sophistiquée. Des solutions telles que la translation d’image à image. Les réseaux adver-
saires génératifs sont une méthode de modélisation générative utilisant des méthodes d’apprentis-
sage en profondeur telles que les réseaux de neurones convolutifs. La modélisation générative est
une tâche d’apprentissage automatique non supervisée qui découvre et apprend automatiquement
des régularités ou des modèles dans les données d’entrée afin que le modèle puisse être utilisé pour
générer ou produire de nouveaux exemples pouvant être tirés de l’ensemble de données d’origine.
Par conséquent, l’objectif de notre étude est de comparer les différents détecteurs des contours
les plus connus avec une autre approche basée sur les réseaux adversaires génératifs, et d’analyser
lesquels sont les plus performants. Le rapport est organisé comme suit : Le premier chapitre donnera
un aperçu global sur le projet. Quant au deuxième chapitre, il sera consacré à l’état de l’art, le
troisième donnera un aperçu sur la méthodologie pour enfin parler des résultats expérimentaux
dans le quatrième chapitre. Finalement, je conclure ce rapport par une synthèse du travail effectué
et la présentation des perspectives envisagées.
2
Chapitre 1
Contexte Générale
Introduction
Dans ce chapitre nous allons présenter l’ensemble des généralités sur la détection de contours, nous
allons également présenter la translation d’image à image utilisant gan.
Le traitement d’image, comme son nom l’indique, est le processus de manipulation d’une image,
ce qui peut inclure de nombreuses techniques différentes, et le résultat final peut être sous la forme
d’une autre image, d’une variation ou simplement d’un paramètre de cette image. Ce résultat peut
ensuite être utilisé pour une analyse plus approfondie ou une prise de décision.
Il s’agit de la partie centrale de la vision par ordinateur (ou « computer vision ») qui joue un rôle
crucial dans de nombreux exemples du monde réel comme la robotique, les voitures autonomes
et la détection d’objets. Le traitement d’images nous permet de transformer et de manipuler des
milliers d’images à la fois et d’en extraire des informations utiles.
Comprendre le traitement d’image commence par comprendre ce qu’est une image. Le mode et les
conditions d’acquisition et de numérisation des images de traitement déterminent en grande partie
ce qu’il faut faire pour extraire l’information. En effet, de nombreux paramètres sont pris en compte
dont les principaux sont :
3
• les conditions d’éclairage, qui déterminent une partie de la variabilité des images traitées ;
• le bruit de la chaîne de transmission d’image.
Quelques exemples types d’informations qu’il est possible d’obtenir d’une image numérique :
• la luminance moyenne ;
• le contraste moyen ;
• la couleur prédominante ;
• le taux d’acuité moyen (précis ou flou) ;
• le taux d’uniformité des couleurs ;
• la présence ou l’absence de certains objets.
1.2 Image
Une image peut être représentée comme une fonction bidimensionnelle F(x,y), où x et y sont des
coordonnées spatiales. C’est donc un tableau de pixels disposés en colonnes et en lignes. La valeur
F en un point x,y est appelée l’intensité de l’image en ce point. Si les valeurs x, y et magnitude
sont finies, on parle d’image numérique. Les images peuvent également être représentées en 3D,
avec les coordonnées x, y et z. Les pixels sont alors disposés en matrice. C’est ce qu’on appelle une
image RVB. Si l’image est en niveaux de gris, il n’y a qu’un seul canal : z=1.
4
1.3 Contour
1.3.1 Définition
Les bords sont des changements locaux significatifs d’intensité dans une image numérique. Un bord
peut être défini comme un ensemble de pixels connectés formant une frontière entre deux régions
disjointes. Par définition, un bord est la frontière qui sépare deux objets dans une image.
• Marche d’escalier
• Rampe
• Toit
5
F IGURE 1.3 – Types des Contours
1.4.1 Définition
La détection des contours est une technique de traitement d’image utilisée pour trouver les limites
des objets dans une image, et elle fonctionne en détectant les discontinuités de luminosité. Plus
6
précisément, les bords sont définis comme des maxima locaux de gradients d’image, c’est-à-dire
des régions avec de grands changements de valeur entre deux régions de pixels.
La détection des contours dans les images réduit considérablement la quantité de données en pré-
servant les informations qui pourraient être considérées comme plus pertinentes. Il existe de nom-
breuses méthodes de détection des contours de l’image, mais la plupart d’entre elles peuvent être
divisées en deux catégories. Le premier recherche l’extremum de la dérivée première, générale-
ment le maximum local de l’intensité du gradient. La seconde recherche l’annulation de la dérivée
seconde, généralement une expression différentielle de Laplace ou non linéaire.
Dans une image, La mise en évidence des points représentant les contours d’objets, peut être uti-
lisée pour reconnaître des objets présents dans une scène, distinguer les zones de l’image, faire la
segmentation d’image, extraire les informations simplifiées généralement associées aux caractéris-
tiques d’image. Voilà quelques applications pratiques de la détection des contours d’image :
7
∗ imagerie médicale, étude de la structure anatomique
∗ localiser un objet sur des images satellites
∗ systèmes de contrôle automatique du trafic
∗ reconnaissance faciale et reconnaissance d’empreintes digitales
8
Avantages :
Limites :
∗ Les points de direction diagonale ne sont pas toujours conservés
∗ Très sensible au bruit
∗ Pas très précis dans la détection des contours
∗ Détecter avec des bords épais et rugueux ne donne pas des résultats appropriés
Opérateur Prewitt : Cet opérateur est presque similaire à l’opérateur sobel. Il détecte également les
bords verticaux et horizontaux de l’image. C’est l’un des meilleurs moyens de détecter l’orientation
et la magnitude de l’image. il utilise le noyau ou le masque
Avantages :
Limites :
∗ L’amplitude du coefficient est fixe et ne peut pas être modifiée
∗ Les points de direction diagonale ne sont pas toujours conservés
9
Opérateur Robert : Cet opérateur basé sur le gradient calcule la somme des carrés des différences
entre les pixels diagonalement adjacents dans une image par différenciation discrète. Ensuite, ef-
fectuez une approximation du gradient. Il utilise les 2 x 2 noyaux ou masques suivants
Avantages :
∗ La détection des bords et l’orientation sont très faciles
∗ Les points de direction diagonale sont conservés
Limites :
∗ Très sensible au bruit
∗ Pas très précis dans la détection des contours
Opérateur de Marr-Hildreth ou Laplacien de Gauss (LoG) : Il s’agit d’un opérateur basé sur le
gaussien qui utilise le laplacien pour prendre la dérivée seconde d’une image. Cela fonctionne très
bien lorsque la transition en niveaux de gris semble abrupte. Il fonctionne sur la méthode passage
par zéro, c’est-à-dire que lorsque la seconde dérivée passe par zéro, cette position particulière cor-
respond au maximum. C’est ce qu’on appelle la position du bord. Ici, l’opérateur gaussien réduit le
bruit et l’opérateur laplacien détecte les arêtes vives. La fonction gaussienne est déterminée par la
formule :
x2 +y 2
!
G(x, y) = √1 exp −
2πσ 2 2σ 2
∂2 ∂2 x2 +y 2 −2σ 2 2 2 !
LoG = ∂x2 G(x, y) + ∂y 2 G(x, y) = σ4 exp − x2σ+y2
10
Avantages :
Limites :
∗ Très sensible au bruit
∗ Il génère des réponses bruitées qui ne correspondent pas aux contours, appelées « faux
contours »
∗ L’erreur de localisation peut être sévère sur les bords incurvés
Opérateur Canny : Il s’agit d’un opérateur gaussien pour la détection des contours. Cet opéra-
teur n’est pas sensible au bruit. Il extrait les caractéristiques des images sans affecter ni modifier
les caractéristiques. Le détecteur de bord Canny possède un algorithme avancé dérivé des travaux
antérieurs de l’opérateur gaussien laplacien. Il est largement utilisé comme technique de détection
optimale des bords. Il détecte les contours en fonction de trois critères :
Avantages :
∗ Il a une bonne localisation
∗ Il extrait les caractéristiques de l’image sans altérer les caractéristiques
∗ Moins sensible au bruit
Limites :
∗ Il y a un faux passage à zéro
∗ Calcul complexe et chronophage
11
1.5 Translation d’image à image utilisant GAN
La translation d’image-à-image est la conversion contrôlée d’une image source donnée en une
image cible. La conversion de photographies en noir et blanc en photographies en couleur est un
exemple. La translation d’image-à-image est un problème difficile qui nécessite souvent des mo-
dèles et des fonctions de perte spécialisés pour une tâche de translation ou un ensemble de données
donné. Le GAN Pix2Pix est une approche générale de la traduction d’image à image. Il est basé sur
le réseau adversarial génératif conditionnel, où une image cible est générée, conditionnellement à
une image d’entrée donnée. Dans ce cas, le GAN Pix2Pix modifie la fonction de perte de sorte que
l’image générée soit à la fois plausible dans le contenu du domaine cible et une translation plausible
de l’image d’entrée. Dans cette section, on découvrira le réseau adversarial génératif conditionnel
Pix2Pix pour la translation d’image-à-image.
La translation d’image à image est le problème de la modification d’une image donnée d’une ma-
nière spécifique ou contrôlée. Par exemple, la translation d’une photographie d’un paysage du jour
à la nuit ou la translation d’une image segmentée à une photographie... Il s’agit d’un problème
difficile qui nécessite généralement le développement d’un modèle spécialisé et d’une fonction de
perte élaborée à la main pour le type de tâche de translation à effectuer. Les approches classiques
utilisent des modèles de classification ou de régression par pixel, dont le problème est que chaque
pixel prédit est indépendant des pixels prédits avant lui et que la structure générale de l’image peut
être manquée. Idéalement, il faut une technique qui soit générale, c’est-à-dire que le même modèle
général et la même fonction de perte puissent être utilisés pour de multiples tâches de translation
d’image à image.
Les réseaux adversariens génératifs (GAN) sont des modèles de réseaux neuronaux génératifs in-
troduits par Ian Goodfellow en 2014. Récemment, les GANs ont été utilisés dans de nombreuses
applications telles que la découverte et la prévention d’attaques de sécurité, la translation des vê-
tements, la conversion texte-image, le mélange de photos, les jeux vidéo, etc. Les GANs ont un
générateur (G) et un discriminateur (D) qui peuvent être des réseaux neuronaux convolutionnels
(CNN), des réseaux neuronaux à action directe ou des réseaux neuronaux récurrents (RNN). Le
générateur (G) va générer de fausses images, en prenant une distribution de bruit aléatoire comme
12
entrée. Les échantillons réels et les fausses images générées sont donnés en entrée au discrimina-
teur (D), qui va qui indique si l’image provient de l’échantillon réel ou du générateur (1 ou 0).
Les fonctions de perte sont calculées pour vérifier si (i) le générateur génère des images proches
des échantillons réels et (ii) le discriminateur discrimine correctement les images réelles et fausses
images. Si la fonction de perte donne une valeur élevée, la rétro-propagation vers les réseaux neuro-
naux du générateur et du discriminateur permet d’ajuster leurs poids et leur biais, ce qui est appelé
optimisation. Il existe plusieurs algorithmes d’optimisation tels que le gradient descente stochas-
tique, RMSProp, Adam, AdaGrad, etc. Par conséquent, G et D apprennent simultanément.
Les cinq GAN qui font les gros titres aujourd’hui, ils offrent un large éventail de fonctionnalités
allant de la mise à l’échelle d’images à la création d’images entièrement nouvelles à partir de
descriptions textuelles :
• GAN conditionnel
L’une des difficultés des GAN standard est l’impossibilité de contrôler les types d’images
générées. Le générateur commence simplement avec un bruit aléatoire et crée de manière
13
répétée des images qui, espérons-le, tendent à représenter les images d’entraînement au fil
du temps. Un GAN conditionnel (cGAN) résout ce problème en exploitant des informations
supplémentaires telles que les données d’étiquettes (alias étiquettes de classe). Cela peut
également permettre un apprentissage plus stable ou plus rapide, tout en augmentant poten-
tiellement la qualité des images générées. Par exemple, un cGAN recevant des images de
différents types de champignons avec des étiquettes peut être entraîné à générer et à distin-
guer uniquement les champignons prêts à être cueillis. Le modèle résultant pourrait alors
être utilisé comme base de la vision par ordinateur dans un robot industriel programmé pour
trouver et cueillir des champignons. Sans une telle condition, un GAN standard (parfois ap-
pelé GAN inconditionnel) repose simplement sur la mise en correspondance des données de
l’espace latent avec celles des images générées. Il existe différentes approches pour implé-
menter les GANs, mais l’une d’entre elles consiste à conditionner à la fois le discriminateur
et le générateur en entrant les étiquettes de classe dans les deux. L’exemple suivant montre
un GAN standard pour générer des images de chiffres manuscrits, qui est amélioré avec des
données d’étiquettes pour générer uniquement des images des chiffres 8 et 0 :
F IGURE 1.8 – Un cGAN où les étiquettes de classe sont entrées à la fois dans le générateur et le
discriminateur pour contrôler la sortie.
14
• Stacked GAN La conversion de texte en image est l’une des premières applications du GAN
à transfert de domaine. Nous entrons une phrase et générons plusieurs images correspondant
à la description.
15
Le discriminateur est utilisé pour comparer l’image super-résolution générée à l’image haute
résolution originale. La perte du GAN provenant du discriminateur est ensuite rétropropagée
à la fois dans le discriminateur et le générateur.
• Pix2Pix la segmentation d’objets est une méthode permettant de diviser des groupes de pixels
d’une image numérique en segments qui peuvent ensuite être étiquetés, localisés et même
suivis en tant qu’objets dans une ou plusieurs images. La segmentation peut également être
utilisée pour traduire une image d’entrée en une image de sortie à des fins diverses, comme la
synthèse de photos à partir de cartes d’étiquettes, la reconstruction d’objets à partir de cartes
d’arêtes et la colorisation d’images en noir et blanc. La segmentation peut être réalisée à
l’aide de Pix2Pix, un type de cGAN pour la traduction d’image à image, où un discriminateur
PatchGAN est d’abord entraîné à classifier si les images générées avec ces traductions sont
réelles ou fausses, puis utilisé pour entraîner un générateur basé sur U-Net à produire des
traductions de plus en plus crédibles. L’utilisation d’un cGAN signifie que le modèle peut être
utilisé pour une grande variété de traductions, alors qu’un GAN inconditionnel nécessite des
éléments supplémentaires tels que la régression L2 pour conditionner la sortie pour différents
types de traductions.
16
1.5.4 Applications de GANs
⋄ Augmentation des données Les GAN sont capables de faire de la synthèse d’images à
haute résolution. Cela s’avère particulièrement utile dans les scénarios où il y a une pénu-
rie d’images pour l’entraînement d’un modèle basé sur l’image. L’ensemble de données de
base peut être augmenté en utilisant certains GAN comme DCGAN (Deep Convolutional
GAN). La même chose peut être appliquée à d’autres types de jeux de données.
⋄ Développement de jeux Le développement de jeux réalistes dépend fortement de la résolu-
tion et de la variété des graphiques proposés par le jeu. Le développement de graphiques haut
de gamme ou quasi réalistes peut prendre beaucoup de temps et représenter un défi pour les
concepteurs graphiques de jeux. Le développement récent des GAN a fourni des alternatives
permettant de créer des scènes très réalistes avec une variété suffisante dans les jeux. Les gra-
phismes créés par les GAN sont parfois de meilleure qualité que les mêmes graphismes créés
par des humains, ces derniers prenant un temps exponentiel par rapport aux GAN. Exemple :
CESAGAN
⋄ Amélioration de l’image Certains GAN sont capables de modifier les paramètres des images
pour les rendre plus claires et plus définies. Une image peut présenter de nombreux défauts,
comme une mauvaise lumière, de mauvais angles de caméra ou même l’absence ou le reca-
drage d’une partie du sujet. Les GAN sont très puissants à cet égard et aident les utilisateurs
à effectuer un grand nombre de ces améliorations, comme l’équilibrage de la lumière, la
peinture des parties manquantes ou même la fusion de photographies pour créer de nouvelles
scènes.
⋄ Cyber sécurité Les systèmes de protection contre les logiciels malveillants basés sur des
signatures dépendent entièrement de la base de données des signatures de virus/logiciels
malveillants qui est fréquemment mise à jour. Cette dépendance crée une faille, puisqu’elle
ne permet pas de repérer les logiciels malveillants qu’elle n’a jamais vus auparavant. De
même, dans le cas des systèmes de détection d’intrusion qui dépendent fortement de quelques
paramètres dans les journaux, ils analysent pour signaler toute activité qui peut être classée
comme une intrusion ou de nature malveillante.
⋄ Mode et publicité Les GAN comme StyleGAN sont capables de créer des images de mo-
dèles qui ressemblent exactement à la réalité. Les entreprises de mode peuvent utiliser ces
techniques pour économiser de l’argent sur l’embauche de mannequins et faire en sorte que
leur temps de passage sur les marchés publicitaires soit vraiment réduit.
17
1.5.5 GAN Pix2Pix pour la translation d’image à image
Pix2Pix est un modèle de réseau adversarial génératif, ou GAN, conçu pour la translation d’image
à image à usage général. Le GAN Pix2Pix est une implémentation du cGAN où la génération d’une
image est conditionnelle à une image donnée. Le modèle générateur reçoit une image donnée en
entrée et génère une version translatée de l’image. Le modèle discriminateur reçoit une image en
entrée et une image appariée réelle ou générée et doit déterminer si l’image appariée est réelle ou
fausse. Enfin, le modèle générateur est entraîné à la fois pour tromper le modèle discriminateur
et pour minimiser la perte entre l’image générée et l’image cible attendue. Le GAN Pix2Pix doit
donc être entraîné sur des ensembles de données d’images comprenant des images d’entrée (avant
la translation) et des images de sortie ou cibles (après la translation). Cette architecture générale
permet au modèle Pix2Pix d’être entraîné pour une gamme de tâches de translation d’image à
image.
18
∗ la translation d’une photographie du jour vers un scénario de nuit ou vice-versa. Elle s’est
avérée utile pour l’augmentation des données en aval.
∗ Transformation d’une image à basse résolution en une image à haute résolution.
Conclusion
Jusqu’à présent, nous avons obtenu un ensemble de notions de base dans le domaine de la détection
de contours et de la traduction d’image à image. Dans le chapitre suivant, nous citerons les travaux
de recherche effectués dans les deux domaines.
19
Chapitre 2
Etat de l’art
Introduction
Nous allons aborder dans cette partie les travaux relatifs à la détection des bords et à la translation
d’image à image, car de nombreux articles ont été écrits sur ce sujet au cours des 50 dernières
années.
Lawrence Roberts a proposé la technique de détection des bords Roberts [22] pour détecter les
bords d’une image en 1965. Il s’agit d’une approche simple et efficace en termes de calcul. Elle
mesure le gradient spatial d’une image. La valeur du pixel à ce point dans l’image résultante ca-
ractérise la valeur absolue estimée du gradient spatial de l’image d’entrée à ce point. Elle prend
l’image d’entrée en tant qu’image à échelle de gris et produit des bords impliquant cette image. Les
principaux inconvénients de cette technique sont qu’elle ne peut pas détecter le type d’arêtes qui
sont multiples de 45 degrés et qu’elle n’est pas symétrique.
Prewitt a proposé la technique de détection des bords de Prewitt [22] [20] [13] en 1970. Il s’agit
d’un algorithme droit permettant de mesurer l’ampleur et l’orientation des bords. Cette technique
évalue les directions des bords directement avec la réponse maximale du masque. Il y a 8 directions.
Mais, parfois, l’approximation des directions directes n’est pas parfaite. Cet opérateur de Prewitt
est comme un opérateur de Sobel et facile à mettre en œuvre que l’opérateur Sobel, mais il produit
des résultats parfois plus bruyants. Le détecteur de bords de Prewitt est moins vulnérable au bruit
car il différencie dans une direction et fait la moyenne dans une autre direction.
Irwin Sobel a proposé la technique de détection des bords de Sobel [22] [9] en 1970. Le noyau
de Sobel dépend de la différence centrale, mais lors du calcul de la moyenne, il donne plus de
20
poids au pixel central. L’un des avantages du noyau de Sobel par rapport au noyau de Prewit est
qu’il présente de meilleures caractéristiques de suppression du bruit. La méthode de détection des
contours de Sobel contient la paire de masques de convolution 3x3 illustrée à la figure 3. Un masque
est juste l’autre tourné de 90 degrés. Ce masque peut traiter les bords qui sont à 45 degrés par rapport
à la grille de pixels. Ce masque peut être appliqué distinctement à l’image d’entrée pour donner des
composantes de gradient dans toutes les orientations.
Marr a introduit la technique du Laplacien de Gauss (LOG) [3] dans (1982). La LOG est basée
sur la dérivée de second ordre. LOG lisse d’abord l’image puis calcule le Laplacien. Ce processus
produit l’image à double bord. Il localise les bords puis recherche le passage à zéro entre les doubles
bords.
John Canny a introduit la technique de détection des contours de Canny [22] [12] au MIT en 1983.
Il s’agit de la méthode de détection des contours standard, puissante et généralement utilisée. Elle
sépare le bruit de l’image avant d’extraire les bords. Canny est une meilleure méthode d’extraction
des bords que les autres méthodes existantes et produit un bon résultat. L’opérateur Canny peut
contrôler un certain nombre de détails de l’image des bords et peut supprimer le bruit efficacement.
La différenciation d’ordre fractionnaire ou non entier est une discipline émergente dans la société
du traitement du signal. Elle a une longue histoire mathématique suscitée par la correspondance
entre Guillaume de L’Hôpital et Gottfried Wilhelm Leibniz vers 1695. Le concept de dérivée est
traditionnellement associé à un nombre entier ; étant donné une fonction, on peut la différencier
une, deux, trois fois et ainsi de suite. Dans le même ordre d’idée, on peut avoir intérêt à étudier la
possibilité de différencier une fonction un nombre réel de fois, ce que l’on appelle le calcul d’ordre
fractionnaire (COF). Il s’agit d’une branche des mathématiques aussi ancienne que le calcul new-
tonien classique, qui traite de la théorie des opérateurs différentiels et intégraux d’ordre non entier
et des équations différentielles contenant de tels opérateurs. Bien que le concept de la théorie de
l’OFC soit établi depuis longtemps, le sujet est devenu pratique au cours des dernières décennies
parce que les phénomènes du monde réel peuvent être facilement modélisés en utilisant le concept
de l’OFC. Les applications de la théorie FOC sont limitées dans les domaines de l’électronique et
de l’ingénierie des communications, et une tentative a été faite pour incorporer le concept de la
théorie FOC dans les domaines du traitement du signal et de l’image. Dans cette partie, Nous nous
concentrons sur des travaux de recherche sur la détection des contours d’image à l’aide de dérivées
fractionnaires. Selon la définition retenue, plusieurs travaux de recherche ont proposé plusieurs
méthodes de détection des bords d’image. Jusqu’à présent, aucune expression de définition géné-
21
rique n’a été attribuée aux dérivées fractionnaires. Définitions communes de Riemann-Liouville
(RL), Grunwald-Letnikov (GL) et Caputo. Par conséquent, une variante de cette définition fournit
diverses propositions d’opérateurs dans la littérature pour détecter les bords dans les images. Par
conséquent, ces opérateurs fractionnaires donnent de meilleurs résultats que les opérateurs tradi-
tionnels détection des bords.
N. Aboutabit a proposé une nouvelle méthode pour construire un masque de détection des bords sur
la base de la définition de la dérivée d’ordre fractionnaire de Caputo-Fabrizio [1], Il a montré que la
méthode proposée surpasse la méthode traditionnelle de Canny et obtient de meilleurs indicateurs
de comparaison que la méthode d’Amoako.
Dans [11], Pu et al. ont analysé théoriquement six masques différentiels fractionnels et algorithmes
basés sur les définitions GL et RL. La performance de ces six masques a été étudiée et une analyse
des erreurs relatives a été effectuée. Il est prouvé que les performances de Yi Fei PU - 2 sont les
meilleures.
[4] ont utilisé la définition généralisée de Grunwald-Letnikov pour générer un masque différentiel
fractionnaire en combinaison avec l’algorithme de détection des bords. D’après l’expérience réali-
sée, cet opérateur de bord a montré son efficacité dans la détection des bords fins par rapport aux
opérateurs de Sobel et de Laplacien.
[16] a proposé un nouveau masque de Prewitt utilisant la dérivée d’ordre fractionnaire au sens de la
définition de Caputo-Fabrizio avec un noyau exponentielle. Les auteurs affirment que leur opérateur
décrit plus efficacement l’effet mémoire et n’impose pas de singularités artificielles.
[8] introduit un nouvel opérateur, la différenciation fractionnaire interpolée de Newton (NIFD). Il a
été démontré qu’il fournit de meilleures informations sur les bords d’une image. Il a constaté que le
bord obtenu par l’opérateur NIFD est meilleur que les opérateurs sobel et astucieux, en particulier
pour les images bruyantes, l’opérateur NIFD a la meilleure capacité anti-bruit.
On se basant sur la définition de Grunwald-Letnikov (GL), le détecteur CRONE, obtenu en géné-
ralisant l’ordre des dérivées pour inclure l’ordre des fractions, a été proposé [18], sa particularité
est que l’ordre des dérivées entre 1 et 2 favorise la sélectivité de détection, tandis que l’ordre de
dérivée de -1 à 1 favorise la robustesse de la résistance au bruit ; ils ont comparé ses performances
avec des gradients de Prewitt en utilisant une variété d’images, des images artificielles avec et sans
bruit et des images réelles d’origines diverses. Les résultats obtenus montrent que dans tous les cas,
le détecteur a une meilleure immunité au bruit.
22
2.3 Approche basé sur le modèle binaire local LBP
L’approche du modèle binaire local (LBP) est l’une des méthodes les plus simples, les moins com-
plexes, monotones, invariantes en niveaux de gris et efficaces pour décrire les textures d’images.
Dans l’approche LBP, les valeurs des pixels de l’image segmentée sont comparées à la valeur du
pixel central pour calculer le seuil. Sur la base de ce seuil, les caractéristiques sont extraites. Dans
cette méthode, la fenêtre cible est divisée en un certain nombre de cellules et les pixels sont com-
parés aux pixels de son voisinage. Si la valeur du pixel est supérieure ou égale au pixel central,
les cellules sont étiquetées "0" ou "1". Après avoir étiqueté les valeurs de pixel avec le code LBP
correspondant, l’histogramme est calculé sur la base des valeurs de pixel. Après avoir ajouté les
histogrammes de toutes les cellules, nous obtenons le vecteur caractéristique. Pour récapituler, le
descripteur LBP est basé sur un processus en quatre étapes et est expliqué ci-dessous.
24 15 40 0 0 1
31 31 57 1 1 19
25 14 19 0 0 0
Example image LBP valeur LBP
Une méthode de détection des contours basée sur le modèle binaire local de profondeur amélioré
(IDLBP) est proposée pour les images de profondeur [21]. Des tests sont effectués sur des images
synthétiques et des images de profondeur pour vérifier la validité de la technique proposée par
rapport aux techniques de détection des bords utilisant un modèle de profondeur binaire local, un
modèle binaire local amélioré, un modèle binaire local basé sur la fonction d. ‘Hyper lissage, Canny,
Sobel et Laplacien gaussien. La méthode IDLBP s’est avérée être une technique de détection des
contours rapide, précise et non destructive.
[26] présente un nouveau Sobel-LBP, une extension du modèle binaire local (LBP) existant, pour
la représentation des images faciales. L’image du visage est filtrée par l’opérateur Sobel pour ren-
forcer les informations sur les bords. Les distributions des caractéristiques Sobel-LBP ont ensuite
été extraites et concaténées dans un histogramme spatial pour être comme descripteur de visage.
23
La méthode proposée est comparée à la LBP originale sur l’image en niveaux de gris, les résul-
tats expérimentaux montrent que la méthode Sobel-LBP offre des performances significativement
meilleures que la méthode LBP dans différentes conditions.
Une technique simple et efficace de détection des bords est proposée [7]. Elle est basée sur les
propriétés de la fonction d’hyper lissage et sur les principes de base du modèle binaire local modi-
fié, appelé HY-LBP. Il s’avère que la méthode HY-LBP peut traiter efficacement les bruits, le flou
et les variations de contraste. L’efficacité et la faisabilité de l’approche proposée sont démontrées
sur diverses images synthétiques et en temps réel. Son principal avantage est que la relation entre
les pixels environnants et le pixel central est calculée efficacement et que les informations envi-
ronnantes sont extraites de manière discriminante. Les résultats ont montré l’efficacité ainsi que la
meilleure performance de l’approche proposée pour la détection des bords par rapport aux autres
méthodes existantes.
Les méthodes classiques de détection des contours ne parviennent pas à traiter les images de pro-
fondeur à faible résolution. Pour traiter ce problème, [23] ont proposé une nouvelle méthode de
détection des contours avec une précision et une vitesse de calcul élevées. La méthode proposée
modifie le motif binaire local (LBP) et sélectionne un seuil adaptatif pour obtenir une carte des
contours grossière. Ensuite, elle élimine les bords non pertinents pour obtenir le résultat. Ils ont
montré que la méthode proposée peut acquérir rapidement des cartes des contours de profondeur
précises et qu’elle est applicable aux images de profondeur à faible résolution. Elle est comparée
avec les autres méthodes de détection de bords, dont elle dépasse les performances.
Récemment, Bi et al. [2] ont proposé une méthode efficace d’extraction des bords à l’aide d’un
motif binaire local amélioré (H-LBP) pour les images floues de radiographie numérique (DR) basée
sur la fonction d’hyper lissage et le modèle binaire local amélioré.
[24] Ils ont mis au point un nouveau système de détection des contours basé sur un réseau de neu-
rones convolutifs qui démontre des performances de pointe sur des images naturelles à une vitesse
pertinente sur le plan pratique. L’algorithme s’appuie sur les idées des réseaux neuronaux entière-
ment convolutifs et des réseaux profondément supervisés. Ils ont initialisé également la structure
et les paramètres du réseau en adoptant un VGGNet pré-entraîné. La méthode montre des résul-
tats prometteurs dans l’apprentissage image par image en combinant des réponses visuelles multi-
échelles et multi-niveaux, même si des informations contextuelles et de haut niveau explicites n’ont
pas été appliquées.
24
[6] Ils ont proposé une approche d’apprentissage structuré pour la détection des bords. Ils ont
décrit une méthode générale d’apprentissage des forêts de décision aléatoires structurées qui utilise
de manière robuste les étiquettes structurées pour sélectionner les divisions dans les arbres. Ils
ont démontré une précision de pointe sur deux ensembles de données de détection des contours
BSDS500 et NYU, tout en étant plusieurs fois plus rapide que la plupart des méthodes concurrentes
de pointe.
Joseph et al proposent une nouvelle approche qui consiste à apprendre des représentations directe-
ment à partir des pixels via des réseaux profonds basées sur les contours pour les caractéristiques
de niveau intermédiaire [17]. Les caractéristiques, appelées sketch tokens, sont apprises en utilisant
des informations supervisées de niveau intermédiaire sous la forme de contours dessinés à la main
dans les images. Des parcelles de contours générés par l’homme sont regroupées pour former des
classes de jetons de croquis et un classificateur de forêt aléatoire est utilisé pour une détection effi-
cace dans les nouvelles images. Ils démontrent leur approche à la fois sur des tâches descendantes
et ascendantes. Ils obtiennent des améliorations importantes de la précision de détection pour les
tâches ascendantes des piétons. Ces gains sont dus aux informations complémentaires fournies par
les jetons de croquis aux caractéristiques de bas niveau telles que les histogrammes de gradient.
[25] propose un modèle de calcul de type neuronal, appelé systèmes P neuronaux à seuil dyna-
mique avec orientation, appelés systèmes ODTNP. En plus des mécanismes de dopage et de seuil
dynamique, les systèmes ODTNP intègrent également les informations relatives à l’amplitude et
à la direction du gradient. La combinaison de ces mécanismes permet aux systèmes ODTNP de
réaliser la détection des bords. Un nouveau détecteur de bords est développé sur la base des sys-
tèmes ODTNP. Le détecteur de contours proposé, basé sur l’ODTNP, est évalué sur l’ensemble
de données de segmentation de Berkeley (BSDS500) et est comparé à cinq méthodes de détection
de contours de base et à quatre méthodes de détection de contours basées sur l’apprentissage pro-
fond. Les résultats expérimentaux démontrent la disponibilité et l’efficacité du détecteur de bords
proposé.
Une nouvelle technique de détection des bords est proposée sur la base du réseau neuronal BP
[19]. Ici, les motifs de bord des images binaires sont classés en 16 types possibles de motifs vi-
suels. Après avoir formé les motifs de bord prédéfinis, le réseau neuronal BP est appliqué pour
faire correspondre tout type de bord avec le motif visuel correspondant. Les résultats ont démon-
tré que la nouvelle technique proposée fournit de meilleurs résultats par rapport aux techniques
traditionnelles de détection des bords tout en améliorant la complexité des calculs.
[15] a introduit l’utilisation de l’algorithme de clustering k-means pour détecter les bords dans tout
type d’image en niveaux de gris, où, en tirant parti de la similitude d’un pixel d’image avec huit
pixels voisins autour de lui, en fournissant ces caractéristiques à l’image sous forme d’attributs.
25
Cette méthode de détection des contours n’utilise aucun filtre ni seuil de lissage. Les résultats
expérimentaux montrent que la capacité de détection des contours est à un niveau acceptable.
[10] suggèrent que les réseaux adversariens conditionnels constituent une solution polyvalente aux
problèmes de translation d’image à image. Ces réseaux apprennent non seulement la correspon-
dance entre l’image d’entrée et l’image de sortie, mais aussi une fonction de perte pour entraîner
cette correspondance. Ils démontrent que cette approche est efficace pour synthétiser des photos
à partir de cartes d’étiquettes, reconstruire des objets à partir de cartes de bords et coloriser des
images.
Un bon modèle de translation d’image à image doit apprendre une correspondance entre différents
domaines visuels tout en satisfaisant les propriétés suivantes : 1) diversité des images générées
et 2) évolutivité sur plusieurs domaines. Les méthodes existantes traitent l’un ou l’autre de ces
problèmes, en ayant une diversité limitée ou des modèles multiples pour tous les domaines. Choi
et al [5] ont proposé StarGAN, un cadre unique qui s’attaque à ces deux problèmes et montre
des résultats significativement améliorés par rapport aux méthodes de base. Des expériences sur
CelebA-HQ et un nouveau jeu de données de visages d’animaux (AFHQ) valident leur supériorité
en termes de qualité visuelle, de diversité et d’évolutivité.
[14] ont introduit un cadre pour le "one-to-many" inter-domaines translation d’image à image non
supervisée qui maximise une limite d’information variationnelle spécifique au domaine et qui ap-
prend la représentation invariante du domaine cible des deux domaines. Le cadre proposé permet
de convertir une image source unique en plusieurs images dans le domaine cible, en utilisant plu-
sieurs codes spécifiques au domaine cible échantillonnés aléatoirement à partir de la distribution
antérieure, ou extraits d’images de référence.
Conclusion
Dans ce chapitre un aperçu global est donné sur les approches de détection de contours, et de la
translationa d’image à image aussi.
26
Chapitre 3
Méthodologie
Introduction
L’objectif de ce chapitre est de présenter les différentes méthodes utilisés dans notre étude, ainsi
que les fonctions de perte, nous allons aborder également les métriques utilisés.
3.1.1 Principe
27
F IGURE 3.1 – Former le discriminateur
Former le générateur :
(a) Tout d’abord, choisir une nouvelle image aléatoire dans l’ensemble de données comme vec-
teur z, en utilisant un générateur pour créer un x*, c’est-à-dire un faux exemple.
(b) Il utilise un discriminateur pour classer les exemples réels et faux.
(c) Trouver l’erreur de classification et faire une rétro-propagation. Ensuite, essayer de minimiser
l’erreur de classification en raison de laquelle l’erreur totale pour rénover les biais et le poids
du discriminateur
1
F IGURE 3.2 – Former le générateur
Notre étude est basé l’architecture GAN Pix2Pix qui implique la spécification minutieuse d’un mo-
dèle de générateur, d’un modèle de discriminateur et d’une procédure d’optimisation du modèle.
28
Les modèles du générateur et du discriminateur utilisent des blocs de couches standard de type
Convolution-Batch-Normalisation-ReLU, comme c’est le cas pour les réseaux neuronaux convolu-
tifs profonds. Examinons de plus près chacune des deux architectures de modèle et la fonction de
perte utilisée pour optimiser les poids du modèle.
L’architecture utilisée dans le générateur était l’architecture UNet. Elle est similaire à l’architecture
EncoderDecoder, sauf qu’elle utilise des connexions Skip dans l’architecture EncoderDecoder. Ceci
est possible avec skipconnection
′ Architecture de l’encodeur : Le réseau encodeur du réseau générateur comporte sept blocs
de convolution. Chaque bloc de convolution comporte une couche de convolution suivie
d’une fonction d’activation LeakyRelu. Chaque bloc de convolution possède également une
couche de normalisation des lots, à l’exception de la première couche de convolution.
′ Architecture du décodeur : Le réseau décodeur du réseau générateur comporte sept blocs de
convolution transposés. Chaque bloc de convolution de suréchantillonnage (Dconv) comporte
une couche de suréchantillonnage, suivie d’une fonction d’activation ReLU, d’une couche de
convolution, et d’une couche de normalisation de lot.
′ Architecture du générateur : comprend une connexion de saut entre chaque couche i et
la couche n-i. Où n est le nombre total de couches. Chaque connexion de saut concatène
simplement tous les canaux de la couche i avec les canaux de la couche n-i.
29
3.1.4 Modèle de discriminateur PatchGAN
Le discriminateur utilise l’architecture GAN patch, qui est également utilisée comme architecture
GAN style. Cette architecture PatchGAN contient un grand nombre de blocs de convolution trans-
posés. Cette architecture PatchGAN prend une partie NxN de l’image et essaie de déterminer si elle
est réelle ou fausse. Ce discriminateur est appliqué dans une convolution sur l’image entière et fait
la moyenne pour produire le résultat du discriminateur D. Chaque bloc de discriminateur contient
une couche convolutive, une couche de norme de lot, et un LeakyReLU. Ce discriminateur prend
deux entrées :
• Image d’entrée et image cible (que le discriminateur doit effectivement classer comme réelle)
• Images d’entrée et images générées (que le discriminateur doit classer comme fausses).
30
PatchGAN a été utilisé car Il est affirmé qu’il peut préserver les détails de haute fréquence dans
l’image et que les détails de basse fréquence peuvent être concentrés par L1loss.
La perte du générateur utilisée est la combinaison linéaire de la perte L1 entre l’image générée,
l’image cible et la perte GAN définie ci-dessous.
• real-loss est une perte d’entropie croisée sigmoïde des images réelles et un tableau des uns
(puisque ce sont les images réelles).
• generated-loss est la perte d’entropie croisée sigmoïde des images générées et d’un tableau
de zéros (puisqu’il s’agit d’images fausses).
• La perte totale est la somme de real-loss et generated-loss.
31
3.1.7 Mathématiques derrière le GAN
Perte du discriminateur
Lors de l’entraînement du discriminateur, l’étiquette des données venant de Pdata (x) is y = 1 (don-
nées réelles) et ŷ = D(x). En substituant ceci dans la fonction de perte ci-dessus, nous obtenons,
L(D(x), 1) = log(D(x))
Et pour les données provenant du générateur, l’étiquette est y = 0 (fausse donnée) et ŷ = D(G(z)).
Donc dans ce cas,
L(D(G(z)), 0) = log(1 − D(G(z)))
Maintenant, l’objectif du discriminateur est de classer correctement les données réelles et fausses.
Pour cela, les équations (1) et (2) doivent être maximisées et la fonction de perte finale pour le
discriminateur peut être donnée comme suit,
32
Perte du générateur
Ici, le générateur est en compétition avec le discriminateur. Ainsi, il essaiera de minimiser l’équa-
tion (3) et la fonction de perte est donnée comme suit,
minG maxD V (D, G) =
minG maxD Ex∼Pdata (x)[log D(x)] + Ez∼Pz (z)[log(1 − D(G(z)))]
3.2.1 Définition
Le détecteur des contours de Canny, est un opérateur de détection de contours qui utilise un algo-
rithme en plusieurs étapes pour détecter une série de contours dans une image.
3.2.2 Processus
Le processus de l’algorithme de détection des bords de Canny peut être décomposé en cinq étapes
différentes :
— Appliquez un filtre gaussien pour lisser l’image afin d’éliminer le bruit.
— Trouver les gradients d’intensité de l’image
— Appliquer le seuillage de l’amplitude du gradient ou la suppression de la limite inférieure de
la coupure pour se débarrasser des réponses parasites à la détection des bords.
— Appliquer un double seuil pour déterminer les bords potentiels
— Suivre les arêtes par hystérésis : Finaliser la détection des arêtes en supprimant toutes les
autres arêtes qui sont faibles et non connectées aux arêtes fortes.
33
3.2.3 Filtre gaussien
Étant donné que tous les résultats de détection des bords sont sensibles au bruit dans l’image, il
est essentiel de filtrer le bruit pour éviter la fausse détection qu’il provoque. Pour lisser l’image,
un noyau de filtre gaussien est mis en correspondance avec l’image. Cette étape lisse légèrement
l’image pour réduire l’effet du bruit apparent sur le détecteur de bord. L’équation d’un noyau de
filtre gaussien de taille (2k + 1) × (2k + 1) est donnée par :
!
2 +(j−(k+1))2
Hij = 1
2πσ 2
exp − (i−(k+1)) 2σ 2 ; 1 ≤ i, j ≤ (2k + 1)
Voici un exemple de filtre gaussien 5×5, utilisé pour créer l’image adjacente, avec σ = 1
2 4 5 4 2
4 9 12 9 4
1
B= 5 12 15 12 5 ∗ A
159
4 9 12 9 4
2 4 5 4 2
Il est important de comprendre que le choix de la taille du noyau gaussien affectera les performances
du détecteur. Plus la taille est grande, plus la sensibilité du détecteur au bruit est faible. De plus,
l’erreur de localisation pour la détection des bords augmente légèrement avec l’augmentation de la
taille du noyau du filtre gaussien. Un noyau 5x5 est une bonne taille dans la plupart des cas, mais il
cela varie en fonction des situations spécifiques.
34
3.2.4 Calcul du gradient
Un bord d’une image peut être orienté dans plusieurs directions. Par conséquent, l’algorithme de
Canny utilise quatre filtres pour détecter les bords horizontaux, verticaux et diagonaux dans les
images floues. Un opérateur de détection de bord (tel que Roberts, Prewitt ou Sobel) renvoie une
valeur pour la dérivée première dans les directions horizontale (Gx) et verticale (Gy). À partir de
là, le gradient et la direction du bord peuvent être déterminés :
r
G = Gx 2 + Gy 2
Θ = atan 2 (Gy , Gx)
Où G peut être calculé à l’aide de l’hypot et atan2 est la fonction arctangente à deux arguments.
L’angle du bord est arrondi à l’un des quatre angles représentant la verticale, l’horizontale et deux
diagonales (0°, 45°, 90° et 135°). La direction vers le bas dans chaque zone de couleur sera définie
sur une valeur d’angle spécifique, par exemple Θ à [0°, 22,5°] ou [157,5°, 180°] à 0°.
La méthode de suppression non maximale est appliquée pour trouver les emplacements où les
valeurs d’intensité changent le plus. L’algorithme pour chaque pixel de l’image gradient est le
suivant :
35
• Comparer l’intensité du bord du pixel actuel avec l’intensité du bord du pixel dans les direc-
tions du gradient positif et négatif.
• Si l’intensité du bord du pixel actuel est la plus grande par rapport aux autres pixels du
masque avec la même direction (par exemple, un pixel qui pointe dans la direction y sera
comparé avec le pixel au-dessus et au-dessous sur l’axe vertical), la valeur sera préservée.
Sinon, la valeur sera supprimée. Autrement, à chaque pixel, il supprime l’intensité du bord
du pixel central (en fixant sa valeur à 0) si sa magnitude n’est pas supérieure à celle de ses
deux voisins dans la direction du gradient.
Prenons un exemple simple :
Le coin supérieur gauche de la boîte rouge présente sur l’image ci-dessus, représente un pixel d’in-
tensité de la matrice Gradient Intensité en cours de traitement. La direction du bord correspondant
est représentée par la flèche orange avec un angle de -pi radians (+/-180 degrés).
La direction du bord est la ligne pointillée orange (horizontale de gauche à droite). Le but de
l’algorithme est de vérifier si les pixels situés dans la même direction sont plus ou moins intenses
que les pixels en cours de traitement. Dans l’exemple ci-dessus, le pixel (i, j) est en cours de
traitement et les pixels dans la même direction sont marqués en bleu (i, j-1) et (i, j + 1). Si l’un
de ces pixels a une intensité plus élevée que le pixel en cours de traitement, seule l’intensité la
plus élevée est conservé. Le pixel (i, j-1) semble plus intense, car il est blanc (valeur 255). Par
conséquent, la valeur d’intensité du pixel courant (i, j) est fixée à 0. Si aucun pixel dans la direction
du bord n’a une valeur d’intensité plus élevée, la valeur du pixel courant est conservée.
36
F IGURE 3.8 – Focus sur le pixel rouge du coin supérieur gauche de la boîte.
L’étape du double seuil vise à identifier 3 types de pixels : forts, faibles et non pertinents :
• Les pixels forts sont des pixels dont l’intensité est si élevée que nous sommes certains qu’ils
contribuent au bord final.
• Les pixels faibles sont des pixels dont l’intensité n’est pas suffisante pour être considérée
comme forte, mais pas assez faible pour être considérée comme non pertinente pour la dé-
tection des bords.
• Les autres pixels sont considérés comme non pertinents pour le bord.
37
Maintenant on peut voir à quoi servent les doubles seuils :
• Le seuil haut est utilisé pour identifier les pixels forts (intensité supérieure au seuil haut).
• Le seuil bas est utilisé pour identifier les pixels non pertinents (intensité inférieure au seuil
bas).
• Tous les pixels dont l’intensité se situe entre les deux seuils sont marqués comme faibles
et le mécanisme d’hystérésis (étape suivante) nous aidera à identifier ceux qui peuvent être
considérés comme forts et ceux qui sont considérés comme non pertinents.
F IGURE 3.10 – Résultat du seuil (à droite) : les pixels faibles en gris et les forts en blanc.
38
3.2.7 Suivi des bords par hystérésis
A partir du résultat seuil, l’hystérésis consiste à convertir les pixels faibles en pixels forts, si et
seulement si au moins un des pixels entourant le pixel en cours de traitement est un pixel fort,
comme décrit ci-dessous :
F IGURE 3.11 – Pas de pixels forts dans l’image de gauche, un pixel fort autour dans l’image de
droite
3.3.1 Définition
Le détecteur de contours Sobel est un opérateur utilisé dans le traitement d’images pour la détection
des contours. C’est l’un des opérateurs les plus simples, mais il donne toujours des résultats exacts.
39
L’opérateur de détection de bord Sobel consiste en une paire de convolutions comme indiqué dans
le texte suivant. Le second noyau est simplement une rotation du premier :
+1 0 −1
+1 +2 +1
Sx = +2 0 −2 ,
Sy =
0 0 0
+1 0 −1 −1 −2 −1
En termes simples, l’opérateur calcule le gradient d’intensité de chaque pixel. Cela indique la plus
grande direction de changement de la lumière à l’obscurité, ainsi que le taux de changement dans
cette direction. On connaît alors les changements brusques de luminosité, qui peuvent correspondre
aux contours, ainsi que l’orientation de ces contours. En termes mathématiques, le gradient d’une
fonction de deux variables (ici l’intensité est en fonction des coordonnées de l’image) est un vecteur
de dimension 2 dont les coordonnées sont les dérivées horizontale et verticale. À chaque point, le
gradient pointe dans la direction du plus fort changement d’intensité, et sa longueur représente
le taux de changement dans cette direction. Par conséquent, le gradient dans la région d’intensité
constante est nul. Sur un bord, le gradient traverse le bord, de l’intensité la plus sombre à la plus
claire.
3.3.3 Formulation
L’opérateur utilise des matrices convolutionnelles. La matrice 3×3 subit une convolution avec
l’image pour calculer des approximations des dérivées horizontales et verticales. Soit A l’image
source, Gx et Gy deux images qui en chaque point contiennent des valeurs approximatives des
dérivées horizontales et verticales de chaque point. Ces images sont calculées comme suit :
−1 0 1
−1 −2 −1
Gx = −2 0 2 ∗ A
et Gy =
0 0 0
∗A
−1 0 1 1 2 1
En chaque point, les approximations des gradients horizontaux et verticaux peuvent être combinées
comme suit pour obtenir une approximation de la norme du gradient :
40
√
G= Gx2 + Gy 2
Du fait de sa simplicité, le filtre de Sobel peut être facilement implémenté en logiciel ou même
en matériel : seuls huit points autour du point sont considérés comme nécessaires pour calculer le
gradient. Ce calcul utilise simplement des opérations sur les nombres entiers. De plus, les filtres
horizontaux et verticaux peuvent être séparés :
−1 0 +1
1 " #
−2 0 +2 = 2 · −1 0 +1
−1 0 +1 1
−1 −2 −1
−1 " #
0 0 0
=
0
· 1 2 1
+1 +2 +1 +1
1 " # !
Gx = 2 ·
−1 0 +1 ∗ A et
1
−1 " # !
Gy =
0
· 1 2 1 ∗A
+1
41
— Étape 2 : Appliquer le masque Gx,Gy à l’image d’entrée
— Étape 3 : Appliquer l’algorithme de détection des bords de Sobel et le gradient.
— Étape 4 : Manipulation de masques de Gx,Gy séparément sur l’image d’entrée
— Étape 5 : Les résultats sont combinés pour trouver la magnitude absolue du gradient.
√
|G| = Gx2 + Gy 2
— Etape 6 : la magnitude absolue est les bords de sortie
Voici un exemple de photo sur laquelle nous allons appliquer les deux masques ci-dessus un par
un.
42
Après avoir appliqué le masque vertical sur l’image échantillon ci-dessus, l’image suivante sera
obtenue.
Après avoir appliqué le masque horizontal sur l’image échantillon ci-dessus, l’image suivante sera
obtenue
43
3.4 Fonctions de pertes
3.4.1 MAE
Une fonction de perte conventionnelle généralement utilisée est la perte d’erreur absolue moyenne
(MAE) ou la fonction de perte L1. La fonction de perte MAE a un gradient de perte constant et
important qui est robuste aux données aberrantes, il calcule la moyenne de la différence absolue
entre les étiquettes et les prédictions.. En outre, la fonction MAE calcule les erreurs au niveau du
pixel et est représentée comme suit :
|Yi−Ypredi |
Pn
i=1
Lpix = N
Où Yi est une valeur de pixel dans la carte de profondeur de la référence, le pixel Ypredi provient
de la carte de profondeur de sortie prédite et le nombre total de pixels est de N dans la carte de
profondeur.
3.4.2 SSIM
La perte SSIM mesure la différence perceptive entre deux images similaires Yi , Ypred i . Les détails
de la perte structurelle proviennent de pixels spatialement adjacents qui présentent une relation
plus forte. Ces pixels détiennent des informations cruciales sur la structure des objets de la scène
visuelle. Lorsque SSIM est égal à 1, les images sont similaires l’une à l’autre, avec la même struc-
ture. La fonction de perte est exprimée comme suit :
LSSIM = 1 − SSIM Yi, Ypred i
Cet opérateur simple de détection des bords est basé sur le calcul de la gradient des pixels voisins
dans une image (carte de profondeur). L’intensité gradients d’intensité en utilisant la méthode des
différences finies pour les directions horizontale et verticale d’une image Y s’expriment comme
suit :
44
∂Y
∂x = Y (x + 1, y) − Y (x − 1, y)
∂Y
∂y = Y (x, y + 1) − Y (x, y − 1)
La fonction de perte de bord à gradient Ledges 1 est alors exprimée comme suit :
!
∂Y ∂Y
pred ∂Y pred ∂Y
Ledges 1 = mean ∂y
− ∂y + ∂x
− ∂x
L’opérateur de bord Sobel est moins sensible au bruit. Cet opérateur utilise un noyau 3 × 3, chacun
pour les directions horizontale et verticale, pour cartographier les mesures de gradient spatial 2-D.
Les noyaux sont représentés comme suit :
1 0 −1
−1 −2 −1
Sbx = 2 0 −2 ,
Sby =
0 0 0
1 0 −1 1 2 1
Les composantes de gradient des directions x et y sont utilisées pour calculer l’amplitude approxi-
mative du gradient Lmag :
Ici, la perte dépend de la moyenne des magnitudes de gradient calculées à partir de la différence
des valeurs de profondeur (prédites et référence). Cette perte pénalise les erreurs dues à de grandes
différences entre les deux valeurs. Les opérateurs de Sobel approximent les dérivées de premier
ordre dans les directions x et y seulement et peuvent nécessiter un seuil approprié pour réduire le
bruit.
45
3.4.5 Perte de Huber
La fonction de perte de Huber est une combinaison de la fonction d’erreur quadratique moyenne
et de la fonction de valeur absolue. La perte de Huber présente ici un avantage, car elle accorde un
meilleur poids aux pixels présentant des résidus plus élevés en sélectionnant la perte MSE (ou L2).
Simultanément, elle permet aux résidus plus faibles d’avoir un effet plus important sur les gradients
comme la perte MAE.
−Y Ypred i − Y ≤ th,
Y
pred i i i
2 !
Lpix2 = Ypred i − Yi + t2h /2th Ypred i − Y > th
i
th = 0.2 maxi (|Ypredi − Yi|)}
Une pyramide laplacienne est très similaire à une pyramide gaussienne mais enregistre l’image de
différence des versions floues entre chaque niveau. Seul le plus petit niveau n’est pas une image de
différence pour permettre la reconstruction de l’image haute résolution en utilisant les images de
différence des niveaux supérieurs. Cette technique peut être utilisée dans la compression d’images.
′ 2j j j
(x′)1
Lap1 (x, x ) = 2 L (x) − L
P
j
3.4.7 BCE
La cross entropie binaire est une fonction de perte utilisée dans les tâches de classification binaire.
Il s’agit de tâches qui répondent à une question avec seulement deux choix (oui ou non, A ou B,
0 ou 1, gauche ou droite). Il est possible de répondre à plusieurs questions indépendantes de ce
type en même temps, comme dans la classification multi-labels ou dans la segmentation binaire
46
d’images.
La cross entropie binaire est donnée par :
Le terme rapport signal/bruit de crête (PSNR) est une expression du rapport entre la valeur maxi-
male possible (puissance) d’un signal et la puissance du bruit de distorsion affectant la qualité de
sa représentation. Étant donné que de nombreux signaux ont une très grande plage dynamique (le
rapport entre la plus grande et la plus petite valeur possible d’une quantité variable), le PSNR est
généralement exprimé sur une échelle de décibels logarithmique.
En utilisant le même ensemble d’images de test, différents algorithmes d’amélioration d’image
peuvent être systématiquement comparés pour déterminer si un algorithme particulier produit de
meilleurs résultats. La métrique étudiée est le rapport signal-bruit. Si nous pouvons montrer qu’un
algorithme ou un ensemble d’algorithmes peut améliorer une image dégradée connue pour qu’elle
ressemble davantage à l’image d’origine, nous pouvons conclure avec plus de précision qu’il s’agit
d’un meilleur algorithme.
Le PSNR est défini comme suit :
!
(L−1)2
P SN R = 10 log10 M SE
Ici, L est le nombre de niveaux d’intensité maximum possibles (le niveau d’intensité minimum
étant supposé être 0) dans une image.
MSE est l’erreur quadratique moyenne.
47
3.5.2 Erreur quadratique moyenne
L’erreur quadratique moyenne mesure la moyenne des carrés d’erreur, c’est-à-dire la différence
quadratique moyenne entre les valeurs réelles et les valeurs prédites. Il est toujours non négatif et
les valeurs proches de zéro sont préférées et signifient moins d’erreur pour un point de données Yi
et sa valeur prédite Ŷi, où n est le nombre total de points de données dans l’ensemble de données.
Pour le cas de deux images A, B, on prend le carré de la différence entre chaque pixel de A et
le pixel correspondant de B, on fait la somme et on la divise par le nombre de pixels. L’erreur
quadratique moyenne est définie comme suit :
2
1 Pn
MSE = n i=1 Yi − Ŷi
Les images utilisées dans notre expérimentation se compose de 50 025 images de chaussures et
leurs annotations humaines, divisés en sous-ensembles de formation et de test, sont obtenus à par-
tir du répertoire officiel des jeux de données Pix2Pix de l’UC Berkeley. Ici, nous considérons 20
images de formation et de test avec leurs vérités de base pour analyser la performance de la mé-
thode proposé. La figure 3.16 illustre des échantillons des images utilisées.
Conclusion
Après avoir un aperçu sur la méthodologie, nous passerons dans le chapitre suivant à une nouvelle
étape qui consiste à la présentation des éxpériences et les résultats de notre étude.
48
Chapitre 4
Résultats et expérimentaux
Introduction
Cette section décrit le processus d’expérimentation et les résultats obtenus. L’algorithme de détec-
tion des bords que nous proposons est implémenté en python, et ses performances sont évaluées en
comparaison avec d’autres méthodes. Ainsi, les résultats obtenus sont comparés à ceux obtenus par
les algorithmes traditionnels de Canny et sobel connus comme détecteurs de bords ultimes.
Pour comparer les performances quantitatives, nous nous référons aux critères d’erreur quadratique
moyenne (MSE), de rapport signal-bruit maximal (PSNR), qui sont largement utilisés dans la lit-
térature. Il faut noter qu’avec un PSNR plus élevé et un MSE plus faible, l’information sur les
bords détectés est meilleure. Cependant, le calcul de ces critères nécessite des images de bord de
référence (appelées vérité terrain) qui sont annotées manuellement par un humain.
Nous voulons, dans cette première expérience, prouver l’efficacité et l’efficience de la méthode
proposé pour détecter avec précision les bords dans des images des chaussures. Nous avons donc
comparé le réseau adversarial génératif proposé avec les méthodes de sobel et de Canny. Pour ce
faire, chaque image parmi 20 images de test et 20 images de formation sont traitées par les trois
algorithmes. Les cartes de contours obtenues sont comparées avec toutes les vérités de base afin de
calculer les valeurs PSNR et MSE moyennes.
Pour l’analyse qualitative, la figure 4.1 compare les performances des trois détecteurs de bords sur
une image de test. La première observation générale que nous pouvons faire est que GAN détecte
plus de bords que la vérité de base. Cela s’explique par le fait que les experts humains annotent la
vérité de base avec les limites réelles de l’objet (les bords forts), alors que GAN extrait toutes les
49
discontinuités de l’image, nous pouvons voir aussi que GAN extrait plus de variations de texture
que le détecteur de Canny et de sobel.
F IGURE 4.1 – Exmple d’extraction des bords par GAN, canny et sobel
50
F IGURE 4.2 – Comparaison avec PSNR et MSE
Pour l’analyse quantitative, les figures 4.2, 4.3, et 4.4 montrent les résultats de la comparaison pour
20 échantillons d’images de test et de formation. A partir de ces figures, nous pouvons citer les
observations générales suivantes :
• La meilleure performance a été obtenue par la méthode proposée. De plus, cette observation
a été confirmée pour l’ensemble des 20 images de test et 20 images de formation.
• GAN est plus performant que les opérateurs traditionnels. En effet, dans tous les cas, GAN a
un PSNR plus élevé et un MSE plus faible que ceux de la méthode de Canny et de sobel pour
les 20 images de test et de formation.
51
F IGURE 4.4 – Comparaison avec moyen MSE
Le temps de traitement moyen que nous avons obtenu pour les trois méthodes est calculé. Première-
ment, la méthode de GAN prend plus de temps que les méthodes de Canny et sobel. Cela s’explique
par le nombre de calculs complexes par rapport aux calculs simples effectués par l’algorithme de
Canny et sobel, qui prennent même pas 0.10 sec, alors que gan prend presque 2421.7403 sec.
Parmi les propriétés attendues d’un détecteur de bords autres que la précision, sa robustesse au bruit
est l’une des plus intéressantes. Ainsi, un détecteur de bords robuste produit une carte des bords
dans le cas bruyant comme celle donnée dans le cas non bruyant. C’est pourquoi, la majorité des
méthodes de détection des bords intègrent des filtres de pré-traitement qui réduisent les effets du
bruit, l’objectif de cette expérience est d’évaluer la performance des trois méthodes considérées en
ce qui concerne le bruit. Selon l’expérience précédente, la méthode GAN fournit les meilleures per-
formances. Par conséquent, nous analysons l’efficacité de la méthode. De plus, comme les images
originales de la base de données utilisée sont sans bruit, trois types de bruits ont été ajoutés gaus-
sien et le bruit ponctuel, le sel et le poivre, et spekle. Cela nous a permis de déterminer les effets
du bruit, de son type et de son niveau sur la performance de l’algorithme de la détection de bord
52
étudiée. Précisément, le niveau de bruit gaussien est ajusté par deux paramètres : la moyenne et la
variance. Ici, nous fixons la moyenne à 0 et modifier la variance de 1 à 5. Le niveau de bruit du
sel et du poivre est contrôlé par sa densité qui varie dans cette expérience de 0,002 à 0,5,ce qui
concerne le dernier bruit, il est basé sur quatre niveaux de 1 à 5.
Dans cette expérience, nous considérons les deux indicateurs PSNR et MSE qui estiment la diffé-
rence entre la carte de contours résultante et la référence pour une image dans le cas bruyante.
La figure 4.5 montre l’évolution comparative des indicateurs PSNR et MSE des trois opérateurs
appliqués à 20 images de test dans le cas de l’ajout d’un bruit gaussien, sel et poivre, et spekle. Tout
d’abord, pour le bruit qaussien, nous pouvons observer que la méthode GAN est plus robuste au
bruit gaussien que les opérateurs conventionnels de canny et de sobel. Deuxièmement, la méthode
proposé maintient des valeurs PSNR plus élevées MSE plus faibles que l’opérateur canny et sobel
tout en augmentant le niveau de bruit. Cela signifie qu’il détecte les bords dans le cas bruyant
comme dans le cas silencieux. Et pour le bruit sel et poivre, nous pouvons observer que la méthode
de GAN a les PSNR moyens les plus élevés. Cela signifie que l’opérateur que nous proposons est
53
toujours plus performant que les autres dans les images bruyantes. Quant à le cas du bruit spekle,
ici, nous pouvons voir que la méthode proposée a un faible potentiel de détection des bords, puisque
ses psnr sont très bas et les mse sont élevés par rapport à ceux de canny.
La figure 4.6 illustre l’évolution des valeurs psnr de la méthode GAN selon les niveaux de bruits,
elle montre également la faiblesse de notre méthode dans le cas du bruit spekle.
54
F IGURE 4.7 – Comparaison entre les fonctions de pertes avec PSNR et MSE
Les figures 4.7, 4.8, et 4.9 illustrent que la perte de bord de sobel réalise un psnr élevé et mse
faible, suivi par la perte d’indice structurel de similarité ssim, qui a plus ou moins des valeurs psnr
meilleures, par rapport à celle utilisé basiquement dans le modèle générateur, l’entropie binaire
croisée bce.
55
F IGURE 4.9 – Comparaison entre les fonctions de pertes avec MSE
Conclusion
Dans ce chapitre, le réseau adversaire génératif a été proposé pour détécter les contours en com-
paraison avec les méthodes classiques connues. Nous avons essayé d’étudier l’efficacité de cette
méthode dans trois éxpériences. Les résultats des éxpériences montrent que la méthode proposée
surpasse les méthodes traditionnelle et obtient de meilleurs indicateurs de comparaison.
56
Conclusion et perspective
Pour conclure, nous avons présenté une nouvelle façon de détecter les bords dans une image, elle est
basée sur le réseau adversarial génératif, dans la première expérience, nous avons fait une analyse
de la performance de notre méthode proposée, en comparaison avec les méthodes classiques canny
et sobel, sur un ensemble de données des images, par conséquent, notre approche proposée a obtenu
les meilleurs résultats, dans la deuxième expérience, le bruit a été pris en compte pour mesurer la
robustesse au bruit. Les résultats montrent que la méthode proposée surpasse canny et sobel dans
les cas du bruit gaussien et du bruit poivre et sel, alors qu’elle est faible dans le cas du bruit spekle,
en ce qui concerne la dernière expérience, nous nous sommes concentrés sur la performance du
GAN en remplaçant la fonction de perte existante dans la perte du générateur, par les fonctions
de perte conçues pour une meilleure détection des bords, l’expérience a montré que la perte des
bords de soble obtient de bons résultats. Les travaux futurs devraient se focaliser sur la manière
d’améliorer la robustesse au bruit de GAN, ainsi que nous nous concentrerons sur l’utilisation du
GAN en tant que détecteur de bords des images plus complexes, les images MRI par exemple.
57
Bibliographie
[1] N Aboutabit. A new construction of an image edge detection mask based on caputo–fabrizio
fractional derivative. The Visual Computer, 37(6) :1545–1557, 2021.
[2] Bi Bi, Li Zeng, Kuan Shen, and Haina Jiang. An effective edge extraction method using
improved local binary pattern for blurry digital radiography images. NDT & e International,
53 :26–30, 2013.
[3] Kenneth R Castleman. Digital image processing. Prentice Hall Press, 1996.
[4] X Chen and X Fei. Improving edge-detection algorithm based on fractional differential ap-
proach. In International Conference on Image, Vision and Computing, volume 50, 2012.
[5] Yunjey Choi, Youngjung Uh, Jaejun Yoo, and Jung-Woo Ha. Stargan v2 : Diverse image
synthesis for multiple domains. In Proceedings of the IEEE/CVF conference on computer
vision and pattern recognition, pages 8188–8197, 2020.
[6] Piotr Dollár and C Lawrence Zitnick. Fast edge detection using structured forests. IEEE
transactions on pattern analysis and machine intelligence, 37(8) :1558–1570, 2014.
[7] Vilas H Gaidhane, Asha Rani, Vijander Singh, et al. An improved edge detection approach
and its application in defect detection. In IOP Conference Series : Materials Science and
Engineering, volume 244, page 012017. IOP Publishing, 2017.
[8] Chaobang Gao, Jiliu Zhou, and Wei-hua Zhang. Edge detection based on the newton interpo-
lation’s fractional differentiation. Int. Arab J. Inf. Technol., 11(3) :223–228, 2014.
[9] Zakir Hussain and Diwakar Agarwal. A comparative analysis of edge detection techniques
used in flame image processing. International Journal of Advance Research In Science And
Engineering IJARSE, (4) :3703–3711, 2015.
[10] Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, and Alexei A Efros. Image-to-image translation
with conditional adversarial networks. In Proceedings of the IEEE conference on computer
vision and pattern recognition, pages 1125–1134, 2017.
[11] Hamid A Jalab and Rabha W Ibrahim. Texture enhancement for medical images based on
fractional differential masks. Discrete dynamics in nature and society, 2013, 2013.
[12] Mamta Juneja and Parvinder Singh Sandhu. Performance evaluation of edge detection tech-
niques for images in spatial domain. International journal of computer theory and Enginee-
ring, 1(5) :614, 2009.
[13] Satbir Kaur and Ishpreet Singh. Comparison between edge detection techniques. Internatio-
nal Journal of Computer Applications, 145(15) :15–18, 2016.
[14] Hadi Kazemi, Sobhan Soleymani, Fariborz Taherkhani, Seyed Iranmanesh, and Nasser Nasra-
badi. Unsupervised image-to-image translation using domain-specific variational information
bound. Advances in neural information processing systems, 31, 2018.
[15] Walaa Mohammed Khalaf, Kadhum Al-Majdi, and Noor Hashim Hamed. A novel edge detec-
tion method using k-means clustering. Journal of Engineering and Sustainable Development,
20(6) :207–215, 2016.
[16] JE Lavín-Delgado, JE Solís-Pérez, José Francisco Gómez-Aguilar, and Ricardo Fabricio
Escobar-Jiménez. A new fractional-order mask for image edge detection based on caputo–
fabrizio fractional-order derivative without singular kernel. Circuits, Systems, and Signal
Processing, 39(3) :1419–1448, 2020.
[17] Joseph J Lim, C Lawrence Zitnick, and Piotr Dollár. Sketch tokens : A learned mid-level
representation for contour and object detection. In Proceedings of the IEEE conference on
computer vision and pattern recognition, pages 3158–3165, 2013.
[18] Benoît Mathieu, Pierre Melchior, Alain Oustaloup, and Ch Ceyral. Fractional differentiation
for edge detection. Signal Processing, 83(11) :2421–2432, 2003.
[19] Hamed Mehrara, Mohammad Zahedinejad, and Ali Parsayan. Novel edge detection using bp
neural network based on threshold binarization. In 2009 Second International Conference on
Computer and Electrical Engineering, volume 2, pages 408–412. IEEE, 2009.
[20] Ranjan Muthukrishnan and Miyilsamy Radha. Edge detection techniques for image seg-
mentation. International Journal of Computer Science & Information Technology, 3(6) :259,
2011.
[21] Vijander Singh, Asha Rani, Sonal Goyal, et al. Improved depth local binary pattern for edge
detection of depth image. In 2020 7th International Conference on Signal Processing and
Integrated Networks (SPIN), pages 447–452. IEEE, 2020.
[22] Pune Vit. Comparison of various edge detection technique. Int. J. Signal Process. Image
Process. Pattern Recognit, 9 :143–158, 2016.
[23] Xinyu Wang, Jie Cao, Qun Hao, Kaiyu Zhang, Zihan Wang, and Saad Rizvi. Lbp-based edge
detection method for depth images with low resolutions. IEEE Photonics Journal, 11(1) :1–
11, 2018.
[24] Saining Xie and Zhuowen Tu. Holistically-nested edge detection. In Proceedings of the IEEE
international conference on computer vision, pages 1395–1403, 2015.
[25] Jiahao Yan, Li Zhang, Xiaohui Luo, Hong Peng, and Jun Wang. A novel edge detection me-
thod based on dynamic threshold neural p systems with orientation. Digital Signal Processing,
127 :103526, 2022.
[26] Sanqiang Zhao, Yongsheng Gao, and Baochang Zhang. Sobel-lbp. In 2008 15th IEEE Inter-
national Conference on Image Processing, pages 2144–2147. IEEE, 2008.