chapitre 2©cial:suivi_des...17/09/2017 1 vico 1 – ch. doignon télécom physique (edition...

24
17/09/2017 1 Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON Chapitre 2 De la scène 3D à l’image 2D 1 Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON 2 2.1 Acquisition d’images Synoptique générale de l’acquisition d’images

Upload: others

Post on 05-Jul-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

Chapitre 2 De la scène 3D à l’image 2D

1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

2

2.1 Acquisition d’images

Synoptique générale de l’acquisition d’images

Page 2: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

2

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

3

2.1 Acquisition d’images

Les capteurs de vision sont composés :

• des éléments photosensibles (CMOS/CCD) des caméras, • d’une série de lentilles formant l’optique de l’objectif, • d’une électronique d’acquisition (conversion courant-tension, filtrage analogique, CAN,

échantillonnage,…)

Des modèles mathématiques proposés pour rendre compte de l'information visuelle

géométrique sont basés sur :

• Toujours sur la projection perspective ou une de ses approximations (para-perspective, projection faible,…), issue du modèle des lentilles minces,

• Parfois incluant la distorsion radiale (effet non-linéaire : courbure des lentilles), • Rarement incluant aussi la distorsion tangentielle (autre effet non-linéaire : désalignement

des lentilles).

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

4

2.2 Modélisation géométrique

La géométrie projective est le support mathématique permettant l’étude des relations géométriques en vision par ordinateur. En particulier, deux types de transformations linéaires projectives sont employées : le projection perspective et l’homographie. Le terme linéaire s’entend au sens des espaces projectifs, ce qui induit l’emploi des coordonnées homogènes dans les relations mathématiques.

Projection perspective • La projection perspective (ou projection centrale), Π, est une transformation linéaire d’un

espace projectif 𝑷𝑛 vers un espace projectif 𝑷𝑛−1

Exemple ci-dessous, de 𝑷3 vers 𝑷2: Non bijective !

P

Q

C

Q : projection perspective de P

𝑃 =

𝑥𝑦𝑧𝑡

𝑄 = 𝑤𝑢𝑣1

𝑄 = Π 𝑃 = 1 0 0 00 1 0 00 0 1 0

𝑃

C : centre de projection

Page 3: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

3

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

5

2.2 Modélisation géométrique Les Homographies • L’homographie est une transformation linéaire bijective d’un espace projectif 𝑷𝑛 vers un

autre espace projectif 𝑷𝑛 . Les plus utilisées en vision par ordinateur sont les

homographies entre des plans projectifs (de 𝑷2 vers 𝑷2). Remarques :

• L’homographie entre deux plans sert à relier géométriquement plusieurs vues (plusieurs images d’une même scène), chacune étant modélisée par la modélisation perspective (uniquement pour des objets plans (2D) au sein d’une scène 3D, cf. exemple ci-après).

• L’homographie entre deux plans sert aussi à relier géométriquement un plan de la scène (plan objet) avec le plan de l’image.

• Ces deux homographies de plans diffèrent par la décomposition de leurs éléments et par les contraintes géométriques qu’elles doivent vérifier.

\\VBOXSVR\win-share\cours\ViCo-2017\videos\2007-Andreff_AV3Dpose.divx.avi

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

6

2.2 Modélisation géométrique

Les Homographies : exemple

Exemple ci-dessous pour l’homographie 𝐻 de 𝑷2 vers 𝑷2 entre deux vues; Elle est représentée par une matrice (3 × 3), avec det 𝐻 non nul, et à un facteur d’échelle près (d’où l’égalité à 3 barres : ≡ ) :

𝑄𝑖 ≡ 𝐻𝑖 𝑃 avec i = r ou l (r=right ; l = left)

𝑄𝑙 ≡ 𝐻 𝑄𝑟 avec 𝐻 =

ℎ11 ℎ12 ℎ13

ℎ21 ℎ22 ℎ23

ℎ31 ℎ32 ℎ33

(𝑃 appartient à un plan dans la scène) 𝑃

𝑄𝑟

𝐶𝑟

𝑄𝑟 et 𝑄𝑙 : projections perspectives de P

𝑄𝑟 = 𝑤𝑟

𝑢𝑟

𝑣𝑟1

𝑄𝑙

𝐶𝑙

𝑄𝑙 = 𝑤𝑙

𝑢𝑙

𝑣𝑙

1

𝐻 = 𝐻𝑙 𝐻𝑟−1

𝐻𝑙 𝐻𝑟

Page 4: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

4

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

7

2.2 Modélisation géométrique

Les Homographies

Remarques :

• Une homographie de 𝑷𝑛 vers 𝑷𝑛 est représentée par une matrice réelle ayant 𝑛 + 1 × 𝑛 + 1 − 1 degrés de liberté et peut être déterminée à partir de la

correspondance entre (𝑛 + 2) couple de points appariés.

• Une base projective de 𝑷𝑛 est constituée de (𝑛 + 2) points.

• Les points à l’infini de 𝑷𝑛 sont les points dont la (𝑛 + 1)-ième coordonnée (homogène)

est nulle: 𝑥 𝑦 0 (pour 𝑛 = 2).

• Une transformation affine transforme un point à l’infini en un autre point à l’infini. Une transformation affine transforme un point à distance finie en un autre point à distance finie. Seule, une transformation projective peut transformer un point à l'infini en un point situé à une distance finie (voir Chapitre 1). C’est donc entre autre le cas avec la projection perspective ou une homographie.

• Une homographie représente une transformation projective, mais elle peut aussi représenter une transformation affine.

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

8

2.2 Modélisation géométrique

Modélisation perspective : détails

La relation géométrique entre un objet d’intérêt d’une scène 3D et son image 2D (le plan contenant la vue de cet objet d’intérêt) par projection perspective, est en fait composée de trois transformations : euclidienne 3-D, projection 3-D vers 2-D et affine 2-D : une transformation euclidienne 𝑻 : la translation 3-D, 𝑡 et la rotation 3-D 𝑹 (entre le

repère de l’objet d’intérêt rigide (𝑅𝑜) dans la scène et le repère du capteur (𝑅𝑐)) constituent les paramètres extrinsèques (6 ddl). Ils représentent le point de vue :

𝑃𝑐 ≡ 𝑇 𝑃𝑜 ;

𝑥𝑐

𝑦𝑐

𝑧𝑐

1

= 𝑹 𝑡

0 0 0 1

𝑥𝑜

𝑦𝑜

𝑧𝑜

1

(𝑅𝑐) : a pour origine le centre de projection 𝐶, l’axe 𝑧 étant confondu avec l’axe optique (en pointillé ci-dessous) et dirigé vers la scène (convention).

(Ro) (Rc)

𝑃

𝐶 𝑇

𝑂

Page 5: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

5

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

9

2.2 Modélisation géométrique

Modélisation perspective : détails

une projection perspective : pour projeter le point 3-D 𝑃 de l’objet d’intérêt sur le plan du capteur (matrice des éléments photosensibles) : cette projection, appelée aussi projection centrale passe toujours par un point particulier, le centre de projection 𝐶 : on obtient le point 2-D 𝑄𝑠 à l’intersection avec le plan image :

𝑤𝑐𝑢𝑠

𝑣𝑠

1=

𝑓 0 00 𝑓 00 0 1

1 0 0 00 1 0 0

0 0 1 0

𝑥𝑐

𝑦𝑐

𝑧𝑐

1

donc : 𝑤𝑐 = 𝑧𝑐 .

Centre optique

Axe optique

C Q

Plan image Scène Plan image inversé (symétrique / C)

Q’

𝑓 0 0 00 𝑓 0 0

0 0 1 0

−𝑓 0 0 0 0 −𝑓 0 0

0 0 1 0

f f

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

10

2.2 Modélisation géométrique

Modélisation perspective : détails

une transformation affine du point 𝑄𝑠 dans le plan du capteur (𝑠 = sensor) (unité métrique) au point image 𝑄 (unité pixel) de la mémoire vidéo. Elle est représentée par une matrice triangulaire supérieure (3 × 3) :

𝑢𝑣1

=𝑠𝑥/𝑙𝑥 𝛾 𝑢𝑐

0 1/𝑙𝑦 𝑣𝑐0 0 1

𝑢𝑠

𝑣𝑠

1

On définit alors la matrice 𝑲 =𝐺𝑥 𝛾𝑓 𝑢𝑐

0 𝐺𝑦 𝑣𝑐0 0 1

=𝑠𝑥/𝑙𝑥 𝛾 𝑢𝑐

0 1/𝑙𝑦 𝑣𝑐0 0 1

𝑓 0 00 𝑓 00 0 1

Page 6: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

6

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

11

2.2 Modélisation géométrique

Modélisation perspective : détails

Matrice 𝑲 : (𝐺𝑥, 𝐺𝑦, 𝑢𝑐 , 𝑣𝑐 , 𝛾) sont les paramètres intrinsèques au système de vision. Ces

paramètres ne dépendent pas du point de vue :

• 𝑓 est la longueur focale de l’objectif, c’est la distance orthogonale entre le centre de

projection et le plan image.

• 𝑙𝑥 et 𝑙𝑦 sont les dimensions d’un élément photosensible. Le rapport 𝑙𝑥

𝑙𝑦 défini le rapport

d’aspect ou aspect ratio.

• (𝑢𝑐 , 𝑣𝑐) est un décalage, translation 2-D, entre l’origine de l’image et l’intersection avec le centre optique, appelé point principal.

• 𝛾 traduit un défaut d’orthogonalité sur le capteur, mais c’est une grandeur considérée comme nulle la plupart du temps avec les capteurs récents, en particulier les caméras optiques numériques.

𝑲 =𝐺𝑥 𝛾 𝑢𝑐

0 𝐺𝑦 𝑣𝑐0 0 1

; |𝐺𝑥| = 𝑠𝑥𝑓/𝑙𝑥 |𝐺𝑦| = 𝑓/𝑙𝑦

:

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

12

2.2 Modélisation géométrique

Modélisation perspective : détails

En rassemblant l’ensemble des matrices mises en jeu, on obtient une formulation assez compacte de la relation géométrique entre un point 3-D 𝑃 = (𝑥𝑜 , 𝑦𝑜 , 𝑧𝑜 , 1)

𝑇 dont les coordonnées sont exprimées (en mm le plus souvent) dans le repère (𝑅𝑜) attaché à l’objet d’intérêt et sa projection 𝑄 = 𝑤(𝑢, 𝑣, 1)𝑇 dans l’image 2-D, en pixels :

𝑄 ≡ 𝑀𝑐𝑜 𝑃 ou 𝑄 ∧ 𝑀𝑐𝑜 𝑃 = 0

et décomposée selon : La matrice réelle 𝑴𝑐𝑜 est de dimensions (3 × 4) et est définie à un facteur d’échelle près. Elle possède donc 11 composantes indépendantes (5 pour 𝑲, 3 pour 𝑹 et 3 pour 𝒕).

𝑤𝑢𝑣1

= 𝑲 𝑹 𝑡𝑴𝑐𝑜

𝑥𝑜

𝑦𝑜

𝑧𝑜

1

Page 7: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

7

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

13

2.2 Modélisation géométrique

Modélisation perspective : exercice

On dispose d’une caméra Allied Vision Technologies Manta G-125 composée de (1292 × 964) éléments photosensibles (capteur Sony ICX445). Chacun de ces photo-éléments, de forme carrée, a une taille de 3,75 micromètres. La sortie numérique est au format GigaEthernet (protocole standard Genicam) et permet le transfert de 30 images (chaque pixel est codé sur 8 à 12 bits au plus, permettant de coder l’intensité de la lumière sur 256 ou 4096 niveaux de gris) par seconde. L’image définie en mémoire vidéo une fois effectué le transfert des données de la caméra vers un ordinateur est avec une résolution de (1366 × 768) pixels. On installe sur la caméra une optique Pulnix de focale fixe 𝑓 = 8 mm.

Déterminer des valeurs approchées tous les paramètres intrinsèques (𝛾 est supposée nul) à ce système de vision (𝐺𝑥, 𝐺𝑦, 𝑢𝑐, 𝑣𝑐) sachant que l’origine des pixels de l’image en haut et à

gauche de l’image. L’axe 𝑥 de l’image est parallèle à l’axe horizontal du capteur et dans le même sens (vers la droite), l’axe 𝑦 de l’image est parallèle à l’axe vertical du capteur et dans le même sens (dirigé vers le bas); Ainsi le produit vectoriel 𝑧 = 𝑥 ∧ 𝑦 = −𝑥 ∧ −𝑦 est parallèle à l’axe optique et dirigé vers la scène. Même question mais pour respecter le ratio, on utilise toute la résolution du capteur Sony pour définir l’image numérique en mémoire vidéo.

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

14

Page 8: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

8

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

15

2.2 Modélisation géométrique

Modélisation perspective : exercice (suite)

Les signes de 𝐺𝑥 et 𝐺𝑦 sont déterminés par la manière dont on définit les sens des axes 𝑥 et

𝑦 du repère (Rc) de la caméra par rapport au repère de l’image. Ils sont positifs ici. Pour un point 3D donné 𝑃𝑜 dans (Ro) et sa projection dans l’image (𝑢 − 𝑢𝑐, 𝑣 − 𝑣𝑐), inverser le signe de 𝐺𝑦 revient à inverser celui de 𝑦𝑐 (𝑧𝑐 est toujours positif), et donc revient à inverser 𝑡𝑦 et

le 2ème vecteur ligne 𝑟2𝑇 de la rotation 𝑅. Même analyse avec le signe de 𝐺𝑥.

Format de l’image : 1366 × 768 = 1 049 088 pixels

|𝐺𝑥| =𝑠𝑥𝑓

𝑙𝑥=

1292

1366× 8 ×

103

3.75≈ 2017,8 ; |𝐺𝑦| =

𝑓

𝑙𝑦 = 8 ×

103

3.75 ≈ 2133,3

𝑢𝑐 =1366

2 ; 𝑣𝑐 =

768

2

A une ligne d’éléments photosensibles correspond une ligne de pixels (pas de correspondance exacte entre 1 élément photosensible et un pixel); Mais on a toujours la correspondance entre 1 ligne entière d’éléments photosensibles et 1 ligne entière de pixels (correspondance « 1 à 1 » selon la verticale). Le débit de transfert théorique des données effectives (données vidéo) vaut ici : 𝐷 = 30 × 1292 × 768 × 8 ≈ 238,1 M bits/s (256 niveaux de gris par pixel). A cela s’ajoute l’ensemble des champs (en-tête, adresses, ports, flags,…) d’une trame selon le protocole/couche de transport TCP (ou UDP) : on obtient alors les meilleurs débits avec de très grandes trames (jumbo frame), en configurant les MTU Ethernet jusqu’à la valeur de 9000 octets, et sur un sous-réseau spécifique.

𝑦𝑐 = 𝑟21𝑥𝑜 + 𝑟22𝑦

𝑜 + 𝑟23𝑧𝑜 + 𝑡𝑦

𝑣 − 𝑣𝑐 = 𝐺𝑦

𝑦𝑐

𝑧𝑐

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

16

2.2 Modélisation géométrique

Modélisation perspective : exercice (suite)

Format de l’image : 1292 × 964 = 1 245 488 pixels

𝐺𝑥 = 𝐺𝑦 =𝑓

𝑙𝑦= 8 ×

103

3.75 ≈ 2133,3 ; 𝑢𝑐 =

1292

2 ; 𝑣𝑐 =

964

2

Ces valeurs restent approximatives et sont seulement nominales. En particulier, on constate souvent en pratique des écarts entre la longueur focale annoncée par le fabricant et la longueur focale réelle. De plus, un décalage éventuel entre le centre de la matrice des éléments photosensibles et l’intersection de l’axe optique sur l’image (appelé point principal) ne peut pas être calculé (car il fait appel à deux éléments acquis souvent séparément et fixés par vissage); Si nécessaire, ce décalage et la longueur focale doivent être mesurés avec précision. Pour ce format, on maintient la correspondance « 1 à 1 » entre élément photosensible et pixel, ce qui est plus précis et plus efficace d’un point de vue énergétique (énergie lumineuse mieux capturée). Le débit de transfert théorique des données effectives (données vidéo) vaut ici : 𝐷 = 30 × 1292 × 964 × 8 ≈ 298,9 M bits/s (256 niveaux de gris par pixel).

Page 9: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

9

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

17

2.2 Modélisation géométrique

Modélisation des effets non-linéaires

Les effets non-linéaires sont essentiellement dus aux fortes courbures aux bords des lentilles des objectifs; ils engendrent un déplacement des pixels :

• Plus la longueur focale 𝑓 est faible, plus ces effets sont significatifs, • Il faut en général corriger ces effets indésirables pour effectuer un recalage précis

(Toolbox Matlab de J.-Y. Bouguet), à l’adresse

http://www.vision.caltech.edu/bouguetj/calib_doc/

• Modèle de Tsaï (1987) pour la prise en compte de la distorsion radiale : (RAC = Radial Alignment Constraint) :

𝑢𝑠 = 𝑢𝑑 +𝐷𝑥

𝑣𝑠 = 𝑣𝑑 + 𝐷𝑦 avec

𝐷𝑥 = 𝑢𝑑(𝑘1𝑟2 + 𝑘2𝑟

4 + ⋯)

𝐷𝑦 = 𝑣𝑑(𝑘1𝑟2 + 𝑘2𝑟

4 + ⋯) et 𝑟2 = 𝑢𝑑

2 + 𝑣𝑑2

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

18

2.2 Modélisation géométrique

Modélisation des effets non-linéaires (suite)

Mise en oeuvre des corrections :

réaliser un Backward warping avec les paramètres de distorsions estimés et

une interpolation des intensités de l’image corrigée (interpolation bilinéaire par exemple).

R1 = ((x2 – x)/(x2 – x1))*Q11 + ((x – x1)/(x2 – x1))*Q21 R2 = ((x2 – x)/(x2 – x1))*Q12 + ((x – x1)/(x2 – x1))*Q22

Page 10: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

10

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

19

2.2 Modélisation géométrique

Modélisation des effets non-linéaires (suite)

Mise en oeuvre des corrections :

réaliser un Backward warping avec les paramètres de distorsions estimés et

une interpolation des intensités de l’image corrigée (interpolations bilinéaire par exemple).

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

20

Page 11: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

11

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

21

2.3 Recalage 2D-3D rigide

2.3.1 Introduction A partir de la modélisation par la projection perspective (ci-dessus), le recalage 2D-3D consiste à déterminer la matrice 𝑨 et le vecteur 𝝉 (𝑨 = 𝑲𝑹 et 𝜏 = 𝑲𝑡) composant les colonnes de la matrice 𝑴𝑐𝑜 à partir :

• des données de l’image (par exemple, un ensemble de 𝑛 points image 𝑄𝑖 ) et • d’un modèle géométrique de l’objet d’intérêt perçu (par exemple, un ensemble de 𝑛

points 3-D 𝑃𝑖𝑜 ) et rigide.

(Ro)

𝑃 𝐶

𝑴𝑐𝑜 ?

𝑂

𝑄

Point principal

Repère image 𝐼

Repère Objet

Axe optique

𝑤𝑖

𝑢𝑖

𝑣𝑖

1= 𝑲 𝑹 𝑡

𝑴𝑐𝑜

𝑥𝑖𝑜

𝑦𝑖𝑜

𝑧𝑖𝑜

1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

22

2.3 Recalage 2D-3D rigide

2.3.1 Introduction Si la matrice 𝑲 est déjà identifiée (caméra étalonnée), il n’y a qu’ à déterminer 𝑹 et 𝑡, on parle alors de pose de caméra, de localisation d’objet (voir section 2.3.3).

La formulation vectorielle de la projection perspective 𝑄𝑖 ∧ 𝑴𝑐𝑜 𝑃𝑖𝑜 = 03 est un système

linéaire de trois équations, de rang 2, pour chaque couple de points appariés (𝑃𝑖𝑜 ↔ 𝑄𝑖)

considéré. La matrice (3 × 4) réelle 𝑴𝑐𝑜 possède en réalité 11 composantes indépendantes (matrice définie à un facteur d’échelle près). Par conséquent pour déterminer cette matrice, il faudrait donc considérer au moins six correspondances (couples de) points objet et points image, sans présence de triplets colinéaires ou de quadruplets coplanaires parmi les six correspondances (configurations singulières) .

𝑤𝑖

𝑢𝑖

𝑣𝑖

1= 𝑲 𝑹 𝑡

𝑴𝑐𝑜

𝑥𝑖𝑜

𝑦𝑖𝑜

𝑧𝑖𝑜

1

(Ro)

𝑃 𝐶

𝑴𝑐𝑜 ?

𝑂

𝑄

Point principal

Repère image 𝐼

Repère Objet

Axe optique

Page 12: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

12

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

23

2.3 Recalage 2D-3D rigide

2.3.1 Introduction

La transformation 𝑴𝑐𝑜 peut être déterminée sans ambiguïté si on tient compte de sa décomposition spécifique et des contraintes physiques (Rigidité et chiralité). En particulier : Rigidité : les trois premières colonnes de la matrice 𝑴𝑐𝑜 correspondent au produit de la

matrice triangulaire supérieure 𝑲 par la matrice de rotation 𝑹 = (𝑟)𝑖𝑗. Le facteur d’échelle

inconnu peut être évalué (amplitude) car la dernière ligne de 𝑲𝑹 vaut 𝑥3 𝑥6 𝑥9 =𝑟31 𝑟32 𝑟33 et doit être un vecteur unitaire (et car la dernière ligne de 𝑲 vaut [0 0 1]).

𝑴𝑐𝑜 =

𝑥1 𝑥4

𝑥2 𝑥5

𝑥3 𝑥6

𝑥7 𝑥10𝑥8 𝑥11𝑥9 𝑥12

≡ [𝑲𝑹 𝑲𝑡]

Chiralité : l’objet d’intérêt ne pouvant se situer que devant la caméra d’axe optique de

direction 𝑧, nous avons donc une contrainte géométrique sur la position 𝑡 = (𝑡𝑥, 𝑡𝑦 , 𝑡𝑧)𝑇:

𝑡𝑧 > 0, et comme la dernière ligne de 𝑲 vaut [0 0 1], cela équivaut à vérifier que 𝑥12 > 0. Cela permet de fixer le signe du facteur d’échelle.

𝑤𝑢𝑣1

= 𝑲 𝑹 𝑡𝑴𝑐𝑜

𝑥𝑜

𝑦𝑜

𝑧𝑜

1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

24

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée) Si la matrice 𝑲 n’est pas connue, on peut déterminer l’ensemble des composantes de 𝑴𝑐𝑜 à partir de la formule 𝑄𝑖 ∧ 𝑴𝑐𝑜 𝑃𝑖 = 03, pour chaque couple de points (𝑃𝑖, 𝑄𝑖), 𝑖 = 1,… , 𝑛 apparié :

𝑄𝑖 ∧ 𝑴𝑐𝑜𝑃𝑖 = [𝑄𝑖]×

𝑥1 𝑥4

𝑥2 𝑥5

𝑥3 𝑥6

𝑥7 𝑥10𝑥8 𝑥11𝑥9 𝑥12

𝑥𝑖𝑜

𝑦𝑖𝑜

𝑧𝑖𝑜

1

=000

[𝑄𝑖]× 𝑥𝑖𝑜𝐼3×3 ; 𝑦𝑖

𝑜𝐼3×3 ; 𝑧𝑖𝑜𝐼3×3 ; 𝐼3×3

𝑥1𝑥2

𝑥3𝑥4

𝑥5

𝑥6𝑥7

𝑥8

𝑥9𝑥10𝑥11𝑥12

=000

C’est-à-dire : 𝑃𝑖𝑇 [𝑄𝑖]× 𝑋 = 03 ; 𝑋 = (𝑥1, 𝑥2, … , 𝑥12)

𝑇.

Page 13: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

13

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

25

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée)

𝑃𝑖𝑇 [𝑄𝑖]× 𝑋 = 03

représente le produit matriciel de Kronecker. La résolution de ce système linéaire homogène peut être envisagée à partir de la méthode des moindres carrés, et mis en œuvre en recherchant une solution à l’aide de la décomposition en valeurs singulières (SVD). En effet avec 𝑛 couples (𝑃𝑖 , 𝑄𝑖), on a le système surdéterminé suivant :

