Data Structures and Image Segmentation

Slides:



Advertisements
Similar presentations
Goal: a graph representation of the topology of a gray scale image. The graph represents the hierarchy of the lower and upper level sets of the gray level.
Advertisements

Chapter 9 Graphs.
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Carolina Galleguillos, Brian McFee, Serge Belongie, Gert Lanckriet Computer Science and Engineering Department Electrical and Computer Engineering Department.
1 K-clustering in Wireless Ad Hoc Networks Fernandess and Malkhi Hebrew University of Jerusalem Presented by: Ashish Deopura.
Graph Based Representations in different application Domains Luc Brun and Myriam Mokhtari L.E.R.I. Reims University (France)
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
1 Monotone Drawings of Graphs Thanks to Peter Eades Patrizio Angelini, Enrico Colasante, Giuseppe Di Battista, Fabrizio Frati,
Quadtrees, Octrees and their Applications in Digital Image Processing
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
Data Structures For Image Analysis
CSE351/ IT351 Modeling And Simulation Choosing a Mesh Model Dr. Jim Holten.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Contents Description of the big picture Theoretical background on this work The Algorithm Examples.
Quadtrees, Octrees and their Applications in Digital Image Processing
The Equivalence between Static (rigid) and Kinematic (flexible, mobile) Systems through the Graph Theoretic Duality Dr. Offer Shai Tel-Aviv University.
Computer vision: models, learning and inference Chapter 10 Graphical Models.
Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter Kropatsch Vienna Univ. of Technology, Austria.
Discrete Mathematics Lecture 9 Alexander Bukharovich New York University.
Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
Cross-section topology Michel Couprie Contributors: G. Bertrand M. Couprie J.C. Everat (PhD) F.N. Bezerra (PhD)
Multi-Scale Dual Morse Complexes for Representing Terrain Morphology E. Danovaro Free University of Bolzano, Italy L. De Floriani University of Genova,
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
CS654: Digital Image Analysis Lecture 3: Data Structure for Image Analysis.
1 ELEC692 Fall 2004 Lecture 1b ELEC692 Lecture 1a Introduction to graph theory and algorithm.
Lecture 22 More NPC problems
Triangular Mesh Decimation
Quadtrees, Octrees and their Applications in Digital Image Processing.
Week 11 - Monday.  What did we talk about last time?  Binomial theorem and Pascal's triangle  Conditional probability  Bayes’ theorem.
Ch 8. Graphical Models Pattern Recognition and Machine Learning, C. M. Bishop, Revised by M.-O. Heo Summarized by J.W. Nam Biointelligence Laboratory,
CS774. Markov Random Field : Theory and Application Lecture 02
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Levels of Image Data Representation 4.2. Traditional Image Data Structures 4.3. Hierarchical Data Structures Chapter 4 – Data structures for.
SpaDaGIS Efficiency Issues in Multi-resolution Terrain Modeling Leila De FlorianiPaola Magillo Leila De Floriani * Paola Magillo Department of Computer.
Approximate Inference: Decomposition Methods with Applications to Computer Vision Kyomin Jung ( KAIST ) Joint work with Pushmeet Kohli (Microsoft Research)
Introduction to Graphs. This Lecture In this part we will study some basic graph theory. Graph is a useful concept to model many problems in computer.
Introduction Terrain Level set and Contour tree Problem Maintaining the contour tree of a terrain under the following operation: ChangeHeight(v, r) : Change.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
1 Overview (Part 1) Background notions A reference framework for multiresolution meshes Classification of multiresolution meshes An introduction to LOD.
Contraction kernels and Combinatorial maps Luc Brun L.E.R.I. University of Reims -France and Walter Kropatsch P.R.I.P Vienna Univ.
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
4.6.1 Upper Echelons of Surfaces
Copyright ©2008, Thomson Engineering, a division of Thomson Learning Ltd.
Graphs.
Hierarchical Agglomerative Clustering on graphs
Data Mining Soongsil University
Chapter 5 : Trees.
Great Theoretical Ideas In Computer Science
The countable character of uncountable graphs François Laviolette Barbados 2003.
CS 367 – Introduction to Data Structures
Grade 11 AP Mathematics Graph Theory
Graph Theory and Algorithm 01
Non-manifold Multiresolution Modeling (some preliminary results)
Algorithms and networks
Mean Shift Segmentation
Graph Algorithms Using Depth First Search
Graphs.
CMPS 3130/6130 Computational Geometry Spring 2017
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Graphs All tree structures are hierarchical. This means that each node can only have one parent node. Trees can be used to store data which has a definite.
Algorithms and networks
Enumeration problems of networks
Discrete Mathematics Lecture 12: Graph Theory
Text Book: Introduction to algorithms By C L R S
Heaps Chapter 6 Section 6.9.
Presentation transcript:

