36
1 Anatomie de la matrice caméra Patrick Hébert & Denis Laurendeau (Dernière révision : septembre 2016)

Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

1

Anatomie de la matrice caméra

Patrick Hébert & Denis Laurendeau (Dernière révision : septembre 2016)

Page 2: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

2

On se rappelle que l’expression de formation d’image sur un sténopé estdonnée par:

𝑝 = 𝑠 𝑚 = 𝐾3𝑥3 𝑅𝑡 − 𝑅

𝑡𝑡3𝑥4

𝑃𝑤 (1)

𝑝 = 𝐾 𝑅𝑡 𝐼 − 𝑡 𝑃

On peut mettre en évidence: 𝑅𝑡

(2)

position du repère ducentre de projection dans lerepère world

On peut condenser encore plus en écrivant:

𝑝 = 𝑃𝑐 𝑃 (3)

Page 3: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

3

On se rappelle aussi que la matrice possède 11 degrés de liberté: 𝑃𝑐

Type de degré de liberté Nombre

extrinsèque – rotation 3 angles

extrinsèque – translation 3 longueurs

intrinsèque - a, b, g, u0, v0 5 valeurs

Total 11

est une matrice 3 x 4 (12 éléments) pour laquelle on peut choisirpar exemple.

𝑃𝑐 𝑃𝑐(3,4) = 1

Page 4: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

4

Analyse des colonnes de la matrice caméra

Page 5: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

5

Revenant à (3), on peut écrire la matrice caméra en explicitant sesvecteurs colonnes:

𝑃𝑐 = 𝑃1 𝑃2 𝑃3 𝑃4 (4)

1. l’image de l’origine du repère “world” est donnée par la quatrièmecolonne de 𝑃𝑐

(5) 𝑝 = 𝑃1 𝑃2 𝑃3 𝑃4

0001

= 𝑃4

Page 6: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

6

2. les points de fuite correspondant aux trois directions du repère“world” sont:

Axe du repère “world” Point de fuite

X

Y

Z

𝑃1

𝑃2

𝑃3

En effet, on se rappelle que les points de fuite sont l’image de points situés à l’infini dans le repère “world”.

Page 7: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

7

On vérifie aisément que:

𝑝𝑓𝑢𝑖𝑡𝑒 𝑥 = 𝑃1 𝑃2 𝑃3 𝑃4

1000

= 𝑃1 (6) 𝑝𝑓𝑢𝑖𝑡𝑒 𝑦 = 𝑃1 𝑃2 𝑃3 𝑃4

0100

= 𝑃2 (7)

𝑝𝑓𝑢𝑖𝑡𝑒 𝑧 = 𝑃1 𝑃2 𝑃3 𝑃4

0010

= 𝑃3 (8)

Page 8: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

8

3. projection inverse (i.e. rayon projecteur)

Dans une image, avec le modèle sténopé, nous connaissons deuxpoints sur le projecteur:

- le centre de projection du sténopé 𝐶

- le point où est la matrice pseudo-inverse de (qui est une matrice 3 x 4 pour laquelle seule la pseudo-inverse peut être calculée)

𝑃+ 𝑝 𝑃

+ 𝑃𝑐

Page 9: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

9

Rappelons que la pseudo-inverse est: 𝑃𝑐+ = 𝑃𝑐

𝑡 𝑃𝑐 𝑃𝑐𝑡 −1

et que: 𝑃𝑐 𝑃𝑐+ = 𝐼

𝑃+ 𝑝On vérifie que est bien sur le projecteur car:

𝑃𝑐 𝑃𝑐+ 𝑝 = 𝐼 𝑝 = 𝑝

qui est le point image et est par conséquent sur le projecteur.

Page 10: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

10

L’équation du projecteur passant par et est donnée par : 𝑐 𝑃𝑐+ 𝑝

𝑋(𝜆) = (1 − 𝜆) 𝑐 + 𝜆 𝑃𝑐+ 𝑝 (9)

Si 𝑐 = 0

On a alors simplement:

𝑋(𝜆) = 𝜆 𝑃𝑐+ 𝑝 (10)

Page 11: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

11

Estimation de la matrice caméra (prise 2)

Page 12: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

12

Quand nous avons vu le calibrage des caméras, nous avonscouvert comment les éléments de la matrice caméra peuventêtre obtenus en solutionnant un système d’équationssurdéterminé exploitant les appariements entre les points 3D d’une cible et leur image.

Nous allons revenir sur ce concept pour y ajouter quelquesnotions complémentaires.

Page 13: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

13

Pour estimer la matrice caméra nous assumons que nous disposons de correspondances entre des points objets et leurs images sur le plan image du sténopé.

Pour chaque appariement, nous avons que:

𝑃𝑐

𝑃𝑖 𝑝𝑖

𝑝𝑖 = 𝑃𝑐 𝑃𝑖 (11)

Le vecteur est parallèle au vecteur . Comme nous travaillonsen coordonnées homogènes, ils ne sont pas nécessairement égaux, mais ils sont parallèles.

𝑝𝑖 𝑃𝑐 𝑃𝑖

Page 14: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

14

Les vecteurs étant parallèles, leur produit vectoriel est nul et on peut par conséquent écrire:

𝑝𝑖 × 𝑃𝑐 𝑃𝑖 = 0 (12)

𝑃𝑐 =

𝑃𝑐1𝑇

𝑃𝑐2𝑇

𝑃𝑐3𝑇

On peut exprimer comme: 𝑃𝑐

(13)

où est la ième ligne de 𝑃𝑐𝑖 𝑃𝑐

Page 15: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

15

En utilisant (13)

𝑝𝑖 × 𝑃𝑐 𝑃𝑖 = 0 (12)

On peut écrire:

𝑥𝑖

𝑦𝑖

𝑤𝑖

×

𝑃𝑐1𝑇 𝑃𝑖

𝑃𝑐2𝑇 𝑃𝑖

𝑃𝑐3𝑇 𝑃𝑖

= 0 (14)

Page 16: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

16

On peut ensuite développer le produit vectoriel et en arriver aux trois équations suivantes:

(15)

0𝑡 −𝑤𝑖 𝑃𝑖𝑡 𝑦𝑖 𝑃𝑖

𝑡

𝑤𝑖 𝑃𝑖𝑡 0𝑡 −𝑥𝑖 𝑃𝑖

𝑡

−𝑦𝑖 𝑃𝑖𝑡 𝑥𝑖 𝑃𝑖

𝑡 0𝑡

𝑃𝑐1

𝑃𝑐2

𝑃𝑐3

= 0

Seulement deux de ces équations sont indépendantes car la troisième peut être obtenue en multipliant la deuxièmeéquation par et en l’addtionnant à la troisième multipliéepar

𝑦𝑖

𝑤𝑖

Page 17: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

17

En ne conservant que les deux premières équations on a finalement:

(16) 0𝑡 −𝑤𝑖 𝑃𝑖𝑡 𝑦𝑖 𝑃𝑖

𝑡

𝑤𝑖 𝑃𝑖𝑡 0𝑡 −𝑥𝑖 𝑃𝑖

𝑡

𝑃𝑐1

𝑃𝑐2

𝑃𝑐3

= 0

La matrice possède 12 éléments et 11 degrés de liberté, on a besoin de 11 équations pour estimer ces éléments. Commechaque correspondance fournit deux équations (voir (16)), ilfaut donc 5 ½ correspondances. Ceci signifie qu’une équation de (16) peut être ignorée. On a donc a solutionner un systèmehomogène à 11 équations et 11 inconnues.

𝑃𝑐

Page 18: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

18

Cette approche à 5 ½ correspondances fonctionne quand il n’y a pas de bruit dans les données, ce qui n’est généralement pas le cas en pratique.

Dans le cas pratique, on utilise un nombre de correspondancesbeaucoup plus grand que 5 ½ et on solutionne un systèmesurdéterminé. On prend N paires d’équations (16) avec N > 5 ½et on forme un système d’équations linéaires homogènesurdéterminé de la forme:

