Vous êtes sur la page 1sur 14

Université des Sciences et de la Technologie d’Oran « Mohamed Boudiaf »

Faculté de Génie Electrique – Département d’Electronique


Année Universitaire : 2018 / 2019
MASTERS : Electronique des Systèmes Embarqués (ESE)
NIVEAU : M2 – SEMESTRE 3
MODULE: VISION ARTIFICIELLE

Chapitre 7:
La Vision 3D
Partie 2:
Modélisation géométrique et calibration d’une caméra

Chargé du module: Pr. Abdelhamid LOUKIL Slide 1


7.2.1 Les repères choisis lors de la capture d’une scène 3D

Zc
Yi

Xc Xi

Yc

Repère Caméra lié à la lentille (3D): Rc (Xc,Yc,Zc) Repère Image lié à la rétine (2D): Ri (Xi,Yi)

u
Zo

Yo

v Xo

Repère d’affichage (2D): Ra (u,v) Repère Objet lié à la scène (3D): Ro (Xo,Yo,Zo)

Chargé du module: Pr. Abdelhamid LOUKIL Slide 2


7.2.2 Le modèle géométrique « Pin-hole linéaire »

Chargé du module: Pr. Abdelhamid LOUKIL Slide 3


7.2.3 Formulation mathématique du modèle « Pin-hole » linéaire

a. Passage du repère objet (Ro) au repère caméra (Rc)

Désignons par (Xo,Yo,Zo) les coordonnées du point objet « J » dans le repère objet (Ro) et (Xc,Yc,Zc) les
coordonnées de ce même point dans le repère caméra (Rc).

En utilisant la représentation matricielle homogène, le passage du repère (Rc) au repère (Ro) s’exprime par:

 X c   r11 r12 r13 tx   X o 


     
 Yc   r21 r22 r23 ty   Yo 
 Z  = r r r tz  *Z  (équation. 1)
 c   31 32 33   o
 1   0 0 0 1  1 
      
Tco 
Où:
* (tx,ty,tz) représentent les coordonnées du vecteur translation 𝐶𝑂
* (𝑟11 , 𝑟12 , …, 𝑟33 ) représentent les 9 éléments de la matrice de rotation entre les 2 repères. Ils définissent la
valeur des 3 rotations spatiales : le site , l’azimut  et le roulis .

La matrice [Tco] s'appelle « le modèle externe de la caméra » ou « La pose de la caméra ».


Les 6 paramètres à identifier sont : tx, ty, tz, , , et s’appellent: « paramètres externes de la caméra ».

Chargé du module: Pr. Abdelhamid LOUKIL Slide 4


b. Passage du repère caméra (Rc) au repère image (Ri)
Cette transformation a déjà été formulée dans la partie 1 de ce chapitre. Elle réalise la projection centrale du
point objet « J » de coordonnées (Xc,Yc,Zc) dans le repère (Rc) sur le plan d'équation: Zc = - f (f étant la focale de
l'objectif utilisé).
Les équations peuvent être obtenues par utilisation des triangles semblables ou le théorème de Thalès:

𝑋𝑐 𝑋𝑖 𝑌𝑐 𝑌𝑖
= 𝑒𝑡 =
𝑍𝑐 𝑓 𝑍𝑐 𝑓

Afin d’écrire ces deux équations sous forme


matricielle, nous prenons Zc comme paramètre
de proportionnalité.
En plus, il n’est jamais nul physiquement: Zc = s
Cela donnera l’écriture matricielle suivante:

𝑋𝑐
𝑠 . 𝑋𝑖 𝑓 0 0 0
𝑌
𝑠. 𝑌𝑖 = 0 𝑓 0 0 * 𝑐 (équation. 2)
𝑍𝑐
𝑠 0 0 1 0
1

Le paramètre à identifier ici est: la focale de l’objectif « f » (en mètres)

Le paramètre « s » dans l’équation matricielle justifie que la projection d’un rayon visuel (droite (C,J))
donnera une image unique (point I) sur la rétine. C’est la définition même de la projection centrale de
centre « C ».

Chargé du module: Pr. Abdelhamid LOUKIL Slide 5


c. Passage du repère image [rétine] (Ri) au repère d’affichage (Ra)

Cette transformation est une procédure qui consiste en une dilatation (zoom) suivant les deux axes (Xi) et (Yi),
suivie d’une translation d'origine.
Cela se traduit par les relations suivantes:

