Découpage d’images GIF-4105/7105 Photographie Algorithmique

Slides:



Advertisements
Présentations similaires
Petit guide explicatif…
Advertisements

Traitement d’images : concepts fondamentaux
Algorithmes et structures de données avancés
Regroupement (clustering)
Exposé SI28 Photoshop CS04, Séance 1 Thibault Seillier – Lenoir Cécile
Champs de Markov en Vision par Ordinateur
Champs de Markov en Vision par Ordinateur
Regroupement (clustering)
4. Descripteurs du contenu
A Pyramid Approach to Subpixel Registration Based on Intensity
Piecewise Affine Registration of Biological Images
Plus rapide chemin bicritère : un problème d’aménagement du territoire
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Traitements d'images et Vision par ordinateur
Concepts avancés en mathématiques et informatique appliquées
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.
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
Heuristiques A. Introduction B. Recherche d ’une branche
FRE 2645 CIDED04 : 22 Juin 2004 Système de reconnaissance structurelle de symboles, basé sur une multi représentation en graphes de régions, et exploitant.
RECONNAISSANCE DE FORMES
Le morphage d’images GIF-4105/7105 Photographie Algorithmique
Construction de modèles visuels
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
Segmentation deux classes interactive
Transformation linéaires
Algorithme de Bellman-Ford
Interfaces perceptuelles Interaction avec une caméra.
CSI2520 Représentation: g([Noeud,...],[arc(Noeud1,Noeud2,Valeur),...]). arc(g(Ns,Arcs),N1,N2,Valeur):- member(arc(N1,N2,Valeur),Arcs). % pour un graphe.

PROBLEMES DE DEGRE-DIAMETRE DE GRAPHES DANS LE CAS GENERAL
Apprentissage semi-supervisé
Plage Dynamique GIF-4105/7105 Photographie Algorithmique
TRAITEMENT D’IMAGE SIF-1033.
TRAITEMENT D’IMAGE SIF-1033.
Interfaces perceptuelles
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Recherche dun même objet / scène Approches basées sur des descripteurs locaux Approches basées sur des descripteurs globaux.
Interprétation automatique
Cours #9 Segmentation Découverte 4- Segmentation Introduction
Redimensionnement d’images
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Pour le chemin le plus court pour tous les couples
Insertion d’objets virtuels, suite GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Merci à A. Efros et P. Debevec!
Segmentation (1ère partie)
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Deux sujets traités La segmentation d’images
Programmation dynamique
Tutorat 7 - Introduction au Routage et OSPF
Graph cuts et applications
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Les réseaux de neurones à réservoir en traitement d’images
Intelligence Artificielle
Institut de sciences et technologies Département d’informatique
POWERPOINT.
Apparence globale 1 image = 1 vecteur Base apprentissage Rotation –capture les variabilités Troncature –Quelques coefficients Représentation linéaire Espace.
Introduction au Traitement d’image
Les réseaux de neurones à réservoir en traitement d’images
Suivi rapide d’objet en mouvement
MAP-6014 Concepts avancés en mathématiques et informatique appliquées
Algorithme de DIJKSTRA
Sixième étape : pondérer les graphes. Longueur d’une chaîne d’un graphe quelconque = nombre des arêtes qui la constituent. Distance entre deux sommets.
Interfaces perceptuelles Interaction avec une caméra.
Traitement d’images 420-D78-SW A15 Semaine 02.
PIF-6003 Sujets spéciaux en informatique I
Exemple et critique d’un système de vision simple Patrick Hébert (dernière révision septembre 2008) Référence complémentaire: Shapiro et Stockman: chap.
Comparing color edge detection and segmentation methods Projet TIM.
Le morphage d’images Steph Hoffman
Composition et mélange
Transcription de la présentation:

Découpage d’images GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde Beili Liu, image: Don Mason

La semaine dernière Synthèse de textures Re-dimensionnement d’images (TP2)

Segmentation (ou découpage) d’images Aujourd’hui Segmentation (ou découpage) d’images

