Graph cuts et applications

Slides:



Advertisements
Présentations similaires
Calcul du flot maximum Algorithme de Ford Fulkerson Maxime Chambreuil | Nicolas Fournel | Vianney Gremmel | Leïla Traoré | Marouane Zehni UV RO.
Advertisements

Introduction à la Théorie des graphes
Théorie des graphes.
Unstructured Lumigraph Rendering
Cours 3-b Méthode des éléments finis 1D
Introduction à la Théorie des graphes
Simplification et abstraction de dessins au trait
Xialong Dai, Siamak Khorram
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Flots et réseaux de transport
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Traitements d'images et Vision par ordinateur
Reconstruction de volume 3D
Concepts avancés en mathématiques et informatique appliquées
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Analyse d’images Détection de contour Cours 8
Heuristiques A. Introduction B. Recherche d ’une branche
Programmation linéaire
Optimisation et Complexité
Découpage d’images GIF-4105/7105 Photographie Algorithmique

Algorithmes d ’approximation
Deux méthodes incrémentales pour le maintien dun arbre de connexion Nicolas Thibault Christian Laforest
Optimisation dans les réseaux
Programmation linéaire et Recherche opérationnelle
Recherche Opérationnelle
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation dynamique
GPA750 – Gestion de Projets
Redimensionnement d’images
Application d’algorithmes d’extraction de la couleur et des textures à partir d’images aériennes dans le contexte de l’extraction de bâtiments pour supporter.
Pour le chemin le plus court pour tous les couples

I MAGIS est un projet commun CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Optimisation à base de flot de graphe pour l'acquisition d'informations 3D.
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Segmentation (1ère partie)
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Damien GROSGEORGE Caroline PETITJEAN Su RUAN
Arbres et graphes.
Deux sujets traités La segmentation d’images
GRAPHES EN INFORMATIQUE. INTRODUCTION Les objets mathématiques appelés graphes apparaissent dans de nombreux domaines comme les mathématiques, la biologie,
Programmation dynamique
Segmentation par analyse d’une image de gradient (ligne de partage des eaux) par fusion de régions dans un graphe par méthode variationnelle (Mumford.
Monitoring Détection de séquences vidéo en temps réel dans une grande base de données Julien Law-to 23/07/2004.
ALGORITHMIQUE Nouveaux programmes de Premières Animations Mai 2011
Tutorat 7 - Introduction au Routage et OSPF
Réalisation Roll Through the Ages 1 Rémy MATHIEU Morgan MONTES Jean-Michel RONDY Benjamin SIRIGU.
Optimisation de requêtes
Synthèse de textures par rééchantillonnage de patchs Vincent MICHEL Aurélien BOFFY Janvier 2007.
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Algorithmes Branch & Bound
Ranking the web frontier Nadav Eiron, Kevin S. McCurley, John A. Tomlin IBM Almaden Research Center Bah Thierno Madiou.
LE FLOT MAXIMAL et LA COUPE MINIMALE
Ceci est un graphe valué Des arcs : 1-2, 1-4, 7-10,…..
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Licence d’informatique Algorithmique des graphes
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
Mustapha Hamidou Vendredi 20 août Stage Contour Matching.
Recherches locales et méta-heuristiques
Soutenance de Stage DEA / DESS
Licence d’Informatique Algorithmique des graphes
Recalage contraint par cartes de courbures discrètes pour la modélisation dynamique du rein Valentin LEONARDI, Jean-Luc MARI, Philippe SOUTEYRAND, Julien.
Romain Dupont encadré par J.Aubourg et P. Fuchs
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Visualisation des flots optiques en 3D
Partie II : Segmentation
PIF-6003 Sujets spéciaux en informatique I
Projet de Système Répartis. Contexte: Choix techniques:
Transcription de la présentation:

Graph cuts et applications Cédric ALLENE Septembre 2004

Graphcut textures: Image and video synthesis using Graph Cuts 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 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

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

- 1 - Recherche de jonctions entre images via les Graph Cuts

Principe de jonction État initial: Objectif: 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

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

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

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

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

présence d’anciennes jointures 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,

présence d’anciennes jointures 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)

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

présence d’anciennes jointures 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

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

- 2 - Génération de textures

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

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)

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

Résultats obtenus

Déroulement

Résultats avec offset aléatoire

Résultats avec offset aléatoire

Résultats avec offset aléatoire

- 3 - Inpainting: reconstruction de parties manquantes

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

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

- 4 - Multiway Cuts et texture "optimale"

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

Principe des Multiway Cuts

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

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 terminaux correspondants: des nœuds de liaison aux nœuds "pixels" de l’image de sortie:

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

- 5 - Développements futurs, perspectives

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

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)

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