banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Sun 03 February 2008 11:38

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

[aide] Recalage 3D sur n points

Bonjour,
Après pas mal de recherches, je n'ai trouvé moyen de recaler un systéme local vers un systéme objet qui n'est pas gravitaire.
J'ai bien Helmert ou les moindres carrés en 2D mais rien lorsqu'il s'agit de trouver les paramètres de rotation 3D... me semble qu'Helmert existe aussi pour trouver les paramètres qu'il faut (Tx, Ty, Tz, Rx, Ry, Rz... pas besoin d'echelle dans mon cas) mais n'en suis même plus sûr. Enfin bon, si qq'un pouvait venir a mon secours, lui en serai bien reconnaissant.

Hors ligne

 

#2 Sun 03 February 2008 11:47

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Il s'agit d'un outil que tu cherches, ou bien simplement la description de la méthode ?

Si ce n'est que la méthode, je ne vois pas où est la difficulté de passer d'un moindres carrés 2D à moindres carrés 3D, il y a juste des matrices plus grandes.

Si c'est l'outil que tu cherches, il faudrait donner un peu plus de précisions : qu'est-ce que tu veux recaler, dans quel format...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Sun 03 February 2008 14:00

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

C'est la methode que je cherche... et tant qu'a faire, j'aimerai autant eviter les moindres carrés pour deux raisons :
- Pas les compétences mathématiques suffisantes : le calcul matriciel me dépasse.
- Pas besoin d'une précision redoutable et je voudrais pouvoir faire ca sous excel sans y passer six mois.

Ce que je veux recaler : des coordonnées xyz d'un systême inconnu sur des coordonnées XYZ des même points dans un système connu => trouver les paramètres de transformation d'un systême a l'autre (translations + rotations).

Pour la petite histoire, je fais ca avec Axyz pour le moment mais nous n'avons qu'une seule licence et les lieux d'intervention se multiplient donc je voudrais pouvoir me defaire de ce logiciel en gérant cette etape du travail sur excel.

Hors ligne

 

#4 Sun 03 February 2008 14:26

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Excel fait du travail matriciel très rapidement. Helmert, c'est un système d'équation qu'on résout par moindres carrés, donc c'est pareil. Les principaux TP lors de ma formation d'ingénieur où il y avait du moindre carré se faisaient avec Excel. Le problème avec Excel, c'est qu'il faut adapter la taille des matrices selon les données. (n=3, 4 ou 12) Pour le faire en moins de 5 secondes à chaque fois, il faut passer quelque temps sur le VBA. Sinon, Je dirais qu'une fois qu'on comprends ce qu'il faut faire avec Excel et qu'on adapte les tableaux à chaque fois, en moins de 20 minutes c'est plié.

Et ce n'est pas une question de précision redoutable. D'ailleurs, si tu veux de la fiabilité, il faut abandonner les moindres carrés, et passer à plus compliquer.

Pour un tel problème, le plus simple est du moindre carré. Mais c'est vrai qu'il faut maitriser un minimum. Et si le calcul matriciel te dépasse...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#5 Sun 03 February 2008 15:29

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Merci pour la réponse. Je vois ce qu'il me reste a faire : vais me remettre aux matrices de ce pas... reviendrai d'ici quelques semaines/mois^^.

Hors ligne

 

#6 Sun 03 February 2008 15:37

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Pas besoin de savoir calculer un déterminant ou l'inverse d'une matrice, c'est Excel qui s'en occupe, hein ! Si tu veux comprendre les moindres carrés, il faut juste comprendre les notations où une lettre symbolise un tableau entier. Le plus dur, c'est la notation, après la théorie et les calculs, tu peux t'en passer si tu veux juste appliquer le calcul (le problème dans ce cas, c'est d'être sûr du calcul, mais tu pourras toujours tester tes premières tentatives avec ton logiciel uni-licenses :p)


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#7 Tue 05 February 2008 10:42

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Bon, puisque nous sommes sur un forum, autant faire profiter de mes recherches... donc voici ou j'en suis : http://jeux.developpez.com/faq/matquat/ … formations
A priori (a priori seulementm ne m'y suis pas encore beaucoup attardé mais l'espoir est grand) il devrait y avoir tout ce qu'il me faut.

Hors ligne

 

#8 Thu 07 February 2008 09:20

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Bon, ca avance pas forcement dans la direction de départ mais ca avance... mais ca va plus beaucoup avancer : j'arrive comme un grand a calculer ma matrice de rotation pour me recaler sur trois points mais pas plus (sauf bien sûr si les jeux de coordonnées se correspondent parfaitement) et pour cause : pour le moment, je me contente de faire une moyenne des angles de rotation.
Du coup, mes écarts sur les points restent trop importants (de l'ordre de 10mm alors que je peux avoir un RMS de l'ordre de 0.5mm)...
Je ne comprends pas bien ce qui va me permettre d'ameliorer tout ça alors si quelqu'un pouvais vaguement me guider...

Hors ligne

 

#9 Thu 07 February 2008 09:49

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3183
Site web

Re: [aide] Recalage 3D sur n points

Bonjour,

Quelques vagues indices: le calcul par les moindres carrés.
Comme Jérôme te l'a déjà expliqué.
Utilise la recherche sur ce forum avec "helmert" en mot clef, tu auras déjà une vision des moindres carrés en 2D.

Bon courage

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#10 Thu 07 February 2008 10:05

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Benjamin, je t'ai dit depuis le début, les MMC, il n'y a que ça de bon si tu veux ajuster tes n points

