IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Quantification de déplacement


Sujet :

Traitement d'images

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Quantification de déplacement
    Bonjour,

    Je suis en train de travailler sur un projet, je vous l'explique prièvement. J'ai une webcam et un moyen pour détecter la pose de la webcam à chaque image prise. Je considére que le sol que je détecte est plan et je calcul une homographie qui va lié l'image prise à l'instant t et t+1.
    Je voudrais savoir si, à partir du moment ou l'on aune caméra calibrer et que l'on connait l'inclinaison sur chaque angle de chaque image ainsi que la hauteur de prise, on peut quantifier le déplacement que la webcam a effectuer entre les deux prise?

    Je pensais partir sur le calcul d'une homographie et faire comme si j'étais dans le cas sterovision et détecter le déplacement?? J'ai donc l'homographie qui lie les deux plans et la matrice de rotation qui fait passer "d'une camera à l'autre"' (parce que je connais la pose à l'instant t et t+1).
    Avec ca et un "peu de math" peut-on détecter le mouvement entre les deux images?

    Si quelqu'un pouvait m'éclairer un peu.
    Merci par avance.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut
    Tu as regarde du cote du flot optique?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Oui j'ai regardé de ce coté la. Mon problème n'est pas de quantifier le mouvement dans l'image ou de le détecter. J'arrive a le quantifier et à extraire la matrice d'homographie lié a ce mouvement.
    Je voudrais savoir si il est possible à partir de deux images et de la pose de ces deux images (tangage, roulis et lacet) d'extraire le déplacement de la webcam dans l'espace?

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut
    Ah ok, bah sans les paramètres extrinsèques je ne vois pas comment faire!

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Ba comme paramètre extrinseque j'ai la pose de la webcam à chaque instant (tangage roulis et lacet), la hauteur de chaque prise. J'ai également le mouvement détecté dans l'image (l'homographie) et la webcam calibré.

    Apres ca on peut pas détecter le déplacement relatif de la webcam par rapport à l'image précedente?

    Par exemple quand la webcam est parallèle au plan du sol et la hauteur de chaque image est connue, on peut en déduire un déplacement... Je me suis dis qu'en ajoutant un capteur me permettant de savoir à chaque prise d'image la pose de la webcam et la hauteur, je pourrais en déduire le mouvement la aussi...

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    786
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 786
    Points : 602
    Points
    602
    Par défaut
    Je suppose que tu as déjà du lire ca?

    http://fr.wikipedia.org/wiki/Calibration_de_cam%C3%A9ra

    notamment "Le modèle du sténopé", toi tu as deja la matrice T mais il faut pas mal d'autre parametre notamment R et les paramètre intrinsèque.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Euh ... Oui bien sur je connais pas forcement cette page mais les méthodes pour calibrer des caméras et des modèles stereovisions.
    Je sais pas ce que c'est cette matrice T mais selon les notations de wiki, j'ai les paramètres intrinques (ku,kv,suv,cu,cv et f) et la hauteur de la prise de l'image. Par contre j'ai l'angle de la prise de l'image sur les trois angles pour chaque image. Donc deux images successives est un système de stéréovision donc il faut déterminer la translation entre les systèmes(on a la matrice de rotation).

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Je pensais à un truc comme ca:
    http://en.wikipedia.org/wiki/Homography
    Avec ca, on connait H,R et d et n et il faut chercher t...

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2013
    Messages : 8
    Points : 14
    Points
    14
    Par défaut Paramètres extrinsèques et intrinsèques
    Il me semble que tu as tout pour répondre à ta question.
    Tu dis que ta caméra est calibrée, ce qui implique que tu connais ses paramètres intrinsèques (matrice notée K).
    Tu connais également la rotation (via tangage, roulis et lacet), notée R (attention, si tu calcule une différence de tangage, roulis et lacet en chaque temps, tu ne peux pas additionner R + deltaR. Je te conseille de t'informer sur les quaternions pour ça).
    Tu connais une partie de la translation de ta caméra, vu qu'elle reste à la même hauteur. En notant T ta translation (dans le repère de ta caméra, donc en tenant compte de la rotation, renseigne toi sur la différence entre C et T dans la calibration de caméras), tu connais T(2).
    Tu sais que la projection est: P = K [R T].
    Il te manque un paramètre de P, que tu peux trouver via PX = x (en coordonnées homogènes), avec x ta coordonnée image, et X ta coordonnée 3D. Tu connais un delta_x (via, par exemple, optical flow), donc delta_X = P^-1 delta_x. Attention, P n'est pas carré, donc il faut prendre son pseudo-inverse. En combinant tout cela, tu devrais y arriver. Bonne chance!
    P.S: Attention: tu dois être sûr à 100% que tu n'as pas de changement de hauteur pour imposer la même hauteur (sinon, tu la pose comme inconnue, et il te faudra plus de delta_x pour la déterminer). Parfois, quelques mm peuvent changer pas mal en calibration (si tu es loin de la scène).

  10. #10
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 75
    Points : 76
    Points
    76
    Par défaut
    Si tu connais l'homographie entre tes 2 images, alors le déplacement rotation/ translation peut être déterminé par une décomposition en valeurs singulières de cette homographie. Tout est expliqué là dedans (encore une fois Monsieur Faugeras...) :

    http://hal.archives-ouvertes.fr/docs...DF/RR-0856.pdf

    Le seul inconvénient est que le vecteur translation n'est connu qu'à un facteur d'échelle près, mais on s'en sort quand même !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 560
    Points : 71
    Points
    71
    Par défaut Re
    Pourquoi peut-on connaitre les valeurs "qu'à un facteur d'échelle près"?

    Visiblement si on connait la distance d et R , on connait l'estimation de la translation, non?

  12. #12
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 75
    Points : 76
    Points
    76
    Par défaut
    La décomposition seule de l'homographie te donne exactement R et à un facteur d'échelle près T. Effectivement si tu connais la distance de prise de vue et les paramètres intrinsèques de la caméra tu peux remonter aux valeurs exactes de T.

Discussions similaires

  1. [API][MFC]Graphisme - Déplacement d'un image ???
    Par Alcarbone dans le forum MFC
    Réponses: 12
    Dernier message: 26/11/2003, 21h28
  2. Déplacement ou positionnement d'une fenêtre
    Par agl dans le forum C++Builder
    Réponses: 3
    Dernier message: 10/11/2003, 09h29
  3. Déplacement d'Objets
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/09/2003, 14h28
  4. Déplacement "automatique" du curseur
    Par Amenofis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 08/01/2003, 18h57
  5. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo