interactive shortest path

21
Interactive Shortest Path An Image Segmentation Technique Jonathan- Lee Jones

Upload: sinead

Post on 24-Feb-2016

67 views

Category:

Documents


0 download

DESCRIPTION

Interactive Shortest Path. A n Image Segmentation Technique. Jonathan-Lee Jones. Overview. Dijkstra’s Shortest Path User Interaction – Hard and Soft Input The Energy Function A Multi-Layer Approach Examples Problems and Queries. Dijkstra’s Shortest PAth. - PowerPoint PPT Presentation

TRANSCRIPT

Graph Cut

Interactive Shortest PathAn Image Segmentation TechniqueJonathan-LeeJones

OverviewDijkstras Shortest PathUser Interaction Hard and Soft InputThe Energy FunctionA Multi-Layer ApproachExamplesProblems and Queries

Dijkstras Shortest PAthDijkstras 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 vertexIt is of the order O(|V|)2 where V is the number of vertices.

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.

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.

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.

The Energy FunctionFor 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

Euclidean Travelling Salesman ProblemThe 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.

Solving the ProblemFortunately 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

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 .

Intra-Layer EdgesEdges within each copy of the image plane favoring paths along strong gradient edges. Weights are set according to the edge detector function g.

Inter-Layer EdgesEdges 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.

Examples

Examples

Examples

Problems and QueriesProblems with the method as describedIn 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.

Problems and QueriesProblems with the method as describedIn the diagram from the paper, there are 2 labelled user points, X1 and X2Why would the shortest path go from the labelled green dots (not user points) if they were distinctly labelled?

Problems and QueriesThe 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)

Examples

Examples