A graph, non-tree representation of the topology of a gray scale image Peter Saveliev Marshall University, USA.

Slides:



Advertisements
Similar presentations
Topology Approach to Cell Counting. Goals Algorithm detects and captures objects in an image This algorithm computes objects – Locations – Measurement.
Advertisements

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.
Binary Image Algorithm. What is an Object? What is an object? – Binary image Connected cluster of black pixels on a white background Connected cluster.
Introduction to Algorithms Graph Algorithms
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
Review Binary Search Trees Operations on Binary Search Tree
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
E.G.M. PetrakisImage Segmentation1 Segmentation is the process of partitioning an image into regions –region: group of connected pixels with similar properties.
Brute-Force Triangulation
Introduction This chapter explores graphs and their applications in computer science This chapter explores graphs and their applications in computer science.
Lecture 07 Segmentation Lecture 07 Segmentation Mata kuliah: T Computer Vision Tahun: 2010.
Chapter 5 Raster –based algorithms in CAC. 5.1 area filling algorithm 5.2 distance transformation graph and skeleton graph generation algorithm 5.3 convolution.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Hierarchical Region-Based Segmentation by Ratio-Contour Jun Wang April 28, 2004 Course Project of CSCE 790.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
T,  e  T c(e) = 50 G = (V, E), c(e) Minimum Spanning Tree.
Rectangular Drawing Imo Lieberwerth. Content Introduction Rectangular Drawing and Matching Thomassen’s Theorem Rectangular drawing algorithm Advanced.
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
CSE (c) S. Tanimoto, 2007 Segmentation and Labeling 1 Segmentation and Labeling Outline: Edge detection Chain coding of curves Segmentation into.
The Art Gallery Problem
Brute-Force Triangulation
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2013.
CSE554Binary PicturesSlide 1 CSE 554 Lecture 1: Binary Pictures Fall 2014.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Convex Grid Drawings of Plane Graphs
An Illustration of Prim's Algorithm
Course Syllabus 1.Color 2.Camera models, camera calibration 3.Advanced image pre-processing Line detection Corner detection Maximally stable extremal regions.
Computer Vision Lecture 5. Clustering: Why and How.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
GD 2014 September 26, 2014 Department of Computer Science University of Manitoba Stephane Durocher Debajyoti Mondal.
Finding maximal planar subgraphs Wen-Lian Hsu 1/33.
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
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.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
1 Euler Number Computation By Kishore Kulkarni (Under the Guidance of Dr. Longin Jan Latecki)
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
1 Self-dual Morphological Methods Using Tree Representation Alla Vichik Renato Keshet (HP Labs—Israel) David Malah Technion - Israel Institute of Technology.
Duality between Pairs of Incident Cells Pairs of incident cells have a symmetry in their structure called duality Every occurrence of a primal object or.
The Art Gallery Problem Bart Verzijlenberg. Agenda Problem Problem Chvátal’s Classical Art Gallery Theorem Chvátal’s Classical Art Gallery Theorem Proof.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Digital Topology CIS 601 Fall 2004 Longin Jan Latecki.
Machine Vision ENT 273 Regions and Segmentation in Images Hema C.R. Lecture 4.
1 Algorithms CSCI 235, Fall 2015 Lecture 32 Graphs I.
November 5, 2013Computer Vision Lecture 15: Region Detection 1 Basic Steps for Filtering in the Frequency Domain.
Machine Vision ENT 273 Hema C.R. Binary Image Processing Lecture 3.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
CSC 252: Algorithms October 28, 2000 Homework #5: Graphs Victoria Manfredi (252a-ad) notes: -Definitions for each of the graph concepts are those presented.
Lecture(s) 3-4. Morphological Image Processing. 3/13/20162 Introduction ► ► Morphology: a branch of biology that deals with the form and structure of.
Morphological Image Processing (Chapter 9) CSC 446 Lecturer: Nada ALZaben.
Morphological Image Processing
Relationship between pixels Neighbors of a pixel – 4-neighbors (N,S,W,E pixels) == N 4 (p). A pixel p at coordinates (x,y) has four horizontal and vertical.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Course : T Computer Vision
Machine Vision ENT 273 Lecture 4 Hema C.R.
Image Representation and Description – Representation Schemes
CSE 554 Lecture 1: Binary Pictures
POLYGON MESH Advance Computer Graphics
Graph Algorithm.
The Art Gallery Problem
Level Set Tree Feature Detection
The Art Gallery Problem
EMIS 8373: Integer Programming
Chapter 9: Graphs Basic Concepts
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Overlay of Two Subdivisions
Chapter 9: Graphs Basic Concepts
GRAPHS.
Prof. Lizhuang Ma Shanghai Jiao Tong University
Presentation transcript:

A graph, non-tree representation of the topology of a gray scale image Peter Saveliev Marshall University, USA

Outline Graph, non-tree representation of the topology of a gray scale image Components of lower and upper level sets of the gray level function Cycles: simple closed curves Cell decomposition: the image is represented as a combination of pixels as well as edges and vertices Graph representation of the topology of a color image 2 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Topology of binary images via cycles Cycles capture objects and holes. 3 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Topology of gray scale images Cycles capture components and holes of the lower level sets 4 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Possible topologies of the gray scale image A graph, non-tree representation of the topology of a gray scale image Peter Saveliev5

Gray scale function The connected components of upper level sets are the “holes”. 6 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev The connected components of the lower level sets are the “objects”.

Inclusion tree The connected components of the lower level sets form a tree structure based on inclusion. 7 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Lower level set inclusion tree 8 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Lower and upper level inclusion trees. 9 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Inclusion trees To represent the topology of the image we need both inclusion trees, combined in some way. 10 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Combined inclusion trees As a new tree, based on inclusion of the contours. + =  The lower level sets are mixed with the upper level sets.  The gray levels are also mixed. 11 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Combined inclusion trees + 12 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev + =

Topology graph The lower and upper inclusion trees remain intact within the graph. The graph breaks into layers that coincide with the topology graphs of the corresponding binary images. 13 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

The topology graph of the image The nodes of the topology graph are the objects and holes in the thresholded image and there is an arrow from node A to node B if: object B has another object A inside, provided A and B correspond to consecutive gray levels. object B has hole A, provided A and B correspond to the same gray level. And vice versa. 14 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Cell decomposition of images Two adjacent edges are 1-cells and they share a vertex, a 0-cell; Two adjacent faces are 2-cells and they share an edge, a 1-cell. 15 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Cycles in image segmentation Both objects and holes are captured by cycles:  a 0-cycle as a curve that follows the outer boundary of an object;  a 1-cycle as a curve that follows the outer boundary of a hole. 16 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Image segmentation via cycles 17 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Outline of the algorithm All pixels in the image are ordered according to the gray level. Following this order, each pixel is processed: A.add its vertices, except for those already present as parts of other pixels; B.add its edges, except for those already present as parts of other pixels; C.add the face of the pixel. At every step, the graph is given a new node and arrows to represent the merging and the splitting of the cycles: A.adding a new vertex creates a new object; B.adding a new edge may connect two objects, or create, or split a hole; C.adding the face eliminates the hole. 18 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Adding an edge 19 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Complete analysis 20 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev Filter noise nodes and choose tips of branches

Performance N is the number of pixels in the image. The time of the construction is O(N 2 ). The memory is O(N). The time of filtering is O(N). 21 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Pixcavator image analysis software 22 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Pixcavator 23 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev See demo session… Main applications: Scientific image analysis Image-to-image search

A graph, non-tree representation of the topology of a gray scale image Peter Saveliev 24 Analysis of color images If only one of the three primary color is changing, the topology is the same as of a gray scale image

A graph, non-tree representation of the topology of a gray scale image Peter Saveliev 25 Analysis of color images Same as for gray scale but based on the partial order on the RGB space: (r, g, b) ≤ (r’, g’, b’) if r ≤ r’, g ≤ g’, b ≤ b’. Threshold the image to create 256x256x256 binary images. Collect all objects and holes in the topology graph. Filter them if necessary. Choose the tips, etc.

Thresholding - RGB Just one object! 26 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Outline of the algorithm All pixels in the image are ordered according to partial order of the RGB space. Following this order, each pixel is processed: ◦ add its vertices, unless those are already present as parts of other pixels; ◦ add its edges, unless those are already present as parts of other pixels; ◦ add the face of the pixel. At every step, the graph is given a new node and arrows that connect the nodes in order to represent the merging and the splitting of the cycles: ◦ adding a new vertex creates a new component; ◦ adding a new edge may connect two components, or create, or split a hole; ◦ adding the face to the hole eliminates the hole. 27 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Topology graph of a color image About 100,000 times slower then gray scale. 28 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Topology graph of a color image The nodes of the topology graph are the objects and holes in the thresholded image and there is an arrow from node A to node B if: object B has hole A, provided A and B correspond to consecutive colors. object B has hole A, provided A and B correspond to the same color. And vice versa. 29 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Summary The approach is justified by appealing to classical mathematics. The graph (non-tree) representation of the topology of a gray scale image treats objects and holes simultaneously but separately. The approach is applicable to color images. The algorithm for gray scale images is practical. The algorithm for color images is not practical. 30 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev

Thank you For more information: INPERC.COM 31 A graph, non-tree representation of the topology of a gray scale image Peter Saveliev