𝐴 𝑃 = 0 (17)

Page 19: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

19

On pose une contrainte comme, par exemple:

‖𝑃‖ = 1 (18)

et on minimise l’erreur algébrique:

‖ 𝐴 𝑃‖ (19)

La solution est trouvée par décomposition en valeurs singulièreset est la colonne de la matrice associée à la plus petite valeursingulière.

𝑉

Page 20: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

20

Pour que la solution obtenue soit stable sur le plan numérique ilest recommandé de:1. normaliser les données image:

1. centrer les données (i.e. exprimer les coordonnées des points images par rapport au centre de gravité);

2. mettre les données image à l’échelle de sorte que la plus grande distance à l’origine n’excède pas ;

3. centrer les points objets (par rapport au centre de gravité)

4. mettre les données objet à l’échelle pour ne pas que la distance maximum à l’origine soit .

2

< 3

Page 21: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

21

Généralement, la minimisation de l’erreur algébrique n’est pas idéale parce qu’elle ne tient pas compte du problème physique mais seulement de la minimisation de l’erreur de la solution d’un système linéaire surdéterminé.

Or, la minimisation de l’erreur algébrique d’un tel système n’aaucun rapport avec le fait que le problème soit relié à la vision artificielle et à la formation d’image.

Il y a une approche plus judicieuse de procéder qui est proposéedans ce qui suit.

Page 22: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

22

Minimisation de l’erreur géométrique

Page 23: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

23

Quand une cible de calibrage précise est utilisée pour estimer ,une meilleure approche de solution consiste à minimiser l’erreur géométrique qui est définie comme suit:

𝑃𝑐

𝑖

