300 likes | 457 Views
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
E N D
A graph, non-tree representation of the topology of a gray scale image Peter SavelievMarshall 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 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. 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 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 Saveliev
Gray scale function The connected components of the lower level sets are the “objects”. The connected components of upper level sets are the “holes”. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Inclusion tree The 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
Lower level set inclusion tree A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Lower and upper level inclusion trees . 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. 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. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Combined inclusion trees + + = 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. 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. 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. 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. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Image segmentation via cycles 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: • add its vertices, except for those already present as parts of other pixels; • add its edges, except for those 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 to represent the merging and the splitting of the cycles: • adding a new vertex creates a new object; • adding a new edge may connect two objects, or create, or split a hole; • adding the face eliminates the hole. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Adding an edge A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
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
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
Pixcavator image analysis software A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Pixcavator Main applications: • Scientific image analysis • Image-to-image search See demo session… A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
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
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. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Thresholding - RGB • Just one object! 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. 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. 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. A graph, non-tree representation of the topology of a gray scale image Peter Saveliev
Thank you For more information: saveliev@marshall.edu INPERC.COM A graph, non-tree representation of the topology of a gray scale image Peter Saveliev