Abstract:
An improved method of graph-based segmentation of objects in images uses the property of rectilinear shape classes which optimize the ratio of specific metrics, that can be expressed as Laplacian matrices applied to indicator vectors. A relaxation of the binary formulation of this problem allows a solution via generalized eigenvectors. This segmentation algorithm incorporating shape information requires no initialization, is non-iterative and finds a steady-state (i.e., global optimum) solution. The method is generally applicable to segmentation of rectilinear shapes.

Description:
CROSS-REFERENCE TO RELATED CASES  
       [0001]     This is a U.S. non-provisional application of U.S. provisional patent application Ser. No. 60/790,739, filed Apr. 10, 2006, by Sinop et al., the entirety of which application is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates to machine vision image data processing and, more particularly, to a method for segmenting rectilinear shapes in an image.  
       BACKGROUND  
       [0003]     One of the challenges in image segmentation algorithms is incorporating shape priors. Graph-based segmentation algorithms have recently gained in popularity. Without using shape priors, the graph-based segmentation methods such as minimum cuts (see Y. Boykov and M. P. Jolly, “Interactive Graph Cuts for Optimal Boundary &amp; Region Segmentation of Objects in N-D Images,”  In Proc. of ICCV  2001, pp. 105-112, 2001), Normalized Cuts (see J. Shi and J. Malik, “Normalized Cuts and Images Segmentation,”  IEEE PAMI,  22(8):888-905, August 2000), isoperimetric partitioning (see L. Grady and E. L. Schwartz, “Isoperimetric Graph Partitioning for Image Segmenation,”  IEEE Trans. on Pat. Anal. And Mach. Int.,  28(3):469-475, March 2006) and random walker (see L. Grady, “Multilabel Random Walker Image Segmentation Using Prior Models,”  In Proc. of  2005  IEEE Computer Society Conference on Computer Vision and Pattern Recognition , Vol. 1, pp. 763-770, San Diego, June 2005) provide steady-state, globally optimal solutions. For example, the Normalized Cuts algorithm is a graph partitioning algorithm that has previously been used successfully for image segmentation. It is originally applied to pixels by considering each pixel in the image as a node in the graph. To improve these graph-based segmentation methods, attempts have been made to incorporate shape information into these segmentation algorithms. These attempts, however, have destroyed the global optimality of the solutions and required an initialization.  
         [0004]     Several attempts have been made to incorporate shape information into graph-based segmentation algorithms, but so far all of them have yielded algorithms that do not provide global optimality. One of these approaches was introduced by Freedman and Zhang (see D. Freedman and T. Zhang, “Interactive Graph Cut Based Segmentation with Shape Priors,”  In Proc. of IEEE Computer Society Conference on Computer Vision and Pattern Recognition , Vol. 1, pp. 755-762, 2005), where they assume that the shape has a fixed template that may be translated, rotated and scaled. They first fit the shape to the image and construct a distance map, which is later added as an additional term to the energy functional. The solution is found using graph cuts with binary labeling (see Y. Boykov, O. Veksler and R. Zabih, “Fast Approximate Energy Minimization via Graph Cuts,”  IEEE PAMI,  23(11):1222-1239, November 2001) among several image scales, and selecting the one with minimum normalized energy score. Tolliver et al. (see D. Tolliver, G. L. Miller and R. T. Collins, “Corrected Laplacians: Closer Cuts and Segmentation with Shape Priors,”  In Proc. of  2005  IEEE Computer Society Conference on Computer Vision and Pattern Recognition , Vol. 2, pp. 92-98, 2005) proposed an iterative algorithm for shape based segmentation. They first parameterize the shapes using Principal Component Analysis on the space formed by training shapes. At each subsequent iteration, they find a shape model for the existing segmentation and guide the segmentation using this shape model. Another approach taken by Kumar et al. (see M. P. Kumar, P. H. torr and A. Zisserman, “OBJ CUT,”  In Proc. of IEEE Computer Society Conference on Computer Vision and Pattern Recognition , Vol. 1, pp. 18-25, 2005) was to add a shape prior term in a Markov Random Field segmentation framework. This shape prior term was updated after each segmentation in a Expectation Maximization framework to produce a solution with local energy minimum. In a similar framework, Slabaugh and Unal (see G. Slabaugh and G. Unal, “Graph Cut Segmentation Using an Elliptical Shape Prior,”  In  2005  IEEE International Conference on Image Processing,  2005) proposed using elliptical shape priors in the context of graph cuts segmentation. In their work, the cut is constrained to lie on an elliptical band which is also updated iteratively according to the result of previous segmentation. All of these methods rely on guiding the image cut with an estimate of the shape.  
         [0005]     The drawbacks of these shape-based segmentation algorithms require an initialization and, thus, do not provide globally optimal solution. It is difficult to predict or describe their behavior. Therefore, an improved shape-based segmentation algorithm is desired that provides globally optimal solution that does not require initialization, allows thorough analysis and predict its behavior.  
       SUMMARY  
       [0006]     According to an embodiment, a new method for segmenting one or more rectilinear shapes in a digital image and an apparatus for carrying out that method are disclosed. The image is cut to form a segmentation graph based on the cuts. The method incorporates specific shape information into graph based segmentation that leads to a spectral partitioning framework and allows for the computation of the global optimum.  
         [0007]     An embodiment of the method of segmenting a rectilinear object in an image comprises making graph-based cuts of the object in the image, approximating a ratio of perimeter metrics  
         arg   ⁢           ⁢       min   x     ⁢         x   T     ⁢     L   1     ⁢   x         x   T     ⁢     L   2     ⁢   x           ,       
 
 subject to [xε{0,1} N ], where N is the size of the graph, for the object by constructing Laplacian matrices L 1  and L 2  for the image. The optimization of this ratio is solved by relaxing the integer constraint on the ratio of perimeter metrics resulting in a generalized eigenvector problem, solving the generalized eigenvector problem and thresholding the output to find a binary segmentation from the eigenvector solution. 
 
         [0008]     According to another embodiment, segmentation of multiple rectilinear shapes in an image is done by sequentially segmenting one object at a time using the segmentation algorithm of the invention. Once the first rectilinear object/shape is segmented, the segmented object is “removed” from the image by multiplying the weights of the object border by an attenuation parameter ν and the segmentation algorithm is operated on the image again. These steps are continued until the desired number of objects are segmented.  
         [0009]     The specific class of shapes for which the segmentation is optimized are rectilinear shapes. However as long as the shape being sought satisfies a certain condition—being the unique minimum of certain metrics&#39; ratios—this framework can be extended to other shapes as well. Since the optimization is performed for the ratio of the cut, as measured by two metrics, the method described herein will be referred to as the opposing metrics (OM) algorithm or method. This method is useful for segmentation of multiple objects.  
         [0010]     The basis of the OM algorithm is to connect the fact that certain shapes optimize the ratio of perimeters as measured by different metrics with the fact that such metrics can be represented by the weighted connectivity of the graph cuts. By that process, the OM algorithm transforms the segmentation into a generalized eigenvector problem, which can be solved with standard algorithms.  
         [0011]     According to another embodiment, a storage media tangibly embodying a program of executable instructions readable by a machine, such as a general purpose computer, wherein the program of executable instructions comprising the computational algorithm described herein for segmenting a rectilinear object in an image. According to another embodiment, a hardware system for segmenting a rectilinear object in an image is described. Such system comprises a means for reading the program of executable instructions tangibly embodied in the storage media, a storage means for storing the program of executable instructions, and a processor for performing the executable instructions. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]      FIG. 1  is a flow chart of the OM algorithm according to an embodiment.  
         [0013]     FIGS.  2 ( a )- 2 ( d ) illustrate exemplary graphs illustrating cuts of rectangles and triangles as measured by graphs with different topologies.  
         [0014]     FIGS.  3 ( a )- 3 ( e ) illustrate segmentation result of multiple geometric objects in order of their selection as “rectilinear” shapes.  
         [0015]      FIG. 4  is a plot showing the dependence of the perimeter ratio  
         L   1       L   2           
 on the neighborhood size and resolution. 
 
         [0016]     FIGS.  5 ( a )- 5 ( c ) illustrate the results of a segmentation on a Kanizsa square using the OM algorithm described herein.  
         [0017]     FIGS.  6 ( a )- 6 ( c ) illustrate the results of a segmentation on an image that is an overlapping circle and a square using the OM algorithm.  
         [0018]     FIGS.  7 ( a )- 7 ( d ) illustrate the segmentation results for overlapping rectangles using the OM algorithm.  
         [0019]     FIGS.  8 ( a )- 11 ( c ) illustrate the segmentation results for various natural images using the OM algorithm.  
         [0020]      FIG. 12  is a schematic overview of the apparatus for carrying out the OM algorithm. 
     
    
       [0021]     All drawings are schematic illustrations and the structures rendered therein are not intended to be in scale. It should be understood that the invention is not limited to the precise arrangements and instrumentalities shown, but is limited only by the scope of the claims.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0022]     Ratio of Metrics—It has been shown in J. Zunic and P. Rosin, “Rectilinearity Measurements for Polygons,”  IEEE Trans. on PAMI,  25(9):1193-1200, September 2003 that the only class of shapes which minimize the following ratio of perimeter metrics,  
                 Per   1     ⁡     (   P   )             Per   2     ⁡     (   P   )       ′             (   1   )             
 
 are rectilinear shapes (with respect to the specified X and Y axis). Here Per 1 (P) denotes the l 1  perimeter of shape P according to the specified X and Y axis defined as: 
 
 Per   1 ( P )=∫| u ′( t )|+| v ′( t )| dt,   (2) 
 
 and Per 2 (P) denotes the perimeter of shape P with the l 2  metric defined as: 
 
 Per   2 ( P )=∫√{square root over ( u′   2 ( t )+ v′   2 ( t ) dt )},  (3) 
 
 for some parametrization u(t), v(t) of the shape boundary P. According to an embodiment, the OM algorithm formulates the perimeter ratio ( 1 ) in such a way that it is possible to find a segmentation of a rectilinear shape in an image that minimizes this perimeter ratio. 
 
         [0023]     Approximating the Metrics—The perimeter metrics Per 1 (P) and Per 2 (P) can be approximated using the Laplacian matrices and give an integer programming formulation. In order to represent the metrics in terms of a segmentation defined on the nodes of the graph Laplacian matrix, we begin by formalizing our notation for a graph. A graph consists of a pair G=(V, E) with vertices (nodes) vεV and edges eεE ⊂ V×V. An edge, e, spanning two vertices, v i  and v j , is denoted by e ij . A weighted graph assigns a weight value to each edge. The weight of an edge, e ij , is denoted by w(e ij ) or w ij . The degree of a vertex is d i =Σw(e ij ) for all edges e ij  incident on v i . The following will also assume that our graph is connected and undirected (i.e., w ij =w ji ). An image may be associated with a graph by identifying each pixel with a node and defining an edge set to represent the local neighborhood relationship of the pixels. The edge set (neighborhood) structure will be used to represent the opposing metric spaces.  
         [0024]     First, an indicator vector x representing a segmentation is defined as  
               x   i     =     {             1   ⁢           ⁢   if   ⁢           ⁢   object     ,               0   ⁢           ⁢   if   ⁢           ⁢   background           }             (   4   )             
 
 and the graph Laplacian matrix, L, is defined as  
               L   ij     =     {           d   i             if   ⁢           ⁢   i     =   j               -     w   ij               if   ⁢           ⁢     v   i     ⁢           ⁢   and   ⁢           ⁢     v   j     ⁢           ⁢   are   ⁢           ⁢   adjacent   ⁢           ⁢   nodes     ,             0         otherwise   ,                     (   5   )             
 
 where L ij  is indexed by vertices v i  and v j . Given a segmentation (represented by indicator vector x), the weighted cost of the cut (perimeter), C, may be written as  
             C   =         x   T     ⁢   Lx     =       ∑   ij     ⁢           w   ij     ⁡     (       x   i     -     x   j       )       2     .                 (   6   )             
 
         [0025]     Now, using (6) the perimeter of the object is given weighted cost with respect to various metrics by designing the appropriate weighting/topology according to Y. Boykov and V. Kolmogorov, “Computing Geodesics and Minimal Surfaces via Graph Cuts,”  In Proceedings of International Conference on Computer Vision , Vol. 1, October 2003. Then, assumption is made that the pixel (node) spacing is at one unit in each direction. For the l 1  metric, we employ a four-connected grid with weighting  
               w   ij     =     {             1   2     ,     if   ⁢           ⁢   nodes   ⁢           ⁢     v   i     ⁢           ⁢   and   ⁢           ⁢     v   j     ⁢           ⁢   are   ⁢           ⁢   adjacent   ⁢           ⁢   in   ⁢           ⁢   the   ⁢           ⁢   grid     ,               0   ,     Otherwise   .             }             (   7   )             
 
 The Laplacian matrix for this topology/weighting w ij  is denoted as L 1 . 
 
         [0026]     Similarly, the length of the boundary using any Riemannian metric can be approximated with an appropriately weighted graph as shown by Boykov and Kolmogorov, “Computing Geodesics and Minimal Surfaces via Graph Cuts.” In this approximation to the L 2  metric, each node is connected to every other node within a distance R. Hence, where L 2  denotes the Laplacian matrix of l 2  metric, lim δ→0 x T L 2 x=Per 2 (Ωx) for grid spacing δ and E k ⊂E indicates the edge family incident on node v k , where all edges are sorted according to their angle φ i , the weight of each edge is computed as  
               w   i     =         δ   2     ⁢   Δ   ⁢           ⁢     ϕ   k         2   ⁢          e   i                      (   8   )             
 
 for e i εE k . Here, Δφ k  stands for the angle between two edges in E k , and |e i | is the magnitude of this edge&#39;s direction. Therefore, in terms of an indicator vector x on a graph, we may rewrite the ratio (1) as  
                   Per   1     ⁡     (     Ω   ⁢           ⁢   x     )           Per   2     ⁡     (     Ω   ⁢           ⁢   x     )         ≈           x   T     ⁢     L   1     ⁢   x         x   T     ⁢     L   2     ⁢   x       .             (   9   )             
 
         [0027]     FIGS.  2 ( a )- 2 ( d ) show examples of graphs representing the Laplacian matrices L 1  and L 2  with a neighborhood of two. FIGS.  2 ( a ) and  2 ( b ) are L 1  and L 2  graphs, respectively, showing induced cuts by a rectangle. FIGS.  2 ( c ) and  2 ( d ) are L 1  and L 2  graphs, respectively, showing induced cuts by a triangle. The sample perimeter ratios for a triangle and a rectangle cuts are:  
           Per   1       Per   2       =       16   13.9192     ≈   1.1495         
 
 for rectangle cut and  
           Per   1       Per   2       =       16   11.8317     ≈   1.3523         
 
 for triangle cut. As desired, the rectangle has a smaller ratio. Therefore, we may search for rectilinear shapes by solving the following optimization term:  
               arg   ⁢           ⁢       min   x     ⁢         x   T     ⁢     L   1     ⁢   x         x   T     ⁢     L   2     ⁢   x           ,           (   10   )             
 
 subject to [xε{0,1} N ], where N is the size of the graph (e.g. the number of total pixels). 
 
         [0028]     To incorporate image information (shape priors) into this segmentation, an image gradient based approach similar to the one described in T. Cour, F. Benezit and J. Shi, “Spectral Segmentation with Multiscale Graph Decomposition,”  Computer Society Conference on Computer Vision and Pattern Recognition  ( CVPR &#39; 05), Vol. 2, pp. 1124-1131, IEEE, 2005 can be used. Each edge weight of the L 2  graph is modulated with the following term  
                 w   ~     ⁢           ⁢   k     =     e   ⁢     α   η     ⁢       max   j     ⁢     Edge   ⁢           ⁢       (     j   ,   k     )     .                   (   11   )             
 
 Here, max j  Edge(j, k) gives the maximum edge magnitude along the line spanned by edge k. a&gt;0 is the desired edge width and η is the normalization term such that η=max k  max j  Edge(j, k). Since the edge magnitude is being maximized with respect to L 2 , this modification would force the segmented object to favor boundaries that align with the image intensities. 
 
         [0029]     Solve the generalized eigenvector problem—In order to solve the optimization term ( 10 ), we relax the integer constraint and allow the x i &#39;s to take continuous values. Noting that this expression is the Rayleigh quotient, the optimal value of the optimization term ( 10 ) is achieved by the generalized eigenvalue and eigenvector pair λ, x of equation L 2 x=λL 1 x corresponding to the smallest nonzero generalized eigenvalue.  
         [0030]     One concern with the above formulation is that an object segmentation sharing its boundary with the image border has no penalty, i.e., there is no cost associated with labeling a node on the border as foreground or background. This situation encourages the segmented object boundary to coincide with the image borders. Since objects sharing their boundaries with the image border should not be favored over interior objects, a regularization term is added to the optimization term ( 10 ) in the following way:  
               arg   ⁢           ⁢       min   x     ⁢           x   T     ⁡     (       L   1     +     γ   ⁢           ⁢     I   b         )       ⁢   x         x   T     ⁢     L   2     ⁢   x           ,           (   12   )             
 
 where I b  is a diagonal indicator matrix for nodes on the image borders. 
 
         [0031]     Find a Binary Segmentation—After having obtained a real-valued solution to the optimization term ( 10 ), a binary segmentation is produced by finding the threshold of the solution x that minimizes the expression ( 12 ). Because of the additional boundary term, both S={i|x i ≧τ} and  S ={i|x i ≦τ} have to be checked and select the one with the higher objective value. It should be noted that since this operation takes linear time, the overall time complexity is not affected. See L. Grady and E. L. Schwartz, “Isoperimetric Graph Partitioning for Image Segmentation,”  IEEE Trans. on Pat. Anal. And Mach. Int.,  28(3):469-475, March 2006.  
         [0032]     Multiple Overlapping Objects Segmentation—Although the remaining eigenvectors give a solution for K-way segmentation in the case of the Normalized Cut method, see S. X. Yu and J. Shi, “Multiclass Spectral Clustering,”  In Ninth IEEE International Conference on Computer Vision , Vol. 1, pp. 313-319, Nice, October 2003, IEEE Computer Society, it is not possible to recover two overlapping objects with such a device. Because, segmentation of overlapping shapes such as overlapping rectangles is highly desirable in some applications, we must look beyond the remaining eigenvectors for this purpose.  
         [0033]     One method of addressing the problem of segmenting overlapping objects is given by the following approach. After computing and discretizing the current segmentation, edges of L 2  graph are separated according to whether or not the edges lie on a previous cut (e.g. a previous segmentation). Then, η for each edge group is computed separately. Moreover, the edge weights in the cut group are further multiplied with a decaying constant 0≦β&lt;1. Finally, these new weights are modulated by the original edge weights of L 2  graph and another segmentation is computed.  
         [0034]     The main computational burden of this method is the solution of the generalized eigenvectors. One approach is to find the Cholesky decomposition of L 1 +γI b =AA T  (since L 1 +γI b &gt;0), solve for the maximum eigenvector of A −T L 2 A −1  and then recover the solution for original problem by computing Ax. In order to compute the Cholesky decomposition of matrix L 1 +γI b , we find a permutation of this matrix which is likely to be sparser using the AMD package of P. Amestoy, T. Davis and I. Duff, “Algorithm 8xx: AMD, an approximate minimum degree ordering algorithm,”  ACM Trans. on Math, Software,  30(3):381-388, September 2004. After this step, we compute the Cholesky decomposition (see G. Golub and C. Van Loan, “Matrix Computations,”  The Johns Hopkins University Press,  3 rd  Edition, 1996), and solve the resulting sparse eigenvalue problem with ARPACK (see R. B. Lehoucq, D. C. Sorenson and C. Yang, “ARPACK User&#39;s Guide: Solution of Large-Scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods,” SIAM, 1998).  
         [0035]     Comparison to the Normalized Cuts algorithm—The formulation given in the optimization term ( 10 ) may resemble the well-known Normalized Cuts criterion for image segmentation, which uses an optimization criterion of  
                 arg   ⁢           ⁢       min   x     ⁢           x   T     ⁡     (     D   -   W     )       ⁢   x         x   T     ⁢   Dx           =     arg   ⁢           ⁢       min   x     ⁢         x   T     ⁢     L   2     ⁢   x         x   T     ⁢   Dx             ,           (   13   )             
 
 where D represents a diagonal matrix consisting only of the diagonal of L 2 . See J. Shi and J. Malik, “Normalized Cuts and Image Segmentation,”  IEEE PAMI,  22(8):888-905, August 2000. However, the Normalized Cuts algorithm is not suitable for segmenting rectilinear shapes. 
 
         [0036]     Next, the OM algorithm of the invention is applied to finding rectilinear shapes in an image by addressing the following questions: (a) whether the algorithm successfully chooses a rectilinear shape among several candidate shapes; (b) the effect of scale and rotation on the segmentation; (c) whether the algorithm can find rectilinear shapes when the object is missing parts of its boundary; (d) whether the proposed scheme for K-way segmentation successfully find overlapping objects; and (e) whether the algorithm can find rectilinear segments in natural images.  
         [0037]     Object Choice Among Different Shapes—FIGS.  3 ( a )- 3 ( e ) illustrate the algorithm&#39;s ability to choose a rectilinear shape from among a collection of objects in an image.  FIG. 3 ( a ) is the original image and FIGS.  3 ( b )- 3 ( e ) illustrate the order in which the shapes are selected by the OM algorithm. The square is initially chosen by the OM algorithm. Using the above method for finding a K-way segmentation, the objects are chosen in order of how well they optimize the optimized perimeter ratio ( 10 ). In the case of the image in  FIG. 3 ( a ), this ordering is: square, triangle, circle, diamond.  
         [0038]     Scale (resolution) and Rotation Dependence—The characterization of the dependence of the OM algorithm on the scale (resolution) of the rectilinear shape will be described.  FIG. 4  is a plot of  
         L   1       L   2         
 
 v. rectangle size in pixels per side showing the dependence of the ratio  
         L   1       L   2         
 
 on the size of a square and on a different approximation (neighborhood size) of the L 2  perimeter metric (graph). It may be seen from  FIG. 4  that there is a weak preference for larger rectilinear shapes, but the strength of this preference is strongly diminished after the square reaches a size of roughly 50-100 pixels on each side. Additionally,  FIG. 4  shows that a R=3 or R=4 to approximate the Euclidean (L 2 ) metric is sufficient. As expected, an increased neighborhood size and square size drive the metric ratio toward unity. 
 
         [0039]     Clearly, the OM algorithm is not rotation-independent. A diamond (rotated square) maximizes the optimization term ( 10 ) and, thus, the last object chosen in  FIG. 3 . However, one would expect that the slight rotation of a rectilinear shape would not substantially corrupt the results. One may approach this issue analytically by solving for the rotation of a square that causes a circle to have a smaller objective ratio, as expressed in the optimization term ( 10 ). For a circle of radius r, the perimeter ratio is  
                 Per   1       Per   2       =         8   ⁢   r       2   ⁢   π   ⁢           ⁢   τ       =       4   π     .               (   14   )             
 
 For a square with side length 2r rotated Θ degrees, the perimeter ratio is  
                 Per   1       Per   2       =         8   ⁢           ⁢   r       8   ⁢     r   ⁡     (       sin   ⁢           ⁢   Θ     +     cos   ⁢           ⁢   Θ       )           =         2       2   ⁢           ⁢     sin   ⁡     (     Θ   +     π   4       )           .               (   15   )             
 
 Equating (14) and (15) yields Θ≦19°. Therefore, one would expect that a rotation of 19° degrees would cause the circle to be chosen instead of the rotated rectangle. Experimentally, the inventors created a 100×100 image consisting of a square and circle, and empirically discovered that the circle segmentation is preferred to the rotated square at approximately 17° degrees (with an L 2  graph of neighborhood size two). 
 
       EXAMPLE  
       [0040]     Weak or Missing Boundaries—Real images almost always contain some weak boundaries due to poor contrast, noise, blurring artifacts or occlusion. Therefore, the OM algorithm was tested to see how well it will find objects of the appropriate shape, even in these difficult realistic circumstances. Two experiments were conducted to see how well the OM algorithm will produce the correct segmentations under these conditions. FIGS.  5 ( a )- 5 ( c ) illustrate the first experiment in which the OM algorithm is applied to the classic weak-boundary rectilinear shape—the Kanizsa square.  FIG. 5 ( a ) shows the original image of a Kanizsa square.  FIG. 5 ( b ) shows the minimum generalized eigenvector.  FIG. 5 ( c ) shows the shaded square shape that was segmented by the OM algorithm demonstrating that the OM algorithm will correctly segment and identify the square shape. The second experiment is shown in reference to FIGS.  6 ( a )- 6 ( c ) in which the OM algorithm was applied to a shape formed by joining a square to a semicircle with the same intensity.  FIG. 6 ( a ) shows the original image and  FIG. 6 ( b ) shows the minimum generalized eigenvector.  FIG. 6 ( c ) shows the shaded square shape that was segmented by the OM algorithm. As seen in the two sample experiments, the OM algorithm successfully decomposes the complex object image into its constituent parts.  
         [0041]     Multiway Segmentation of Overlapping Objects—Further to the method for segmenting multiple, overlapping objects in a single image described above, FIGS.  7 ( a )- 7 ( d ) shows the results of applying the OM algorithm to segmentation of overlapping rectangles. Note that the order in which these rectangles are segmented is driven by their relative sizes and contrasts.  FIG. 7 ( a ) shows the original image of overlapping rectangles.  FIG. 7 ( b ) shows the first segmentation in which the skinny rectangle  10  is segmented.  FIG. 7 ( c ) shows the second segmentation in which the large rectangle  12  is segmented.  FIG. 7 ( d ) shows the third segmentation in which the rectangle  14  defined by the overlapping region of the first two rectangles is segmented.  
         [0042]     Real Images—The ultimate test of the utility of the OM algorithm is its ability to operate on natural images. Therefore, the OM algorithm was tested on several natural images containing rectilinear shapes. FIGS.  8 ( a )- 11 ( c ) show the results of this experiment. Note that the objects range in size, contrast and rotation. FIGS.  8 ( a ),  9 ( a ),  10 ( a ) and  11 ( a ) are the original images. FIGS.  8 ( b ),  9 ( b ),  10 ( b ) and  11 ( b ) show the results of the first pass segmentation by the OM algorithm. In other words, these segmented rectilinear shapes are the ones that optimized the expression ( 12 ). The segmented portions of the images are outlined as regions A in these images. FIGS.  8 ( c ),  9 ( c ),  10 ( c ) and  11 ( c ) show the results of the second pass segmentation by the OM algorithm where the segmented portions from the first pass were blocked out from the image and allow the OM algorithm to operate on the image. Thus, the segmented rectilinear shapes outlined as regions B in these images are the ones whose optimization of the expression ( 12 ) ranks after the regions A.  
         [0043]     The OM algorithm described herein is illustrated in a flow chart format in  FIG. 1 . This new approach for embedding shape information into an image segmentation task described herein provides a global optimum, non-iterative, steady-state segmentation algorithm without requiring initialization in contrast to the known graph-based segmentation methods.  
         [0044]     The invention described herein can be automated by, for example, tangibly embodying a program of instructions upon a storage media, readable by a machine/system capable of executing the instructions. Referring to  FIG. 12 , a data processor  160 , such as a general purpose computer, is an example of such a machine/system. The computational algorithms discussed herein necessary for manipulation and processing of the image data and the program instructions to execute those algorithms as described herein to conduct the segmentation according to the invention can be embodied as a program of executable instructions upon a storage media  170 . The data processor  160  can read the program of instructions from the storage media  170  and loaded on to the data processor&#39;s temporary memory devices (e.g. ROM) or its permanent memory devices (e.g. hard drives), for example, and then the data processor can execute the instructions to perform segmentation on the image data. The image data can be provided to the computer from an image generator  150  such as a digital camera, digital video camera, CT scanners, MR scanners, etc. via one of the data input ports provided on the data processor  160  as will be obvious to one of ordinary skill in the art. Examples of the storage media  170  are well know in the art and would include such devices as, a readable or writable CD, flash memory chips (e.g. thumb drives), various magnetic storage media, etc.  
         [0045]     The essential features of the invention having been disclosed, further variations will now become apparent to persons skilled in the art. All such variations are considered to be within the scope of the appended claims. Reference should be made to the appended claims, rather than the foregoing specification, as indicating the true scope of the subject invention.