module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Dismiss Notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

Script pour Tracking 3D

Discussion in 'Adobe After Effects' started by Sequelles, Mar 25, 2006.

Tags:
  1. l-o

    l-o

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    478
    Appréciations:
    +0 / 1 / -0
    mmm....tu t'embarque dans un truc trés trés tres cho là....pour des résultats qui reste d'être approximatif, la masse de travail me semble assez énorme pour developpé ce genre de chose (en oubliant que t'es un bon couillu).....je crain que tu ne parte dans un truc qui ne marche que pour certains type de mouvement (essaye sur un long travelling avant/arriere par exemple)...enfin je dis çà...si tu trouve une solus promis je te paye un coup
     
  2. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    J'ai l'impression qu'il faut au minimum 4 points pour qu'il y est une solution au problème. 3 points vus sous deux angles différents ne donnent pas une solution unique pour la position des points dans l'espace et la caméra.

    Le but n'est pas de remplacer un tracker 3D mais bien d'obtenir une solution rapide pour placer un calque dans l'espace 3D. C'est pas forcément d'une précision énorme, si le calque semble flotter dans la perspective sans être coller à quelque chose il y moins d'exigence. Et évidement ça ne pourra s'appliquer qu'a certains plans: la caméra doit se déplacer et on doit pouvoir suivre des points dans le décor qui ne bougent pas entre eux.

    Donc s'il existe une fonction mathématique dans la quelle on rentre 8 coordonnées (x,y), c'est à dire la position dans l'image des 4 points sous deux angles de prise de vue différent; et qui recrache leur position x,y,z dans l'espace ainsi que la position de la caméra. Alors c'est scriptable. Le problème d'utiliser une fonction mathématique (si elle existe) c'est qu'elle risque de ne pas avoir de solution à cause des erreurs de suivi.

    De toute façon je ne suis pas assez fort en math pour trouver ça. Mais on peut trouver l'info sur le net: De la deuxième à la troisième dimension
     
  3. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    ouhlala cette quoi cette raffale de postes là :D vous vous êtres emballés les copains :lol:
    j ai pas tout lu ni tout compris, mais je sens bien que Bibi n'a pas fini de scripter !
    Sequelles, soyons positifs, nous nous débrouillerons pour avoir les mathématiques qu'il nous faut ;)
     
  4. Julien W.

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    1,499
    Appréciations:
    +0 / 0 / -0
    Camera matching in computer graphics, Vass Gergely, Budapest University of Technology and Economics
    Une excellente publication sur le sujet. Je pense que vous devriez commencer par là. Vous constaterez qu'il est beaucoup plus intelligent d'aborder le problème avec des matrices de transformations.

    Multi-camera Scene Reconstruction via Graph Cuts, Vladimir Kolmogorov and Ramin Zabih, Cornell University
    Une publication sur la reconstruction d'une scène tri-dimensionnelle (à la ImageModeler) à partir de plusieurs photographies en utilisant une fonction de minimisation d'énergie. C'est une très jolie façon d'aborder le problème. Malheureusement, elle est NP-hard.
     
  5. sylv

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    497
    Appréciations:
    +0 / 0 / -0
    "Vous constaterez qu'il est beaucoup plus intelligent d'aborder le problème avec des matrices de transformations"-> sans aucun doutre mais est ce que les opérations sur les matrices sont accessibles dans les scripts?(matrice inverse, multiplication de matrice,...)
     
  6. Julien W.

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    1,499
    Appréciations:
    +0 / 0 / -0
    Je ne pense pas, mais il est tout à fait possible d'implanter ces quelques algorithmes en javascript. D'ailleurs, je suis sûr que quelqu'un l'a déjà fait (ici, par exemple).
    De toute façon, pour des matrices 4x4, des algorithmes naïfs conviennent parfaitement. Pour la multiplication, par exemple, l'algorithme naïf demande n^3 multiplications, et l'algorithme de Strassen (qui n'est pas le plus performant, mais le plus facile à implanter) demande n^log2(7) multiplications, soit environ n^2,807, mais beaucoup plus d'additions. Par conséquant, il doit être utilisé uniquement avec des matrices beaucoup plus grosses.
     
  7. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    Je viens de lire la premiere moitié de sa thèse, c'est très intéressant.
    Je crois avoir compris la théorie et je pense que cela serait ptet scriptable.
    Après, ca risque de me donner des sueurs car c'est du lourd à mettre en place, pas un petit projet que tu fais dans la soirée...Il faudrait que je forme un "assistant scripteur" pour m'aider dans cette tâche qui s'annonce d'ores et déjà périlleuse :D
     
  8. l-o

    l-o

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    478
    Appréciations:
    +0 / 1 / -0
    je rejoue le role de l'emmerdeur : vous vous lancer dans une grosse usine à gaz là.
     
  9. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Est-ce que vous pensez que ce sujet mérite une discussion à part (pour ne pas encombrer ce qui est spécifiquement nabscripts) ? Dans ce cas, je peux scinder la discussion pour recréer une discussion spécifique à partir de mon premier message abordant ce sujet 'changement de sujet : suivi de cible (tracking) ".

    Dans ce que j'ai dit précédemment j'ai oublié qu'il faut aussi récupérer l'orientation de la caméra. C'est vrai que ça à l'air affreusement compliqué. Déjà, est-ce que mon présupposé est bon: Est-ce qu'il suffit de 4 points pour extraire ces informations (selon les conditions précisé). Est-ce qu'un script ne peux pas faire appel à un petit programme qui se chargerait du boulot et récupérer les infos pour créer la caméra et les objets nuls?
     
  10. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    ca vaudrait carrément le coup d'ouvrir une nouvelle discusssion, je trouve personnellement ce sujet super intéressant ! de surcoit si on essaie de mettre au point un tel système, cela va se faire sur du long terme, donc avoir une discussion de "reference" sur laquelle revenir de temps a autres pour apporter de nouveaux elements me parait judicieux :) .
     
  11. jeum37

    Trophy Points:
    1,450
    Likes Received:
    0
    Messages:
    1,685
    Appréciations:
    +0 / 0 / -0
    Hello !

    J'aurais tendance à penser comme l-o, désolé les gars...

    A +,
    Jeum.

    PS: bon courage quand même ! ;)
     
  12. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Voilà, les messages de cette discussion initialement dans page-de-downloads-nabscripts se retrouve dans leur propre discussion.

    En ayant parcouru les liens postés par Julien on se rend compte de la difficuté mathématique du projet. C'est peut-être pas pour rien que les logiciels pour faire du tracking 3D ne sont pas donnés.:(
     
  13. l-o

    l-o

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    478
    Appréciations:
    +0 / 1 / -0
    pas donné et tres lent...ce que je comprend pas c comment tu espere de contenter de quatre points...sur un logiciel de tracking çà peut facilement dépasser la cinquantaine dans certains cas..par contre on peut peut être voir un peu mois cho en créant un systeme qui se base sur des marques présente au tournage comme un cube fait de fibre optique ou moins chere un cube fait de tige avec des balles de ping pong (ou autre) au coins...çà serait donc un tracking à 8 points..sachant que ses coins sont en théorie toujours physiquement à 90° (sauf lentille spécial qui déformerait la perspective) çà doit être récupérable avec les scripts pour en sortir une came...

    meme si c pas aussi bien que votre projet dans le sens ou un dispositif doit être présent au tournage çà pourrait être une étape moins ardues avant d'attaquer le gros morceau
     
  14. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Pour les quatres points, c'est juste une proposition, je cherchais le minimum de point pour simplflier (pas pour compliquer).
     
  15. nab17connection

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    Appréciations:
    +0 / 0 / -0
    petit resumé de mes lectures

    D'apres ce que j'ai compris il te faut au moins 8 points de correspondances pour effectuer la reconstruction (en theorie 7 peuvent suffir mais cela conduit a un systeme non lineaire qui admettra plusieurs solutions et les resulats sont semble t il mauvais). Mais le nombre de points n'est pas vraiment un probleme en soi (tant qu on en a au moins 8 bien sur).

    Idealement tu peux avoir un systeme de 8 equations a 8 inconnues à resoudre (chaque point apporte une équation) qui admet une solution unique. A partir de cette solution tu peux retrouver tous les parametres recherchés (parametres externes de la camera (orientation,translation) + parametres internes de la camera (distance focale principalement).
    Et toujours dans ce cas ideal, en supposant que tu aies plus de points de correspondances (20, 30, 40..), toutes les informations additionnelles apportées par ces points seront en concordance avec les équations déja présentes.

    EN REVANCHE en pratique cela n'arrive jamais. Le systeme à resoudre n'a en general pas de solution ("les equations sont en desaccord", l une va par exemple te donner x=1.1 et l autre va te dire x=0.4). Cela est du principalement aux erreurs sur les mesures, rien n'est parfaitement precis....(et encore moins les donnees de tracking de AE). Et dans un systeme d'equations, une petite perturbation peut parfois amener à des solutions radicalement differentes (le celebre "effet papillon" ...un battement d aile à Paris peut generer un cyclone à...à Montreal !!). Il faut donc modifier legerement le systeme afin de rendre la resolution possible (et unique...à un facteur d echelle près). On obtient donc une solution approchée.

    J'ai en gros pigé les procedures utilisees pour resoudre ce probleme, apres le passage au scripting AE n'est pas immédiat :D , mais quand j'aurai plus approfondi mes lectures et décider d'une methode precise à coder, je m'y mettrai

    ps: mots-clés qui reviennent souvent: projective geometry, epipolar geometry, 3D reconstruction, vision, fundamental matrix, SVD decomposition, , 8-point algorithm
     
Loading...

Dernières occasions

 

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous