Table of Contents
Partial Shape Similarity
0. Motivation
1. Edge Detection
2. Edge Grouping
3. Extraction of Contour Parts
4. Recognizing Shapes by Parts
5. Results

Structural Shape Similarity
0. Introduction
1. Shape Segmentation
2. Skeleton Computation
3. Skeleton Pruning
4. Recognizing Shapes by Structures

Contour Grouping Based on Local Symetry
0. Introduction
1. From Edges To Contours
2. Center points
3. Reference Shape Model
4. Particle Filter
5.1. Experimental Result 1
5.2. Experimental Result 2
5.3. Experimental Result 3
5.4. Experimental Result 4
5.5. Experimental Result 5
5.6. Experimental Result 6
5.7. Experimental Result 7
5.8. Experimental Result 8
6. Conclusion
7. Contour Grouping Video
Edge Detection Edge Grouping Edge Grouping

Edge Grouping



Grouping Pixels to Segments

Move the slider to see the stages of
EM on an image through five iterations.

EM algorithm animation

We first group edge pixels to linear structures by applying an extended Expectation Maximization (EM) algorithm. In this EM algorithm, line segments are progressivley fitted to the gray valued function over points that form the image edge. EM is actually composed of several iterations, each of which involves five main processes: Expectation, Maximization, Splitting, Merging, Component Insertion.

The initial line segments at the start of the first iteration are simply two lines forming a large 'X' from corner to corner. In the maximization step, the lines are approximately fitted to the data points. During splitting, the lines are broken up into line segments based upon supportive evaluation of the data, or in other words, based upon the data point density around the parts of the line. In merging, segments that appear to actually represent the same part of the contour are merged together into a single segment.

The result of the EM algorithm is a set of line segments that roughly approximate the contour edge.

Grouping Segments to Contours

Now the line segments obtained from EM are grouped together to polylines approximating contour parts. Observe that it is easier to group line semgnets to contour parts than it is actual edge pixels. The actual line segment grouping formula is based upon determining a weighted value, called a connection value, for pairs of neighboring line segments. The segments are iteratively connected based upon their connection value, yielding polylines that represent contour parts.