Calibration de deux caméras
Répondre à la discussion
Affichage des résultats 1 à 30 sur 30

Calibration de deux caméras



  1. #1
    invite3ac9815b

    Calibration de deux caméras


    ------

    Bonjour tout le monde!
    Je me trompe peut-être de section quant à cette question, mais qui dit calibration dit traitement d'images dit traitement du signal, voilà ma logique

    Je possède deux caméras et je souhaite les calibrer. Je possède une caméra Time of flight (donc 3D) ainsi qu'une caméra de téléphone, basique.
    Mon objectif est d'utiliser la caméra 3D afin de connaître la profondeur d'un objet. Ensuite j'utiliserai cette profondeur pour pouvoir calculer des distances sur un même objet, mais que j'aurais pris en photo avec ma caméra de téléphone.
    Les deux caméras sont situés sur le même axe de profondeur.

    Je ne m'y connais peu en calibration etc, et j'ai donc lu de la documentation. J'ai découvert qu'on modélisait les caméras par des matrices et qu'on utilisait des matrices de projection/passage.
    Je connais la position x,y de mes pixels ainsi que la profondeur du pixel (distance entre la caméra 3D et lui). Comment pourrais-je faire pour calibrer mes caméras afin de pouvoir connaître les valeurs de "x" et de "y" sur ma caméra de téléphone ?

    Peut-être n'ai-je pas été assez clair, si c'est le cas, veuillez me le dire !
    Cordialement!

    DotZ

    -----

  2. #2
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    heuu, non pas clair pour moi.
    Je connais la position x,y de mes pixels ainsi que la profondeur du pixel (distance entre la caméra 3D et lui). Comment pourrais-je faire pour calibrer mes caméras afin de pouvoir connaître les valeurs de "x" et de "y" sur ma caméra de téléphone ?
    qu'entends tu par x,y, et surtout profondeur.?
    tu connais déjà la distance à l'objet ( appelons le z ) ?

    et qu'appelles tu les x et y de ton tel ?
    si ce ne sont que les "coord" dans le plan de l'image, elle ne dépendent pas de la profondeur.
    le seul changement est lié aux diff de focale entre la caméra 3D et celle du tel.

    un truc que je n'ai pas compris, visiblement.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  3. #3
    invite3ac9815b

    Re : Calibration de deux caméras

    Merci pour ta réponse.
    Pour être honnête avec toi, on m'a demandé quelque chose mais moi même je n'ai pas tout compris. Et là je ne peux pas demander des précisions.
    Je peux cependant répondre à tes questions.

    Imaginons une règle, partant d'un point A à un point B.
    Je prends en photo cette règle avec ma caméra 3D ainsi que ma caméra 2D de téléphone.
    La caméra 3D me permet d'obtenir facilement la profondeur entre ma caméra 3D et ma règle. C'est ce que j'appelle "z". C'est donc la distance entre les caméras et la règle.
    Ensuite, ce que j'appelle x,y sont les coordonnées dans le plan image, c'est à dire "y" est la hauteur de la règle, et "x" est la distance entre le point A et le point B.

    Je ne peux obtenir ce x,y avec ma caméra 3D car sa définition est trop mauvaise, elle me permet uniquement de calculer la profondeur "z".

    J'espère que c'est un peu plus clair!

    Encore merci pour m'avoir répondu.

    DotZ

  4. #4
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    je comprend ceci.
    tu connais ( je ne sais comment ) la distance de tes appareils à cette règle.
    et tu cherches à déterminer sa hauteur et sa largeur.
    dans la réalité je suppose, puisque tu peux la mesurer sur ton image ( en pixels ).
    il te faut donc la focale de la cam du tel .
    ( l'ouverture angulaire horizontale et verticale )
    c'est de la trigo.
    Dernière modification par ansset ; 30/07/2019 à 14h41.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  5. A voir en vidéo sur Futura
  6. #5
    invite3ac9815b

    Re : Calibration de deux caméras

    Quel est le lien entre focale et ouverture angulaire ?
    Car je n'ai pas la focale, mais j'ai l'ouverture angulaire qui est de 62° x 45 °.

    Mais on m'a dit que je devais justement trouver des "matrices de passage" qui me permettent de retrouver pas mal d'informations dont la focale.

  7. #6
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    Citation Envoyé par DotZ Voir le message
    Quel est le lien entre focale et ouverture angulaire ?
    Car je n'ai pas la focale, mais j'ai l'ouverture angulaire qui est de 62° x 45 °.

    Mais on m'a dit que je devais justement trouver des "matrices de passage" qui me permettent de retrouver pas mal d'informations dont la focale.
    avec les ouvertures angulaires , tu peux déduire des x,y ( en pixels ) les x,y réels. ( je te laisse y réfléchir un peu ).

    concernant les "matrice de passage" , j'ignore à quoi cela correspond exactement.
    et pas regardé sur le net.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  8. #7
    invite3ac9815b

    Re : Calibration de deux caméras

    Je dois pourtant utiliser absolument ces matrices pour réussir à atteindre le but :/
    Mais je ne comprends pas tout ..

  9. #8
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    as tu un énoncé écrit de ce qui est précisément demandé, et dans quel cadre.
    curieux qu'on te demande de passer par une démarche imposée que tu sembles ne pas connaitre.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  10. #9
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    un peu de maths.
    si on choisi comme repère le centre de l'image ( en réel X,Y et en pixel x,y )
    si tu as une ouverture horizontale de 62° ( donc entre -31° et +31°)
    le point sur l'image le plus à droite de ton écran ( pixel max xm ) correspond à +31°
    et pour ce point Xm/Z =tg(31°) ( en prenant X=0 au centre )
    un point situé au même Z et à distance X<Xm correspond au pixel proportionnel x/xm = X/Xm... ( avec de même x=0 au centre de l'image )
    tu peux donc déduire X de x.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  11. #10
    invite3ac9815b

    Re : Calibration de deux caméras

    Non je n'ai pas d'énoncé à proprement parlé.
    Et pour répondre à ta 2ième phrase, c'est justement le but, de me faire apprendre de nouvelles choses. Mais là je m'y perds un peu!

    J'essaierai de réfléchir au sujet, à comment utiliser les matrices de passage etc., et ensuite je répondrai sur ce forum afin de te tenir informé.

    DotZ

  12. #11
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    re-
    matrice de passage ou pas, j'ai essayé de t'expliquer comment passer des coord "réelles" en coord "pixels".
    ( et donc aussi l'inverse )
    et le Z intervient.
    as tu compris mon post #9
    c'est juste de la trigo .
    elle fait intervenir
    où l'angle est soit horizontal ( pour les x ) soit vertical ( our les y )
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  13. #12
    invite3ac9815b

    Re : Calibration de deux caméras

    Rebonjour, désolé du temps de réponse, j'ai eu un imprévu.

    Je cherche à calibrer mes caméras, en lisant de la documentation là dessus sur internet, je sais que l'on peut calibrer une caméra de la façon suivante :

    On connait les coordonnées (x,y,z) d'un point de l'espace et (a,b) étant la position de la caméra.
    On peut écrire que [a1 b1 w1]^t = P * [x y z 1]^t .
    Où P est la matrice de passage.

    Le doc suivant : http://www.peterhillman.org.uk/downl...alibration.pdf nous dit qu'on peut réaliser une décomposition en valeur singulière (SVD) d'une certaine matrice, présentée dans le document, et cela nous permet d'obtenir la matrice de passage.

    Cependant, après avoir réaliser la SVD, je n'ai pas l'impression d'avoir réussi à trouver cette matrice de passage.
    Si quelqu'un pourrait m'aider à comprendre mon erreur, je lui en serai reconnaissant.

    Cordialement,
    DotZ

  14. #13
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    re-
    ce n'est pas vraiment ce que j'avais compris de ta recherche.
    je pensais que tu voulais simplement retrouver les X,Y réels connaissant x,y ( en pixels ) ainsi que le Z réel qui t'était donné ( je ne sais trop comment ) par une première prise avec les deux caméras.
    ici on repart depuis le début.....

    je trouve cet article bien théorique et général pour des applications pratiques.
    drôle d'idée de prendre deux caméras qcq à priori. ( avec des axes de visée diff , des rotations, ...... )
    on rajoute des calculs pour rien.
    d'autant qu'on suppose que les P de chaque caméra sont dit connus dans l'alticle.
    c-a-d qu'il faut construire ces matrices.

    est ce que ton but est pratique ou bien simplement théorique ( comprendre les maths utilisés )?
    dans le premier cas, je ne m'y prendrais pas comme ça.
    mais tout dépend de ce que tu veux effectivement faire.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  15. #14
    invite3ac9815b

    Re : Calibration de deux caméras

    Merci de ta réponse.
    Le paragraphe 5 de l'article permet de trouver ces matrices, et donc assume ne pas les connaitre (mais de connaître en revanche la position des points dans l'espace).

    Mon cas est pratique et théorique, en effet, je cherche à obtenir un moyen de trouver ces matrices de passage pour chaque point que j'aurais pris en photo avec mes caméras.

    Cordialement,
    DotZ

  16. #15
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    OK, on y arrive, mais du coup, c'est de moins en moins ce que j'avais compris au début.
    Tu aurais du mettre cet article en début de fil et dire clairement que c'est la démarche que tu veux suivre, ainsi que l'application proposée au chap 5.
    Celui ci indique une résolution algorithmique pour retrouver ces matrices P (*) à partir d'un certains nb de points réels dont on connait les coords.

    il s'agit donc en fait d'une question de programmation plus que d'une question mathématique.

    (*) il y a une matrice par caméra, pas une matrice par point.
    Dernière modification par ansset ; 06/08/2019 à 09h40.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  17. #16
    invite3ac9815b

    Re : Calibration de deux caméras

    Je te remercie Ansset pour ta patience.
    En effet, au debut de ce topic, je n'ai pas été clair. Mais pour être franc, je n'avais pas exactement compris ce que je devais trouver etc, le sujet n'était pas très clair.

    Je voulais également bien parler de matrice par caméra, et non par point, au temps pour moi.

    Pour revenir au sujet, effectivement la démarche dont tu parles est celle que j'essaie d'obtenir. Maintenant je pense que tu as bien saisi le sujet, alors je vais pouvoir t'expliquer mon problème actuel.
    Cependant au moment même où j'écris ces lignes, j'ai l'impression d'avoir compris -peut être- mon erreur.
    Je reviens très vite vers toi pour t'en tenir informé.


    Dans tous les cas je te remercie pour ton implication!

    DotZ

  18. #17
    invite3ac9815b

    Re : Calibration de deux caméras

    Finalement je n'ai pas tout encore compris.
    Pourrais-tu m'aider ?

    Lorsque je prends, pour ma caméra, les coordonnées (X,Y,Z) de l'image ainsi que les coordonnées (u,v) de ma caméra, je forme ensuite la matrice C, en prenant plusieurs points (par exemple 6).
    Ensuite, je fais une SVD de ma matrice C, ce qui me donne C = UWV^t. Lorsque je pose p = la dernière colonne de V (comme indiqué en 5.2 du document), je peux donc obtenir -normalement - mon P, qui est censé être la matrice de passage.

    Pourtant, je devrais donc avoir C*p = 0 et ce n'est pas le cas.
    Quel est le problème ?


    Lorsque je lis l'algorithme écris en 5.3, je ne comprends pas ce que je dois faire.
    Je te remercie.

  19. #18
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    Citation Envoyé par DotZ Voir le message
    Lorsque je prends, pour ma caméra, les coordonnées (X,Y,Z) de l'image ainsi que les coordonnées (u,v) de ma caméra, je forme ensuite la matrice C, en prenant plusieurs points (par exemple 6).
    Ensuite, je fais une SVD de ma matrice C, ce qui me donne C = UWV^t. Lorsque je pose p = la dernière colonne de V (comme indiqué en 5.2 du document), je peux donc obtenir -normalement - mon P, qui est censé être la matrice de passage.
    peux tu mieux expliquer ce que tu fais mathématiquement. Je comprend mal .
    d'autant que tu dis pouvoir obtenir ta matrice P, tout en demandant comment écrire l'algorithme.
    Or, la méthode proposée dans ton texte propose de retrouver P via un programme justement.

    ps : que veux tu faire exactement , je veux dire en pratique ?
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  20. #19
    invite3ac9815b

    Re : Calibration de deux caméras

    En fait je m'y perds un peu car dans la partie 5.2 j'ai l'impression que la méthode donnée n'est pas exactement la même que celle explicitée par l'algorithme en 5.3.
    Du coup, si je me focalise uniquement sur l'algorithme, je ne comprends pas bien ce que ça veut dire "Project C to the image point c' using c' = PC"
    Je connais C, mais je ne connais pas P ? Où alors c'est le P que l'on a formé grâce à la dernière colonne de V, trouvé en faisant le SVD de C ?


    Concernant le contexte, je souhaite pouvoir calculer une distance entre deux points d'un plan, et pour cela je souhaite utiliser 1 caméra qui me donne la profondeur. Mais j'ai besoin maintenant de calibrer cette caméra.

    DotZ

  21. #20
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    Citation Envoyé par DotZ Voir le message
    Concernant le contexte, je souhaite pouvoir calculer une distance entre deux points d'un plan, et pour cela je souhaite utiliser 1 caméra qui me donne la profondeur. Mais j'ai besoin maintenant de calibrer cette caméra.
    Il me semble qu'il faut repartir de là plutôt que d'appliquer cette sorte de résolution générale et complexe.
    de quels moyens disposes tu ?
    caméra, tel ? peux tu avoir des images avec des pixels bien numérotés ( sans compression d'image ) ???

    ps : non, P est une matrice, en aucun cas la dernière colonne de qcq chose.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  22. #21
    invite3ac9815b

    Re : Calibration de deux caméras

    Je fais parti d'un projet et je dois passer par cette méthode :/
    Même si ce n'est pas la plus évidente, je la trouve intéressante.

    Oui je sais que P est une matrice, mais le document nous dit de faire en sorte que la colonne p devienne une matrice 3x4 P.

    Or dans l'algo, on nous dit de faire P*C, mais qu'est ce que P ?
    Car si c'est une matrice 3x4, C était une 12x12, je ne comprends pas tout ..

    DotZ

  23. #22
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    donc cette méthode est une figure imposée ?
    dans quel cadre scolaire ?

    effectivement P est une matrice 3x4 , ce qui revient à 12 valeurs, qui doivent satisfaire l'équation matricielle décrite avec P écrit en colonne. ( ce n'est bien sur pas une matrice 12x12 )
    mais je n'ai pas lu ton texte dans les détails.

    je ne comprends pas tout ..
    la partie mathématique ou la partie algorithmique ? les deux ?

    si ton travail consiste à mettre en œuvre cette méthodologie de A à Z c'est à toi de commencer par essayer de comprendre celle ci.
    j'ai un peu l'impression que tu es totalement perdu.(*)
    et c'est plus ton boulot de la comprendre , je ne peux te l'expliquer ligne à ligne, d'autant que cette méthodologie ( bien lourde ) est un peu rebutante.
    donc si c'est imposé, à toi de relire depuis le début et de dire à quel passage tu coinces.
    là , tu sembles rebondir d'un paragraphe à l'autre.


    (*)d'ailleurs, la manière dont tu as présenté ton sujet au départ était déjà très confuse.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  24. #23
    invite3ac9815b

    Re : Calibration de deux caméras

    Ce n'est pas dans un cadre scolaire, c'est un projet que je me suis fixé et je dois utilisé la méthode de calibration de la caméra.

    Je disais que la matrice C est une matrice 12x12, c'est pour cela que je ne comprends pas pourquoi la documentation demande d'écrire c' = PC.
    En conclusion, je bloque sur la méthode pour trouver la matrice de passage, car je ne comprends pas la ligne de l'algorithme qui dit : "project C to the image point c' using c' = PC".

    C'est pour cela que je peux paraitre perdu, je ne travaille pas dans un cadre scolaire ou autre, c'est en autodidacte en quelque sorte.

    L'étape de calibration n'est qu'une des nombreuses étapes d'un projet que j 'essaie de réaliser, mais pour l'instant je bloque justement sur la façon de trouver cette matrice de passage.
    Mais mon projet n'est pas qu'au commencement, j'ai déjà bien avancé dans mes tâches. Là en revanche, je reste quelque peu bloqué.

    DotZ

  25. #24
    invite3ac9815b

    Re : Calibration de deux caméras

    Ansset, j'ai du nouveau.
    J'ai contacté hier le rédacteur du document que je t'ai partagé. Il est écossais.
    Chanceux que je suis, il m'a répondu à l'instant. Il m'a expliqué que c'est normal de ne pas trouver une matrice P qui soit telle que C * P = 0, car il faudrait que tous les points 3D et 2D que j'ai pris soient absolument parfaits, c'est à dire pas de distorsion etc.
    Du coup, cela répond à mon problème. J'avais bien trouvé P, la matrice de passage.

    Ma prochaine étape est donc de créer une charte de calibration afin de calibrer mes caméras.

    Je te remercie pour ton assistance, tu m'as été d'une grande aide!

  26. #25
    invite3ac9815b

    Re : Calibration de deux caméras

    Et pour le " c' = PC ", en réalité on ne parle plus de la matrice C, mais du point 3D C(X,Y,Z).

  27. #26
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    Citation Envoyé par DotZ Voir le message
    En conclusion, je bloque sur la méthode pour trouver la matrice de passage, car je ne comprends pas la ligne de l'algorithme qui dit : "project C to the image point c' using c' = PC".
    soit C un ensemble de points connus dans l'espace réel.
    on fait ( le nb de fois nécessaire ) la comparaison entre un échantillon de points c ( points "vrais" obtenus sur l'écran ) par rapport à PC, points sur l'écran déduits de P ( calculée avec la méthode SVD )
    de façon à obtenir de manière brute la meilleure matrice P.
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  28. #27
    invite3ac9815b

    Re : Calibration de deux caméras

    Pour conclure avec ce sujet, j'ai désormais réussi à obtenir ce que je voulais.
    Pour calibrer mes caméras, j'ai donc imprimé un damier (tel une charte de calibration), et j'ai fait en sorte d'avoir un damier en 3D, avec un axe x, y, z.

    Je prends ensuite une photo de ce damier, puis via un outil tel que Paint (car avec OpenCv, le fait que le damier soit en 3D pose problème), je récupère les coordonnées des intersections entre les carrés du damier.
    Les points récupérés forment le couple (u,v).

    Je calcule ensuite manuellement sur le damier, les positions (X,Y,Z) des points que j'ai utilisés précédemment.

    Grâce aux équations vues précédemment dans ce post, j'obtiens : [u v w]^t = P * [X Y Z w]^t où P est la matrice de passage.

    Pour trouver cette matrice de passage, j'utilise un algorithme qui, après avoir formé la matrice C (celle de la documentation, une matrice 2n*12 où n est le nombre de points récupérés avec les damiers).
    Je fais ensuite la SVD (décomposition en valeur singulière) de C, et la dernière colonne de V me donne une matrice p (1,12). Je reforme ensuite ce p afin d'obtenir P, une matrice de passage 3x4. P est ma matrice de passage.

    En conclusion, j'ai désormais calibré mes caméras.

  29. #28
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    je pense comprendre.
    mais en fait tu ne fais qu'un seul "balayage" avec de nombreux points, alors que la méthode suggère d'en faire plusieurs pour minimiser les erreurs. ( l'histoire du c'=PC )
    comme je n'ai jamais utilisé cette méthode, impossible pour moi de savoir si ton calibrage est bon ou pas.
    sinon, tu sembles avoir compris les équations en jeu.
    bonne suite pour ton projet global.
    Cdt
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

  30. #29
    invite3ac9815b

    Re : Calibration de deux caméras

    J'ai simplifié les étapes mais j'ai effectué plusieurs balayages, et j'ai bien obtenu un résultat cohérent, je peux en connaissant uniquement mes coordonnées 3D et ma matrice P, retrouver les positions 2D du point image. C'est donc que cela est correct.
    Je te remercie pour ton assistance et te souhaite également une bonne continuation!
    DotZ

  31. #30
    ansset
    Animateur Mathématiques

    Re : Calibration de deux caméras

    OK, super !
    y'a quelque chose qui cloche là dedans, j'y retourne immédiatement !

Discussions similaires

  1. l'arduino et les cameras! !
    Par inviteeccd5c88 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/06/2015, 15h58
  2. Composants - caméras
    Par liohau dans le forum Électronique
    Réponses: 2
    Dernier message: 29/09/2014, 18h20
  3. installation des cameras
    Par roro1111 dans le forum Électronique
    Réponses: 11
    Dernier message: 18/09/2013, 08h29
  4. [Possible ou pas] 10 caméras synchronisées
    Par invite6b0a2e26 dans le forum Électronique
    Réponses: 15
    Dernier message: 11/06/2013, 23h27
  5. 2 ou 4 Cameras sur Emetteur
    Par invitecfcd358b dans le forum Électronique
    Réponses: 5
    Dernier message: 30/12/2008, 11h33