𝑃1

𝑇 ⊗ [𝑄1]×⋮

𝑃𝑛𝑇 ⊗ [𝑄𝑛]×

𝑋 = 03𝑛 de la forme : 𝑯(3𝑛×12) 𝑋 = 03𝑛

et on ne peut déterminer une solution exacte pour 𝑋 que si le rang de 𝑯(3𝑛×12) est égal

exactement à 11 (nombre d’inconnues - 1).

La décomposition en valeurs singulières (SVD) de 𝑯(3𝑛×12) permet de déterminer par

l’approche des moindres carrés au moins une solution approchée pour 𝑋 (autre que la solution 𝑋 = 0, puisqu’il faut que 𝑥3

2 + 𝑥62 + 𝑥9

2 = 1), à l’aide d’au moins 𝑛 = 6 couples

appariés (𝑃𝑖, 𝑄𝑖) [chaque sous-système 𝑃𝑖𝑇 [𝑄𝑖]× étant de rang 2], en minimisant la

quantité algébrique 𝑯(3𝑛×12) 𝑋2

. Ceci permet d’élaborer l’algorithme suivant :

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

26

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée)

Algorithme COR (Camera-Object Registration)

• Etape 1 : A partir des 𝑛 ≥ 6 couples de points objet/image (𝑃𝑖, 𝑄𝑖), points appariés, former la matrice :

𝑯(3𝑛×12) =𝑃1

𝑇 ⊗ [𝑄1]×⋮

𝑃𝑛𝑇 ⊗ [𝑄𝑛]×

• Etape 2 : Calculer le rang de cette matrice qui doit être égal à 11 (solution exacte) ou plus probablement égal à 12 (bruit de mesures); Sinon, ajouter ou choisir d’autres points.

• Etape 3 : Calculer la décomposition en valeurs singulières de 𝑯(3𝑛×12) = 𝑼 𝑫 𝑽𝑇 où 𝑫 est une

matrice dont la diagonale contient les valeurs singulières rangées en ordre décroissant de la valeur absolue (la diagonale de la matrice carrée 𝑫𝑇𝑫 contient les valeurs propres). 𝑼 et 𝑽 sont des matrices carrées et orthogonales et contiennent les vecteurs singuliers (gauches et droites). La dernière colonne de 𝑽, 𝑉12, est le vecteur singulier associé à la plus petite valeur singulière (en valeur absolue, elle est nulle si le rang est égal à 11) : c’est la solution retenue pour 𝑋.

• Etape 4 : Fixer l’amplitude du facteur d’échelle de 𝑋 en imposant : 𝑥32 + 𝑥6

2 + 𝑥92 = 1.

• Etape 5 : Former la matrice 𝑴𝑐𝑜 : 𝑴𝑐𝑜 =

𝑥1 𝑥4

𝑥2 𝑥5

𝑥3 𝑥6

𝑥7 𝑥10

𝑥8 𝑥11

𝑥9 𝑥12

; si 𝑥12 < 0, remplacer 𝑋 par −𝑋.

Page 14: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

14

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

27

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée) Remarques : Les étapes 4 et 5 ne sont pas obligatoires. Elles sont obligatoires si on souhaite extraire

des informations métriques par la suite, en particulier pour identifier les paramètres extrinsèques - la matrice de rotation 𝑹 et le vecteur 𝑡 ou intrinsèques (matrice 𝑲).

En pratique on obtient des résultats précis pour 𝑋 que :

