Académique Documents
Professionnel Documents
Culture Documents
la robotique
David Filliat
Unité Informatique et Ingénierie des Systèmes
Équipe Robotique et Vision
Objectifs du cours
Perception pour la robotique
– Perception 2D, passive (Vision)
Responsables cours :
– David Filliat david.filliat@ensta-paristech.fr
– François Goulette francois.goulette@mines-paristech.fr
David Filliat
Unité Informatique et Ingénierie des Systèmes
Équipe Robotique et Vision
Qu’est-ce que la vision ?
Percevoir le monde
– Structure 3D
– Composé d’objets
– Efficacement interprété par l’être humain
Info recueillie
– Ensemble de points
– Pixels -> info sur la lumière
– Quantité et contenu spectral/couleur
Comment « voir » les objets ?
– Les objets n’existent pas sur la rétine
– Interprétation -> processus visuel
– Problème d’inversion mal posé
Traitements Modélisation
Connaissances
Image
a priori
Analyse
Interprétation
Description
pour la tâche
Exploitation
David Filliat
Unité Informatique et Ingénierie des Systèmes
Équipe Robotique et Vision
Objectifs de cette séance
Trouver dans l’image des informations pertinentes pour
– Reconstruire la 3D d’un objet / environnement
– Cartographie d’environnement (amers)
– Détection d’objets, de personnes
– Reconnaissance de lieux
I(x,y)
RGB
Lab
HSV
€
è
Cross corrélation
– Invariance / luminosité et contraste
Validité ?
1 : E(u,v) ≈ 0
2 : E(u,v) ≈ 0 sur la ligne
3 : E(u,v) > 0 partout
Gradient
I Ix Ixx
– En 2 passes:
Information disponible ?
– Analyse du gradient sur une fenêtre -> SSD
– Contour ?
– Coin ?
– Réécriture de la SSD
A
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 34
Détection de coins
Détecteur de Harris
– Décomposition de A en valeurs propres λ1 et λ2
– si λ1 ≈ 0 et λ2 ≈ 0 è uniforme
– si λ1 ≈ 0 et λ2 > 0 è contour
– si λ1 > 0 et λ2 > 0 è coin
– Eviter la décomposition
– R = Det(A) – k trace(A)2 = λ1λ2 – k(λ1+λ2)2 > 0
– k ≈ 0,06
– Coins = max locaux de R
× è
max
× è
× è
Implémentation optimisée
Caractérisation de points
– Invariant translation : Patch luminance
– Invariant rotation : Histogrammes de gradient
Mise en correspondance
– SSD, L2, NCC …
David Filliat
Unité Informatique et Ingénierie des Systèmes
Équipe Robotique et Vision
Objectifs
Détection/Estimation du mouvement dans la scène
– Dû au mouvement de la caméra
– Mouvement des objets
Perception du mouvement apparent
– Champs des vecteurs de déplacement
– Flux optique
Malheureusement
!=
mouvement réel
Ambiguïtés
– Problème d’ouverture
– Aliasing temporel
Problème inverse
– Mal posé
– Besoin de régularisation
http://gpu4vision.icg.tugraz.at
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 55
Applications :
Détection / suivi d’objets
mouvement
« discontinuités » singularités
dominant
Distorsion perspective
(modèle sténopé) :
X
x= f
X Z
x
Y
f
Z
y= f
Z
⎛ X ' XZ ' ⎞
x' = f ⎜ − 2 ⎟ ⎛ − X '⎞
⎜Z Z ⎟ ⎛ x' ⎞ 1 ⎛− f 0 x ⎞⎜ ⎟
⎝ ⎠ Soit : ⎜
⎜ y' ⎟
⎟= Z ⎜
⎜ 0 ⎟⎜ − Y ' ⎟
⎛ Y ' YZ ' ⎞ ⎝ ⎠ ⎝ − f y⎟⎠⎜ − Z ' ⎟
⎝ ⎠
y' = f ⎜ − 2 ⎟
⎜Z Z ⎟
⎝ ⎠
X' X'
x' = f x Z = fx
Z soit
y' = 0 x'
X
x= f
X Z
x
Y
f
Z
y= f
Z
x’ proportionel à 1/Z
xZ' xZ'
x' = Z=
Z x'
soit
yZ' yZ'
y' = Z=
Z y'
€ € X
x= f
X Z
x
€ €
Y
f
Z
y= f
Z
⎛ X' Y'⎞
(x0,y0) =⎜ f ,f ⎟
⎝ Z' Z'⎠
foe
mouvement dans une scène statique :
fΛ Z λ Temps avant
λ' = − 2 Z ' et donc τ =− =
Z Z' λ ' collision
– Rotations de la caméra
è Cours précédent
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 70
Mise en correspondance (rappel)
Détection de points d’intérêt
– Éléments 1D : contours
– Eléments ponctuels : points d’intérêt, coins, Harris
– Eléments invariants / échelle : SIFT, SURF, MSER …
Caractérisation de points
– Invariant translation : Patch luminance
– Invariant rotation : Histogrammes de gradient
Mise en correspondance
– SSD, L2, NCC …
lumière lumière
incidente réfléchie
L’intensité de la lumière
réfléchie est la même dans
toutes les directions.
y y + δy typiquement
: B de taille
It It+1 9×9, 15×15...
EXHAUSTIF K
y y y
x x x
∂I ∂I ∂I
Taylor : I ( x + δx, y + δy, t + 1) ≈ I ( x, y, t ) + δx + δy +
€ ∂x ∂y ∂t
2
% ∂I ∂I ∂I (
SSD(δx,δy) ≈ ∑ ' δx + δy + *
(x,y )∈B &
∂x ∂y ∂t )
€
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 76
Calcul du flux optique
(2) Techniques différentielles
Minimum == dérivée nulle / δx δy
$ ∂I ∂I ∂I ' ∂I
2 ∑ & δ x + δy + ) = 0
(x,y )∈B % ∂x ∂y ∂t ( ∂x
$ ∂I ∂I ∂I ' ∂I
2 ∑ & δ x + δy + ) = 0
(x,y )∈B % ∂x ∂y ∂t ( ∂y
% ∂I 2 ( &− ∑ ∂I ∂I )
'(x,y∑ ∑
( ∂x ) ∂I ∂I
∂x ∂y
* ( (x,y )∈B∂x ∂t +
€
H.v = b H ='
)∈B (x,y )∈B
2 * b=( ∂I ∂I +
' ∑ ∂I∂x ∂I∂y ∑( ) ∂I
∂y * (− ∑ ∂y ∂t +
& (x,y )∈B (x,y )∈B ) ' (x,y )∈B *
Contour rectiligne :
1 seule grande valeur propre Fonction d’appariement SSD
Point anguleux :
2 valeurs propres importantes Fonction d’appariement SSD
∂I ∂I
∇I = ( , ) gradient spatial
∂I ∂x ∂y
SOIT : ∇I ⋅ v + = 0
∂t avec v = (v xt ,v yt ) inconnues
∂I gradient temporel
Equation de contrainte
du mouvement apparent (ECMA) ∂t
ou : équation du flot optique
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 82
Calcul du flux optique
(3) Contrainte du mouvement
Interprétation graphique ECMA ∂I
∇I ⋅ v + = 0
∂t
Droite de contrainte :
v ty
v vitesse vraie
v̂ vitesse
calculée
∇I ( x , y , t )
pb d’ouverture : ∂I ∂t
sous-contrainte vˆ = v̂
(1 eq., 2 inc.) ∇I v t
v x
Régularisation
⎡ 2 t 2 t 2 t 2 t 2⎤
t t t ⎛ ∂I ⎞ ⎛ ∂vx ⎞ ⎛ ∂vx ⎞ ⎛ ∂v y ⎞ ⎛ ∂v y ⎞
C( x , y ) (vx , v y ) = ⎜ ∇I ⋅ v + ⎟ + λ ⎢⎜⎜ ⎟⎟ + ⎜⎜ ⎟⎟ + ⎜ ⎟ +⎜ ⎟ ⎥
⎝ ∂t ⎠ ⎢⎝ ∂x ⎠ ⎝ ∂y ⎠ ⎜⎝ ∂x ⎟⎠ ⎜⎝ ∂y ⎟⎠ ⎥
⎣ ⎦
ECMA
REGULARISATION
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 84
Calcul du flux optique
(3) Contrainte du mouvement
Minimisation de C
2
C(x,y ) (u,v) = ( Ix u + Iy v + It ) + λ ( ux2 + uy2 + v x2 + v y2 )
(u,v) composantes du champ (inconnues) à calculer
{Ix, Iy, It} dérivées partielles de l’image
€
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 85
Calcul du flux optique
(3) Contrainte du mouvement
Minimisation de C
(I u + I v + I )I
x y t x + λΔu = 0
∂2 u ∂2 u
(I u + I v + I )I
x y t y + λΔv = 0 Δu =
∂x 2
+
∂y 2 Laplaciens de u et v
avec :
∂ 2v ∂2v #−1 −1 −1&
% (
Δv = 2
+ % −1 8 −1 (
€ ∂x ∂y 2 %$−1 −1 −1('
€ ~ ~
Approximation du Laplacien : ∇2
f = f − f f = moyenne de f dans un voisinage
€
(v − v˜ )( Ix2€+ Iy2 + λ) = −Iy ( Ix u˜ + Iy v˜ + It )
soit :
(u − u˜ )( Ix2 + Iy2 + λ) = −Ix ( Ix u˜ + Iy v˜ + It )
ALGORITHME DE HORN
Soit, en reprenant les & SCHUNCK
notations originales, avec : 0 0
€ • Initialisation v: x = 0 v y = 0
∂I k−1 ∂I k−1 ∂I • Répéter jusqu’à convergence :
N = v˜ x + v˜ y + ∂I N
∂x ∂y ∂t v xk = v~xk −1 −
2
∂x D
% ∂I ( 2 % ∂I ( ∂I N
D= λ+' * +' * k ~ k −1
vy = vy −
& ∂x ) & ∂y ) ∂y D
(2) raffinement
• Initialisation v:( s0 ) x
0
= 0 v( s0 ) 0y = 0
(v(sn ) tx ,v(sn ) ty ) = arg max n C(x,y
t
) (δx,δy)
(δx,δy ) ∈K • Répéter jusqu’à
convergence : ∂I N
v( s ) t v( s0 ) kx = v~ ( s0 ) kx −1 −
n −1 x ∂x D
K (nx , y ) v( s0 ) ky = v~ ( s0 ) ky−1 −
∂I N
∂y D
B(x+δx,y+δy) v( sn −1 ) ty
0
• Init. v: ( s1 ) x = v( s0 ) ∞x v( s1 ) 0y = v( s0 ) ∞y
• Répéter jusqu’à
convergence : ∂I N
v( s1 ) kx = v~ ( s1 ) kx −1 −
I ∂x D
∂I N
v( s1 ) ky = v~ ( s1 ) ky−1 −
n
[ t
] [
avec K(x,y) = v ( sn−1) x ± Δ1 × v (sn−1 ) y ± Δ 2
t
] ∂y D
:
David Filliat – david.filliat@ensta-paristech.fr SAR - Vision et perception pour la robotique 89
Calcul du flux optique
(4) Estimation multi-échelle
Avantages
– Plus grand domaine de vitesse
– Diminution temps de calcul
– Régularisation implicite
– Résolution aliasing temporel
http://www.ensta-paristech.fr/~filliat/