christophe doignon - unistra.freavr.u-strasbg.fr/~christophe/cours/mecatron_vi/vi_10.pdf · de...
TRANSCRIPT
Vision industrielle
Christophe DOIGNON
Maître de Conférences HdR ENSPS
Master Sciences pour l'Ingénieurspécialité Mécatronique
« L'objectif de cette formation est d'acquérir des compétences dans le choix et l'exploitation des capteurs de vision pour l'analyse d'images numériques dans un contexte industriel. Les aspects relevant de la physique, de l'informatique, du traitement du signal et de la géométrie y sont notamment abordés »
●courriel : [email protected]●site web : http://eavr.u-strasbg.fr/~christopheédition 2010
Plan du cours
0. Applications
1. Formation des images
2. Introduction à la segmentation des images
3. Localisation 3D
Bibliographie Multiple view geometry in computer vision, Andrew Zisserman,
Introductory techniques for 3-D computer vision, Emanuele Trucco, Alessandro Verri, Prentice Hall, ISBN:0-13-261108-2, 1998, 330 pages
Geometric Invariance in Computer Vision, J. Mundy, A. Zisserman,MIT Press, ISBN: 0-262-13285-0, 1992, 540 pages
Computer and Robot Vision, R.M. Haralick, L.G. Shapiro, Addison-Wesley Publishing, 1992, 0-201-10877-1, (2 volumes), 1340 pages
Digital Image Processing, K. Castleman,Prentice Hall, ISBN: 0-13-211467-4, 1996, 650 pages
Handbook of Image and Video Processing, A. Bovik,Academic Press, ISBN:0-12-119790-5, 2000, 880 pages,
Practical Handbook on Image Processing for Scientific Applications, B. Jähne,CRC Press, ISBN: 0-8493-8906-2, 1997, 536 pages
Image Analysis for the Biological Sciences, C.A. Glasbey and G.W. Horgan,Vic Barnett Editor,Wiley & Sons, ISBN:0-471-93726-6, 1995, 210 pages
Chapitre 0. Applications
La vision 3-D concerne les processus associés à la vision artificielle de scènes 3D. Il s’agit :
de la projection d’un objet de la scène dans une image,
des liens entre différentes projections de cette scène,
De la reconstruction de celle-ci à partir des projections images.
Les applications sont diverses et variées :
localisation, métrologie, suivi visuel, navigation, asservissement visuelreconnaissance,modélisation,réalité augmentée et synthèse d’images.
Chapitre 1. Formation des images
1. Dispositifs d’acquisition
2. Les signaux analogiques vidéo
3. Numérisation des images
4. Document annexe : caméras numériques
Chapitre 2. Introduction à la segmentation des images
1. Réduction du bruit
2. Histogramme – égalisation
3. Binarisation et seuillage
4. Détection des contours et des coins
5. Opérations ponctuelles
6. Normalisation et comparaison d'images
7. Détection des droites
Chapitre 3. Transformationset Localisation 3-D
1. Transformations euclidiennes, affines et projectives,
2. Localisation 3-D
Chapitre 0. Applications
Applications – 1
Surveillance des forêts et zones agricoles
Applications – 2
Reconnaissance d’empreintes digitales
Applications – 3
Détection des flux de gaz
Applications – 4
Climatologie
Applications – 5
Détection des défauts – Contrôle de la qualité
Applications – 6
Mosaïque d’images – Visualisation des reliefs
Applications – 7
Modélisation d’objets – Rendu 3-D
1. Dispositifs d’acquisition
● Caméra – Entrelacée– Progressive– Couleur– Infra-rouge
–● Objectifs
● Carte électronique d’acquisition
Chapitre 1. Formation des images
2. Les signaux vidéo standards
● RS-170 (USA/Japon)– 525 lignes– 30 images/seconde
● CCIR (Europe/Australie)– 625 lignes– 25 images/seconde
NTSC (USA/Japon)– 525 lignes– 30 images/seconde
PAL (Europe/Australie)– 625 lignes– 25 images/seconde
noir et blancnoir et blanc couleur couleur signaux composites :signaux composites :
couleur couleur signal trichromatique : R,G,Bsignal trichromatique : R,G,B
L'entrelacement des trames d'une image
Timing du format CCIR (industriel européen)
L'entrelacement des trames d'une image
Effet de flou du à la conjonction d'un mouvement rapide des objets de la scène devant la caméra et à l'entrelacement des trames d'une image (format CCIR).
L'analyse de l'image entière semble délicate.
La séparation des trames permet d'analyser plus facilement l'image (résolution verticale divisée par 2).
122Nombre de champs (field)
Non-entrelacé
entrelacéentrelacéType de balayage484577485Nb de lignes visibles
48422-310336-623
21-26320-262
Lignes visibles525625525Nombre de lignes262,5312,5262,5Fh / Fv
59,9401 Hz50,0 Hz59,9401 HzFréquence de balayage vertical Fv
16,6833 ms20,0 ms16,6833 msDurée du balayage verticale15,734 kHz15,625 kHz15,734 kHzFréquence de balayage horizontal Fh
63,5556 us64,0 us63,5556 usDurée du balayage horizontalVGACCiRRS-170
Caractéristiques des différents formats
Autres formats : Ethernet, Video USB, IIDC Firewire, CamLink,...
Caractéristiques spectrales d'une caméra CCIR
● Le spectre du visible s’étend de 400 à 700 nm environ.
Caractéristiques spectrales d'une caméra couleurpar rapport à celles de l'oeil humain
● norme CIE : λR = 700 nm,
λG = 546,1 nm, λ
B = 435.8 nm
Diagramme de chromaticité (x,y)
y= 32
B−RRGB
−12
x= 32
GRGB
−12
• z = 1-x-y
• Blanc : x=y=z (point d'énergie équi-répartie)
• Proche du bord : couleur pure
Synoptique générale de l’acquisition d’images
3. Numérisation d’images
Exemple de numérisation d’une image en niveaux de gris
Le niveau de gris d'un pixel reflète la quantité de lumière arrivant surune cellule CCD de la caméra : 0 => noir ; 255 => blanc (256 niveaux)
Numérisation d’une image en couleur
La plupart du temps, les pixels sont codés sur 16 bits ou 24 bits.
Pour le codage sur 24 bits, chaque canal R, G ou B contient une valeurallant de 0 à 255 (256 niveaux/canal) et les octets sont rangés en mémoirede manière séquentielle : R,G,B,R,G,B,R,G,B,...
60251128 =
Image originale Composante R
Composante G Composante B
Exemple d’une image RG,B
Codage numérique compressé d’une imageen couleur provenant d'un signal composite
Pour le codage sur 16 bits de chaque pixel, la luminance est codée sur 8bits et la couleur (chrominance bleue Cb ou chrominance rouge Cr) sur 8bits. Lecodage de la couleur est généralement la même pour deux pixels adjacents.
Ainsi, pour deux pixels P0 et P1 successifs, la luminancede chacun est propre, mais pas la chrominance qui est commune. On a alorsla séquence de codage YCbCr (de 8 bits) suivante:Y0 Cb0 Y1 Cr0 pour les deux premiers pixels, puis Y2 Cb2 Y3 Cr2,.....
Le contenu informatif de la couleur est bien moindre avec le codage YCbCrqu'avec le codage RGB. Il existe une formule de convertion liant ces deuxcodages (norme ITU-R BT.601) :
Y = 65.481 R + 128.553 G + 24.966 B + 16Cb = -37.797 R - 74.203 G + 112.0 B + 128Cr = 112.0 R - 93.786 G - 18.214 B + 128
Codage numérique d’une image en couleurprovenant d'un signal composite
Pour le codage appelé YUV utilisé par les systèmes PAL (PhaseAlternation Line), NTSC (National Television System Commitee) etSECAM (Séquentiel Couleur Avec Mémoire) qui diffuse les donnéesTV, l'information de luminance est contenue dans la composante Y,et la couleur dans les composantes U et V.C'est un espace qui est lié à l'espace cartésien RGB par une trans-formation linéaire :
Y = 0.299 R + 0.587 G + 0.144 BU = -0.147 R - 0.289 G + 0.439 BV = 0.615 R - 0.515 G - 0.100 B
La pureté de la couleur (saturation, S) est représentée par le rayonet la teinte (hue, H)par l'angle avecl'horizontaleS=U 2V 2 H=arctanV /U
L'espace HSI (Hue, Saturation ,Intensity)
Dans la représentation HSI, l'intensité lumineuse est contenue dans lacomposante I, et la couleur dans les composantes H et S. Contrairement àYUV qui n'est qu'un codage électronique, HSI reflète bien la façon dontl'oeil humain perçoit les couleurs. C'est un espace de couleur qui est lié àl'espace cartésien RGB par la transformation non-linéaire suivante :
x= 162R−G−B z=I= 1
3RGB
S= max
=1−3 min R ,G , BRGB
y= 12G−B
=arc cos[
12R−GR−B
R−G 2R−BG−B] H= si G≥B
2− sinon
=x2y2=x2y2
L'espace HSI (Hue, Saturation ,Intensity)
(gauche) Image originale; (centre) diminution de 20% de la saturation (droite) augmentation de 40% de la saturation
Documents annexes :
- Les caméras (document Imasys)- La vision 3D par lumière structurée (Laser 2000)
Chapitre 2. Introduction à la segmentationL'analyse des images regroupe plusieurs disciplines que l'on classe endeux catégories :
Les processus de bas-niveaux, qui nécessitent très peu d'informations surle contenu des images. Il s'agit des processus de filtrage, d'amélioration etde restauration d'images, processus que l'on regroupent sous le terme detraitement d'images, ainsi que l'extraction d'indices.
Les processus de haut-niveaux, qui fonctionnent en aval de deux de bas-niveaux, et qui peuvent nécessiter des informations sur le contenu desimages. Il s'agit de la reconnaissance de formes, de la reconstruction 3-D,les processus cognitifs de façon générale.
SegmentationAcquisitiond'images
InterprétationPrétraitement
L'analyse d'images est une chaîne de traitements de l'information
Exemples
Echantillonnageet Résolution
Exemples dequantification
Exemples
Différents types d'image :
• image à niveaux de gris,
• image binaire,
• image couleur,
canaux de couleurs
(niveaux d'intensité)
1. Réduction du bruit
Le prétraitement d'images regroupe l'ensemble des processus visant àaméliorer les caractéristiques iconiques d'une image. Le résultat est toujoursune image.
Le lissage local : il s'agit de diminuer le bruit, ou les petites variationsprésentes dans une image. L'intensité d'un pixel est transformée en fonctiondes intensités sur un petit voisinage du pixel.
Une première classe d'approches est basée sur la redondance d'informationspar l'emploi du filtrage linéaire. Dans le cas du moyennage, la nouvelle valeurd'un pixel est calculée par un moyennage des valeurs sur un voisinage. Cetteopération correspond à la convolution discrète de l'image I par un filtre linéaireà réponse impulsionnelle finie (FIR) de masque h :
où I est l'intensité de l'image d'origine, I' est l'intensité de l'image filtrée.W est le voisinage utilisé et h est le masque de convolution.
∑m , n ∈W
hm , n =1I ' i , j = ∑m , n ∈W
h m , n I i−m , j−n
Pixel traité
Voisinage• Le moyennage sur un voisinage 3x3 :
Le moyennage est : un filtre passe-bas, il rend l'image floue, en particulier les contours, il élimine les dégradations locales de faibles dimensions et est validelorsque les objets présents dans l'image sont de dimensions supérieuresaux dégradations,
Autre filtre de moyennage : approximation d'unfiltre gaussien discret, adapté au filtrage des bruitsgaussiens.
h=1 /16[1 2 12 4 21 2 1]
h=1 /9[1 1 11 1 11 1 1]
Réduction du bruit (2)
Illustration de la convolution pour W = 3 (filtre FIR).
Exemple de filtrage non linéaire : le filtre médian
Les filtres de moyennage ont tendance à rendre l'image floue et donc àperdre de l'informations sur les contours caractérisés par des fortesvariations de l'intensité. Afin de diminuer cet effet, on ne moyenne plus levoisinage, mais on prend la valeur médiane sur ce voisinage.
Exemple sur un voisinage monodimensionel :
Exemple sur un voisinage bi-dimensionnel :
C'est un filtre non linéaire,
Il élimine le bruit impulsionnel,
Il préserve l'information sur le contour et peut être appliqué itérativement,
Il élimine les contours très fins. Un voisinage adapté permet de limiter cet effet.
I=[2 12 122 12 602 2 12] 12
L=1,6 ,3 ,12 ,9 6
Réduction du bruit (3)
Réduction du bruit (4)
A B
Résultat d'un filtrage médian
(A) : Image originale – (B) image bruitée
Résultat d'un filtrage linéaire de moyennage
2. Moyenne et contraste
2. Contraste (non linéaire) et énergie
Energie de l'image f (x,y) (r lignes et c colonnes)
E f =∑x=1
x=c
∑y=1
y=r
f x , y2
3. HistogrammesL'histogramme d'une image hist(i) est la fonction qui associe à une valeur
d'intensité i (ou de couleur) , le nombre de pixels de l'image ayant cette valeur.
3. Histogrammes
Histogramme de couleur (variable H de HSI)
L'amélioration d'images consiste à modifier les caractéristiques visuelles de l'image (contraste,...) pour faciliter son interprétation par un oeil humain.
Il peut s'agir de rehausser les contrastes, d'accentuer certaines intensités pour mettre en valeur une région,... Les histogrammes sont fréquemment utilisés pour effectuer ce type d'opérations.
3. Modification d'histogrammes
Application à la suppression d'un fond non-uniforme
La soustraction de l'imageoriginale par l'image du fondpermet de faire ressortir lescaractéristiques bimodales etdonc les objets d'intérêts.
Pour une image couleur, il y a un histogramme par composante, L'histogramme peut être normalisé pour donner une estimation de la densité
de probabilité des pixels :
et
Un histogramme peut avoir un pic (unimodal), deux pics (bimodal) ou plusieurs pics d'intensité (multimodal).
Modifications d'histogrammesPour modifier les caractéristiques de l'image (accentuer les contrastes en
général), une approche consiste à appliquer une fonction qui associe à chaque valeur d'intensité dans l'image une nouvelle valeur. Cette fonction va modifier l'histogramme de l'image. Soient i,i' < MaxInt , les valeurs d'intensité de l'image traitée, on considère alors les transformations du type : i' = T(i) qui donne une nouvelle valeur d'intensité i' pour chaque valeur de i de l'image.
Histogrammes – égalisation (1)
∑i
p i =1p i =hist i /∑j
hist j
Histogrammes – égalisation (2)On suppose que la fonction T() est telle que :
T(i) est monotone sur l'intervalle considéré. Cette condition assurant que l'ordre des intensités est préservé après transformation.
0 < T(i) < MaxInt pour 0 < i < MaxInt qui garantie que la nouvelle image est cohérente avec les niveaux d'intensité autorisés.
La transformation inverse satisfait les deux conditions précédentes.
Parmi les transformations linéaires, nous présentons ici le réhaussement de contraste (contrast stretching) qui consiste à modifier l'intervalle des valeurs d'intensité (la dynamique) de façon à obtenir pour l'image améliorée un intervalle de valeurs maximal. Si [i1,i2] est l'intervalle de l'image traitée, alors la transformation équivalente s'écrit :
Typiquement (MaxInt =255, i1 = max, i2=min) :
T i =MaxInt i−i2 / i1−i2
I ' x , y = 255max−min
I x , y−min
Histogrammes – égalisation (3)
Exemple d'égalisation d'histogrammes
Réhaussement de contrastes (par Laplacien)
Traitement local prenant en compte le voisinage de chaque pixel balayage systématique de l’image par une fenêtre d’analyse (convolution discrête avecLe L a pla c ie n )
Principe en 1 D Principe en 2 D
S : signal
D2 : dérivée seconde
D2 = S(i-1) - 2 * S(i) + S(i+1)
Sm = S - K * D 2
D = D2i + D2j
= S(i-1,j) - 2* S(i,j) + S(i+1,j)
+ S(i,j-1) - 2* S(i,j) + S(i,j+1)
Sm ( i, j ) = S(i , j ) - K * D
Réhaussement de contrastes (par Laplacien)
Histogrammes – linéarisation (1)Une modification d'histogramme très répandue pour augmenter le contrastede manière automatique est la linéarisation d'histogramme. Il s'agit d'unetransformation non-linéaire. Le principe est de transformer l'image de manièreà obtenir un histogramme plat, soit une distribution uniforme des intensités.Cela revient à maximiser l'entropie de l'image et donc à obtenir théoriquementune image présentant une information maximale. La fonction de distributionidéale après transformation est :
Supposons tout d'abord que l'on se place dans le cas continu et que la transfor-mation T soit strictement croissante, alors :
D'où :
avec i' = T(i). On a :
soit :
Dans le cas discret, latransformation s'écrit :
di '=MaxInt p i di
p ' i ' =1/MaxInt
p ' i ' =p i didi '
T i =MaxInt∑j=0
i
hist j / ∑j=0
MaxInt
hist j
i'=T i =MaxInt∫0
i
p w dw
Histogrammes – linéarisation (2)
Dans le cas discret, et du fait que l'histogramme soit une approximationd'une fonction de densité de probabilité, l'histogramme résultant est trèsrarement parfaitement plat.
Pour une image majoritairement claire, la linéarisation va augmenter ladynamique de la partie sombre de l'histogramme au détriment de la partieclaire.
La linéarisation d'histogramme permet d'effectuer des comparaisonsd'images sur une même base d'images.
Cette opération peut s'effectuer par région : linéarisation adaptative.
Histogrammes–linéarisation (3)
Exemple de linéarisationd'histogramme :
3. Binarisation - Seuillage
Le seuillage est une opération qui permet de distinguer les pixels dontla valeur de l'intensité est supérieure à un seuil I0 de ceux dont la valeurde l'intensité est inférieure à I0. La binarisation consiste à remplacer lavaleur d'intensité des pixels supérieure à I0 par MaxInt et à remplacer lavaleur d'intensité des pixels inférieure à I0 par 0 : la binarisation est doncune opération (non-linéaire) particulière de seuillage.
Le principal problème est de déterminer la valeur du seuil I0.
Binarisation – Seuillage (2)
A
B
C
D
Histogramme du connecteur BNC-T et images binaires de ce mêmeconnecteur pour 4 valeurs du seuil I0 : 110 (A), 130 (B), 150 (C) et 170 (D)
image d'un connecteur BNC-T
A
B
C
D
A
B
C
D
Binarisation – Seuillage (3)Méthode du minimum de variance intra-groupe (Méthode d'Otsu, 1979)Cette méthode permet, à partir d'une image bimodale (généralement unfond et un objet d'intérêt), de déterminer le seuil de binarisation I0=t.On suppose que l'histogramme est composé de deux groupes d'intensitémutuellement exclusifs et homogènes. Chaque groupe formant alors unhistogramme unimodal. La mesure de l'homogénéïté d'un groupe estdonnée par la variance (le carré de l'écart-type) : un groupe très homogènepossède une faible variance.
Notons la somme pondérée des variances des groupes 1 et 2, c'est-à
dire la variance intra-groupe, est la variance pour le groupe dont
les valeurs d'intensité sont inférieures ou égales à t (groupe 1), est la
variance pour le groupe de pixels dont les valeurs d'intensité sont supé-
rieures à t (groupe 2), est la probabilité (pondération) correspondant
au groupe 1, est la probabilité pour le groupe 2, est la moyenne
du groupe 1, est la moyenne du groupe 2.
On a : où :
1 t
W2 =q1t 1
2 t q2 t 22 t
12 t
22 t
q2 t
2 t
W2
q1 t
Binarisation – Seuillage (4)
q2 t =∑i=t1
MaxInt
p i 2 t =∑i=t1
MaxInt
i p i /q2 t
q1 t =∑i=1
t
p i
22 t = ∑
i= t1
MaxInt
[ i−2 t ]2 p i /q2 t
1 t =∑i=1
t
i p i /q1 t 12 t =∑
i=1
t
[ i−1 t ]2 p i /q1 t
Le meilleur seuil t = I0 peut alors être déterminé par une simple recherche
séquentielle au sein de toutes les valeurs possibles de t (entre et
, < 256 valeurs)
qui minimise .
2 t 1 t
W2
Image binaire du connecteur BNC-T avec un seuildéterminé par la méthode d'Otsu (t = 148).
Exercice : Concevoir un programme informatiquequi permet de :
- a) dissocier les billes grises des billes noires,
- b) qui compte automatiquement le nombre de billes et détermine (pour chaque groupe de billes) leur rayon moyen (en pixel),
à partir du fichier « billes.pgm », lorsqu'on ne Dispose pas de l'image de l'arrière-plan seul
Exercice
Nous avons déjà vu qu'il était aisé d'extraire ces billes lorsque l'on disposaitde l'image du fond (seule), ce qui n'est pas le cas ici. Dans cet exercice, lesbilles noires sont facilement extraites par l'emploi d'un seuil global surl'image (cf. histogramme).Cependant, ce n'est pas le cas des billes grises qui ne peuvent pas êtreextraites de la même manière à cause d'une non-uniformité du fond. Onappliqué alors un seuillage adaptatif. Le seuil est calculé localement dansun voisinage entourant chaque pixel (ici, un filtre de moyennage estemployé), la valeur de l'intensité du pixel est comparée à la valeur moyenneobtenue dans le voisinage. Cettedifférence est alors soustraite à lavaleur moyenne du bruit estimé surtoute l'image (ici, NG_bruit = 7).
Exercice : Concevoir un programme informatiquequi permet de :
- a) binariser l'image ci-contre (on visualisera l'histogramme),
- b) déterminer la surface de la feuille (en pixel x pixel),
à partir du fichier « feuille.pgm »
Exercice
4. Détection des contours
Les contours représentent des variations (sauts brusques ou transition)de l'intensité lumineuse. Dans le cas d'une scène plane, ils représentent laprojection des contours des objets de la scène. Dans le cas d'une scène3-D, les contours des objets dans une image sont supposés être égale-ment les projections des contours délimitantdes objets de la scène.
Détection des contours (2)
Détection des contours (2)
Détection des contours (2)
Détecteur de Sobel : les contours étant considérés comme marquant les transitionsfortes de niveaux de gris, on applique une dérivation spatiale (gradient) sur l'image.Les opérateurs de détection de contours, basés sur le gradient (dérivée première),permettent de quantifier la largeur de la transition (amplitude du gradient obtenu) etsa direction (direction du gradient) en examinant, pour chaque pixel, un voisinage.Le détecteur de Sobel est uneapproximation discrète de cettedérivée sur un voisinage (3x3) :
détecte les composantes du gradient selon l'horizontale
détecte les composantes du gradient selon la verticaleGv=∂ I∂ v≈I u , v ∗Ov
Gu=∂ I∂u≈I u ,v ∗Ou
Détection des contours (3)
Ov=1/4 [−1 −2 −10 0 01 2 1 ]=Ou
t
Gv u ,v ≈ [−I u−1, v−1 −2I u , v−1 −I u1, v−1 I u−1, v1 2 I u ,v1 I u1, v1 ]/4
Gu u , v ≈[−I u−1, v−1I u1, v−1−2I u−1, v 2 I u1, v −I u−1, v1I u1, v1 ]/4
Ou=1/4 [−1 0 1−2 0 2−1 0 1]
arg G =arctan Gv /Gu G=Gu2Gv
2≈∣Gu∣∣Gv∣
Masques de convolution :
Profils de contours (toit à gauche et marche à droite) idéaux et bruités
Détection des contours (4)
Résultats de l'application du filtre deSobel (l'amplitude G est visualisé) :
On voit clairement que l'opération dedérivation (filtrage passe-haut) aaccentué le bruit dans l'image.
Les contours dont la réponse (l'amplitude du gradient) est la plus élevée correpondent auxbilles noires : un seuillage peut être envisagé(par exemple) pour les distinguer.
Détecteur de Laplace : les opérateurs linéaires basés sur la dérivée première(gradient) sont tous directionnels : ils privilégient des directions (le détecteur deSobel privilégie les horizontales et les verticales). Le détecteur de Laplace est unopérateur linéaire isotrope utilisant une approximation discrète de la dérivéeseconde spatiale (laplacien) sur un voisinage (3x3). Seule, l'amplitude peut êtredéterminée :
Voici deux masques de convolution du détecteur de Laplace correspondant à deuxapproximations possibles de la dérivée seconde spatiale dans un voisinage (3x3) :
Détection des contours (5)
OL=1/8[ 0 −1 −1−1 8 −1−1 −1 −1]OL=1/4[ 0 −1 0
−1 4 −10 −1 0 ]
L u ,v =∇ 2 I u , v =∂2 I∂u2
∂2 I∂ v2≈I u , v ∗OL
Détection des contours (6)Image originale
Amplitude du gradient (Sobel) Laplacien
- Les contours correspondent aux passagesà zéro du Laplacien de l'image.
- Etant basé sur la dérivée seconde, le Laplacienamplifie plus le bruit que le filtre de Sobel.
Détection des contours (7)
Affinement des contours : les contours sont réduits à un pixel d'épaisseur parla méthode de la suppression des non-maxima locaux.
Grossissement d'une portion de l'image de droite
Détecteur de Harris (1986) :
où I(u,v) est l’intensitélumineuse au point (u,v)
Si , en certains points, les valeurs singulières de la matrice M sont élevées,alors un petit déplacement dans n’importe quelle direction induira uneimportante modification sur l’intensité des niveaux de gris. Cela indique queces points sont des coins. La fonctionproposée par Harris est la suivante :
où k est une constante, dont la valeur dépend de l’échelle de la localisationdu coin (k=0.04 est une suggestion de Harris, mais une approchemulti-échelle est plus appropriée).
r=det M −k [ traceM ]2
M=[ ∂ I∂u
2
∂ I∂u ∂ I
∂ v ∂ I∂u ∂ I
∂ v ∂ I∂ v
2 ]Détection des coins (1)
Remarques : un coin est défini comme un maximum local de la fonction r ,
un coin a un contenu informatif important et sa détection par le détecteurde Harris est invariant par rotation et par changement affine de la luminosité.
une précision sub-pixel peut être obtenue pour la localisation par approx-imation quadratique du voisinage du coin,
afin d’éviter de détecter des « faux » coins (outliers) conséquemment àdu bruit dans l’image, il peut être judicieux de filtrer les images (contenantles composantes de M) avec une fonction gaussienne.
Détection des coins (2)
Application à l'appariement d'un couple d'images (640x480) par mise en correspondance géométrique de points (approx. 500 pts détectés par le filtre de Harris)
Détection des coins (3)
Opérations ponctuelles entre les images
Opérations ponctuelles entre les images (2)
Normalisation et comparaison entre images
Une manière simple de comparer deux images Ii et Ij (de dimensions NxN)consiste à calculer la corrélation croisée normalisée C
ij définie en chaque
pixel (xi,yi) de Ii et (xj,yj) de Ij . Celle-ci est définie de manière incrémentale,tout d'abord par- la moyenne :
- le produit scalaire :
- la norme L2 :
I i xi , y i=1
2 N12∑u=−N
u=N∑v=−N
v=NI ix iu , y iv
I i , I j xi , yi , x j , y j=1
2 N12∑u=−N
u=N∑v=−N
v=N I ix iu , y iv − I ix i , y i .
I j x ju , y jv − I j x j , y j
∣I i∣x i , y i=I i , I ixi , yi , xi , yi
Normalisation et comparaison entre images (2)
La corrélation croisée normalisée Cij :
On essaie de touver le correspondant dans l'image Ij par corrélation. Pour unpixel (xi,yi) de Ii, on estime la ressemblance du pixel (xj,yj) de Ij. Pour cela, oncompare les pixels autour de (xi,yi) et de (xj,yj). Plus précisément, on mesurela corrélation entre deux fenêtres autour de ces points.
C ij xi , yi , x j , y j=I i , I jx i , y i , x j , y j
∣I i∣ xi , y i ∣I j∣ x j , y j
Normalisation et comparaison entre images (3)
Exemple : comparaison des images droites et gauche par calcul de lacorrélation croisée normalisée des voisinages (en bleu) ci-dessous :
Normalisation et comparaison entre images (4)
PPV dans les 5 voisinages (7x7) définis de la figure précédente
0.9870.280-0.4540.5040.0830.2080.7860.1640.488-0.272-0.7460.1470.773-0.390-0.1820.7190.511-0.4670.750-0.0530.191-0.387-0.163-0.3990.964
Valeurs de la corrélation (croisée) c pour toutes les combinaisonspossibles des 5 voisinages
Une autre manière de comparer deux images (ou une image et une imagette ou une image et un objet) est d'utiliser les moments,en continue :
en discret :
f(x,y) est la fonction de caractérisation de la distribution de l'intensité au sein de la région R.
Les moments centrés :
mpq=∫−∞∞
∫−∞∞
x p yq f x , y dx dy
pq=∑x∈R∑y∈R x−x p y−y q f x , y
mpq=∑x∈R∑y∈R
x p yq f x , y
En formant la matrice symétrique J ci-contreet correspondant aux moments centrées d'unerégion, il est possible d'en déterminer son orien-tation : celle-ci est donnée par la direction duvecteur propre de la matrice J associée à laplus petite valeur propre.
J=[ 02 −11
−11 20 ]
Les moments centraux normalisés (pour p+q = 2,3,...,) :
Les moments centraux normalisés sont invariants par changement d'échelle de la région R
Les moments de Hu (invariants par translation, changement d'échelle et rotation):
, = pq21etha pq=
pq
00
Chapitre 3. Transformationset Localisation 3-D
1. Transformations géométriques
transformationseuclidiennes similitudes transformations
affines
transformationsprojectives
3 (3)Projectif 1-D
2 (2)Affine 1-D
1 (2)Euclidien 1-D
Transformations(coordonnées homogènes)
Degrés de liberté (nb de points définissant une base)
Espaces
w [x '1 ]=[1 t x
0 1 ][x1 ]
w[x '1 ]=[a11 a12
0 1 ][x1 ]w [x '
1 ]=[a11 a12
a21 1 ][x1 ]
Géométrie mono-dimensionnelle
Transformations géométriques (2)
6 (3 non colinéaires)Affine 2-D
8 (4, aucun triplet colinéaire)
Projectif 2-D
4 (3 non colinéaires)Similitude 2D
3 (3 non colinéaires)Euclidien 2-D
Transformations(coordonnées homogènes)
Degrés de liberté (nb de points définissant une base)
Espaces
w [x 'y '1 ]=[a11 a12 a13
a21 a22 a23
a31 a32 a33][xy1 ]=[ A t
vT a33 ]xy1,det≠0
Géométrie bi-dimensionnelle
w [x 'y '1 ]=[r11 r12 t x
r 21 r22 t y
0 0 1 ][xy1 ], RT R=I ,det R =1
w [x 'y '1 ]=[sr 11 sr12 t x
sr 21 sr 22 t y
0 0 1 ][xy1 ] , RT R=I ,det R =1
w [x 'y '1 ]=[a11 a12 a13
a21 a22 a23
0 0 1 ][xy1 ] ,
Transformations géométriques (3)
12 (4 non coplanaires)Affine 3-D
15 (5, aucun quadruplet coplanaire)
Projectif 3-D
7 (4 non coplanaires)Similitude 3-D
6 (4 non coplanaires)Euclidien 3-D
Transformations(coordonnées homogènes)
Degrés de liberté (nb de points définissant une base)
Espaces
w[x 'y 'z '1 ]=[
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44]⋅[xyz1 ],det≠0
w [x 'y 'z '1 ]=[ R t
0T 1 ]⋅[xyz1 ] , RT R=I ,det R =1
w [x 'y 'z '1 ]=[sR t
0T 1 ]⋅[xyz1 ], RT R=I ,det R =1
w [x 'y 'z '1 ]=[
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
0 0 0 1]⋅[xyz1 ],
Géométrie tri-dimensionnelle
Transformations géométriques (4)
La géométrie projective simplifie l’étude des processus de vision. Nous nous intéresserons tout particulièrement à deux types de transformations projectives :
• La projection perspective qui est une transformation linéaire d’un espace projectif Pn vers un espace projectif Pn-1,(exemple: P3 vers P2 ) :
•
• L’homographie (ou collinéation) qui est une transformation linéaire bijective d’un espace projectif Pn vers lui-même ,(exemple: P2 vers P2 ) :
w⋅[x 'y'1 ]=[h11 h12 h13
h21 h22 h23
h31 h32 h33]⋅[xy1 ]
w⋅[x 'y'1 ]=[1 0 0 0
0 1 0 00 0 1 0 ]⋅[xyz1 ]
Transformations géométriques (5)
x1 , x2 , . . . , xn ,0
• Une homographie de Pn a (n+1)x(n+1)-1 degrés de liberté et peut être déterminée à partir de la correspondance entre n+2 points.
• Une base projective de Pn est constituée de n+2 points, tout ensemble de n+1 de ces points étant linéairement indépendant.
• Les points à l’infini de Pn sont les points de coordonnées homogènes :
• Un point à l’infini est équivalent à une direction de Pn.
• Une transformation affine transforme un point à l’infini en un autre point à l’infini.
Transformations géométriques (6)
Transformations géométriques (7)
[A tvT a33 ]⋅xy0=Axy vT xy
A partir d’une transformation affine 2-D :
A partir d’une transformation projective 2-D :
[ A t0T 1 ]⋅xy0 =Axy 0
2. Estimation de pose (1)
•La relation géométrique entre une scène 3-D et un plan imagela plus courante (issue des modèles de lentilles minces) est baséesur la projection perspective :
• une translation 3-D, une rotation 3-D (objet caméra)• une projection perspective canonique (caméra image)• une transformation affine ( image pixel : matrice triangulaire).
C Q
Centre optique
PPlan image
Scène
objetaxe optique
x c
yc
z c
1=[ R t
0T 1 ]⋅x o
y o
z o
1z c uv1=[G x 0 uc 0
0 Gy vc 00 0 1 0 ]⋅x
c
y c
z c
1
• Modèle perspectif
Estimation de pose (2)
• Les principales hypothèses sous lesquelles ce modèle est validesont les suivantes :
• conditions de Gauss (inclinaison faible et rayons paraxiaux)• lumière monochromatique,• image plane,• plan image perpendiculaire à l’axe optique de l’objectif
• Les paramètres Gx, Gy, uc et vc sont les paramètres intrinsèques ausystème de vision matrice K.
• La transformation entre un objet rigide et le repère de la caméra est unetransformation euclidienne : les paramètres extrinsèques.
Gx=sx f / l x
G y= f / ly
z c u s
vs
1 =[1 0 0 00 1 0 00 0 1 0 ]
Π
⋅ xc
y c
z c
1uv1=[s x f / l x 0 uc
0 f /l y v c
0 0 1 ]K
⋅us
v s
1
Estimation de pose (3)
• Effets non-linéaires :
• ils sont essentiellement dus à la forte courbure aux bordsdes lentilles de l’objectif,plus la longueur focale est faible, plus ces effets sont significatifs
Distorsion radiale
us=udDx
v s=vdD y
avec :Dx=ud κ1r2κ2 r 4. . .
D y=vd κ1 r2κ2 r4 . . . et :r=u
d 2vd 2
Estimation de pose (4)
Estimation de pose (5)
Cela consiste à déterminer les paramètres extrinsèques à partir desdonnées de l’image et d’un modèle géométrique de l’objet (et ensupposant que les paramètres intrinsèques sont connus).
localisation 3-D de l’objet.
La matrice réelle 3x4 M a 11 degrés deliberté. Il faut donc 6 correspondancesentre points de l’objet et points imagespour déterminer cette matrice.
La transformation euclidienne Mco (avec tz > 0) peut être déterminée àpartir de plusieurs correspondances entre points objets et pointsimages.
Un cas particulier très usuel : l’objet contient au moins 4 pointscoplanaires.
w⋅uv1=M⋅ x o
yo
zo
1=K⋅[R t ]
M co
⋅x o
y o
z o
1
• Problème inverse à partir du modèle perspectif
Estimation de pose (6)
Une homographie H = (hij) de plans existe entre 4 points coplanaires del’objet et le plan image. Elle est totalement déterminée (à un facteur près,h33 = 1) par la correspondance de ces 4 points et de leurs projections dansl’image.
Il s’agit de déterminer R = (c1, c2, c3) et t connaissant K :
et c3=c1∧c2
w⋅uv1 =H⋅ x o
yo
1 =K⋅[R t ]M co [1 0 0
0 1 00 0 10 0 0 ]
projection sur le plan z o =0
xo
y o
1
H=K⋅[c1 c2 t ]
• Problème inverse à partir du modèle perspectif : cas plan
Estimation de pose (7)
Chaque correspondance de points Pi Qi fournit deux équations du type :
avec et
, U est un vecteur arbitraire.
[−x − y −1 0 0 0 ux uy0 0 0 −x − y −1 vx vy ]
mT
⋅h11
h12
h13
h21
h22
h23
h31
h32
=[−u−v ]
k
k= k1T , k
2T , . . . , knT
Th=MT M −1 M T
M ¿
KV M=m1T , m
2T , . . . , mnT
T
V= I−M # M U
Estimation de pose (8)
On en déduit que : et
Pb : H est définie à un facteur d’échelle près,
on peut normaliser c1 ou c2 , mais la matrice R obtenue n’est pasforcément une matrice de rotation car
solution alternative : décomposer R en valeurs singulières (SVD) etforcer celles-ci à 1.
[c1 c2 t ]=K−1 H
RT R≠I
c3=c1∧c2
Problème
Les données constructeur d'un système de vision classique composé d'unobjectif, d'une caméra CCD analogique et d'une carte d'acquisition d'imagessur PC sont les suivantes:
focale 25 mmnombre éléments CCD 659 (H) x 494 (V)taille d'un élément CCD 10 x 10 (micro-mètres)taille de l'image (mémoire vidéo) 640 (H) x 480 (V)
En prenant le centre de projection comme origine du repère caméra, et les axes(u,v) du repère image comme direction et sens pour les axes (xc,yc) du repère caméra (l'axe zc pointant vers la scène), indiquer les valeurs des quatre composantes non nulles de la matrice A des paramètres intrinsèques dans les deux cas suivants:
a) le convertisseur analogique-numérique exploite le signal horloge-pixel délivré par la caméra (donc à un élément CCD dans la direction horizontale correspond un pixel),
b) le CAN n'exploite pas ce signal (tous les éléments CCD selon la direction horizontale (659) sont utilisés pour fournir 640 pixels.
Problème (suite)
On dispose sur un plan parallèle au plan image un ensemble de pastilles de 10 mm de rayon. Ce plan est à une distance de 400 mm (du centre de projection) de la caméra. Quel est la longueur focale de l'objectif à choisir (et donc éventuellement changer l'objectif de longueur focale f=25 mm) afin que les images des pastilles forment des cercles (ou éventuellement des ellipses quasiment circulaires) de périmètre supérieur à 250 pixels ?