![]() ![]() |
The following diagram (figure 8) illustrates the choices evaluated, as an existing trace is extended, one pixel at a time:
The "samples" made at the circle points can be simple pixel values at those points, or more complicated functions of some local neighborhood about those points.
We use a multi-layer neural network with standard backpropagation algorithms to learn the evaluation function. The network's output can be loosely interpreted as the probability of a pixel being an edge pixel. In other work ([3]), we have previously discussed many of the issues surrounding the architecture of the neural network, and experiments with a variety of input representations centered at the sample points.
Figure 9 shows the initial interaction of human and system, in tracing the outer surface of the skull. A human tracer has specified a representative piece of a contour. Using this as an exemplar, a training set is constructed, and the neural network is run through its training regimen.
Figure 10 shows the pull-down menu used to set and monitor parameters of the system; the alternating red & green boxes are graphical depictions of the weights between the neural net's layers.
After training, in the system's interactive mode, the tracer toggles into "auto-trace" mode and the system extends the contour at a speed appropriate for a user to monitor its progress. When the network veers off from an acceptable path (this may happen when an image area was not represented in the training set), the user intervenes, backs up over the problematic area, and returns to "auto-trace" mode when the contour once again is in a more standard region.
Figure 11 shows an example of a semi-automated trace. More than 90% of the pixels identified in blue were specified by the network, the remainder by the human tracer. The time spent to generate the semi-automated trace is an order of magnitude less than the time required to manually trace it. Quantitative comparisons follow in the Results section.