Application: composer les images Source: Hoiem

Segmentation semi-automatique L’utilisateur n’indique ses préférences qu’approximativement —l’algorithme doit faire le reste! Problèmes: Quels groupes de pixels forment des régions cohérentes? Quels pixels sont probablement à la frontière de ces régions? Quelle région l’utilisateur désire-t-il? Source: Hoiem

Les caractéristiques d’une “bonne” région? Contient couleurs et textures similaires Différente de l’arrière-plan Compacte Similar color/texture, compact Source: Hoiem

Les caractéristiques d’une “bonne” frontière? Gradient élevé Gradient dans la bonne direction Lisse et continue Smooth, high gradient along boundary Source: Hoiem

Idée principale: l’image est un graphe! Noeud: pixel Arc: relation entre les pixels L’idée principale du cours d’aujourd’hui: considérer l’image comme étant un graphe!

L’image est un graphe! Synthèse de textures Noeuds: différence de chevauchement Arcs: voisinage Redimensionnement Noeuds: “importance” d’un pixel Arcs: voisinage Algorithme: trouver chemin au coût total minimum

Trouver un “chemin” dans l’image… Synthèse de textures Redimensionnement 2 _ =

Modéliser les régions: Baguette magique Modèle: couleur doit être similaire Bonne région Mauvaise région

Baguette magique Algorithme: Cliquer sur un pixel Tant que la couleur est similaire au pixel original Étendre la sélection en parcourant le graphe vers l’extérieur Départ

Démonstration (gimp)

Ciseaux intelligents Mortenson and Barrett, Intelligent Scissors, SIGGRAPH 1995

Ciseaux intelligents But: trouver une bonne frontière entre deux points Défis Définir: qu’est-ce qu’une bonne frontière? Calculer le chemin rapidement pour minimiser le temps d’interaction Dessiner au tableau? Source: Hoiem

Qu’est-ce qu’une bonne frontière? Considérons deux pixels adjacents dans l’image. Il est probable qu’il y ait une frontière entre les deux si: il y a une arête edge(im, ‘canny’) le gradient est fort le gradient est dans la direction de la frontière Source: Hoiem

Gradients, arêtes, et coûts Magnitude des gradients Coût (faible = frontière) Arêtes Source: Hoiem

Ciseaux intelligents Calculer le “coût de frontière” pour chaque pixel Trouver le chemin minimisant ce coût entre le point de départ et point courant 1 3 2 Départ 2 1 4 3 1 3 5 3 1 2 2 1 1 1 Arrivée Source: Hoiem

Algorithme: ciseaux intelligents Calculer le “coût de frontière” pour chaque pixel; L’utilisateur clique sur un point de départ (origine); Tant que l’utilisateur déplace le curseur: Calculer le plus court chemin entre l’origine et le curseur; Algorithme de Dijkstra Source: Hoiem

L’algorithme de Dijkstra Initialisation, étant donné origine o cout(o) = 0, cout(autres pixels) = Inf A = {o}, pixels à visiter V = { }, pixels visités P(q), pointeur vers pixel qui mène vers q Tant que A n’est pas vide: q = pixel dans A au coût minimum Retirer q de A, rajouter dans V (nous l’avons visité) Pour chaque pixel p dans le voisinage de q et qui n’est pas dans V: cout_tmp = cout(q) + cout2(q,p) Si (r n’est pas dans A) OU (cout_tmp < cout(p)) cout(p) = cout_tmp P(p) = q Rajouter p à A Exemple au tableau!! Source: Hoiem

Ciseaux intelligents: améliorations Premier départ: “sauter” vers la frontière la plus proche Ajuster la frontière de façon interactive quand l’utilisateur bouge le curseur Geler le chemin et créer de nouveaux points d’origine Source: Hoiem

Démonstration (gimp)

Quand est-ce que ça marche? Quelle est l’information manquante? — sur les régions!! Source: Hoiem

