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

Slides:



Advertisements
Similar presentations
P, NP, NP-Complete Problems
Advertisements

Problem solving with graph search
Introduction to Algorithms NP-Complete
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
Reducibility Class of problems A can be reduced to the class of problems B Take any instance of problem A Show how you can construct an instance of problem.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
1 Minimum Ratio Contours For Meshes Andrew Clements Hao Zhang gruvi graphics + usability + visualization.
Graph Traversals Reading Material: Chapter 9. Graph Traversals Some applications require visiting every vertex in the graph exactly once. The application.
MRF Labeling With Graph Cut CMPUT 615 Nilanjan Ray.
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
Shortest path algorithm. Introduction 4 The graphs we have seen so far have edges that are unweighted. 4 Many graph situations involve weighted edges.
CS541 Advanced Networking 1 Routing and Shortest Path Algorithms Neil Tang 2/18/2009.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
Ch. 11: Optimization and Search Stephen Marsland, Machine Learning: An Algorithmic Perspective. CRC 2009 some slides from Stephen Marsland, some images.
Image Segmentation Rob Atlas Nick Bridle Evan Radkoff.
Dijkstra’s Algorithm and Heuristic Graph Search David Johnson.
Computability Reports. More examples. Homework: Optimization. Other follow- ups. Start to plan presentation.
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
Programming & Data Structures
Lecture 23. Greedy Algorithms
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 Quantum query complexity of some graph problems C. DürrUniv. Paris-Sud M. HeiligmanNational Security Agency P. HøyerUniv. of Calgary M. MhallaInstitut.
06 - Boundary Models Overview Edge Tracking Active Contours Conclusion.
Interactive Shortest Path Part 3 An Image Segmentation Technique Jonathan-Lee Jones.
CS774. Markov Random Field : Theory and Application Lecture 13 Kyomin Jung KAIST Oct
Graph Theory Hamilton Paths and Hamilton Circuits.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Exhaustive Search. Brute Force Methods  guarantee best fitness value is found  feasible for ‘small’ data sets only.
Limits to Computation How do you analyze a new algorithm? –Put it in the form of existing algorithms that you know the analysis. –For example, given 2.
NP-Completeness (Nondeterministic Polynomial Completeness) Sushanth Sivaram Vallath & Z. Joseph.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
LIMITATIONS OF ALGORITHM POWER
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Lecture 7 Jianjun Hu Department of Computer Science and Engineering University of South Carolina CSCE350 Algorithms and Data Structure.
Presented by: Dardan Xhymshiti Spring 2016:. Authors: Publication:  ICDM 2015 Type:  Research Paper 2 Michael ShekelyamGregor JosseMatthias Schubert.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Chapter 14 Section 3 - Slide 1 Copyright © 2009 Pearson Education, Inc. AND.
INTRO2CS Tirgul 13 – More GUI and Optimization. Today:  GUI  Packing  Events  Canvas  OptionMenu  Optimization  Traveling Sales Man  Questions.
Graphs 1 Neil Ghani University of Strathclyde. Where are we …. We studied lists: * Searching and sorting a list Then we studied trees: * Efficient search.
Hamilton Paths and Hamilton Circuits
Excursions in Modern Mathematics Sixth Edition
Weighted Graphs and traveling Salesperson problem
Minimum Spanning Trees
Shortest Path Problems
Cutting Images: Graphs and Boundary Finding
Algorithms Detour - Shortest Path
Unweighted Shortest Path Neil Tang 3/11/2010
CS223 Advanced Data Structures and Algorithms
Discrete Mathematics and Its Applications (5th Edition)
Minimum Spanning Trees
A* Path Finding Ref: A-star tutorial.
Lecture 13 CSE 331 Oct 1, 2012.
CLASSES P AND NP.
3. Brute Force Selection sort Brute-Force string matching
Discrete Mathematics and Its Applications (5th Edition)
Lecture 12 CSE 331 Sep 26, 2011.
Honors Track: Competitive Programming & Problem Solving Avoiding negative edges Steven Ge.
3. Brute Force Selection sort Brute-Force string matching
Lecture 11 CSE 331 Sep 21, 2017.
Lecture 12 CSE 331 Sep 22, 2014.
Lecture 11 CSE 331 Sep 22, 2016.
Traveling Salesman Problems Nearest Neighbor Method
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

Interactive Shortest Path An 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 Dijkstra’s 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.

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 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

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.

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

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 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.

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.

Examples

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 wouldn’t start at the first user point.

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?

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)

Examples