En bref :
+ Former ton système d'équation du type B = A.X
- B est une matrice colonne (X1, Y1, Z1, X2, Y2.......)
- X est ta matrice (colonne aussi d'inconnues : Tx, Ty, Tz, R1, R2...
- A est une matrice de coefficient qui ici vont être Xancien1, Yancien1...

Si tu as X1 = Tx + R1X + R2Y + R3Z, la première ligne de la matrice A est 1  X   Y   Z

Est-ce que tu arrives à former ton système de matrices ?

+Résolution :
Dans le cas nombre d'équation = nombre d'inconnus, A est une matrice carré et tu peux résoudre avec un pivot de Gauss, ou simplement X = A^-1.B  (^-1 = inversion de matrice, fonction d'Excel)

Dans les autres cas, qui nous intéressent, il y a une formule à la con que je ne retrouve pas. À midi, on va faire simple, je regarde chez moi, je mets la formule, et je joins une feuille Excel avec des calculs de moindres carrés que tu pourras prendre en exemple...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#11 Thu 07 February 2008 16:01

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Ai bien l'impression que c'est effectvement la formule dite "à la con" qui me manque...
- Former le système de matrice : OK
- Pivot de Gauss : OK
- Faire intervenir les résidus (ie. MMC) : OK sur le principe, mais seulement le principe... j'imagine que c'est ici que vient la fameuse formule.

En tous cas, merci pour les réponses, aussi claires que rapides.

Hors ligne

 

#12 Thu 07 February 2008 19:41

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Enfin ! la tant désirée formule matricielle pour résoudre par MC :

 X = (A^T.A)^{-1}.A^T.B

Et comme promis en pièce jointe, un joli TP avec les formules, une matrice de poids pour pondérer les données et quelques tests statistiques (cas linéaire).

S'il y a des questions, je suis toujours là :p

Dernière modification par Jérôme C (Thu 07 February 2008 19:44)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#13 Tue 12 February 2008 19:17

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Tout bon, m'en sors a peu près maintenant... en tous cas, j'ai bien tout ce qu'il me faut. Merci a tous.

Hors ligne

 

#14 Fri 15 February 2008 13:58

Benjamin L.
Juste Inscrit !
Lieu: Brazzaville
Date d'inscription: 3 Feb 2008
Messages: 9

Re: [aide] Recalage 3D sur n points

Me croyais déjà arrivé... un peu trop vite semble-t-il. La feuille excel ci-jointe présente le problème en détails (un peu trop long à expliquer sur un post). Help !
Au passage, je laisse l'adresse de ce memoire ESGT qui est pile poil dans le sujet (mais ne m'a pas suffit manifestment) http://www.esgt.cnam.fr/fr/tfe/memoires … is_mem.pdf


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#15 Sat 16 February 2008 03:18

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Je dirais que (simplement) tu n'as pas assez de points. La distribution géométrique de certains points fait que tu ne peux déterminer correctement tes paramètres. Mais Excel, tu lui demandes de calculer quelque chose, il le fait, il n'est pas compliqué !

C'est comme si tous tes points étaient sur une même droite et tu essayais de déterminer le plan formé par tous tes points. C'est quand même bizarre que ça foute autant la merde, j'aurais cru que certaines coordonnées serait fixées. Enfin, ce n'est pas l'heure de regarder ça plus longtemps...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#16 Thu 21 February 2008 20:31

rerefr
Participant occasionnel
Date d'inscription: 21 Jan 2008
Messages: 17

Re: [aide] Recalage 3D sur n points

Complément d'information, avec seulement 2 points d'appui:

Je vais être un peu contradictoire avec ce que vous avez fait, mais si vous ne voulez pas prendre plus de points que nécessaire, alors c'est possible de résoudre facilement les équations avec un système de cramer:
et puisque tu ne voulais pas de facteurs d'échelle, on aurait donc:

X' =      X  +Rz.Y + -Ry.Z + Tx
Y' = -Rz.X +      Y +  Rx.Z + Ty
Z' =  Ry.X +-Rx.Y +       Z + Tz

3 rotations, 3 translations : 6 inconnues donc vous avez besoin de seulement 2 couples de points.(XYZ)

Hors ligne

 

#17 Thu 21 February 2008 20:52

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

rerefr, si tu lisais au moins le sujet en entier, tu remarqueras que c'est ce qu'a commencé à faire Benjamin, mais que les résultats ne le satisfaisait pas. (cf post n°8)

Et aussi, il faut apprendre à faire un peu de physique, car les maths, ce n'est pas tout. Tu as peut-être 6 équations et 6 inconnues, mais ta matrice n'est pas inversible ! Tu as une information redondante, et il te faut un troisième point pour résoudre. C'est le positionnement en mécanique. C'est l'orientation des clichés en photogrammétrie.

C'est aussi ce que j'appelle dans ce sujet le pivot de Gauss, car je connais Gauss et pas Cramer : peux-tu citer de tête une autre contribution mathématique de M. Cramer après son système d'équations ?

C'était donc un complément de non-information.

Merci.

p.s : Avec ce système tu as ton facteur d'échelle, ce qui n'est pas gentil.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#18 Thu 21 February 2008 23:37

rerefr
Participant occasionnel
Date d'inscription: 21 Jan 2008
Messages: 17

Re: [aide] Recalage 3D sur n points

pas la peine de s'énerver, ça arrive

Hors ligne

 

#19 Thu 21 February 2008 23:52

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: [aide] Recalage 3D sur n points

Mais je ne m'énerve pas, je fais juste une mise au point sur ce qui semblait être une information...


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

Pied de page des forums

Powered by FluxBB