1 / 37

Graph cuts et applications

Graph cuts et applications. Cédric ALLENE Septembre 2004. Travail basé sur l’article. Graphcut textures: Image and video synthesis using Graph Cuts. Article de Vivek Kwatra , Arno Schödl, Irfan Essa, Greg Turk et Aaron Bobick pour le SIGGRAPH 2003. Théorie des Graph Cuts.

goldy
Download Presentation

Graph cuts et applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Graph cutsetapplications Cédric ALLENE Septembre 2004

  2. Travail basé sur l’article Graphcut textures:Image and video synthesisusing Graph Cuts Article de Vivek Kwatra, Arno Schödl, Irfan Essa, Greg Turk et Aaron Bobick pour le SIGGRAPH 2003

  3. Théorie des Graph Cuts • Coupe C (cut) sur le graphe G entre x et y: Ensemble d’arcs tels que tout chemin de x vers y passe par au moins un de ces arcs Capacité de la coupe C = Σ capacité des arcs de C • Recherche de la coupe minimum entre x et y: Equivaut à chercher le flot maximum de G entre x et y (algorithme de Ford et Fulkerson par exemple) • Intérêt: Permet de minimiser une énergie représentée par la capacité des arcs et de segmenter en 2 zones: aval et amont de la coupe

  4. Plan • Recherche de jonctions entre images via les Graph Cuts • Génération de textures • Inpainting: reconstruction de parties manquantes • Multiway Cuts et texture "optimale" • Développements futurs et perspectives

  5. - 1 -Recherche de jonctions entre imagesvia les Graph Cuts

  6. Principe de jonction • État initial: • Deux images en partie superposées • Objectif: • Trouver la jointure sur la zone de superposition qui donnera visuellement la meilleure délimitation de la région à plaquer sans dénaturer l’image Exemple de jonction

  7. Utilité de la jonction • Permet de "coller" deux images ensemble:

  8. Construction basique du graphe • Nb nœuds = 1 par pixel de la zone de jonction + 1 représentant le reste de la région A (source) + 1 représentant le reste de la région B (seek) • Arcs non orientés reliant les nœuds: • des pixels de la zone de jonction entre eux selon le 4-voisinnage des pixels correspondants • des pixels du bord de la zone de jonction au nœud symbolisant le reste de la pièce (patch) correspondante Exemple de graphe pour une zone de jonction de 3x3 pixels

  9. Coût des arcs • Arcs touchant au source/seek = ∞ • Arcs reliant 2 noeuds "pixels" voisins = M(s,t,A,B), qualité de correspondance entre les pixels des images à lier (matching quality cost) M(s,t,A,B), avec: • s et t deux positions de pixels adjacents • A et B les deux images à lier

  10. Recherche de la jointure, Graph Cuts • Graph Cuts: Recherche de la coupe minimum du graphe • Application: Trouver la jointure (cut; ensemble d’arcs) qui minimise les différences entre les images de part et d’autre de celle-ci (critère de coût des arcs) Recherche de jointure

  11. Cas particulier: présence d’anciennes jointures Comment tenir compte des disparités dues à la présence d’anciennes jointures dans la sortie déjà calculée ? Soient: • B: la région que l’on souhaite plaquer • A: la sortie déjà calculée, avec As et At les régions dont les pixels s et t en sortie sont originaires, • s et t: des nœuds de pixels reliés par un arc de l’ancienne jointure,

  12. Cas particulier: présence d’anciennes jointures Rajout d’un nœud supplémentaire à la place des arcs de l’ancienne jointure: • relié au nœud de la région à plaquer, coût:M(s,t,As,At), la valeur de l’ancienne jointure, • relié à chacun des deux nœuds de part et d’autre de l’ancienne jointure, coût:M(s,t,As,B)pour l’arc relié au nœud du pixel s M(s,t,B, At)pour l’arc relié au nœud du pixel t Construction de graphe en tenant compte d’une ancienne jointure (en jaune: désignation des patchs servant à calculer le"matching quality cost" entre les deux pixels pour un arc)

  13. Cas particulier: présence d’anciennes jointures • Présentation dans le cas 1D: Graphe avec une ancienne jointure en 1D

  14. Cas particulier: présence d’anciennes jointures • Intérêt des 3 arcs des nœuds de jointures: Exemple de coupe dans un graphe avec anciennes jointures

  15. Avec: - ; - d, la direction de l’arc entre s et t; - GdX, le gradient selon la direction d de l’image X Améliorations techniques • Nouveau calcul de qualité de correspondance: • Atténuation des jointures par lissage

  16. - 2 -Génération de textures

  17. Introduction Objectif: Générer une texture visuellement similaire à une image plus petite

  18. Principe Itérations de deux étapes: • Positionnement de la portion d’image dans la sortie (offset) • Choix de la partie à conserver, jonction avec les portions d’images déjà placées (seam)

  19. Méthodes de placement Plusieurs méthodes pour le choix de l’offset et de la région à plaquer: • Placement aléatoire, • Placement par correspondance

  20. Résultats obtenus

  21. Déroulement

  22. Résultats avec offset aléatoire

  23. Résultats avec offset aléatoire

  24. Résultats avec offset aléatoire

  25. - 3 -Inpainting:reconstruction de parties manquantes

  26. Reconstruction par simple correspondance • Sélection de patches placés au bord de la région manquante par correspondance

  27. Reconstruction par recherche de jointures • Sélection de patches placés au bord de la région manquante par correspondance avec recherche de la meilleure jonction

  28. - 4 -Multiway Cutset texture "optimale"

  29. Principe des Multiway Cuts • Graphe G avec N nœuds terminaux • Coupe C (cut) sur le graphe G entre les terminaux: Ensemble d’arcs tels que tout chemin d’un terminal à un autre passe par au moins un de ces arcs Capacité de la coupe C = Σ capacité des arcs de C • Problème APX-hard

  30. Principe des Multiway Cuts

  31. Application à la génération de textures • Recherche de jointures pouvant traiter plusieurs images superposées: • Suppression de la phase de placement • Permet de choisir directement entre les offsets possibles

  32. Construction basique du graphe • Nb nœuds = 1 par pixel de l’image de sortie + 1 par offset entre chaque couple de pixels de l'image de sortie (nœuds de liaison) • Arcs non orientés reliant les nœuds: • des nœuds de liaison aux terminauxcorrespondants: • des nœuds de liaison aux nœuds"pixels" de l’image de sortie:

  33. Construction basique du graphe • Soit X=M(s, t, Pu, Pv) la correspondance "privilégiée" entre s et t (valeur minimale) • Ci = X uniquement pour i=u et i=v, supérieur pour tous les autres • Ci‘ = X uniquement pour i≠u et i≠v, supérieur pour les autres

  34. - 5 -Développements futurs,perspectives

  35. A – Texture "optimale" • Utilisation de la technique des Multiway Cuts pour l’inpainting • Développement d’une méthode alternative avec l’algorithme de ligne de partage des eaux adapté aux graphes à arcs valués

  36. B – Traitement 3D • Mise en place de la méthode pour la 3D dans un espace discret • Application pour reconstruire des formes 3D incomplètes • Adaptation pour un traitement directement sur des surfaces (discrétisation)

  37. Merci de votre attention!N’hésitez pas à poser vos questions…

More Related