100% ont trouvé ce document utile (1 vote)
4 vues7 pages

Machine Learning

Le document traite de l'analyse avancée d'image, en abordant des concepts tels que la vision numérique, le traitement d'image, la segmentation, et l'apprentissage profond. Il présente également les techniques de Deep Fake et les réseaux antagonistes génératifs (GAN), en soulignant leurs avantages et risques. Les chapitres détaillent les méthodes de traitement d'image, les architectures de réseaux de neurones, et les applications de l'apprentissage automatique dans le domaine de l'image.

Transféré par

Speed Info
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
4 vues7 pages

Machine Learning

Le document traite de l'analyse avancée d'image, en abordant des concepts tels que la vision numérique, le traitement d'image, la segmentation, et l'apprentissage profond. Il présente également les techniques de Deep Fake et les réseaux antagonistes génératifs (GAN), en soulignant leurs avantages et risques. Les chapitres détaillent les méthodes de traitement d'image, les architectures de réseaux de neurones, et les applications de l'apprentissage automatique dans le domaine de l'image.

Transféré par

Speed Info
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

RÉSUMÉ COMPLET
Analyse Avancée d’Image — Deep Learning & Deep Fake

CHAPITRE I — Introduction à la Vision Numérique

Formation des images

— Image = transformation d’une scène réelle par un capteur (récepteur)


— Types d’objets : diffusant (plâtre, loi Lambert), réfléchissant (miroir, loi Descartes), transparent/réfractant
(verre)
— Capteurs : thermiques (thermopile) et photoélectriques (photodiodes, CCD)
— CCD (Charged Coupled Device) : cellules photo-sensibles → énergie lumineuse → énergie électrique → code
numérique

Pixel et Image numérique

— Image = ensemble de pixels ; un pixel = un élément d’image (en 3D : voxel)


— Image vectorielle : définie par des formes géométriques (formats : AI, SVG, EPS) → pas de perte en agran-
dissement
— Image matricielle : grille de pixels (formats : JPEG, PNG, BMP, GIF) → perte en agrandissement

Résolution

— Résolution spatiale : densité de pixels, exprimée en DPI (Dots Per Inch) = 1 inch = 2,54 cm
— Résolution tonale : nombre de niveaux de gris (quantification)
— 1 bit → 2 niveaux (noir/blanc) ; 8 bits → 256 niveaux de gris
— Nombre de niveaux de gris = Nmax − Nmin + 1
— Dynamique de l’image = log2 (Nmax − Nmin )

Espaces couleurs

— RGB (Rouge, Vert, Bleu) → synthèse additive → écrans


— CMY/CMYK → synthèse soustractive → impression
— HSV (Hue, Saturation, Value) :
— H = teinte (angle ∈ [0◦ , 360◦ ])
— S = saturation ∈ [0, 1] (S = 0 : niveau de gris ; S = 1 : couleur pure)
— V = valeur/intensité ∈ [0, 1] (0 = noir ; 1 = blanc)
— Niveaux de gris : 256 valeurs (0 = noir, 255 = blanc)

Échantillonnage et Quantification

— Échantillonnage = discrétisation spatiale → résolution spatiale


— Quantification = limitation du nombre de niveaux de gris → résolution tonale
— Image numérique = image échantillonnée ET quantifiée

CHAPITRE II — Traitement de Base de l’Image

Histogramme

— Donne la fréquence d’apparition de chaque niveau de gris


— ∀g ∈ {0, . . . , 255} : hg = card{k ∈ [0, n − 1] | Ik = g}
1
— Histogramme normalisé : hng (f ) = · card{k ∈ [0, n − 1] | Ik = g}
MN
— Donne une indication de la dynamique de l’image mais n’est pas une caractéristique unique

1
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

Recadrage de dynamique (Contraste)

— Recadrage : étendre la dynamique de [a, b] vers [0, 255] :


f −a

255 · b − a pour a ≤ f ≤ b


t(I) = 0 si f < a


255 si f > b