𝑢 = 𝑒𝑢 . 𝑋𝑖 + 𝑔𝑢
𝑣 = 𝑒𝑣 . 𝑌𝑖 + 𝑔𝑣

où:
o eu, ev sont les facteurs d'échelle suivant les deux axes (u)
et (v) en pixels/mètres.
o gu, gv sont les coordonnées du point i (centre optique de
la caméra) dans le repère d'affichage (Ra), appelées aussi
coordonnées du point principal – en pixels.
Ces quatre paramètres physiques sont liés aux caractéristiques
de la caméra CCD et de la carte d'acquisition de l'image.

𝑢 𝑒𝑢 0 𝑔𝑢 𝑋𝑖
Sous forme matricielle, la relation précédente s'écrit: 𝑣 = 0 𝑒𝑣 𝑔𝑣 ∗ 𝑌𝑖 (équation. 3)
1 0 0 1 1

Les 4 paramètres à identifier sont eu, ev, gu, gv.

Chargé du module: Pr. Abdelhamid LOUKIL Slide 6


Nous remarquons que l’expression reliant les coordonnées 3D de l’objet « J » dans le repère (Rc) aux
coordonnées « p » de son image dans le repère (Ra) sont fonction des seuls paramètres physiques de la
caméra. Ceci découle des 2 équations (équation.2 et équation. 3) comme suit:

𝑋𝑐 𝑋𝑐 𝑋𝑐
𝑠. 𝑢 𝑓. 𝑒𝑢 0 𝑔𝑢 0 𝐹𝑢 0 𝑔𝑢 0
𝑌 𝑌 𝑌 (équation. 4)
𝑠. 𝑣 = 0 𝑓. 𝑒𝑣 𝑔𝑣 0 ∗ 𝑐 = 0 𝐹𝑣 𝑔𝑣 0 ∗ 𝑐 = 𝑀𝑖𝑛𝑡 ∗ 𝑐
𝑠 𝑍𝑐 𝑍𝑐 𝑍𝑐
0 0 1 0 0 0 1 0
1 1 1

La matrice [Mint] s’appelle « Le modèle interne de la caméra » ou « matrice de la caméra ».


Les 4 paramètres à identifier sont: Fu, Fv, gu et gv et s’appellent: « paramètres internes de la caméra ».

d. Le modèle linéaire global de la caméra

A partir des deux équations (équation. 1) et (équation. 4), nous pouvons exprimer les coordonnées 3D de l’objet
« J » dans le repère (Ro) en fonction des coordonnées 2D de son image numérisée « P » dans le repère d’affichage
(Ra), comme suit:
𝑟11 𝑟12 𝑟13 𝑡𝑥 𝑋0
𝑠. 𝑢 𝐹𝑢 0 𝑔𝑢 0
𝑟 𝑟22 𝑟23 𝑡𝑦 𝑌
𝑠. 𝑣 = 0 𝐹𝑣 𝑔𝑣 0 ∗ 21 𝑟33 𝑡𝑧
∗ 0
𝑟31 𝑟32 𝑍0
𝑠 0 0 1 0 (équation. 5)
0 0 0 1 1

𝑀𝑖𝑛𝑡 𝑇𝑐𝑜

Chargé du module: Pr. Abdelhamid LOUKIL Slide 7


e. Exploitation du modèle linéaire global de la caméra

Connaissant le modèle linéaire global de la caméra (c.à.d les 4 paramètres internes : Fu, Fv, gu, gv, et
les 6 paramètres externes: tx,ty,tz,, , ) on l’exploiter dans les deux sens d’utilisation:

𝑟11 𝑟12 𝑟13 𝑡𝑥 𝑋0


𝑠. 𝑢 𝐹𝑢 0 𝑔𝑢 0
𝑟 𝑟 𝑟23 𝑡𝑦 𝑌
𝑠. 𝑣 = 0 𝐹𝑣 𝑔𝑣 0 ∗ 21 22 𝑟 𝑡𝑧
∗ 0
𝑟31 𝑟32 33 𝑍0
𝑠 0 0 1 0
0 0 0 1 1
Sens 1
Sens 2

• Calcul de la position de l’image d’un objet connu: sens (1 )


Etant données les coordonnées 3D d’un objet connu dans le repère scène Ro 𝑋𝑜 , 𝑌𝑜 , 𝑍𝑜 ,
nous pouvons calculer la position de l’image 𝑢, 𝑣 en utilisant l’équation 5.

• Calcul du rayon visuel (C,J) contenant l’objet recherché: sens (2 )


