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

Algorithmes et structures de données Discussion :

Superposition d'image


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut Superposition d'image
    Bonjour à tous,

    je réalise un projet dans lequel je souhaite réaliser une estimation de mouvement par block matching.
    J'ai déjà implémenté la partie de block matching, mais il me reste un problème au niveau du recalage des images.

    Je m'explique, pour faire une bonne compensation de mvt entre 2 images, j'ai besoin que le "décor" soir fixe or dans mon appilcation la caméra qui saisit les images bouge un peu. Je dois donc superposer chaque images successives pour limiter l'effet des mvts de la caméra.

    Pour réaliser cette superposition, je pensais utiliser la corrélation qu'il y a entre les 2 images pour obtenir les coordonnées du maximum de vraissemblance afin d'en déduire le vecteur de déplacement.
    Seulement je ne sais pas trop quelle formule de la corrélation utiliser ni comment l'implémenter sous matlab.
    Si quelqu'un peut me donner un p'tit coup de main...

    PS: si une meilleure solution existe, je suis à l'écoute

  2. #2
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Salut!
    A ma connaissance il n'existe pas de méthode rapide et robuste pour superposer les images...
    En effet, pour les rassembler en une seule, il faut trouver des points communs entre les images, et ensuite estimer les déformations à appliquer à l'image 1 pour la recoller sur l'image 2.

    Le problème c'est que pour déterminer des points de ressemblance (automatiquement j'entends) il n'y a pas de méthode rapide (enfin je crois car j'avais pas mal cherché c'était mon stage l'an dernier)... Si tu veux plus de détails va voir http://www.mathieu.tobie.perso.ceget...Stage_enac.pdf...
    C'est basé sur la détermination de points de l'image qui seront détectés à coup sûr dans chaque image : elle doit être invariante par translation, rotation, changement d'échelle... ça déjà c'est très long... Ensuite il faut déterminer avec l'ensemble des points de similitude la déformation à appliquer via des algos d'optimisation...


    On pourrait me dire qu'il suffit juste d'essayer de recaler en translation seulement, mais le problème de trouver des points de similitude reste le même...

    Pour ton suivi de mouvement en temps réel (ou quasi réel, en tout cas plus qu'avec un recalage d'images), il y a des méthodes bien plus efficace que de tenter de superposer les images... Je me souviens plus des noms, mais sûr ça existe... Je dois avoir ça chez moi, je verrai ça ce soir...

    A+

  3. #3
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    ok merci,

    donc selon toi mon idee d'utiliser la correlation ne sera pas efficace?
    dans mon cas je ne devrais pas avoir de rotation, uniquement des translations, c'est pour ca que je m'etais penché sur la corrélation.

    le cas des points d'intérêts j'y ai aussi pensé mais c'est un technique trop éloignée du temps réel pour mon application (comme tu l'as dit)...

    j'attends avec impatience le nom de tes methodes quand tu seras rentrés ce soir.

    merci d'avance.

  4. #4
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Bah pour ce qui est de la corrélation tu peux toujours essayer, mais je doute de son efficacité... Surtout pour des calculs rapides... Les techniques dont je ne me souviens plus le nom incorporent il me semble cesnotions de corrélation mais de façon optimisée dans la recherche du mouvement, donc il vaut mieux se fier à ces techniques.

  5. #5
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    des idees??

    si tu penses à tes methodes... merci

  6. #6
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Oui désolé, j'ai pas pu rentrer chez moi hier soir, la vie étudiante est dure ... Promis je regarde ce soir...
    Mais cherche déjà sous google avec des mots clés du genre "visual tracking" "motion camera"...

  7. #7
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    Salut,
    J'ai déjà fait pas mal de recherche, mais j'ai surtout trouvé des methodes de suivi, de detection ou de classification tel que les snakes, le flot optique etc...
    En ce qui concerne le "recardage" je tombe la plupart du temps sur des systemes de stéréo-vision ou sur l'utilisation de la correlation, c'est pour ca que le nom des methodes m'interesse --> pour les recherches

  8. #8
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Euh... J'arrive pas à retrouver le nom de la méthode ...
    Dans mon cours on voit clairement des images où la caméra bouge et où on arrive à suivre le mouvement...
    Je crois que l'algo se base sur une estimation du mouvement général, ce qui correspond au mouvement de la caméra, puis en retranchant ce mouvement on peut détecter quels sont les objets qui bougent...

    Vraiment désolé, c'est tout ce que je peux dire ...

  9. #9
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    en fait, c'est du block matching dans lequel on interprete le vecteur de mvt comme etant le deplacement de la cam.

    c'est plutot rapide(j'avais dejà commencé à le faire) et je vais donc poursuivre sur cette voie.
    surtout que la correlation croisée à calculer c'est bien long.

    par contre qd on fait la corrélation croisée sur 2 images (2 matrices) je vois pas bien comment exploiter le resultat.
    je l'ai programmé sous matlab:

    correlation = xcorr2(matrice1,matrice2);

    mais le resultat est une matrice et je ne voix pas bien comment en extraire les pics des maximums de ressemblance.

    si la corrélation croisée est clair pour qqun et qu'il peur d'eclairer ma lanterne

    merci à tous

  10. #10
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    en fait, c'est du block matching dans lequel on interprete le vecteur de mvt comme etant le deplacement de la cam.

    c'est plutot rapide(j'avais dejà commencé à le faire) et je vais donc poursuivre sur cette voie.
    surtout que la correlation croisée à calculer c'est bien long.

    par contre qd on fait la corrélation croisée sur 2 images (2 matrices) je vois pas bien comment exploiter le resultat.
    je l'ai programmé sous matlab:

    correlation = xcorr2(matrice1,matrice2);

    mais le resultat est une matrice et je ne voix pas bien comment en extraire les pics des maximums de ressemblance.

    si la corrélation croisée est clair pour qqun et qu'il peut d'eclairer ma lanterne

    merci à tous

  11. #11
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Bah il suffit d'extraire le (i,j) où est le maximum... C'est le centre de ton image à caler sur l'autre...

  12. #12
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 20
    Par défaut
    ok merci

Discussions similaires

  1. superposition d'images et scroll
    Par straasha dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/03/2007, 08h23
  2. Superposition d'images semi-transparentes
    Par Celelibi dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 13/12/2006, 15h30
  3. Réponses: 4
    Dernier message: 06/12/2006, 10h29
  4. [CSS] lien dans un div avec superposition d'image
    Par avogadro dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/07/2006, 10h10
  5. Position et superposition d'images
    Par Flodelarab dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/01/2006, 14h37

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