• si la matrice 𝑯(3𝑛×12) est bien conditionnée, ce qui nécessite généralement

l’emploi d’une normalisation des données et des mesures à partir de points 3D bien répartis dans l’espace (avec des profondeurs significativement distinctes) et des projections dans l’image bien réparties dans le plan,

• si on dispose d’un grand nombre de mesures précises.

Il est alors assez fréquent d’utiliser des estimateurs robustes (RANSAC,…) ou des M-estimateurs, rejetant des mesures considérées comme aberrantes, par le calcul de statistiques sur des échantillons de 6-uplets de couples de points.

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

28

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée) Grâce à la décomposition RQ du produit 𝑨 = 𝑲𝑹 (sous-matrice (3 × 3) de gauche de la matrice 𝑴𝑐𝑜), on peut obtenir la matrice triangulaire supérieure 𝑲 et la matrice de rotation 𝑹. Ci-dessous est reporté un code Matlab utile pour réaliser correctement cette décomposition spécifiquement pour le recalage 2D-3D rigide, à partir de la décomposition QR beaucoup plus connue (attention aux notations ! Q est ici la matrice de rotation) :

function [K Q]=rq4cor(A)

% function [K Q]=rq4cor(A)

% A [3 x 3]

% return K [3 x 3] upper triangular with K(3,3)=1, K(1,1) > 0 and

K(2,2) > 0 and

