next up previous
Next: 5 Results Up: Adaptive Segmentation of Ultrasound Previous: 3 Properties of boundaries

4 On-the-fly training

 

In the spirit of [1] we propose on-the-fly training for the most appropriate local potential of the form

  equation240

While tex2html_wrap_inline659 has no effect on the location of any extrema of P(x,y), it allows us to consider (7) as a single layer network with weights tex2html_wrap_inline555 , tex2html_wrap_inline557 and tex2html_wrap_inline659 . We can then train the network using a pseudo-inverse [2] and training samples tex2html_wrap_inline669 gathered from around the boundary. We define target values for the training samples as follows:

displaymath249

where d is the distance in pixels of tex2html_wrap_inline669 from the boundary. Thus the target values are -1 on the boundary and approach zero asymptotically away from the boundary. When trained, P(x,y) should have local minima on the segmentation boundary, as required. Since we are training local boundary models, tex2html_wrap_inline555 , tex2html_wrap_inline557 and tex2html_wrap_inline659 are calculated for each spline segment. We found that the performance of the system was not sensitive to the parameter tex2html_wrap_inline565 , which we conveniently set to unity. We also found it advantageous to discard the moduli signs in equation (5): this allows the algorithm to exploit the polarity of the boundary. Note how on-the-fly training will automatically find the right sign for tex2html_wrap_inline555 .

While such training is of no benefit for single-frame segmentation, it can greatly speed-up the process of segmenting many slices through a 3D data set. Since the boundary statistics generally change slowly from one slice to the next, optimal segmentation potentials (7) learned in one slice will also work well on the next slice. What emerges is a segmentation paradigm with the following structure:

  1. The user specifies an initial B-spline by selecting control points tex2html_wrap_inline589 in slice 1. Initially, in the absence of any texture models, the snake's potential function (7) is calculated with tex2html_wrap_inline691 and tex2html_wrap_inline693 .
  2. The spline is sampled at n locations tex2html_wrap_inline593 distributed evenly around its length. Corresponding target points tex2html_wrap_inline599 are located using a 1D search normal to the spline for a local minimum of the potential (7).
  3. The user corrects any mis-positioned target points. Segmentation (based on the target points) is now complete for this slice.
  4. The B-spline control points tex2html_wrap_inline589 are adjusted to minimise tex2html_wrap_inline551 in (1).
  5. Local texture potentials tex2html_wrap_inline705 (one per spline segment) are calculated by sampling patches around the boundary (Figure 3) and using (2)-(4) and (6).
  6. Local tex2html_wrap_inline555 , tex2html_wrap_inline557 and tex2html_wrap_inline659 are calculated using training samples and a pseudo-inverse [2] such that P(x,y) in (7) is minimised at boundaries.
  7. Move on to the next slice and repeat from 2, using the snake's current position tex2html_wrap_inline589 as a starting point in the new slice.

next up previous
Next: 5 Results Up: Adaptive Segmentation of Ultrasound Previous: 3 Properties of boundaries

A.H. Gee
Wed Jun 25 12:11:11 BST 1997