Page 268 -
P. 268

5.1 Active contours                                                                    247



















                                  (a)                             (b)                       (c)

               Figure 5.9 Intelligent scissors: (a) as the mouse traces the white path, the scissors follow the orange path along
               the object boundary (the green curves show intermediate positions) (Mortensen and Barrett 1995) c   1995 ACM;
               (b) regular scissors can sometimes jump to a stronger (incorrect) boundary; (c) after training to the previous
               segment, similar edge profiles are preferred (Mortensen and Barrett 1998) c   1995 Elsevier.



               (the orange curve).
                  To compute the optimal curve path (live-wire), the image is first pre-processed to associate
               low costs with edges (links between neighboring horizontal, vertical, and diagonal, i.e., N 8
               neighbors) that are likely to be boundary elements. Their system uses a combination of zero-
               crossing, gradient magnitudes, and gradient orientations to compute these costs.
                  Next, as the user traces a rough curve, the system continuously recomputes the lowest-
               cost path between the starting seed point and the current mouse location using Dijkstra’s al-
               gorithm, a breadth-first dynamic programming algorithm that terminates at the current target
               location.
                  In order to keep the system from jumping around unpredictably, the system will “freeze”
               the curve to date (reset the seed point) after a period of inactivity. To prevent the live wire
               from jumping onto adjacent higher-contrast contours, the system also “learns” the intensity
               profile under the current optimized curve, and uses this to preferentially keep the wire moving
               along the same (or a similar looking) boundary (Figure 5.9b–c).
                  Several extensions have been proposed to the basic algorithm, which works remarkably
               well even in its original form. Mortensen and Barrett (1999) use tobogganing, which is a
               simple form of watershed region segmentation, to pre-segment the image into regions whose
               boundaries become candidates for optimized curve paths. The resulting region boundaries
               are turned into a much smaller graph, where nodes are located wherever three or four regions
               meet. The Dijkstra algorithm is then run on this reduced graph, resulting in much faster (and
               often more stable) performance. Another extension to intelligent scissors is to use a proba-
               bilistic framework that takes into account the current trajectory of the boundary, resulting in
               a system called JetStream (P´ erez, Blake, and Gangnet 2001).
                  Instead of re-computing an optimal curve at each time instant, a simpler system can be
               developed by simply “snapping” the current mouse position to the nearest likely boundary
               point (Gleicher 1995). Applications of these boundary extraction techniques to image cutting
               and pasting are presented in Section 10.4.
   263   264   265   266   267   268   269   270   271   272   273