Data Structures and Image Segmentation Luc Brun L.E.R.I., Reims University, France and Walter Kropatsch Vienna Univ. of Technology, Austria

Segmentation Segmentation: Partition of the image into homogeneous connected components S1 S2 S5 S4 S3

Segmentation Problems Huge amount of data Homogeneity: Resolution/Context dependent Needs Massive parallelism Hierarchy

Contents of the talk Hierarchical Data Structures Combinatorial Maps Combinatorial Pyramids

Regular Pyramids

Matrix-Pyramids Stack of images with progressively reduced resolution Level 2 Level 3 Level 1 Level 0

M-Pyramids M-Pyramid NxN/q (Here 2x2/4) NxN : Reduction window. Pixels used to compute father’s value (usually low pass filter) q : Reduction factor. Ratio between the size of two successive images. Receptive field: set of children in the base level

M-Pyramids NxN/q=1: Non overlapping pyramid without hole (eg. 2x2/4) NxN/q<1: Holed Pyramid. NxN/q>1: Overlapping pyramid

Regular Pyramids Advantages(Bister) makes the processes independent of the resolution…. Drawbacks(Bister) : Rigidity Regular Grid Fixed reduction window Fixed decimation ratio

Irregular Pyramids Stack of successively reduced graphs

Irregular Pyramids [Mee89,MMR91,JM92] From G=(V,E) to the reduced graph G’=(V’,E’) Selection of a set of surviving vertices V’V Child Parent link  Partition of V Definition of E’ Selection of Roots

Stochastic Pyramids V’ : Maximum Independent Set maximum of a random variable [Mee89,MMR91] a criteria of interest [JM92]

Stochastic Pyramids Child-Parent link : maximum of a random variable [Mee89,MMR91] a similarity measure [JM92] 1 5 10 8 6 20 9 15 11 3 13 7 21

Stochastic Pyramids Selection of surviving edges E’ Two father are joint if they have adjacent children

Stochastic Pyramids Selection of Roots: Restriction of the decimation process by a class membership function [MMR91] contrast measure with legitimate father exceed a threshold [JM92]

Stochastic Pyramid [MMR91] Restriction of the decimation process : Class membership function

Stochastic Pyramids Advantages Purely local Processes [Mee89] Each root corresponds to a connected region[MMR91] Drawback Rough description of the partition

Formal Definitions Edge Contraction Given an edge to be contracted Identify both vertices Remove the contracted edge

Formal Definition Dual Graphs Two graphs encoding relationships between regions and segments

Formal Definition Dual Graphs Two graphs encoding relationships between regions and segments

Dual Graphs Advantages (Kropatsch)[Kro96] Encode features of both vertices and faces Drawbacks [BK00] Requires to store and to update two data structures Contraction in G  Removal in G Removal in G  Contraction in G

Decimation parameter Given G=(V,E), a decimation parameter (S,N) is defined by (Kropatsch)[WK94]: a set of surviving vertices SV a set of non surviving edges NE Every non surviving vertex is connected to a surviving one in a unique way:

Example of Decimation : S :N

Decimation parameters Characterisation of non relevant edges(1/2) d°f = 2

Decimation parameters Characterisation of non relevant edges(2/2) d°f = 1

Decimation Parameter Dual face contraction remove all faces with a degree less than 3

Decimation Parameter Edge contraction: Decimation parameter (S,N) Contractions in G Removals in G Dual face contraction : Dual Decimation parameter

Dual graph data structure (G,G) Decimation parameter Characterisation of redundant edges requires the dual graph Dual graph data structure (G,G)

Decimation Parameter Advantages Better description of the partition Drawbacks Low decimation Ratio

Contraction Kernels Given G=(V,E), a Contraction kernel (S,N) is defined by: a set of surviving vertices SV a set of non surviving edges NE Such that: (V,N) is a forest of (V,E) Surviving vertices S are the roots of the trees

Contraction kernels Successive decimation parameters form a contraction kernel

Example of Contraction Kernel , , : S :N

Example of Contraction kernel Removal of redundant edges: Dual contraction kernel

Hierarchical Data Structures / Combinatorial Maps M-Pyramids Overlapping Pyramids Stochastic Pyramids Adaptive Pyramids Decimation parameter Contraction kernel

Combinatorial Maps Definition G=(V,E)  G=(D,,) decompose each edge into two half-edges(darts) : D ={-6,…,-1,1,…,6} - : edge encoding 2 3 -3 4 -4 5 -5 -2 6 -6 1 -1

