Download presentation
Presentation is loading. Please wait.
1
Graph Based Image Segmentation
Sandeep Chalasani
2
Image Segmentation A division of the pixels of an image into disjoint groups (where the groups correspond to objects or parts of objects) The partition given by a binary pixel affinity function s, where s(i,j)=1 when pixels i and j belong together, and s(i,j)=0 otherwise.
3
Image Segmentation Purely local criteria are inadequate
– Difference along border between A and B is less than differences within C Criteria based on piecewise constant regions are inadequate – Will arbitrarily split A into subparts C A B Image Courtesy
4
Graph Based Formulation
G=(V,E) with vertices corresponding to pixels and edges connecting neighboring pixels Weight of edge is magnitude of intensity difference between connected pixels A segmentation, S, is a partition of V such that each C∈S is connected
5
Disjoint Sets Data Structure
A disjoint-set is a collection S={S1, S2,…, Sk} of distinct dynamic sets. Each set is identified by a member of the set, called representative. Each node points to its parent. Root points to itself. Rooted trees, each tree is a set, root is the representative. Each node points to its parent. Root points to itself. An Application of Disjoint-Set is to determine the connected components of an undirected graph.
6
Disjoint Sets Data Structure (cont)
Disjoint set operations: MAKE-SET(x): create a new set with only x. assume x is not already in some other set. UNION(x,y): combine the two sets containing x and y into one new set. A new representative is selected. FIND-SET(x): return the representative of the set containing x. c f h e c f c d d h f UNION Set {c,h,e} Set {f,d} Image:
7
An Application of Disjoint-Set
Determine the connected components of an undirected graph. CONNECTED-COMPONENTS(G) for each vertex v V[G] do MAKE-SET(v) for each edge (u,v) E[G] do if FIND-SET(u) FIND-SET(v) then UNION(u,v) SAME-COMPONENT(u,v) if FIND-SET(u)=FIND-SET(v) then return TRUE else return FALSE
8
Component Difference Let internal difference of a component be maximum edge weight in its Minimum Spanning Tree Int(C) = max e∈MST(C,E) w(e) – Smallest weight such that all pixels of C are connected by edges of at most that weight Let difference between two components be minimum edge weight connecting them Dif(C1,C2) = min vi∈C1, vj∈C2 w((vi,vj)) – Note: infinite if there is no such edge
9
D(C1,C2) =true if Dif (C1;C2) > MInt(C1;C2)
Algorithm The region comparison is done by evaluating if there is evidence for a boundary between a pair or components by checking if the difference between the components, Dif (C1;C2), is large relative to the internal difference within at least one of the components, Int(C1) and Int(C2). D(C1,C2) =true if Dif (C1;C2) > MInt(C1;C2) false otherwise MInt(C1;C2)=min(Int(C1)+τ(C1);Int(C2)+τ (C2)) The threshold function τ controls the degree to which the difference between two components must be greater than their internal differences in order for there to be evidence of a boundary between them (D to be true).
10
Results Original Image τ=150,k=1000 τ=150,k=500 τ=150,k=750
11
Conclusions The Graph Based Image Segmentation is a highly efficient and cost effective way to perform image segmentation. The threshold values and the number of minimum vertices that should be present so that a component can be considered as an image segment play an important role in determining the segmentation.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.