Lecture 4 Flashcards
Segmentation
Dividing an image into biologically meaningful segments for further analysis.
Object vs Background
Intensity thresholding can be applied if sufficiently and consistently higher intenstiy.
Selected automatic thresholding
Based on the histogram. Hard to figure out yourself sometimes, so automatic methods:
- Isodata
- Otsu
- Triangle
Isodata thresholding
Goal: converge to mean of the class intensity mean
- Compute the normalized histogram to get intensity probabilities: P(i)=H(i)/N
- Select arbitraty initial threshold and compute class means
- Iteratively update the threshold and class means until convergence (no more change)
Otsu thresholding
Goal: Minimize total intra-class intenstiy variance. Useful in bimodal histogram with similar objects and background volumes. 1. Compute the variance in two classes defined by the threshold 2. Minimize the total intra-class variance over all possible thresholds
Triangle thresholding
Goal: find the kinks between two class distributions
- Construct a line between (ip,h(ip)) and (im,h(im)) -> l(i)=h(ip)*(im-i)/(im-ip)
- Find the maximum histogram-to-line distance max d(i)=max(l(i)-h(i))
Useful in cases where the object pixels constitute only weak histogram peaks. Right after highest peak
Improvement of processing methods
- Preprocessing by gaussian smoothing or median smoothing to reduce noise.
- Postprocessing by morphological image filtering by binary watershed for example
- Apply threshold of diameter
Binary watershed
Makes sure you can distuingish the different particles.
Connectivity
Determine whether segmented pixels belong together. The number of objects depends on the chosen connectivity. Put some sort of structuring element over to determine.
Connected component labelling
Assign unique labels to segmented regions:
First pass: Check each pixel: if it is an object and has no neighbors, assign new label. If do neighbors, assign smallest label.
Second pass: Check each pixel and replace each label with smallest equivalent. All background pixels default to zero.
Boundary chain coding
If you know the starting pixel, the chain code gives you the next pixel and you can figure out the image.
Selected advanced segmentation methods
- Kmeans clustering
- Watershed-based segmentation
- Segmentation by seeded region growing
k-means clustering
- Assume there are k clusters of pixels and initialize their intensity means
- Assign pixels to clusters by minimum squared intensity distance
- Update the cluster intensity means for the next iteration
- Iteratively compute Ci and meann=1 until convergence
Suitible if total number of intensity classes is known priori
Watershed segmentation
Start with local maxima by reverting the image. And let the water flow higher till you have all different objects.
Active contour segmentation
- Explicit: Incorporate larger context and prior knowledge
1. Define a suitable contour model
2. Define suitable energy functional
3. Minimize the energy functional.
Want to fit the contour model over the image.