14
L.-K. SOH, C. TSATSOULIS, AND B. HOLT
current pixel from propagating to the next pixel, the algorithm skips the next pixel and
moves to the one after the next once a growth has been done on the current pixel. The
algorithm iterates until the growth rate converges to a pre-specified asymptote such as
0.01% of the initial number of grown pixels.
2.3.2
Probabilistic Labeling
We use probabilistic labeling to analyze the neighborhood of a pixel to decide whether
the pixel in the core or skin image is an object pixel. The concept of our probabilistic
labeling is similar to that of relaxation, which has been used in a variety of image processing work such as edge detection (Rosenfeld and Smith 1981; Geman et al.1990), classification (Zhang et al.1990), and image convergence (Terzopoulos 1986).A basic relaxation algorithm first assigns to each pixel an initial classification or labeling, then computes confidence of each pixel, relaxes the current classification to another classification either stochastically or deterministically, and iterates until the image converges to
a satisfactory classification scenario.
In our implementation, we use a threshold slice as the environment in which the confidence or probability of a pixel's being an object is assessed. Instead of relaxing the
classification over a number of iterations performed on the image, we use a set of
threshold slices and accumulate the probabilities at these different slices. A threshold
slice, St, is an image thresholded at intensity t. As we move to a higher t, the corresponding St imposes a stricter environment on a pixel's neighborhood - the probability of a pixel's having object pixels as neighbors is lower. This translates into a smaller
number of object-class neighbors for a pixel at higher St. For the core image, each
object-to-be pixel must have a more constrained set of threshold slices to ensure that
each surviving pixel is a qualified seed for the restricted growing. On the other hand,
each pixel in the skin image has a less demanding requirement since the objective is to
identify and eliminate pixels causing fuzziness in the image. Therefore, we have created two different sets of threshold slices, Qc and Qs, for the core and skin images, respectively. Each set of threshold slices, Q(T,I,N), is a three-tuple, where T is the starting
threshold, I is the interval between successive threshold slices, and N is the number of
threshold slices. In our implementation,
Q, = Q(t(i,j),2,3) = {St(i,j)' St(i,j+2)' St(i,j+4)},
where t(i,j) is the threshold computed at pixel (i,j) by the segmentation process. Note that
the choices of the interval and number of threshold slices were obtained experimentally.
These numbers allow the generation of good quality core and skin images and they accomplish the task computationally fast. In addition, these numbers were set as constants
throughout our application of the restricted growing concept to every single image.
To combine the results of each St together, we first define a neighborhood mask at pixel
(i,j) as
Q(i,j) = {(i,j+ 1), (i,j-1 ),(i+ 1,j), (i+ 1,j+ 1), (i+ 1,j-1), (i-1,j), (i-1,j+ 1), (i-1,j-1)}
L.-K. SOH, C. TSATSOULIS, AND B. HOLT
current pixel from propagating to the next pixel, the algorithm skips the next pixel and
moves to the one after the next once a growth has been done on the current pixel. The
algorithm iterates until the growth rate converges to a pre-specified asymptote such as
0.01% of the initial number of grown pixels.
2.3.2
Probabilistic Labeling
We use probabilistic labeling to analyze the neighborhood of a pixel to decide whether
the pixel in the core or skin image is an object pixel. The concept of our probabilistic
labeling is similar to that of relaxation, which has been used in a variety of image processing work such as edge detection (Rosenfeld and Smith 1981; Geman et al.1990), classification (Zhang et al.1990), and image convergence (Terzopoulos 1986).A basic relaxation algorithm first assigns to each pixel an initial classification or labeling, then computes confidence of each pixel, relaxes the current classification to another classification either stochastically or deterministically, and iterates until the image converges to
a satisfactory classification scenario.
In our implementation, we use a threshold slice as the environment in which the confidence or probability of a pixel's being an object is assessed. Instead of relaxing the
classification over a number of iterations performed on the image, we use a set of
threshold slices and accumulate the probabilities at these different slices. A threshold
slice, St, is an image thresholded at intensity t. As we move to a higher t, the corresponding St imposes a stricter environment on a pixel's neighborhood - the probability of a pixel's having object pixels as neighbors is lower. This translates into a smaller
number of object-class neighbors for a pixel at higher St. For the core image, each
object-to-be pixel must have a more constrained set of threshold slices to ensure that
each surviving pixel is a qualified seed for the restricted growing. On the other hand,
each pixel in the skin image has a less demanding requirement since the objective is to
identify and eliminate pixels causing fuzziness in the image. Therefore, we have created two different sets of threshold slices, Qc and Qs, for the core and skin images, respectively. Each set of threshold slices, Q(T,I,N), is a three-tuple, where T is the starting
threshold, I is the interval between successive threshold slices, and N is the number of
threshold slices. In our implementation,
Q, = Q(t(i,j),2,3) = {St(i,j)' St(i,j+2)' St(i,j+4)},
where t(i,j) is the threshold computed at pixel (i,j) by the segmentation process. Note that
the choices of the interval and number of threshold slices were obtained experimentally.
These numbers allow the generation of good quality core and skin images and they accomplish the task computationally fast. In addition, these numbers were set as constants
throughout our application of the restricted growing concept to every single image.
To combine the results of each St together, we first define a neighborhood mask at pixel
(i,j) as
Q(i,j) = {(i,j+ 1), (i,j-1 ),(i+ 1,j), (i+ 1,j+ 1), (i+ 1,j-1), (i-1,j), (i-1,j+ 1), (i-1,j-1)}
