• Aucun résultat trouvé

Curvature Scale Space (CSS)

Dans le document Advances in Pattern Recognition (Page 151-155)

6.4 Distance Measures for Curves

6.4.2 Curvature Scale Space (CSS)

6.4.2.1 Main Idea

A distance metric, which is directly based on a curve representing the border of an object, was introduced by Mokhtarian et al. [6]. It is derived from the so-called curvature scale space, and based on the observation that dominant characteristics of a curve remain present for a large range of scales whereas spurious characteristics soon disappear as scale increases.

Mokhtarian et al. consider locations where the curvature of the curve passes through a zero crossing as characteristic points of the curve (an interpretation which is shared by many other authors, too). A geometric interpretation is that the change of the tangent angle changes its sign at such a point, i.e., the point is located at the transition between a concave and a convex part of the curve.

After an initial segmentation step, the object boundary usually contains many curvature zero crossings, mainly due to noise and/or quantization effects. But if the curve which represents the object boundary is smoothed further and further, the spu-rious zero crossings will soon disappear, whereas the crossings being characteristic of the boundary remain present even in the case of strong smoothing.

An example of the evolution of zero crossings can be seen in Table6.2, where the zero crossings of a maple leaf contour are detected at multiple smoothing levels. The original binary image is shown upper left. The blue curves represent the extracted boundaries at different levels of smoothing. All detected curvature zero crossings are marked red. It can be seen that more and more zero crossings disappear as smoothing increases. The starting point of the boundary curve is located at the top of the leaf and marked green.

Smoothing of a curve v(s)=

x(s), y(s)

can be realized by a separate convolu-tion of each of the two components x(s) and y(s) with a 1D Gaussian funcconvolu-tion. The extent of smoothing can be controlled with the standard deviationσof the Gaussian function. Asσ increases, more and more curvature zero crossings will disappear;

typically, two crossings cancel each other out at a certain scale. Finally, whenσ is

Table 6.2 Evolution of a curve with increasing smoothing

Boundary at σ = 14

Boundary at σ = 32

Original image Extracted boundary; σ = 5

Boundary at σ = 72 Boundary at σ = 120

sufficiently high, v(s) is entirely convex and therefore no curvature zero crossings are present any longer (cf. Table6.2, lower right curve).

For a given smoothing levelσ, it is possible to plot all positions of curvature zero crossings in terms of the arc length s at which they occur. When the plotting is repeated for variousσ, the position change of the zero crossings is shown in the [s;σ]–plane, which defines the curvature scale space. The pair-wise annihilation of zero crossings is observable very well in curvature scale space. Zero cross-ings resulting from noise, etc., disappear at comparably lowσ, whereas dominant characteristics annihilate at highσ (see Table6.3).

The 2D pattern (“fingerprint”, denoted as fp) of all annihilation positions (which are alternatively called “maxima”, denoted as fpi) in curvature scale space which are located at a sufficiently highσ level (e.g. above a threshold value tσ) is considered as characteristic for a certain object boundary and should remain similar even if minor distortions occur. The positions in s-direction of the maxima should roughly correspond to locations with maximum/minimum curvature, as they are located in between two zero crossings or inflection points of the initial curve. This relates the scheme to a certain extent to the discrete curve evolution method presented in the previous section, as the polygon vertices typically are located in regions with extremal curvature, too.

The appearance of objects in CSS can be exploited for object classification by matching the 2D pattern of annihilation points of a query object to the patterns stored in a model database. The total distance between two patterns, which can be used as a measure for classification, can be set to the summation of the Euclidean distances between matched maxima of the pattern plus the vertical positions of all unmatched maxima. This ensures a proper penalization for patterns with many unmatched maxima.

Table 6.3 Curvature scale space example

Curvature scale space of the maple leaf example

All characteristic maxima (annihilation points above red line) are marked red

2D pattern of CSS maxima of the above example (red points), compared to a second pattern (blue crosses)

The comparison with a shifted version of the blue pattern reveals high similarity. The alignment is based on the positions of the two dominant maxima (second from right)

Please note that a change of the starting point (where s=0) results in a horizontal shift of the whole pattern along the s-axis. As a consequence, the two patterns have to be aligned prior to matching. This can be done, for example, by aligning the

“highest” maxima (annihilation points occurring at highestσ) of the two pattern (see bottom part of Table6.3).

6.4.2.2 Pseudocode

function classifyCurveCSS (in Image I, in boundary curve v(s) of object in scene image, in fingerprints of CSS maxima fpM of all models, in sigma threshold tσ, in similarity threshold tsim, out model index m)

// CSS calculation σ0 ← 1.0

init of curvature scale space css for i = 1 to n

// smooth boundary curve

vi(s) ← v(s)G(σi) // convolution with Gaussian calculate zero crossings z of vi(s)

update css according to z and σi. σi+1σi · k // e.g. k = 1.2 next

// calculation of CSS pattern fpS of scene image fpS ← all local maxima in css

for i = 1 to number of maxima (elements of fpS) if σ(fpS,i) ≤ tσ then // maximum is not dominant

remove fpS,i from fpS end if

next

// classification for each model index m

align fpm and fpS horizontally errm ← 0

for i = 1 to number of maxima in CSS (entries in fpS) find closest match fpm,k to fpS,i

if no match found then

// add sufficiently large penalty value pen errmerrm + pen

else

increment errm according to distance between fpm,k and fpS,i

end if

next next

find model index mmin with smallest deviation error errm,min if errm, mintsim then

// valid object class identified return mmin

else

return -1 // in order to indicate that no object was found end if

6.4.2.3 Rating

Tests performed by the authors with various data sets showed that the CSS-metric is capable to reliably identify objects being similar to a query object, which is considered similar by human observers, too. The method, together with the turning-function based metric, proved to outperform many other schemes in a comparative study where database retrieval applications were simulated [5].

On the other hand, observe that, in contrast to polygonal approximation, a back calculation from the CSS pattern to a curve is not possible. Due to its global nature a disadvantage of this measure is that the object contour has to be present as a complete closed contour, i.e., the objects have to be segmented completely from the background, which might not be possible in some cases. Additionally, the fingerprint of CSS maxima is not scale-invariant. In order to make the method robust to changes of scale shifts have to be performed in scale direction during the matching of the 2D fingerprints. Moreover, as matching of the fingerprint has to be carried out in a 2D space (and maybe also shifts are necessary) the computational complexity is rather high.

Dans le document Advances in Pattern Recognition (Page 151-155)