Notes
Slide Show
Outline
1
Announcements
  • Reader is in the BOOK STORE (not Comm Bldg.)
  • Mailing list:  cse455@cs.washington.edu
      • you should have received messages
  • Office hours online
      • start next week
        • this week:  by appt. only
  • Project 1 out today (due in two weeks)
      • posted on course web page
      • help session today
  • Your ID card should open Sieg 327
      • check to make sure ASAP
2
Image Scissors
  • Today’s Readings
    • Intelligent Scissors, Mortensen et. al, SIGGRAPH 1995
3
Extracting objects
  • How could this be done?
    • hard to do manually
    • hard to do automatically (“image segmentation”)
    • easy to do semi-automatically


4
Intelligent Scissors (demo)
5
Intelligent Scissors
  • Approach answers a basic question
    • Q:  how to find a path from seed to mouse that follows object boundary as closely as possible?
    • A:  define a path that stays as close as possible to edges


6
Intelligent Scissors
  • Basic Idea
    • Define edge score for each pixel
      • edge pixels have low cost
    • Find lowest cost path from seed to mouse
7
Intelligent Scissors
  • Basic Idea
    • Define edge score for each pixel
      • edge pixels have low cost
    • Find lowest cost path from seed to mouse
8
Path Search (basic idea)
  • Graph Search Algorithm
    • Computes minimum cost path from seed to all other pixels
9
Path Search (basic idea)
  • Graph Search Algorithm
    • Computes minimum cost path from seed to all other pixels
10
Path Search (basic idea)
11
Let’s look at this more closely
  • Treat the image as a graph
12
Defining the costs
13
Defining the costs
14
Defining the costs
  • c can be computed using a cross-correlation filter
    • assume it is centered at p
  • A couple more modifications
    • Scale the filter response by length of link c.  Why?
    • Make c positive
      • Set c = (max-|filter response|*length)
      • where max = maximum |filter response|*length over all pixels in the image
15
Defining the costs
16
Dijkstra’s shortest path algorithm
17
Dijkstra’s shortest path algorithm
18
Dijkstra’s shortest path algorithm
19
Dijkstra’s shortest path algorithm
20
Dijkstra’s shortest path algorithm
  • Properties
    • It computes the minimum cost path from the seed to every node in the graph.  This set of minimum paths is represented as a tree
    • Running time, with N pixels:
      • O(N2) time if you use an active list
      • O(N log N) if you use an active priority queue (heap)
      • takes fraction of a second for a typical (640x480) image
    • Once this tree is computed once, we can extract the optimal path from any point to the seed in O(N) time.
      • it runs in real time as the mouse moves
    • What happens when the user specifies a new seed?
21
Results
22
Help session—Ryan