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 :

Algorithme de block matching -- Full search


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Points : 27
    Points
    27
    Par défaut Algorithme de block matching -- Full search
    Bonjour,

    Je développe actuellement un algorithme de block matching sur GPU. J'implémente l'algorithme de full search et jusqu'à maintenant, je suivais les indications d'un article de recherche que j'avais pris comme référence et avais dimensionné mes tableaux pour pouvoir "accueillir" les données de tous les blocs candidats pour un bloc de taille 4*4 : pour une fenêtre de recherche de 16, cela me donnait un total de (2*16+1)² blocs candidats.
    Mais dans un autre article que je viens de trouver, pour une fenêtre de recherche de 16, ils calculent 1024 positions.
    Du coup, je suis perplexe Quelqu'un peut-il m'éclairer sur ce nombre de candidats ?

    merci d'avance

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    On peut avoir le nom (ou un lien) sur les papiers de recherche dont tu parles ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Effectivement, ça pourrait être utile
    Voilà pour le premier : http://vc.cs.nthu.edu.tw/home/paper/...0on%20CUDA.pdf (les 1024 SADs).
    En ce qui concerne la seconde référence, il ne s'agit pas d'un papier à proprement parler mais d'un code de référence développé par un groupe de recherche de l'Illinois cité à de nombreuses reprises dans plusieurs papiers (surtout pour des benchmark) et dont le code source peut être disponible à cette adresse : http://impact.crhc.illinois.edu/parboil.php.
    Il est aussi plus facilement visible sur le projet Ocelot, sur google code, à cette adresse précise : http://code.google.com/p/gpuocelot/s...ests/sad/sad.h.

    Voici un extrait de SAD.h :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /* Search offsets within 16 pixels of (0,0) */
    #define SEARCH_RANGE 16
     
    /* The total search area is 33 pixels square */
    #define SEARCH_DIMENSION (2*SEARCH_RANGE+1)
     
    /* The total number of search positions is 33^2 */
    #define MAX_POS 1089
     
    /* This is padded to a multiple of 8 when allocating memory */
    #define MAX_POS_PADDED 1096
    Ils déterminent donc que le nombre total de positions de recherche est de 1089 (et ils "pad" cette valeur pour pouvoir dans le code effectuer des accès mémoires coalescents depuis la mémoire du GPU). Alors que dans le premier document, au paragraphe 3.2, ils disent "the 32*32 search range leads to 1024 candidate positions".

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Ok.

    Alors visiblement, il y a ceux qui travaillent sur un carré centré sur un pixel => un nombre impair de lignes/colonnes => (2*16+1)² = 1089
    Et puis il y a ceux qui travaillent sur un carré centré sur un interpixel => un nombre pair de lignes/colonnes => (2*16)² = 1024

    Un peu le principe des piquets et des intervalles.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. tester le block matching
    Par bechir ouni dans le forum Images
    Réponses: 0
    Dernier message: 29/05/2012, 17h34
  2. Algoritme Block Matching
    Par mehdinirvana dans le forum C++
    Réponses: 0
    Dernier message: 10/04/2009, 12h10
  3. Algorithme de correspondance de blocs
    Par ZAYDOUN dans le forum OpenCV
    Réponses: 3
    Dernier message: 19/09/2008, 12h21
  4. algorithme block matching
    Par tinacodec dans le forum Delphi
    Réponses: 1
    Dernier message: 23/06/2007, 00h02
  5. Réponses: 1
    Dernier message: 06/05/2007, 11h10

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