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 :

Utiliser un filtre de Kalman pour calculer l'orientation d'un carré détecté par la caméra


Sujet :

Traitement d'images

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut Utiliser un filtre de Kalman pour calculer l'orientation d'un carré détecté par la caméra
    Bojour,

    avec ma Webcam, j'arrive à détecter un carré, puis à calculer la direction des points de fuite, et enfin l'orientation du carré dans le repère de la caméra avec les angles d'Euler.

    Même si le carré ne bouge pas, il y a des incertitudes de mesure pour obtenir la position des angles du carré (reconnu par la Webcam).
    Par répercussion, il y a une imprécision sur le calcul des angles d'Euler. On se retrouve d'une capture d'image à une autre à avoir des angles d'Euler qui varie suffisamment pour poser problème.

    Je viens de découvrir le filtre de Kalman qui semble bien correspondre à mon problème. Je comprends comment l'utiliser pour le déplacement d'un objet en 1 dimension, par contre je me demande comment je dois m'y prendre pour un objet qui peut se déplacer en 3D. C'est à dire qui peut tourner autour de son centre (Rotation), et se déplacer dans l'espace (Translation)

    Est ce que pour les rotations je fais 3 filtres alpha - beta - gamma pour chaque angle d'Euler
    avec gamma pour l'accélération de rotation angulaire, beta pour la vitesse, et alpha pour l'angle ?
    Et est ce que c'est bien d'utiliser les angles d'Euler (et ce qu'il vaut mieux faire quelque chose avec les quaternions, j'ai du mal avec les matrices)

    Est ce que ma logique est bonne ?

  2. #2
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Utiliser un filtre de Kalman pour calculer l'orientation d'un carré détecté par la caméra
    Bonjour,

    Citation Envoyé par Alec6 Voir le message
    ... avec ma Webcam, j'arrive à détecter un carré, puis à calculer la direction des points de fuite, et enfin l'orientation du carré dans le repère de la caméra avec les angles d'Euler.

    Même si le carré ne bouge pas, il y a des incertitudes de mesure pour obtenir la position des angles du carré (reconnu par la Webcam).
    Par répercussion, il y a une imprécision sur le calcul des angles d'Euler. On se retrouve d'une capture d'image à une autre à avoir des angles d'Euler qui varie suffisamment pour poser problème.

    Je viens de découvrir le filtre de Kalman qui semble bien correspondre à mon problème. Je comprends comment l'utiliser pour le déplacement d'un objet en 1 dimension, par contre je me demande comment je dois m'y prendre pour un objet qui peut se déplacer en 3D. C'est à dire qui peut tourner autour de son centre (Rotation), et se déplacer dans l'espace (Translation)

    Est ce que pour les rotations je fais 3 filtres alpha - beta - gamma pour chaque angle d'Euler
    avec gamma pour l'accélération de rotation angulaire, beta pour la vitesse, et alpha pour l'angle ?
    Et est ce que c'est bien d'utiliser les angles d'Euler (et ce qu'il vaut mieux faire quelque chose avec les quaternions, j'ai du mal avec les matrices)

    Est ce que ma logique est bonne ?
    Simplement, quelques remarques:
    1- (alpha - beta - gamma) ne correspond pas à la notation usuelle des angles d'Euler; on n'est nullement tenu au respect de la notation traditionnelle, mais tu t'exposes à des difficultés de transcription bien inutiles;

    2- tu es en train de confondre allègrement ces angles (relatifs à l'orientation spatiale d'un objet tridimensionnel) avec des notions de cinématique impliquant des dérivations par rapport au temps:
    β = α' = (dα/dt) ; γ = α" = (d2α/dt2) ...
    et dans lesquelles (γ) ne représente pas un angle mais la dérivée seconde d'une coordonnée.
    Je crains que tu te fourvoies complètement. Une rotation dans l'espace fait intervenir les dérivées temporelles des angles d'Euler θ' = (dθ/dt), θ" = (d2θ/dt2) ... etc.

    3- Envisager la superposition d'une translation et d'une rotation dans l'espace va présenter de grandes difficultés, car la profondeur de l'objet devra être déduite des écarts de longueur entre (OA) et(OC), (OB) et (OD). Par ailleurs, les imprécisions sur les positions des sommets de l'images conduisent à un calcul de moyennes.
    La projection centrale ne respectant que l'alignement des points, tu devras commencer par déterminer l'intersection (O) des segments (AC) et (BD), puis les vecteurs (OA, OB, OC, OD) ainsi que leur norme.

    Je n'ai pas eu le temps de consulter la procédure indiquée (Kalman).


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Points : 393
    Points
    393
    Par défaut
    Merci wiwaxia d'avoir pris le temps de répondre.

    Le titre de mon thread et les explications ne sont pas précises, du coup ta réponse ne correspond pas du tout à la question.

    Ma question est sur comment j'implémente un filtre de Kalman appliqué à la rotation d'un objet, en utilisant comme input la mesure des angles d'Euler

    Quand on a des mesures pas très précises plutôt que de faire la moyenne sur un jeu de valeur on utilise le filtre de Kalman.

Discussions similaires

  1. Utilisation du filtre de Kalman pour estimer le biais gyroscopique et l'angle du mobile
    Par Sunviv dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 24/07/2017, 09h10
  2. Réponses: 2
    Dernier message: 11/08/2015, 15h24
  3. Réponses: 1
    Dernier message: 05/02/2013, 16h36
  4. Filtre de Kalman étendu: calcul de la jacobienne
    Par amanichennoufi dans le forum Simulink
    Réponses: 5
    Dernier message: 15/02/2012, 18h11
  5. filtre de kalman pour suivi de route
    Par samira_08 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 02/07/2008, 16h11

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