Segmentation par coupure de graphe Basic idea is to combine the information which was used in the 2 well known tools: MW and IS. MS select a region of similar colour according to your input. Fat pen and the boundary snapps to high contrast edges. Grabcut combines it. And this allows us to simplify the user interface considerably by … Rother et al., “Grab Cut”, SIGGRAPH 2004 Li et al., “Lazy Snapping”, SIGGRAPH 2004

Segmentation par coupure de graphe Idée: combiner régions & frontières Régions Baguette magique (198?) Frontières Ciseaux intelligents (1995) Régions & frontières Segmentation interactive (2004) Basic idea is to combine the information which was used in the 2 well known tools: MW and IS. MS select a region of similar colour according to your input. Fat pen and the boundary snapps to high contrast edges. Grabcut combines it. And this allows us to simplify the user interface considerably by … Source: Rother

Segmentation par coupure de graphe Basé sur un algorithme de segmentation par coupure de graphe. Exemple en 1 dimension.

Segmentation par coupure de graphe Objet Arrière-plan

Segmentation par coupure de graphe Objet Arrière-plan

Segmentation par coupure de graphe Objet Arrière-plan

Segmentation par coupure de graphe Objet Algorithme: coupure minimale (qui sépare la source du puits) Arrière-plan

Modéliser les régions Modèle de couleur: basé sur la sélection de l’utilisateur En contraste avec la “baguette magique” Objet: rouge, beige, blanc Arrière-plan: noir, vert-jaune

Modéliser les régions Probabilité qu’une couleur fasse partie de l’objet de l’arrière-plan Histogrammes, mixture de gaussiennes

Modéliser les frontières Similarité entre les couleurs de deux pixels adjacents

Segmentation par graphe Objet Arrière-plan

Segmentation par coupure de graphe Définir graphe (4- ou 8-voisins) Définir poids pour premier- et arrière-plan Histogramme de couleur (ou mixture de gaussiennes) Définir poids sur les arcs entre les pixels Appliquer algorithme de coupure minimale Revenir à 2, mettre à jour les modèles de l’objet et de l’arrière-plan avec la nouvelle sélection Dessiner au tableau (pour probabilités) Source: Hoiem

Colour Model R R G G Gaussian Mixture Model (typically 5-8 components) Color enbergy. Iterations have the effect of pulling them away; D is – log likelyhood of the GMM. R R Iterated graph cut Foreground & Background Foreground Background G Background G Gaussian Mixture Model (typically 5-8 components) Source: Rother

Exemples faciles et difficiles Pourquoi? Source: Rother

Exemples faciles Source: Rother Moderately straightforward examples- after the user input automnatically Source: Rother

Exemples plus difficiles Similarité avec arrière-plan Camouflage Structure fine You might wonder when does it fail. 4 cases. Low contrats – an edge not good visible Source: Rother

Démonstration (gimp)

Limites des coupures de graphes Requiert des graphes associatifs Noeuds connectés préfèrent avoir la même valeur Optimal seulement pour problèmes binaires (ex: objet vs arrière-plan) Source: Hoiem

Autres applications: composition Graphcut Textures – Kwatra et al. SIGGRAPH 2003

Autre application: composition Graphcut Textures – Kwatra et al. SIGGRAPH 2003 + Frontière idéale: Couleur similaire dans les deux images Gradient élevé dans les deux images

“Soft Scissors” (Wang et al., SIGGRAPH’07) Variante “Soft Scissors” (Wang et al., SIGGRAPH’07) http://www.youtube.com/watch?v=M2Eh4yrlcg4

Résumé des idées principales Considérer l’image comme un graphe Noeuds: pixels Poids des arcs déterminé par les gradients entre les pixels Parfois: rajouter des poids pour chaque pixel basé sur la ressemblance avec l’objet et l’arrière-plan Les bonnes frontières sont des chemins courts dans le graphe (Ciseaux intelligents, re-dimensionnement d’images) Les bonnes régions sont générées par une coupure avec coût minimum (coupure par graphe)

Retour sur le TP1 (pyramides)

Mercredi prochain Composer les images, sans découpage TP2 dû dimanche soir @ 23h55