Anatomie de la matrice caméra - Université...

Preview:

Citation preview

1

Anatomie de la matrice caméra

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

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)

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

4

Analyse des colonnes de la matrice caméra

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

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”.

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)

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)

𝑃+ 𝑝 𝑃

+ 𝑃𝑐

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.

10

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

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

Si 𝑐 = 0

On a alors simplement:

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

11

Estimation de la matrice caméra (prise 2)

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.

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.

𝑝𝑖 𝑃𝑐 𝑃𝑖

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 𝑃𝑐𝑖 𝑃𝑐

15

En utilisant (13)

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

On peut écrire:

𝑥𝑖

𝑦𝑖

𝑤𝑖

×

𝑃𝑐1𝑇 𝑃𝑖

𝑃𝑐2𝑇 𝑃𝑖

𝑃𝑐3𝑇 𝑃𝑖

= 0 (14)

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

𝑦𝑖

𝑤𝑖

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.

𝑃𝑐

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)

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.

𝑉

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

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.

22

Minimisation de l’erreur géométrique

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. )

𝑝⌢

𝑖

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.

25

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

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”)

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.

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

𝑢, 𝑣

𝑢, 𝑣

𝑢⌣

, 𝑣⌣

𝑢⌣

, 𝑣⌣

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é

𝑢, 𝑣

𝑢⌣

, 𝑣⌣

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)

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)

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

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)

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.

35

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

Acquisition des images

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

Recommended