Combinatorial Maps Definition G=(D,, )  : vertex encoding -2 -1 -6 6 -5 -4 *(1)=(1,3,2) *(1)=(1, *(1)=(1,3 5 -3 4 3 2 1

Combinatorial Maps Properties Computation of the dual graph : G=(D,,)  G=(D, = , ) The order defined on  induces an order on  1 -2 3 -1 2 -3 -5 5 -4 4 6 *(-1)=(-1, *(-1)=(-1,3 *(-1)=(-1,3,4,6) *(-1)=(-1,3,4 -6

Combinatorial Maps Properties Computation of the dual graph : G=(D,,)  G=(D, = , ) -2 -6 -1 6 -5 -4 *(-1)=(-1, *(-1)=(-1,3,4,6) *(-1)=(-1,3 *(-1)=(-1,3,4 5 -3 4 3 2 1

Combinatorial Maps Properties Summary The darts are ordered around each vertex and face The boundary of each face is ordered  The set of regions which surround an other one is ordered The dual graph may be implicitly encoded Combinatorial maps may be extended to higher dimensions (Lienhardt)[Lie89]

Combinatorial Maps/Combinatorial Pyramids Computation of Dual Graphs Combinatorial Maps properties Discrete Maps [Bru99] http://www.univ-st-etienne.fr/iupvis/color/Ecole-Ete/Brun.ppt

Removal operation G=(D,, ) dD such that d is not a bridge G’=G\ *(d)=(D’, ’, ) d -d

Removal Operation Example -2 -1 -1 3 -3 4 -4 5 -5 -2 6 -6 1 2 -6 6 -4 d=5 -3 4 3 2 1

Contraction operations G=(D,, ) dD such that d is not a self-loop G’=G/*(d)=(D’, ’, ) d -d

Contraction operations Preservation of the orientation d 1 d 1 c c 2 2 b 3 3 b 4 4 a a

Basic operations Important Property The dual graph is implicitly updated -1 3 -3 4 -4 -2 6 -6 1 2 -2 -1 -6 -5 6 -4 d=5 4 5 removal -3 3 2 1 5 -5 -4 -3 -6 6 2 -2 -1 4 3 1 -4 -3 -6 6 2 -2 -1 4 3 d=5 contraction

Contraction Kernel Given G=(D,, ), KD is a contraction kernel iff: K is a forest of G Symmetric set of darts ((K)=K) Each connected component is a tree Some surviving darts must remain SD=D-K

Contraction Kernel Example K= 1 2 3 13 14 15 16 4 5 6 17 18 19 20 7 8 21 22 23 24 10 11 12

Contraction Kernel Example K= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Contraction Kernel How to compute the contracted combinatorial map ? What is the value of ’(-2) ? 1 2 4 13 14 15 -2 -1 2 4 13 14 15 -2

Contraction Kernel How to compute the contracted combinatorial map ? What is the value of ’(-2) ? 1 -1 2 -2 2 4 14 15 -2 17 7 13 14 15 -13 4 17 7

Contraction Kernel Connecting Walk Given G=(D,, ) , KD and SD=D-K If d SD, CW(d) is the minimal sequence of non surviving darts between d and a surviving one. The connecting walks connect the surviving darts.

Contraction Kernel Connecting Walk CW(-2)=-2. -1. 13. 17. 21. 10 1 -1 14 15 16 4 5 6 CW(-2)=-2. -1. 13. 17. 21. 10 17 18 19 20 7 8 9 21 22 23 24 10 11 12

Contraction Kernel CW(-2)=-2,-1,13,17,21,10 1 -1 2 -2 3 -2 3 2 13 14 15 16 14 15 16 4 5 6 5 6 4 17 18 19 20 18 19 20 7 8 9 7 8 9 22 21 22 23 24 23 24 10 11 -11 12 12 11 -11

Contraction Kernel Construction of the contracted combinatorial map. For each d in SD compute d’: last dart of CW(-d) ’(-d)=(d’)’(d)=’(-d) = (d’) 3 11 2 5 6 8 9 12 15 16 19 20 23 24 -2 18 14 22 7 4

Extensions (1/2) Dual contraction kernel Replace  by  Successive Contraction kernels with a same type Concatenation of connecting walks

Extensions (2/2) Successive contraction kernels with different types From connecting walks to Connecting Dart Sequences Label Pyramids: for each dart encode Its maximum level in the pyramid (life time) How its disappear (contracted or removed)

 Combinatorial Pyramids Conclusion Graphs encode efficiently topological features. Combinatorial maps: Encode the orientation Provide an implicit encoding of the dual May be generalised to higher dimension Irregular Pyramids overcome the limitations of their regular ancestors  Combinatorial Pyramids