𝑑( 𝑝𝑖 , 𝑝⌢

𝑖

2

(20)

où: 𝑝𝑖 est le point image d’un point de la cible

𝑃𝑐 𝑃𝑖

est le point image obtenu en utilisant l’estimationde la matrice caméra (i.e. )

𝑝⌢

𝑖

Page 24: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

24

Cette solution de minimisation de l’erreur géométrique s’obtientgrâce à une méthode d’optimisation non-linéaire (Levenberg-Marquardt) utilisant le résultat de l’approche de minimisation de l’erreur algébrique comme solution de départ.

Page 25: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

25

Prise en compte de la distorsion radiale dans le calibrage de la caméra

Page 26: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

26

Nous avons vu que la distorsion radiale influence le contenugéométrique de l’image sans en affecter la netteté.

Nous avons identifié deux types de distorsion radiale.

Aucune distorsion Distorsion négative(“pincushion”)

Distorsion positive(“barrel-type”)

Page 27: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

27

On visualise l’effet de la distorsion radiale comme sur la figure ci-dessous

point principal

point sansdistorsion

point avec distorsion positive

point avec distorsion négative

Le point sans distorsion se déplace radialement par rapport au point principal de l’image

Nous allons voir comment on peut modéliser (et calibrer) cecomportement.

Page 28: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

28

Si on adopte la convention suivante pour les différentesvariables en jeu:

Coordonnées normalisées sans distorsion Coordonnées normalisées avec distorsion

Coordonnées réelles (inconnues) sans distorsion Coordonnées réelles (inconnues) avec distorsion

𝑢, 𝑣

𝑢, 𝑣

𝑢⌣

, 𝑣⌣

𝑢⌣

, 𝑣⌣

Page 29: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

29

En considérant la géométrie ci-dessous

𝑢0, 𝑣0 point principal

plan image normalisé

plan image réelu

v

𝑢⌣

, 𝑣⌣

𝑢, 𝑣 non-distorsionné, normalisé

distorsionné, normalisé

𝑢, 𝑣

𝑢⌣

, 𝑣⌣

Page 30: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

30

La distorsion radiale est modélisée comme suit:

𝑢⌣

= 𝑢 + 𝑢 𝜅1 𝑢2 + 𝑣2 + 𝜅2 𝑢2 + 𝑣2 2 (21)

𝑣⌣

= 𝑣 + 𝑣 𝜅1 𝑢2 + 𝑣2 + 𝜅2 𝑢2 + 𝑣2 2 (22)

En supposant le paramètre intrinsèque (i.e. les axes de coordonnéessont perpendiculaires), les coordonnées réelles sont, en fonction des coordonnées du plan image normalisé:

𝜃 = 90∘

𝑢 = 𝛼 𝑢 + 𝑢0 𝑣 = 𝛽 𝑣 + 𝑣0(23) (24)

Page 31: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

31

De la même façon, on a que:

𝑢⌣

= 𝛼 𝑢⌣

+ 𝑢0 𝑣⌣

= 𝛽 𝑣⌣

+ 𝑣0(25) (26)

Avec (21), (22), (23) et (24), on peut écrire (25) et (26) comme suit:

𝑢⌣

= 𝑢 + 𝑢 𝜅1 𝑢2 + 𝑣2 + 𝜅2 𝑢2 + 𝑣2 2 (27)

𝑣⌣

= 𝑣 + 𝑣 𝜅1 𝑢2 + 𝑣2 + 𝜅2 𝑢2 + 𝑣2 2 (28)

Page 32: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

32

La distorsion radiale peut être considérée comme étant faible.

On peut estimer les autres paramètres intrinsèques avec unel’approche vue précédemment sur le calibrage de caméras eningnorant la distorsion. Ce modèle donne les coordonnéesidéales.

On considère ensuite les paires et pour chaquepoint de calibrage considéré dans plusieurs images. si on a m points de calibrage et n images, on obtient un système de 2 mnéquations à 2 inconnues ( et )

𝑢, 𝑣 𝑢⌣

, 𝑣⌣

𝜅1 𝜅2

Page 33: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

33

𝑢 𝑢2 + 𝑣2 𝑢 𝑢2 + 𝑣2 2

𝑣 𝑢2 + 𝑣2 𝑣 𝑢2 + 𝑣2 2

𝜅1

𝜅2=

𝑢⌣

− 𝑢

𝑣⌣

− 𝑣

répété pour chaque point dans les images

On peut écrire le systèmes d’équations :

𝐷 𝑘 = 𝑑

(29)

(30)

La solution par moindres carrés est donnée par:

𝑘 = 𝐷𝑡 𝐷

−1 𝐷

𝑡 𝑑 (31)

Page 34: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

34

Une fois les paramètres de distorsion estimés, on peut raffinerl’estimation des autres paramètres intrinsèques en refaisont uneboucle et en estimant à nouveau les paramètres de distorsion. On alterne ainsi jusqu’à convergence.

Il est important que, pour l’estimation des paramètres de distorsion, il faut faire l’acquisition de plusieurs images couvrantle champ de vision et la profondeur de champ de la caméra.

Page 35: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

35

Résumé de l’approche de calibrage incluant la modélisation de la distorsion radiale

Acquisition des images

Page 36: Anatomie de la matrice caméra - Université Lavalwcours.gel.ulaval.ca/2017/a/GIF4100/default/5notes/A2016... · 2017-10-06 · 3 On se rappelle aussi que la matrice possède 11 degrés

36

Résumé de l’approche de calibrage incluant la modélisation de la distorsion radiale

Procédurealgorithmique

Procéder à un premier calibrage sans tenir compte de la distorsion et enminimisant l’erreur algébrique

Effectuer une première estimation des paramètres de distorsion

Utiliser la matrice caméra pour reprojeter les points de la cible sur le modèle de sténopé

Effectuer un calibrage des paramètres intrinsèques et extrinsèques enminimisant l’erreur géométrique

Reprojeter les points de la cible en tenant compte de la distorsion

Estimer les paramètres de distorsion

Reprojeter les points de la cible en tenant compte de la distorsion Convergence?

Non

OuiRécupérer les paramètres intrinsèques, extrinsèques et de distorsion radiale