Interactive Shortest Path An Image Segmentation Technique
Jonathan-Lee Jones
Slide 2
Overview Dijkstras Shortest Path User Interaction Hard and Soft
Input The Energy Function A Multi-Layer Approach Examples Problems
and Queries
Slide 3
Dijkstras Shortest PAth Dijkstras is a shortest path algorithm
for non negative weighted edges that generates a shortest path
tree. For a given source vertex (node) in the graph, the algorithm
finds the path with lowest cost (i.e. the shortest path) between
that vertex and every other vertex It is of the order O(|V|) 2
where V is the number of vertices.
Slide 4
User Interaction Hard Input In a Hard User Input Paradigm the
user labelled points or areas are assigned to either background or
foreground (in the case of graph cut for example), or set as fixed
points that the path must go through (in the case of shortest path
algorithms). This requires the user give very precise input.
Slide 5
User Interaction Soft Input In a Soft User Input Paradigm the
user labelled points are used as elastic attraction points. These
exhibit a tendency to pull the selection towards them, but the
shortest path does not necessarily move through them all. In this
way user input needs be less precise.
Slide 6
The Energy Function The first is an attraction to image edges,
realized by some edge detector g which assigns low cost to high
image gradients. The second term penalizes the curvature of the
curve and hence favors smooth curves. The third term is devoted to
the attraction points. Unfortunately, in its current form the
problem cannot be solved efficiently.
Slide 7
The Energy Function For the specific case of = 0 and g(y) = 1
and (i.e. sufficiently large), the problem amounts to finding the
shortest path connecting all attractor points. This problem is
known as the Euclidean Traveling Salesman Problem and was shown to
be NP-hard
Slide 8
Euclidean Travelling Salesman Problem The most direct solution
would be to try all permutations (ordered combinations) and see
which one is cheapest (using brute force search). The running time
for this approach lies within a polynomial factor of, the factorial
of the number of cities, so this solution becomes impractical even
for only 20 cities.
Slide 9
Solving the Problem Fortunately it turns out that the problem
becomes solvable if we impose the set of attraction points to be
ordered. The order is now imposed by enforcing the constraints
Slide 10
A Multi-Layer Approach For each input point Xi we add an
additional layer as a copy of the image to the graph. Thus we have
K + 1 layers and each pixel p corresponds to K + 1 nodes vp,1,...,
vp,K +1.
Slide 11
Intra-Layer Edges Edges within each copy of the image plane
favoring paths along strong gradient edges. Weights are set
according to the edge detector function g.
Slide 12
Inter-Layer Edges Edges between copies of the image favor
transitions in the vicinity of the attraction points. Edge weights
are set according to the distance between input point X and pixel
v. The attraction point defines circles on the plane where the
transition edges have equal costs.
Slide 13
Examples
Slide 14
Slide 15
Slide 16
Problems and Queries Problems with the method as described In
the method described in the paper, all pixels on the top layer are
connected to the source, and the bottom layer to the sync. There
are no express start and stop points mentioned, so in the example
in their paper, I cannot see why the shortest path wouldnt start at
the first user point.
Slide 17
Problems and Queries Problems with the method as described In
the diagram from the paper, there are 2 labelled user points, X 1
and X 2 Why would the shortest path go from the labelled green dots
(not user points) if they were distinctly labelled?
Slide 18
Problems and Queries The more user points, the slower it
becomes. As more user input is added, a new layer is created every
time. This increases the complexity of the graph with every point.
Paradoxically, the more user input (help) is given, the slower the
system becomes. Take a 1000 x 1000 image That give V =16,000,000
for 1 layer. With n user points V = 17,000,000 x (n+1)