— Égalisation de l’histogramme : améliore le contraste par redistribution des intensités


f
X
C(f ) = hn (t) ⇒ f ′ = 255 · C(f )
t=0

Binarisation / Seuillage

— Affecter niveau uniforme aux pixels pertinents, éliminer les autres


— Seuil S : si I(x, y) ≥ S → 255 (blanc) ; sinon → 0 (noir)
— Permet une segmentation d’objets particuliers

Filtrage d’images

Hautes et basses fréquences

Fréquence Représente Zone dans l’image


Basses fréquences Variations lentes d’intensité Zones uniformes, fond
Hautes fréquences Variations rapides d’intensité Contours, détails, bruit
Fréquences moyennes Transitions progressives Textures

— Filtre passe-bas → supprime le bruit, floute l’image


— Filtre passe-haut → accentue les contours, amplifie le bruit

Formule de convolution

y2
x2 X
X
gx,y = (f ∗ k)x,y = f(x−i, y−j) · ki,j
i=x1 j=y1

Effets de bord — solutions :


1. Réflexion (Padding = same) : effet miroir autour des bords
2. Mise à zéro (Padding = valid) : ajout de zéros autour de l’image

Filtres linéaires passe-bas (Lissage)

 
1 1 1
1 1 − x2 +y2 2
Filtre moyenneur (carré) = 1 1 1 Filtre Gaussien : H(x, y) = e 2σ
9 2πσ 2
1 1 1

Filtres linéaires passe-haut (Rehaussement)

Iph = K · I − Ipb
— Si K = 1 → filtrage passe-haut
— Si K > 1 → rehaussement de contour  
−1 −1 −1
1
Masque 3x3 passe-haut = −1 8 −1
9
−1 −1 −1

2
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

Filtrage différentiel (Détection de contours)

Le gradient discret :  
∂f ∂f
∇f (x, y) = (x, y), (x, y)
∂x ∂y
fx (x, y) = f (x + 1, y) − f (x, y) fy (x, y) = f (x, y + 1) − f (x, y)
 
q fy
Amplitude : A(x, y) = fx2 + fy2 Direction : θ = arctan
fx

Filtre Masque horizontal Px Masque vertical Py


T
Gradient simple  [−1 1]   [−1 ; 1] 
−1 0 1 −1 −1 −1
Prewitt −1 0 1 0 0 0
−1 0 1 1 1 1
−1 0 1 −1 −2 −1
Sobel −2 0 2 0 0 0
−1 0 1  1 2 1 
0 1 0 1 1 1
Laplacien L = 1 −4 1 ou L = 1 −8 1
0 1 0 1 1 1

Différence Détection vs Rehaussement :


— Détection : produit une image binaire (0 ou 1) → Sobel/Prewitt + seuillage
— Rehaussement : produit une image en niveaux de gris améliorée → Iph = K · I − Ipb

Filtre Médian (non-linéaire)

— Remplace chaque pixel par la médiane des valeurs de ses voisins


— Algorithme : chercher intensités voisines → ordonner → prendre celle du milieu
— Avantages : préserve les contours + robuste au bruit sel/poivre

CHAPITRE II — Segmentation d’Images

Types de segmentation

— Segmentation sémantique : chaque pixel reçoit une classe (toutes les voitures = même couleur)
— Segmentation d’instance : chaque instance = étiquette unique (chaque voiture a une couleur différente)
— Détection d’objet = classification + localisation (bounding box)

Approches de segmentation

— Basée pixel (Seuillage) : Otsu’s Threshold, seuillage simple


— Basée région : Region Growing, LPE (Ligne de Partage des Eaux)
— Basée contours : Gradient, Canny, Laplacien
— Clustering : K-Means (non-supervisé), Fuzzy C-Means

Méthodes de classification

— Supervisée : KNN, SVM, ANN → apprentissage sur données étiquetées


— Non-supervisée : K-Means, Fuzzy C-Means → mesure de distance entre features

Morphologie mathématique

