##
Low Level Processing for Boundary Extraction

Specifically, the input image is first smoothed with a Gaussian
having half width at half max of 1.5 pixels. We basically want to
keep as much detail as possible, and this is the minimal smoothing needed
to reduce the aliasing effects of the digital grid to a point where
the gradient direction can be reliably estimated to one out of 64 directions.
The gradient direction and magnitude are then computed from the application of
the two 3x3 Prewitt masks. The direction is discretized to 64 values, which
is tuned to the minimal directional change reliably estimable by the
convolutions that are used later to grow the stick.

The gradient magnitude image is then enhanced using an order statistic in
order to de-emphasize pixels in shaded regions where a strong gradient
is not evidence for a boundary.
The actual operation used is to multiply the gradient magnitude at every
point by the factor 1 - (min / mag) ^ 2 where mag is the gradient magnitude
at a point, and min is the minimum magnitude over all pixels in a neighborhood
whose direction is near that of the central pixel (here within 45 degrees).
The intent is to reduce gradient values when all nearby
points are close in value, since in this case, a strong gradient is
probably due to steep shading rather than a grey level discontinuity
The current neighborhood is set to 9x9 pixels, since that reaches beyond
any local spreading of gradient values due to smoothing and non-zero
mask size. This enhanced gradient image, in conjunction with the
gradient direction, is used to compute the energies involved in the
boundary finding process.

Finally, we make a thinned version of the enhanced gradient image using
non-maximum suppression in the direction of the gradient.
The result is scaled so that the gradient
values lie in a known range (0-255).
This thinned, and scaled seed image is used for generating hypotheses about
where to start growing a boundary curve. As potential start points are
subsumed by completed boundary fragments, they are marked as used.
The thinned image is not used for growing the sticks because thinned curves
alias badly against the extended masks used in the gradient descent process,
producing a bumpy energy landscape.

Back to
boundaries page

Back to
Randal Nelson's home page