a graph, non-tree representation of the topology of a gray scale image peter saveliev marshall...
TRANSCRIPT
A graph, non-tree representation of the topology of a gray scale image Peter SavelievMarshall University, USA
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
2
OutlineGraph, non-tree representation of the
topology of a gray scale image Components of lower and upper level
sets of the gray level functionCycles: simple closed curvesCell 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
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
3
Topology of binary images via cycles
Cycles capture objects and holes.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
4
Topology of gray scale images
Cycles capture components and holes of the lower level sets
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
5
Possible topologies of the gray scale image
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
6
Gray scale function
The connected components of upper level sets are the “holes”.
The connected components of the lower level sets are the “objects”.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
7
Inclusion treeThe connected components
of the lower level sets form a tree structure based on inclusion.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
8
Lower level set inclusion tree
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
9
Lower and upper level inclusion trees
.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
10
Inclusion treesTo represent the topology of the image
we need both inclusion trees, combined in some way.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
11
Combined inclusion treesAs 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.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
12
Combined inclusion trees
+ + =
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
13
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.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
14
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.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
15
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.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
16
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.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
17
Image segmentation via cycles
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
18
Outline of the algorithmAll 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:D. adding a new vertex creates a new object;E. adding a new edge may connect two objects, or create,
or split a hole;F. adding the face eliminates the hole.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
19
Adding an edge
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
20
Complete analysis
Filter noise nodes and choose tips of branches
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
21
Performance
N is the number of pixels in the image.
The time of the construction is O(N2).
The memory is O(N). The time of filtering is O(N).
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
22
Pixcavator image analysis software
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
23
Pixcavator
See demo session…
Main applications:Scientific image analysisImage-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
25
A graph, non-tree representation of the topology of a gray scale
image Peter Saveliev
Analysis of color imagesSame 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 - RGBJust one object!
26
A graph, non-tree representation of the topology of a gray scale
image Peter Saveliev
27
Outline of the algorithmAll 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.
A graph, non-tree representation of the topology of a gray scale image
Peter Saveliev
28
Topology graph of a color image
About 100,000 times slower then gray scale.
A graph, non-tree representation of the topology of a gray scale image
Peter Saveliev
30
SummaryThe 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.A graph, non-tree representation of the topology of a gray scale image
Peter Saveliev
31
Thank you
For more information:[email protected]
INPERC.COM
A graph, non-tree representation of the topology of a gray scale image
Peter Saveliev