Etant données les coordonnées 2D de l’image d’un objet connues dans le repère d’affichage Ra 𝑢, 𝑣 ,
nous ne pouvons par calculer la position 3D de 𝑙 ′ 𝑜𝑏𝑗𝑒𝑡 𝑋𝑜 , 𝑌𝑜 , 𝑍𝑜 .
Seule l′équation de la droite liant le centre de la lentille ′C′ et l′objet recherché ′J′ peut être connue. Ceci
résulte du fait de la présence du paramètre ‘s’ dans l’équation 5.
C’est le procédé de la projection centrale qui fait perdre la troisième dimension.

Chargé du module: Pr. Abdelhamid LOUKIL Slide 8


7.2.4 Le modèle géométrique « Pin-hole non linéaire »
Une caméra réelle est loin d’être parfaite. Le modèle linéaire vu précédemment ne pourra être utilisé que pour des
capteurs de qualité professionnelle ou bien pour des capteurs usuels mais pour des utilisations qui n’exigent pas de
bonnes précisions. Dans le cas réel, l’image produite par une caméra est toujours distordue. Cela est du à plusieurs
imperfections, dont les plus signifiantes sont données ci-dessous:

a. La non-perpendicularité des axes (Xi,Yi) du plan image – rétine ( the skew error)

Xid et Yid sont les nouvelles coordonnées dans le repère (Ri)


avec la prise en compte de la distorsion de non perpendicularité
des axes rétiniens ( angle  très petit).

 Xid  Xi  Yid . sin  



 Yid  Yi (non modifié)

Ce qui donne après numérisation:

u  eu .(X id )  eu .(Yid ).sin (α )  gu u  eu .(X id )  γ.Yid  gu


  Avec : γ   eu .sin α 
 v  ev .Yid  gv  v  ev .Yid  gv

L’équation (éq.3) du modèle linéaire devient alors:

 u   eu  gu   Xid 
      Le nouveau paramètre interne

  
v 0 ev gv  
*
1  0 0 1   1 
Yid  (équation. 6)
à estimer est  (the skew)
     

Chargé du module: Pr. Abdelhamid LOUKIL Slide 9


b. Les distorsions radiales

Distorsion en tonneau

Image non distordue d’une grille

Distorsion en coussinet
Ce type de distorsion déplace l’image du point (Xi,Yi) vers le point (Xid,Yid).

rd2  Xid 2  Yid 2 et r 2  Xi 2  Yi 2 (équation. 8)

Tsai en 1987 montra que l’amplitude de cette déformation augmente en


fonction de l’éloignement de l’image par rapport au centre optique (centre de
la rétine), c.à.d. :

rd  r.(1  k1.r 2  k 2 .r 4  k3 .r 6  ...) (équation. 9)

Les nouveaux paramètres internes à estimer sont les coefficients


de distorsions radiales: k1, k2, k3, …

Chargé du module: Pr. Abdelhamid LOUKIL Slide 10


7.2.5 La calibration de caméra avec l’outil Matlab: « cameraCalibrator »

La première phase, consiste à réaliser puis


imprimer la mire de calibration.
La taille des carreaux doit être uniforme et
précise.

La deuxième phase, consiste à coller cette mire sur un plan rigide puis la photographier à l’aide du capteur à
calibrer depuis plusieurs points de vue. Plus le nombre d’images est grand, plus les résultats de la calibration sont
meilleurs.

Chargé du module: Pr. Abdelhamid LOUKIL Slide 11


La troisième phase, consiste à:
- Lancer l’utilitaire Matlab “cameraCalibrator” (disponible dans la boite à outils “Computer Vision
Toolbox” depuis 2014.
- Charger, à l’aide du bouton “Add images”, toutes les images capturées de la mire (voir phase 2).

Chargé du module: Pr. Abdelhamid LOUKIL Slide 12


La quatrième et dernière phase, consiste à lancer la calibration avec le bouton “Calibrate”. A l’issue de cette
phase, tous les paramètres internes et externes de votre caméra sont estimés et stockés dans le workspace de
Matlab.
Pour évaluer la qualité de l’estimation, un paramètre appelé “Overall Mean Error” est affiché dans la fenêtre
“Reprojection Errors”. Plus il est petit (< 1 pixel), plus la calibration est meilleure.

Chargé du module: Pr. Abdelhamid LOUKIL Slide 13


Les résultats de la calibration de caméra:

Chargé du module: Pr. Abdelhamid LOUKIL Slide 14