— Dilatation : agrandit les objets blancs, comble les trous. Si un pixel de ES touche un pixel blanc → le pixel
central devient blanc
— Érosion : réduit les objets blancs
— Détection morphologique des contours :

Contours = Dilatation(I) − Érosion(I)

3
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

CHAPITRE III — Apprentissage Profond (Deep Learning)

Définition

— Sous-domaine de l’apprentissage automatique


— Apprentissage par réseau profond (plusieurs couches successives)
— Chaque couche extrait des représentations de plus en plus significatives
— Applications : traduction automatique, reconnaissance d’écriture, conduite autonome, classification/segmentation/détection
d’images

Termes techniques essentiels

Terme Définition
Époque (Epoch) Un passage complet de toute la base d’entraînement (Forward +
Backward)
Sample Une instance des données (une image, un vecteur de features)
Batch Sous-ensemble des données (subdivision de la base)
Batch Size Nombre d’échantillons dans un batch
Itération Nombre de batchs pour compléter une époque = Ntotal /Batch Size
Learning Rate Contrôle la vitesse de changement des poids, LR ∈ [0, 1]
Loss Function Mesure l’écart entre sortie générée et sortie désirée

Exemple : 12000 samples, Batch size = 500 ⇒ 1 Epoch = 24 Itérations

Fonctionnement du Deep Learning

1. Les poids sont initialisés aléatoirement


2. Forward pass : le réseau applique des transformations, génère une sortie Y ′
3. Loss Function calcule l’erreur entre Y ′ et Y (cible réelle)
4. Backward (Backpropagation) : l’optimizer ajuste les poids → minimise la loss
5. Répéter jusqu’à convergence

Descente de Gradient

— But : minimiser la fonction coût J(a, b)


— Pour la régression linéaire :
N
1 X
J(a, b) = (axi + b − yi )2
2N i=1
— Mise à jour des paramètres :
∂J ∂J
a1 = a0 − α · b1 = b0 − α ·
∂a ∂b
— α = Learning Rate (distance de déplacement dans la direction de la pente)
— LR trop petit → temps de calcul élevé ; LR trop grand → risque de rater le minimum

Réseaux Convolutifs (CNN)

Architecture typique

− [CONV → ReLU → POOL]N →


INPUT → − Flatten → FC → Softmax → OUTPUT

Notion de convolution CNN

— Les couches de convolution apprennent des modèles locaux (petites fenêtres 2D)
— Modèles appris invariants par translation
— Feature Maps = tenseurs à rang 3 (height, width, depth/channels)
— Image couleur : depth = 3 (RGB)
— Image niveaux de gris : depth = 1

4
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

Padding

— Valid (sans padding) : taille sortie < taille entrée


— Same (avec padding p) : taille sortie = taille entrée
— Taille de sortie avec padding p, filtre f × f , stride = 1 :

Sortie = (n + 2p − f + 1) × (n + 2p − f + 1)

f −1
— Pour padding same : p =
2

Stride

— Pas de déplacement du filtre lors du balayage


— Formule générale (avec stride s, padding p, filtre f , Nc′ filtres) :
   
n + 2p − f n + 2p − f
Sortie = +1 × + 1 × Nc′
s s

Pooling

Type Description Effet


Max Pooling Prend le maximum dans chaque fenêtre Préserve les détails forts
Average Pooling Prend la moyenne Réduit le contraste
Stochastic Pooling Sélection aléatoire pondérée Régularisation

— Exemple : 224 × 224 × 64 après MaxPool(2 × 2, stride= 2) → 112 × 112 × 64

Déconvolution (Convolution transposée)

— Inverse du pooling → augmente la résolution (upsampling)


— Nécessite padding = 0
— Utilisé dans les architectures de segmentation (U-Net) et les GAN

Exemple de calcul de taille

Input : 224 × 224 × 3, CONV(3 × 3 × 5, padding=same, stride= 1), puis MaxPool(2 × 2, stride= 2)
— Après CONV (padding=same, stride= 1) :
224 + 2p − 3
+ 1 = 224 ⇒ Résultat : 224 × 224 × 5
1
— Après MaxPool(2 × 2, stride= 2) :
224 224
× = 112 × 112 × 5
2 2

