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

Contribuez Discussion :

[Image] Inpainting par Continuation des Isophotes


Sujet :

Contribuez

  1. #21
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    Bonjour, je sais que je suis venu trop tard dans ce forum, mais je viens de le decouvrir juste par hazard. Actuellement je travail sur des probleme d'inpainting. Cette technique est tres interessante pour restauré des images dégradée. Toutefois, il existe pas mal des approches qui marchent differemment selon les situations. le meilleur technique à mon avis sera une methode qui couple une constrcution des isophotes + une propagation par texture, comme ça je pense que le rendu visul sera plutot bien.
    Je vous invite à essayé le code fourni par Tchumperlé en Cimg en C. c'est rapide et assez utile, sauf qu il ne fait pas une propagation par texute des zones a reconstruire.
    http://cimg.cvs.sourceforge.net/view...?revision=1.17

    il repose sur les equations aux dérivées partielles par propagation anisotropique pour gardé la structure de l image . j espere que cela vous sera utile. Moi je chrche encore comment resoudre le probleme de texture si vous avez qlq suggestions je serai ravi.

  2. #22
    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
    Citation Envoyé par highlight Voir le message
    Toutefois, il existe pas mal des approches qui marchent differemment selon les situations. le meilleur technique à mon avis sera une methode qui couple une constrcution des isophotes + une propagation par texture, comme ça je pense que le rendu visul sera plutot bien.
    La "propagation" de texture c'est pas évident à faire. Les approches qui ont la cote en ce moment sont plutôt "patch-based", en prenant les patchs dans l'image a restaurer, ou alors dans une base d'images/textures.

    Par exemple l'algo PatchMatch.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #23
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    merci pseudocode, c'est tres tres bluffant comme technique, c'est une technique du dernier cri en photoshop CS5, hummm... je veux bien l'essayé pour resoudre mon probleme de l'inpainting, puisque je fai qu une continuité des isophotes, cela reste "pauvre" comme technique puisque j ai besoin d'un patch de texture, je sais pas comment resoudre ce probleme? ça fait 3 mois que je bosse sur ça mais j'ai pas trouvé la soulution, la plupart des codes ne sont pas open source :ss je sais pas quoi faire

  4. #24
    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
    bah tu n'as pas essayé d'implémenter l'algo patchmatch ? (au moins le chapitre 3)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #25
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    Oui j'ai lu l'article mais je me demande à quoi ça va nous servir pour remplir les regions occultées?

    ils prennent deux images A et B et ils essaient de reconstruire A à partir de B?????, je comprends pas en fait le principe? comment on peut integrer cela pour le remplissage des pixels perdu???????????

  6. #26
    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
    Citation Envoyé par highlight Voir le message
    Oui j'ai lu l'article mais je me demande à quoi ça va nous servir pour remplir les regions occultées?

    ils prennent deux images A et B et ils essaient de reconstruire A à partir de B?????, je comprends pas en fait le principe? comment on peut integrer cela pour le remplissage des pixels perdu???????????
    Ca c'est juste un exemple pour montrer qu'on peut faire de l'inpainting en prenant les motifs nécessaires dans une image quelconque, et pas forcément dans l'image "trouée".

    Là ils ont pris le cas extrême où pour chaque pixel de l'image A, on cherche un motif de remplacement dans l'image B. Dans un inpainting classique, on s'occupe seulement des pixels manquants de l'image A.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #27
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    Je vois tres bien ce que tu veux dire, mais si on a pas une autre image B pour qu on puisse remplir les trous de l'image A (ce qui est toujours le cas!!), le code est disponible du patchmatch sous matlab .mex est tres rapide(lien en bas) mais je vois pas comment faire un remplissage des zones occulté, as tu une idée stp????!

    http://www.cs.princeton.edu/gfx/pubs..._PAR/index.php

  8. #28
    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
    Citation Envoyé par highlight Voir le message
    Je vois tres bien ce que tu veux dire, mais si on a pas une autre image B pour qu on puisse remplir les trous de l'image A (ce qui est toujours le cas!!)
    Bah on prend les motifs dans l'image A (dans des endroits non troués évidemment).

    le code est disponible du patchmatch sous matlab .mex est tres rapide(lien en bas) mais je vois pas comment faire un remplissage des zones occulté, as tu une idée stp????!

    http://www.cs.princeton.edu/gfx/pubs..._PAR/index.php
    heu non. Je n'utilise pas Matlab.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #29
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    "heu non. Je n'utilise pas Matlab. "
    lol t as raison matlab est chiant surtout pour les probleme de reconstruction, mais l'algo PatchMatch est fait en .mex ( en C pur) donc il est tres rapide.

    Veux tu dire que remplacer l'image B par les motifs (non trouée) de l image A. Mais comment indiqué à l'algo que les zones (par exmple blanches) sont zones occultée? dans un inpainting classique on le fait via un masque binaire? as tu deja manipulé cette problematique?

    Tu m excuse pour mes questions intenses mais je suis vraiment dans la galere, j'arrive pas a trouvé des bons resultats pour la reconstruction et ça fait plus que 4 mois que je bosse la dessus dans mon stage

  10. #30
    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
    Citation Envoyé par highlight Voir le message
    Veux tu dire que remplacer l'image B par les motifs (non trouée) de l image A. Mais comment indiqué à l'algo que les zones (par exmple blanches) sont zones occultée? dans un inpainting classique on le fait via un masque binaire?
    C'est sur que l'algo ne peut pas deviner tout seul quelles parties il est censé corriger. Il faut définir un masque pour différencier les trous (a remplir) et le reste de l'image (qui sert d'espace pour chercher les motifs).

    D'après leur technique, il faut ensuite faire un balyage (haut/gauche -> bas/droite) de l'image et faire la recherche de patch a chaque fois que l'on rencontre un pixel masqué. Par contre je n'ai pas vu comment est géré la "fusion" des motifs pour des pixels voisins, ou comment est géré le cas d'un voisinage completement masqué. Il faudrait que je lise le document plus en détail.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #31
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    ce sont des pistes très intéressantes que tu viens de me fournir je sais pas comment te remercier, je ferai mon possible pour faire marché cette méthode, je te tiens au courant car t es le seul qui peut m aidé

    voila un lien intéressant expliquant le principe de la méthode en video d une façon simplifié:

    PatchMatch (rubrique APPENDICES and SUPPLEMENTS)

  12. #32
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    J'ai pas du tout des idées les gas pouvez vous m'aider si vous avez travaillé sur la problématique vraiment j'ai besoin de votre aide, heelp please!!

  13. #33
    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
    Comme j'avais du temps libre cet après midi, j'ai commencé a coder les bases de l'algo PatchMatch en Java (en fait, j'ai codé le NN-field et l'algo EM)

    Pour l'instant le code n'est pas du tout optimisé et j'ai du laisser des bugs, mais ca parait pas trop mal pour un début.

    inpainting par algorithme patchmatch
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  14. #34
    Membre régulier Avatar de highlight
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Novembre 2008
    Messages : 139
    Points : 101
    Points
    101
    Par défaut
    C'est tres gentil de ta part pseudocode, j'ai essayé de travaillé la methode mais j'ai rederigé ma voie vers les algo de propagation de texture Image quilting, mais le patch match est le top pour le moment merci à toi .

  15. #35
    Nouveau membre du Club
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Désoler de "déterrer" ce vieux topic mais je me demandais si l'algo d'inpainting du premier post pourrait fonctionner sur des images de float et non entières ?

  16. #36
    Nouveau membre du Club
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Je déterre à nouveau le sujet.
    L'inpainting sur des flottants sa marche bien.
    Et si comme moi vous avez des grosses "marches" à rabouter de façon joliment continue/dérivable, n'hésitez pas à booster la taille de la région à 150-200.

Discussions similaires

  1. Affichage des images générées par une application sous tomcat
    Par don'de dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 09/01/2007, 11h24
  2. taille d'image définie par des variables
    Par evilkopus dans le forum Langage
    Réponses: 7
    Dernier message: 10/10/2006, 08h19
  3. Réponses: 1
    Dernier message: 09/10/2006, 19h40
  4. [HTML] alignement par 3 ,des images
    Par oceane751 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 26/09/2006, 18h22
  5. Réponses: 20
    Dernier message: 19/12/2004, 18h52

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