% Q [3 x 3] rotation matrix (unitary i.e. Q'*Q=I AND det(Q)=1)

% such that A = K*Q

[Q K] = qr(flipud(A).');

K = flipud(K.');

K(:,1:3) = K(:,3:-1:1);

Q = Q.';

Q(1:3,:) = Q(3:-1:1,:);

....

Page 15: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

15

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

29

2.3 Recalage 2D-3D rigide

2.3.2 Cas général (caméra non calibrée) La décomposition QR n’étant pas unique, il y a lieu de prendre certaines précautions pour extraire convenablement 𝑲 et 𝑹 du produit 𝑲𝑹. Dans ce code, intitulé rq4cor(), (RQ for Camera-Object Registration), l’orientation du repère caméra est prise identique à celle du repère image, c’est pourquoi les signes de 𝐾11, 𝐾22 et de 𝐾33 sont contraints d’être positifs. Un changement de signe de 𝐾33 cependant modifie aussi la direction du décalage, il faut donc effectuer cette vérification avant les autres.

function [K Q]=rq4cor(A) (suite)

....

% check the positiveness of K(3,3)(should be equal to 1, not -1)

if K(3,3) < 0

K = -K;

Q = -Q;

end

% check for the signs of K(1,1)and K(2,2)

if K(1,1) < 0

K(1,1) = -K(1,1);

Q(1,:) = -Q(1,:);

end

if K(2,2) < 0

K(2,2) = -K(2,2);

Q(2,:) = -Q(2,:);

end

end

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

30

2.3 Recalage 2D-3D rigide

Cas général (Caméra non calibrée): Mise en œuvre avec Matlab (1/2)

%

% STEP 1 : camera modeling and persp. projections of object points in the image plane.

%

% a set 6 of object points (homogeneous coordinates)

object = [18 6 -7 1;45 23 -17 1;8 7 -12 1;15 -34 22 1;3 24 6 1;-19 5 12 1]';

%--- Vision system intrinsics

f = 12; % focal length of the lens (in mm)

lx = 1/100; ly = 1/100; % size of CCD cells (mm/pix)

u_c = 256; v_c = 256; % decentering (CCD camera center wrt optical axis for 512x512 of size)

K1 = [1/lx 0 u_c;0 1/ly v_c;0 0 1];

Kf = [f 0 0;0 f 0;0 0 1]; K = K1 * Kf;

PP = K * [1 0 0 0;0 1 0 0;0 0 1 0]; % perspective projection

% extrinsic parameters (viewpoint), for example :

R = theta2r([pi/12 0 -pi/3])

t = [6 17 345]'

%--- projection onto the image

H = [[R';t']';0 0 0 1];

PP = PP * H;

PP = PP/PP(3,4)

image = PP * object;

n = length(image);

for i=1:n

image(:,i) = image(:,i)/image(3,i);

end

% add synthetic noise on image point coordinates (to simulate added zero-mean Gaussian noise)

noise = 0.025;

image(1:2,:) = image(1:2,:) + randn(size(image(1:2,:)))*noise

n = length(image)

Page 16: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

16

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

31

2.3 Recalage 2D-3D rigide

Cas général (Caméra non calibrée) : Mise en œuvre avec Matlab (2/2)

% STEP 2 : camera-object registration

%

%--- build the system matrix H

H = zeros(3*n,12);

for i=1:n

H(3*i-2:3*i,:) = kron(object(:,i)',sk(image(:,i)));

end

[U,D,V] = svd(H);

X = V(:,12);

Mco = [X(1:3)';X(4:6)';X(7:9)';X(10:12)']';

mu = Mco(3,1)^2+Mco(3,2)^2+Mco(3,3)^2;

Mco = Mco/mu;

If (Mco(3,4) < 0

Mco =-Mco;

end

%--- intrinsic and extrinsic parameters recovery (with rq4cor(), thus QR decomposition) ---%

A = Mco(1:3,1:3);

[K1,R1] = rq4cor( A );

t1 = inv(K1)*Mco(1:3,4);

%--- you may now compare K with K1, R with R1 and t with t1, for several levels of noise and

also with a bigger set of object points (only 6 here : the minimal required number of points).

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

32

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra

La pose d’une caméra consiste à déterminer 𝑹 et 𝑡, étant donné 𝑲, des points 3-D 𝑃𝑖d’un objet d’intérêt rigide et leurs projections 𝑄𝑖 dans une image.

Dans le cas où les points 3-D objet 𝑃𝑖 sont TOUS sur un même plan, la matrice 𝑯(3𝑛×12) du

(2.3.2) n’a pas un rang suffisant pour déterminer une solution non nulle pour le vecteur 𝑋 (rang < 11, quelle que soit la valeur de 𝑛) . Ceci est assez courant en pratique car la taille de l’objet d’intérêt est souvent faible au regard de la distance caméra-objet (correspondant à peu près à la norme du vecteur 𝑡). De plus, il est inutile de recalculer tout ou partie des paramètres intrinsèques si la matrice 𝑲 est connue. Il est donc bien plus efficace d’utiliser une méthode spécifique qui nécessitera moins de points.

(Ro)

(Rc)

𝑃 𝐶

𝑹, 𝑡 ?

𝑂

𝑄

Point principal

Repère image 𝐼

Repère Caméra

Repère Objet

Axe optique

Page 17: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

17

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

33

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra

A Low-Cost System for Quadrotor Pose Estimation using Fiducial Markers and Multi-Sensor Fusion (Georgia Institute of Technology, Atlanta, USA )

https://www.youtube.com/watch?v=Xh9gmKJDyEs

Pose et calibration par multi-vues (de plans)

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

34

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra

Il est bien connu que trois points suffisent pour définir un plan, quatre pour définir une sphère 3D… Dans le cas général 4 points ne se situent donc pas dans un plan. Le problème perspectif à 𝑛 points (Perspective-𝒏-Point or P𝒏P for short) s’intéresse à la pose d’une caméra calibrée vis-à-vis d’un objet connu, objet plan si on considère trois points pour le définir, plan ou volumique si on considère au moins quatre points pour le définir. Plusieurs auteurs l’ont étudié depuis 30 ans, par exemple :

- La méthode de Michel Dhome (P3P, PnP; 1989), - La méthode numérique itérative de Daniel Dementhon et Larry Davis (P4P; 1995), - La méthode de Long Quan et Lan (P3P, P4P, P5P; 1999), - La méthode de Lu (PnP; 2000), - La méthode de Vincent Lepetit (EPnP; 2008), - La méthode de YinQiang Zheng (PnP; 2013),…

parmi d’autres.

EPnP : an accurate O(n) solution to the PnP Problem, V. Lepetit, F. Moreno-Noguer, P. Fua, International Journal of Computer Vision, Springer, 2008.

Page 18: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

18

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

35

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra

Aucune de ces méthodes est complètement linéaire et plusieurs solutions existent en général. On trouvera dans l’article de V. Lepetit une revue des principales méthodes. Il ressort des méthodes citées précédemment qu’il est nécessaire de disposer de trois couples de points appariés pour déterminer un nombre fini de solutions pour 𝑹 et 𝑡. L’ajout d’autres points permet de retenir la seule solution valide.

L’approche que proposons est une méthode dite PP3P, basée sur les projections perspectives et projections para-perspectives d’un ensemble 𝑂 de 𝑛 = 3 points objet 𝑂 = 𝑇1 = {𝑃1, 𝑃2, 𝑃3}. Avec un nombre plus important de points, il est possible de subdiviser 𝑂 en sous-ensembles de triangles. Par exemple, avec 𝑛 = 4 points, 𝑂 = {𝑃1, 𝑃2, 𝑃3, 𝑃4} et les triangles 𝑇1 = {𝑃1, 𝑃2, 𝑃3}, 𝑇2= {𝑃2, 𝑃3, 𝑃4}, 𝑇3= {𝑃3, 𝑃4, 𝑃1}, 𝑇4= {𝑃4, 𝑃1, 𝑃2} sont construits par permutations circulaires des indices (1,2,3,4). Chaque point est donc représenté dans trois des quatre triangles, et chaque point est utilisé dans un triangle comme pivot.

𝐶

𝑄4

𝑃2 𝑄1

𝑃3

𝑃4

𝑄2

𝑄3

𝑃1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

36

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra

Cependant, si les points objets et images ne sont pas appariés, il est judicieux d’ordonner les triangles objet. En effet, les triangles image vont être redéfinis à chaque acquisition, alors que les triangles objet peuvent être intégrés dans le modèle de l’objet d’intérêt. Le nombre de triangles ordonnés est égal au nombre d’arrangements de 3 éléments parmi 𝑛. Pour

𝑛 = 4 points par exemple 𝐴43 =

4!

4−3 != 24; pour 𝑛 = 5, 𝐴5

3 =5!

5−3 != 60; pour 𝑛 = 8,

𝐴83 = 336; pour 𝑁 = 15, 𝐴15

3 = 2730… Les 3 étapes-clés de la méthode PP3P

1. La première étape consiste à déterminer tous les triangles participants au recalage, puis de calculer, pour chaque triangle, une transformation euclidienne entre le repère objet et un repère local au triangle (étape hors-ligne).

2. La deuxième étape est la recherche des solutions analytiques à l’aide des projections perspective exacte du point pivot et para-perspective pour les deux autres points. Le calcul pourra être répété un grand nombre de fois si le nombre de triangles est élevé. La méthode autorise une exécution parallèle (étape en ligne).

3. La troisième étape consiste à sélectionner la solution qui minimise l’erreur de re-projection des autres points (hors du triangle), amenant à la meilleure précision des résultats (étape en ligne).

Page 19: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

19

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

37

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : Proj. perspective exacte, faible et para-perspective : • Pour la projection faible 𝐴𝑝1 de pivot 𝑃1, on a :

𝐶

𝑃𝑖

𝑃1

𝑄𝑖

axe optique

plan image

Etant donné le point 𝑃1 et sa projection perspective (en bleu), on considère le plan passant par 𝑃1 et perpendiculaire à l’axe optique (pointillés). Pour un autre point objet 𝑃𝑖 on a :

La projection orthogonale de 𝑃𝑖 (en rouge) sur le plan, ℎ𝑖, puis la projection perspective de ℎ𝑖 sur le plan image composent la projection faible de 𝑃𝑖 (approximation à l’ordre 0), et ne modélise pas les effets perspectifs.

𝑄1

ℎ𝑖

𝑧1

𝑢𝑖

𝑣𝑖

1= 𝑲

1 00 10 0

0 00 00 1

𝑥𝑖

𝑦𝑖𝑧𝑖1

; donc 𝑤𝑖 = 𝑧1, ∀ 𝑖 et 𝑧𝑖 ≠ 𝑧1

en général. Ceci correspond en fait à une transformation affine entre le plan en pointillés et le plan image (puisqu’ils sont parallèles) qui s’exprime plus simplement par :

𝑢𝑖

𝑣𝑖

1= 𝑲

1/𝑧1 0 00 1/𝑧1 00 0 1

𝑥𝑖

𝑦𝑖

1

𝑄𝑖 = 𝑤𝑖

𝑢𝑖

𝑣𝑖

1

𝑃𝑖 =

𝑥𝑖

𝑦𝑖𝑧𝑖1

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

38

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : Proj. perspective exacte, faible et para-perspective : • Pour la projection para-perspective Π𝑝1 de pivot 𝑃1, on a :

𝐶

𝑃𝑖

𝑃1

𝑄𝑖

axe optique

plan image

Etant donné le point 𝑃1 et sa projection perspective (en bleu), on considère le plan passant par 𝑃1 et perpendiculaire à l’axe optique (pointillés). Pour un autre point objet 𝑃𝑖 on a :

La projection de 𝑃𝑖 sur le plan selon une parallèle à la droite 𝐶𝑃1(vert), 𝑙𝑖 puis la projection perspective de 𝑙𝑖 sur le plan image composent la projection para-perspective de 𝑃𝑖 (approximation à l’ordre 1). Elle tient compte en partie des effets perspectifs.

𝑄1

ℎ𝑖

𝑙𝑖 𝑤𝑖

𝑢𝑖

𝑣𝑖

1= 𝑲

1 00 10 0

−𝑥1/𝑧1 𝑥1−𝑦1/𝑧1 𝑦1

0 𝑧1

𝑥𝑖

𝑦𝑖𝑧𝑖1

; donc 𝑤𝑖 = 𝑧1, ∀ 𝑖

et 𝑧𝑖 ≠ 𝑧1 en général.

𝑄𝑖 = 𝑤𝑖

𝑢𝑖

𝑣𝑖

1

𝑃𝑖 =

𝑥𝑖

𝑦𝑖𝑧𝑖1

Page 20: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

20

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

39

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P

Ce sont les trois premières étapes qui sont décrites maintenant.

PP3P-Etape 1 On note 𝑃 𝑘 = (𝑥𝑘 , 𝑦𝑘 , 𝑧𝑘)

𝑇 les coordonnées affines d’un point du triangle dans le repère objet (𝑅𝑜). Une transformation euclidienne 𝑬𝑗 = 𝑹𝑗 𝑡𝑗 est alors calculée entre (𝑅𝑜) et

le repère attaché au triangle objet 𝑇𝑗 𝑅𝑜𝑗 - notons le génériquement

𝑀𝑗𝑘 = {𝑀𝑗1, 𝑀𝑗2,𝑀𝑗3} - afin que 𝑀𝑗1 = (0,0,0)𝑇, 𝑀𝑗2 = (𝑋2, 0,0)𝑇 et 𝑀𝑗3 = (𝑋3, 𝑌3, 0)

𝑇.

Les autres points 𝑃 𝑖 = (𝑥𝑖 , 𝑦𝑖 , 𝑧𝑖)𝑇, (𝑖 ≠ 𝑘) ont des coordonnées notées 𝑀𝑗𝑖 = (𝑋𝑖 , 𝑌𝑖 , 𝑍𝑖)

𝑇

dans ce repère 𝑅𝑜𝑗 et sont alors définies par : 𝑀𝑗𝑖 = 𝑹𝑗 𝑃 𝑖 + 𝑡𝑗.

Remarques : • Cette étape n’est pas obligatoire en général (mais elle l’est dans l’approche proposée

ici), et peut être réalisée hors-ligne. Elle contribue à réduire significativement les calculs en ligne.

• Le point 𝑀𝑗1, origine du repère 𝑅𝑜𝑗 , est choisi comme point pivot dans l’utilisation de

la projection para-perspective des points 𝑀𝑗2 et 𝑀𝑗3.

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

40

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 2 Les paramètres intrinsèques étant supposés connus ici, on note 𝑄 𝑘 = (𝑢′

𝑘 = (𝑢𝑘 − 𝑢𝑐)/𝐺𝑥, 𝑣′𝑘 = (𝑣𝑘 − 𝑣𝑐)/𝐺𝑦)

𝑇 les coordonnées affines dans le repère

image centré (sur le point principal 𝑄𝑐 = (𝑢𝑐 , 𝑣𝑐)𝑇 et ramené à l’échelle métrique), la

projection du point objet 𝑃𝑘

𝑄 ≡ 𝑲−1 𝑄

Il est tout à fait possible d’opérer une normalisation des données image. Je recommande dans ce cas d’employer la même transformation affine pour tous les points image, car cette étape étant réalisée en ligne, une transformation spécifique par triangle image aboutirait à un grand nombre de transformations quand le nombre total de points visibles devient élevé.

6 équations linéaires (2 par couple de points en correspondance 𝑃𝑘 ↔ 𝑄𝑘) sont obtenues

entre les coordonnées du triangle objet 𝑇𝑗 𝑅𝑜𝑗 et son image 𝐹𝑗 = Π𝑇𝑗 = {𝑚𝑗1, 𝑚𝑗2,𝑚𝑗3}.

Ainsi, en suivant les même règles sur les indices que pour les triangles objet on a, avec 𝑛 = 4 points visibles :

𝐹1 = {𝑄 1, 𝑄 2, 𝑄 3}, 𝐹2= {𝑄 2, 𝑄 3, 𝑄 4}, 𝐹3= {𝑄 3, 𝑄 4, 𝑄 1}, 𝐹4= {𝑄 4, 𝑄 1, 𝑄 2}).

Page 21: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

21

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

41

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode P3P P3P-Etape 2 (pour comparaison) Les 6 relations linéaires sont les suivantes avec la projection perspective exacte Π : (Rappel : 𝑀𝑗1 = (0,0,0)𝑇, 𝑀𝑗2 = (𝑋2, 0,0)

𝑇 et 𝑀𝑗3 = (𝑋3, 𝑌3, 0)𝑇)

𝑡𝑥 = 𝑢′1 𝑡𝑧 [1]

𝑡𝑦 = 𝑣′1 𝑡𝑧 [2] pour 𝑚𝑗1 = Π(𝑀𝑗1)

𝑟11 = 𝑢′2 𝑟31 + [ 𝑢′2 − 𝑢′

1 /𝑋2] 𝑡𝑧 [3]

𝑟21 = 𝑣′2 𝑟31 + 𝑣′2 − 𝑣′

1 /𝑋2 𝑡𝑧 [4] pour 𝑚𝑗2 = Π(𝑀𝑗2)

𝑟12 = 𝑢′3 𝑟32 + (𝑢′3 − 𝑢′2) 𝑋3

𝑌3 𝑟31 +

1

𝑌3𝑢′

3 − 𝑢′1 − 𝑢′

2 − 𝑢′1

𝑋3

𝑋2 𝑡𝑧 [5]

𝑟22 = 𝑣′3 𝑟32 + (𝑣′3 − 𝑣′2) 𝑋3

𝑌3 𝑟31 +

1

𝑌3𝑣′

3 − 𝑣′1 − 𝑣′

2 − 𝑣′1

𝑋3

𝑋2𝑡𝑧 [6] pour 𝑚𝑗3 = Π(𝑀𝑗3)

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

42

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 2 (suite) Les 6 relations linéaires sont les suivantes avec la projection para-perspective Π𝑝1 de pivot 𝑀𝑗1 :

(Rappel : 𝑀𝑗1 = (0,0,0)𝑇, 𝑀𝑗2 = (𝑋2, 0,0)𝑇 et 𝑀𝑗3 = (𝑋3, 𝑌3, 0)

𝑇)

𝑡𝑥 = 𝑢′1 𝑡𝑧 [1]

𝑡𝑦 = 𝑣′1 𝑡𝑧 [2] pour 𝑚𝑗1 = Π(𝑀𝑗1)

𝑟11 = 𝑢′1 𝑟31 + [ 𝑢′2 − 𝑢′

1 /𝑋2] 𝑡𝑧 [3’]

𝑟21 = 𝑣′1 𝑟31 + 𝑣′2 − 𝑣′

1 /𝑋2 𝑡𝑧 [4’] pour 𝑚𝑗2 = Π𝑝1(𝑀𝑗2)

𝑟12 = 𝑢′1 𝑟32 +1

𝑌3𝑢′

3 − 𝑢′1 − 𝑢′

2 − 𝑢′1

𝑋3

𝑋2 𝑡𝑧 [5’]

𝑟22 = 𝑣′1 𝑟32+1

𝑌3𝑣′

3 − 𝑣′1 − 𝑣′

2 − 𝑣′1

𝑋3

𝑋2𝑡𝑧 [6’] pour 𝑚𝑗3 = Π𝑝1(𝑀𝑗3)

Page 22: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

22

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

44

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 2 (suite)

𝑟11𝑟21𝑟12𝑟22

= 𝑮4×3

𝑟31𝑟32𝑡𝑧

Pour la rotation 𝑹 = (𝑟𝑖𝑗), le système linéaire ci-dessus ne formule pas de relations avec la

troisième colonne, seulement entre les deux premières colonnes et 𝑡𝑧. Pour continuer cette étape, il faut alors incorporer les 3 relations d’orthonormalité entre les composantes des deux premières colonnes de 𝑹, c’est-à-dire :

𝑟112 + 𝑟21

2 + 𝑟312 = 1 (première colonne unitaire)

𝑟11𝑟12 + 𝑟21𝑟22 + 𝑟31𝑟32 = 0 (première et deuxième colonnes orthogonales) 𝑟12

2 + 𝑟222 + 𝑟32

2 = 1 (deuxième colonne unitaire)

où 𝑟𝑖𝑗 ≤ 1 et 𝑡𝑧 > 0.

Il est clair que la matrice 𝑮4×3 n’a pas les mêmes composantes selon que l’on suit les équations ([3] à [6]) avec la projection perspective ou les équations ([3’],[4’],[5’],[6’]) avec la projection para-perspective. Dans le premier cas, on aboutit à un polynôme de degré 4, donc 4 solutions réelles au plus (méthode P3P). Dans le second cas que nous allons développer, nous aboutissons à 2 solutions seulement en résolvant une équation quadratique à coefficients complexes (méthode PP3P).

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

45

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 2 (suite)

En notant 𝑋 = 𝑟31/𝑡𝑧 , 𝑌 = 𝑟32/𝑡𝑧 et 𝑇 = 1/𝑡𝑧2 , on obtient le système d’équations

quadratiques suivant (où 𝑎1 ≥ 1) après avoir substitué les expressions de 𝑟11, 𝑟21, 𝑟12 et 𝑟22 dans les relations d’orthonormalité :

𝑎1 𝑋2+ 2𝑎3 𝑋 + 𝑎2 = 𝑇 (eq1)

𝑎1 𝑌2+ 2𝑏3 𝑌 + 𝑏2 = 𝑇 (eq2)

𝑎1 𝑋 𝑌 + 𝑏3 𝑋 + 𝑎3 𝑌 + 𝑐2 = 0 (eq3)

On remarquera que la combinaison ((eq1) + (eq2) + 2(eq3)) correspond à

𝑎1 (𝑋 + 𝑌)2+ 2(𝑎3 + 𝑏3) 𝑋 + 𝑌 + (𝑎2+𝑏2 + 2𝑐2) = 2 𝑇 (eqT)

équation qui permettra de calculer simplement le nombre réel positif 𝑇, puis 𝑡𝑧, après les estimations de 𝑋 et 𝑌 (𝑎2 + 𝑏2 + 2𝑐2 ≥ 0). Par ailleurs, 𝑇 étant jamais nulle, on peut réaliser la substitution de son expression (eq1) dans (eq2) pour réduire le nombre d’inconnues à seulement 2 (𝑋 et 𝑌) sans augmenter le degré des polynômes.

Page 23: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

23

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

46

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 2 (fin)

Nous avons donc les deux équations polynomiales à deux variables suivantes :

𝑎1 (𝑋2− 𝑌2) + 2𝑎3 𝑋 − 2𝑏3 𝑌 + 𝑎2 − 𝑏2 = 0 ((eq1)-(eq2))

𝑎1 𝑋 𝑌 + 𝑏3 𝑋 + 𝑎3 𝑌 + 𝑐2 = 0 (eq3)

qui sont équivalentes aux parties réelles et imaginaires de l’équation à coefficients complexes (𝑍 = 𝑋 + 𝑗 𝑌) :

𝑎1𝑍2 + 2 𝑎3 + 𝑗𝑏3 𝑍 + (𝑎2 − 𝑏2 + 2𝑗𝑐2) = 0

qui a deux solutions, 𝑍1 = 𝑋1 + 𝑗𝑌1 et 𝑍2 = 𝑋2 + 𝑗𝑌2 , faciles à exprimer en fonction des coefficients. On reporte alors ces solutions pour déterminer, à l’aide de l’équation (eqT), les deux valeurs correspondantes de 𝑇, 𝑇1 et 𝑇2 avec respectivement 𝑋1 + 𝑌1 et 𝑋2 + 𝑌2, valeurs qui doivent être positives (𝑇 = 1/𝑡𝑧

2), puis finalement les deux solutions valides pour le triplet 𝑡𝑧, 𝑟31, 𝑟32 :

𝑠1 = (1/ 𝑇1, 𝑋1/ 𝑇1, 𝑌1/ 𝑇1) et 𝑠2 = (1/ 𝑇2, 𝑋2/ 𝑇2, 𝑌2/ 𝑇2) .

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

47

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : méthode PP3P PP3P-Etape 3

Le calcul à l’étape 2 étant effectué quand chaque point est considéré comme le 4ième point, l’étape 3 va donc choisir le triangle 𝑇𝑗 parmi les 𝐽 = 𝐴𝑛

3 qui fournit le meilleur résultat pour la

pose. Pour cela il suffit de projeter ce point 𝑃4 avec les valeurs calculées pour les solutions 𝑠1 et 𝑠2, 𝑄4

𝑠1 = (𝑢4𝑠1, 𝑣4

𝑠1)𝑇, 𝑄4𝑠2 = (𝑢4

𝑠2, 𝑣4𝑠2)𝑇, puis de calculer l’erreur de re-projection 𝑒 entre

cette projection perspective calculée et le point image segmenté 𝑄4 = (𝑢′4, 𝑣′4)

𝑇 :

𝑒2𝑗−1 = (𝑢′4 − 𝑢4

𝑠1)2+(𝑣′4 − 𝑣4

𝑠1)2 et 𝑒2𝑗 = (𝑢′4 − 𝑢4

𝑠2)2+(𝑣′4 − 𝑣4

𝑠2)2

ce qui correspond à rechercher la valeur minimale (et son entrée) dans un tableau à 2𝐽 éléments quand 𝐽 triangles objet sont considérés. Si d’autres points objet sont disponibles (𝑛 ≥ 5), il faut les faire contribuer au calcul du recalage par la méthode PP3P. Quand les correspondances sont connues (et visibles), leur inclusion dans les calculs aboutit généralement à réduire les erreurs d’estimation.

Page 24: Chapitre 2©cial:Suivi_des...17/09/2017 1 ViCo 1 – Ch. DOIGNON Télécom Physique (Edition 2017-2018) Chapitre 2 De la scène 3D à l’image 2D 1 ViCo 1 – Ch. DOIGNON Télécom

17/09/2017

24

Télécom Physique (Edition 2017-2018) ViCo 1 – Ch. DOIGNON

49

2.3 Recalage 2D-3D rigide

2.3.3 Pose d’une caméra : vidéo d’application

A Monocular Pose Estimation System based on Infrared LEDs (University of Zurich)

https://www.youtube.com/watch?v=8Ui3MoOxcPQ