CHAPITRE IV — Deep Fake & GAN

Introduction

— Technique introduite en 2014 par Ian Goodfellow


— Hypertrucage basé sur l’IA pour manipuler image, vidéo, son
— But malveillant : nuire à l’image d’une personne, lui prêter des propos qu’elle n’a pas tenus

Techniques de Deep Fake

Technique Description
Face Swap (Identity Swap) Remplacer le visage en conservant le corps
Face to Face Extraire uniquement la bouche d’une autre personne
Lip Sync Synchronisation labiale seulement
Face Reenactment Changer les expressions faciales
Entire Face Synthesis Générer un visage inexistant

5
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

Avantages et Risques

Avantages :
— Data augmentation (alternative aux techniques classiques : rotation, réflexion, bruitage)
— Colorisation d’images N&B, amélioration de résolution
— Médecine : clonage de voix pour malades (SLA)
— Cinéma : rajeunissement d’acteurs, story board
Risques :
— Manipulation politique, usurpation d’identité, violation de copyright

Architecture GAN (Generative Adversarial Networks)

Principe

Deux réseaux s’entraînent mutuellement en mode antagoniste (MinMax) :


— Générateur (G) : fabrique des données fausses (fake) à partir d’un vecteur aléatoire z
— Discriminateur (D) : distingue le vrai (real = 1) du faux (fake = 0)

Fonction coût complète du GAN

min max E[log D(x)] + E[log(1 − D(G(z)))]


G D

Entraînement du Discriminateur :
— Classifier les images (Fake/Real), calculer l’erreur, ajuster les poids
— Maximiser : E[log D(x)]
Entraînement du Générateur :
— Générer des images fake depuis z aléatoire, transférer vers D, tromper D
— Minimiser : E[log(1 − D(G(z)))]

Critères de performance

— Bon discriminateur : D(x) ≈ 1 (réel bien classé) et D(G(z)) ≈ 0 (faux bien détecté)
— Bon générateur : D(G(z)) ≈ 1 (le faux trompe le discriminateur)

Fonction de perte Log-loss

Si prédiction souhaitée = 1 : Error = − ln(prediction)


Si prédiction souhaitée = 0 : Error = − ln(1 − prediction)

DCGAN (Deep Convolutional GAN)

— Similaire au GAN mais avec couches convolutionnelles


— Générateur : utilise des déconvolutions (conv transposées) pour upsampling
— Discriminateur : utilise des convolutions classiques
Autres architectures GAN : Pix2pix, SRGAN, CGAN, CycleGAN, BicycleGAN, StarGAN, ArchiGAN

6
MRETCA1 — Résumé Complet Analyse Avancée d’Image — Deep Learning & Deep Fake

RÉCAPITULATIF DES FORMULES CLÉS

Formules à retenir absolument

Taille sortie convolution (général) :


   
n + 2p − f n + 2p − f
Sortie = +1 × + 1 × Nc′
s s

f −1
Padding same : p = ⇒ sortie = même taille que l’entrée
2
Amplitude du gradient : q
A(x, y) = fx2 + fy2

Direction du gradient :  
fy
θ = arctan
fx
Binarisation : I(x, y) ≥ S ⇒ 255 ; sinon ⇒ 0
f
X
Égalisation histogramme : f ′ = 255 · C(f ) où C(f ) = hn (t)
t=0
Détection morphologique des contours :

Contours = Dilatation(I) − Érosion(I)

Mise à jour des poids (Descente de gradient) :

∂J ∂J
a1 = a0 − α · b1 = b0 − α ·
∂a ∂b
Fonction coût GAN :
min max E[log D(x)] + E[log(1 − D(G(z)))]
G D

Nombre d’itérations :
Ntotal samples
Itérations par Epoch =
Batch Size

Bon courage pour l’examen ! ✓

Vous aimerez peut-être aussi