![Page 1: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/1.jpg)
1
Introduction à la vision artificielle Première partie
Traitement des images
Patrick HébertGénie électrique et génie informatique
Université Laval
*collaboration Éric Samson
(Revisité par A. Bendada en 2013, D. Laurendeau en 2014)
![Page 2: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/2.jpg)
Qu'est-ce que la caméra embarquée permet au robot de faire?• Reconnaitre et localiser les objets sur le terrain, i.e. évaluer la position relative au
robot, évaluer la position relative des tableaux de commandes dans leurs cadres, la zone des rondelles, la zone cible, les obstacles, etc.)
• En complément à la Kinect, évaluer sa position et son orientation sur le terrain (par rapport aux bandes, coins, à la zone de lecture de la résistance, à la zone de lecture des commandes, etc.)
Mise en contexte…
robot
![Page 3: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/3.jpg)
3
• Le cours d'introduction à la vision couvre en particulier 2 étapes du processus de vision qui sont nécessaires à l'atteinte de ces objectifs :
1. Reconnaître les objets dans les imagesTraitement des images
2. Calculer la position des objets par rapport au robot et celle du robot dans l’environnementÉtalonnage géométrique de la caméra et du système
Mise en contexte…
![Page 4: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/4.jpg)
4
Mise en contexte
Ces deux étapes s'inscrivent dans le cycle global "perception/action" du processus de vision
1.Perception initiale de l'environnementFormation des images/acquisition
2.Traitement des images et reconnaissanceRepérer les objets de l'aire de travail dans l'image
3.Analyse des donnéesCalculer la position des objets et du robot
4.Planification et prise de décisionDéterminer la prochaine commande à transmettre au robot
5.ExécutionTransmission de la commande au robot
![Page 5: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/5.jpg)
5
Plan de la présentation
Espaces des couleurs• Traitement des images : Introduction• Filtrage• Segmentation
Extraction de régions Extraction de contours Détection de coins
• Conclusion
![Page 6: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/6.jpg)
66
Espaces des couleurs…
• En général, on représente la couleur à l'aide de 3 valeurs Espace en 3 dimensions
• L'espace le plus connu est RGB (Red, Green, Blue)
– Lié au système visuel humain• L'œil perçoit la couleur à l'aide de trois
types de capteurs (cônes) sensibles à trois plages de longueurs d'onde.
Absorption de la lumière par lescônes de l’œil humain
*tirée de Gonzales & Woods
Note: les bâtonnets sont aussi photosensiblesmais ne “différencient” pas les couleurs. Ilssont surtout utiles pour la vision périphériqueet la vision nocturne.
![Page 7: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/7.jpg)
7
Principe de la caméra couleur…
Couleurs additives
![Page 8: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/8.jpg)
8
Principe de la caméra couleur…
Couleurs additives
![Page 9: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/9.jpg)
9
Principe de la caméra couleur…
Couleurs additives
![Page 10: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/10.jpg)
10
Image numérique couleur
Sortie d’une caméra couleur
Matrice 3D
Mosaïque à filtres de Bayer
![Page 11: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/11.jpg)
11
• L'espace RGB (suite)
– Largement utilisé en informatique (moniteurs)
Génération de couleurs
Espaces des couleurs…
Cube de couleurs RGB Cube RGB 24-bits
– Teintes de gris R=G=B
le long de la diagonale
![Page 12: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/12.jpg)
12
Problème:
L’espace RGB n’est pas intuitif pour l’utilisateur (e.g. Photoshop)
Exemple: On veut baisser la saturation (i.e. la « pureté) de la couleur du disqueorange de 50%
Ces valeurs semblentaléatoires
Espaces des couleurs…
![Page 13: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/13.jpg)
13
• HSV Hue (H), Saturation (S), Value (V)– Séparation de la teinte, de la saturation et de l'intensité
• Plus intuitif pour identifier et décrire ou spécifier les couleurs• Traitement des ombres plus facile lors de la segmentation
Ombre même teinte mais intensité différente.
– V (intensité): une hauteur entre 0 (noir) et 1 (blanc)
– La teinte est contenue dans H (Hue) : un angle (0 360°)
– S (Saturation = pureté): un rayon entre 0 et 1:• S = 0 niveau de gris• S = 1 couleur pure
Espace HSV
Espaces des couleurs…
![Page 14: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/14.jpg)
14
• HSV
- Le modèle HSV est particulièrement utilisé dans les applications graphiques.
- La teinte est sélectionnée sur la région circulaire; la saturation et l’intensité sont sélectionnées a posteriori sur un triangle.
Exemple: On veut baisser la saturationdu disque orange de 50%
Espaces des couleurs…
Roue de couleurs HSV
![Page 15: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/15.jpg)
15
• Passage RGB HSV : Formules
Référence sur les conversions: http://en.wikipedia.org/wiki/HSL_and_HSV
mMC
)B,G,Rmin(m
)B,G,Rmax(M
oo
HwithHxH
BMifC
GR
GMifC
RB
RMifC
BGCifundefined
H
o 360,0,'60
,4
,2
,6mod
0,
'
MV
otherwise,
V
C0Cif,0
S
Espaces des couleurs…
![Page 16: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/16.jpg)
A 2007 16Design III / GEL-21405 H06
Red Green Blue
Hue Saturation Value
Espaces des couleurs : Exemple récapitulatif 1
![Page 17: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/17.jpg)
17
Plan de la présentation
Espaces des couleursTraitement des images : Introduction• Filtrage• Segmentation
Extraction de régions Extraction de contours Détection de coins
• Conclusion
![Page 18: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/18.jpg)
18
Traitement des images : introduction
• Le traitement simple des images peut se faire en 2 étapes:
1. Traitement sur les pixels- Filtrage- Regroupement en régions- Détection de contours- Détection de points d'intérêt (coins)
2. InterprétationReconnaissance basée sur les modèles
Est-ce que ce groupe de pixels "jaunes" peut correspondre à une balle sphérique ou à une cible rectangulaire?
![Page 19: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/19.jpg)
19
Traitement des images : introduction
Plusieurs facteurs influencent le traitement et l'interprétation des images• Éclairage variable
Heure du jour, éclairage naturel ou artificiel• Arrière-plan (circulation autour de la table!)• Points de vue différents
Un objet peut présenter des formes très différentes selon le point de vue- La simple projection d'un espace 3D à 2D pour un objet opaque- La réflectance des matériaux
• Bruit du capteur• …
![Page 20: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/20.jpg)
20
Traitement des images : introduction
Pour éviter des résultats indésirables (e.g. fausse alarme, non-détection), il faut que le traitement et l'interprétation soient robustes aux variations des facteurs hors de votre contrôle
• Robustesse au niveau du traitement
• Robustesse au niveau de l'interprétation
"et/ou"(ex. Seuillage adaptatif)
(ex. Confirmation de la reconnaissance en utilisant un 2e traitement (différent)).
![Page 21: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/21.jpg)
21
Plan de la présentation
Espaces des couleursTraitement des images : Introduction Filtrage• Segmentation
Extraction de régions Extraction de contours Détection de coins
• Conclusion
![Page 22: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/22.jpg)
Filtrage linéaire
• Convolution de l'image avec un masque (noyau) fixe
– La convolution est une opération linéaire• commutative A * E = E * A• associative A * (B * E) = (A * B) * E
Équation de convolutionExemple de masque
(voir cvSmooth dans OpenCV)
2
1
2
1
2
1
2
1
),(),(*),(
m
mh
m
mk
f kjhiEkhAEAjiE
![Page 23: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/23.jpg)
23
Filtrage linéaire
• Exemple de filtre : Le filtre de moyennage– Chaque pixel de l'image résultat prend comme
valeur la somme des pixels voisins.
110
100
120 95 130
90
100 110
105110
125
115
120
90 110
125120 90110
130 100 110
125 90110 100
110
90
110
90 100110
105
110
100
110
125
110
130
125
110
100 120
95 130
90
100 110 105
Résultat = 107
![Page 24: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/24.jpg)
24
Filtrage linéaire
• Filtrage linéaire : Attention aux effets de bord !
110100
120
95 130
90
100 110
105110
125
115
120
90 110
125120 90110
130 100 110
125 90110 100
110
90
110
90 100110
105
110
100
110
125
110
130
125
?
? ?
95 130
?
? 110 105
100 110
90110
125
• les ignorer image résultat plus petite• on peut ajouter des valeurs constantes sur
les bords mais …• on peut considérer l'image comme étant
périodique mais …• on peut considérer le bord de l'image
comme un miroir mais …
![Page 25: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/25.jpg)
Filtrage linéaire passe bas
1. Filtre moyenneur
Imaged’origine
m x m = 5 x 5 m x m = 9 x 9
m x m = 15 x 15 m x m = 35 x 35
OctogonalCarré
111
111
111
9
1
010
111
010
5
1
Connexité4-voisins
Connexité8-voisins
![Page 26: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/26.jpg)
Filtrage linéaire passe bas2. Filtre Gaussien…
* Meilleur comportement fréquentiel (réduit le recouvrement spectral p/r au filtre moyenneur).
Préserve mieux les arêtes.
2
22
222
1),(
yx
eyxA
– On choisit la taille du filtre w (en pixel)
tel que 5w
Exemple
5/3pixels3w
0277.01110.00277.0
1110.04452.01110.0
0277.01110.00277.0
A
![Page 27: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/27.jpg)
Filtrage linéaire passe bas
2. Filtre Gaussien…
Attention: Plus la gaussienne est large, plus le flou est marqué.En général, un sigma est utilisé pour réduire le bruit.
5.0 0.1 5.1
1
Image non filtrée
![Page 28: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/28.jpg)
28
Filtrage linéaire passe bas
• Propriété du filtre gaussien Filtre séparable
1. Filtrer l'image avec le filtre gaussien 1D vertical
2. Filtrer le résultat avec le filtre gaussien 1D horizontal
1664.0
6672.0
1664.0
1664.06672.01664.0
Filtre 1D vertical :
2. Filtre Gaussien
Filtre 1D horizontal :
Exemple
5/3pixels3w
![Page 29: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/29.jpg)
29
Filtrage linéaire passe haut
Principe des filtres de rehaussement d’arêtes
f(x)
![Page 30: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/30.jpg)
30
FiltreGradient
FiltreLaplacien
FiltreGradient
FiltreLaplacien
Effet du bruit sur les filtres de rehaussement d’arêtes
Filtrage linéaire passe haut
1- Sans bruit
2- Faible bruit
3- Bruit élevé
4- Bruit très élevé
![Page 31: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/31.jpg)
31
Filtrage linéaire passe haut
1. Filtre Gradient (Masque de Prewitt)
Gradient horizontal :
101
101
101
DX Gradient vertical :
-Attention : la dérivée est sensible au bruit. Faire un filtrage gaussien avant de l'utiliser ou bien appliquer un masque de Sobel.
-À noter : IGDIGD )()(
IG )( IGDE XX )( IGDE YY
111
000
111
DY
![Page 32: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/32.jpg)
32
Filtrage linéaire passe haut
2. Filtre Laplacien…
111
181
111
Lou
010
141
010
L
Arêtes aux passages par zéro
2
2
2
2
y
I
x
II
Plus sensible au bruit
Ne permet pas de déterminer la direction du gradient
LOG : Laplacien d’une gaussienne
![Page 33: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/33.jpg)
33
Filtrage linéaire passe haut
2. Filtre Laplacien
Utilisé souvent en renforcement des contours
111
181
111
Image aveccontours renforcés
Image filtréepar le laplacien
*Tirée de Gonzales & Woods
Image aveccontours renforcés
010
141
010
Image originale
![Page 34: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/34.jpg)
34
Note sur le filtrage non-linéaire
• Le résultat n'est pas une combinaison linéaire des pixels de l'image à traiter mais plutôt une fonction non-linéaire telle qu'un min, un max ou la médiane.
![Page 35: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/35.jpg)
Opérateurs morphologiques
35
Tiré de Alain Boucher - IFI
![Page 36: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/36.jpg)
Opérateurs morphologiques
36
Fonctions dans OpenCV : erode, dilate, open, close.
![Page 37: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/37.jpg)
Érosion
37
![Page 38: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/38.jpg)
Dilatation
38
![Page 39: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/39.jpg)
39
Érosion - Dilatation
![Page 40: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/40.jpg)
40
Ouverture - Fermeture
Isoler les surfaces présentes dans l’image, lisser les contours.
Recoller des morceaux de surfaces proches de manière à fermer descontours disjoints, lisser les contours.
![Page 41: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/41.jpg)
41
Exemple récapitulatifOuverture: - Les petits détails sont supprimés. - Les objets « massifs » retrouvent leurs formes.
Fermeture: - Les petits trous ou les fentes fines sont bouchés. - Les objets « massifs » retrouvent leurs formes.
![Page 42: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/42.jpg)
42
Plan de la présentation
Traitement des images : IntroductionEspaces des couleursFiltrage Segmentation
Contours Points d'intérêt : coins Régions
![Page 43: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/43.jpg)
43
Exploitation des contours
Retour au filtrage passe haut
Intérêt– Moins sensibles que les régions aux variations d'éclairage
Difficultés– Contours incomplets (par parties)– Il faut regrouper les contours d'un même objet
![Page 44: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/44.jpg)
44
Extraction de contours (Filtre de Canny)
1. Calculer les gradients horizontal et vertical (EX et EY)
EX
EY
![Page 45: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/45.jpg)
45
Extraction de contours (Canny)
EX
EY
ES
1. Calculer les gradients horizontal et vertical (EX et EY)
2. Calculer les images :22YXs EEE
X
Y
E
EE 1tan
![Page 46: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/46.jpg)
46
Extraction de contours (Canny)
1. Calculer les gradients horizontal et vertical (EX et EY)
2. Calculer les images :22YXs EEE
X
Y
E
EE 1tan
3. Éliminer les réponses non-maximales
Un pixel a une réponse maximale si ses deux voisins, situés dans l'axe de sa normale, ont une réponse inférieure.
Un pixel non max est mis à zéro
![Page 47: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/47.jpg)
Extraction de contours (Canny)
1. Calculer les gradients horizontal et vertical (EX et EY)
2. Calculer les images : 22YXs EEE
X
Y
E
EE 1tan
3. Éliminer les réponses non-maximales
Un pixel a une réponse maximale si ses deux voisins, situés dans l'axe de sa normale, ont une réponse inférieure. Un pixel non-max est mis à zéro.
4. Seuillage par hystérésis (2 seuils)
1. Si réponse du pixel > Seuil 1 Contour
2. Suivre le contour tant que la réponse des pixels rencontrés soit > Seuil 2
![Page 48: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/48.jpg)
48
Extraction de contours (Canny)5. Sortie du détecteur de contours de Canny :
Image de contours (binaire)
A 2009 Design III / GEL-3004
(voir aussi : OpenCV : les fonctions canny et findContours)
Exemple sur l’impact du seuillage et l’effet de l’ombrage
![Page 49: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/49.jpg)
49
Plan de la présentation
Traitement des images : IntroductionEspaces des couleursFiltrage linéaire Segmentation
Contours Points d'intérêt : coins Régions
![Page 50: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/50.jpg)
50
Constat: les détecteurs d'arêtes se comportent moins bien près des coins
Proposition: détecter les endroits où le gradient est fort dans plus d'une direction
Réalisation: détecteur de Harris
Voir aussi dans Open CV la fonction : Good features to track
Détecteur de coins et points isolés
Détecteur de Harris
![Page 51: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/51.jpg)
51
Entrée: Image d'intensité, une taille (2N+1 x 2N+1) de la fenêtre de traitement
(N entre 2 et 10 pixels) et un seuil t (sur l2)
Sortie: Une liste de coins
Détecteur de coins et points isolés
Procédure:1. Calculer les images de gradients EX et EY
2. Pour tous les points de l'image
Estimer la matrice de covariance du gradient (dans une fenêtre 2N+1 x 2N+1) et en extraire les valeurs propres (1 et 2 avec 2 1).
3. Si la valeur propre minimale 2 > seuil t coins potentiels
4. Trier les coins potentiels dans un ordre décroissant selon 2
5. En parcourant les coins potentiels triés, on élimine les autres coins se trouvant dans le voisinage du coin courant
Détecteur de Harris
![Page 52: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/52.jpg)
52
Détecteur de coins et points isolés Détecteur de Harris
Extrait de : Patrick Labatut (http://www.tsi.telecom-paristech.fr/)
Image originale Coins de l’image originale
Image bruitée Coins de l’image bruitée
![Page 53: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/53.jpg)
53
Plan de la présentation
Traitement des images : IntroductionEspaces des couleursFiltrage Segmentation
Extraction de contoursDétection de coins Extraction de régions
![Page 54: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/54.jpg)
54
Segmentation en régions
Découper l'image en régions de mêmes caractéristiques Exemples de caractéristiques sur lesquelles on peut segmenter
• Couleur (caractéristique d'un pixel)• Texture (caractéristique de voisinage)• Mouvement inter-images (caractéristique de voisinage)
Segmentation simple (basée sur les caractéristiques des pixels) 3 étapes1. Classifier chaque pixel
Ex. : 0 Noir1 Blanc2 Jaune3 Rouge4 Autre
2. Regrouper par régionsRegrouper les pixels connexes de même classe.
3. Étiqueter les régions
![Page 55: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/55.jpg)
• Étape 1 – Classifier chaque pixel…• Chaque pixel est caractérisé par la valeur de ses paramètres
Paramètres : H, S et V si on désire segmenter sur la couleur• Modèle : Intervalle sur les paramètres 1 classe
Ex. : Jaune
Comment choisir les intervalles pour que les régions soient représentatives ?
Ex. : On désire mettre en évidence des objets d'une couleur distincte• Mesure directe (un modèle basé sur un ensemble d'images)• Analyse d'histogramme (pour adaptation automatique d'intervalles)
Segmentation en régions
oo H 6555
![Page 56: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/56.jpg)
56
Segmentation en régions
• Analyse d'histogramme– On tente de séparer les différents modes de l'histogramme– Cette procédure peut être automatisée
Histogramme d'une image en niveaux de gris (Ex: canal V dans HSV)
Étape 1 – Classifier chaque pixel…
Seuil
![Page 57: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/57.jpg)
Segmentation en régions
• Analyse d'histogramme– Seuillage adaptatif (Efficace pour ombrage ou éclairage non uniforme)
Étape 1 – Classifier chaque pixel…
*Tirée de Pratt
Dans OpenCV, voir les fonctions threshold et adaptive threshold.
Seuil
Seuil
![Page 58: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/58.jpg)
58
Segmentation en régions
• Analyse d'histogramme– On tente de séparer les différents modes de l'histogramme– Cette procédure peut être automatisée
Histogramme des couleurs (Canal H dans HSV)
Étape 1 – Classifier chaque pixel…
![Page 59: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/59.jpg)
Segmentation en régions
• Analyse d'histogramme dans l’espace HSV
- Attention: H invalide lorsque S tend vers 0.
Étape 1 – Classifier chaque pixel
Région de couleurrougeâtre
Originale Hue
Saturation Value
Masque binaire(noir = 0)
Produit:Hue x Masque
Histogrammedu produit
Segmentationde la régiond’intérêt
*Tirées de Forsyth & Ponce
![Page 60: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/60.jpg)
60
Segmentation en régions
• Étape 2 – Regrouper par régions...• Regrouper les pixels connexes de la même classe pour
former des régions.
![Page 61: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/61.jpg)
61
Segmentation en régions
• Étape 2 – Regrouper par régions• Regrouper les pixels connexes de la même classe pour former
des régions.
*Tirée de Efford
Définition de la connexité (voisinage)
Connexité à 4 voisins
Connexité à 8 voisins
p et q sont connexes-4 si q est dans N4(p)
p et q sont connexes-8 si q est dans N8(p)
p p
![Page 62: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/62.jpg)
62
Segmentation en régions
• Étape 3 – Étiqueter les régions...• On désire donner une valeur commune (étiquette) pour les pixels d'une région.• On désire avoir une valeur différente pour chaque région.
![Page 63: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/63.jpg)
63
Segmentation en régions
• Étape 3 – Étiqueter les régions...
![Page 64: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/64.jpg)
64
Segmentation en régions
• Étape 3 – Étiqueter les régions...
![Page 65: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/65.jpg)
65
Segmentation en régions
• Étape 3 – Étiqueter les régions...
![Page 66: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/66.jpg)
66
Segmentation en régions
• Étape 3 – Étiqueter les régions
![Page 67: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/67.jpg)
67
Segmentation en régions
Exploitation du résultat de la segmentation
Pour une étiquette donnée, récolter diverses informations :Nombre de pixels, largeur, hauteur, centre, point de contact avec le sol, etc.
Définir des critères pour éliminer les régions sans intérêt
Exemples de critères• Rapport Hauteur/Largeur• Un cercle couvre (p/4)*100% de la surface de son "bounding box"; Un
rectangle, près de 100%• Position du centre de gravité• etc. (Il s’agit souvent des critères empiriques, soyez inventifs !)
Par exemple : On cherche la ligne rouge. On n'est pas intéressé par le rouge sur le chandail en arrière-plan.
![Page 68: Introduction à la vision artificielle Première partie Traitement des images](https://reader038.vdocuments.site/reader038/viewer/2022103101/56814317550346895daf708e/html5/thumbnails/68.jpg)
68
Conclusion
• Considérations calculatoires: le traitement d'images sur les pixels est très coûteux.
• Quel est le temps raisonnable de calcul ?• Est-il acceptable de travailler à mi-résolution ?• Références intéressantes sur la vision:
– OpenCV : http://opencv.itseez.com – Digital image processing (Gonzales and Woods)