Chapter 3 Image Processing Methods
The Role of Image Processing Methods (1) An image is an nxn matrix of gray or color values An image processing method is algorithm transforming such matrices or assigning certain values to them Hence such methods are described by their input-output relations, or in other terms by pre- and post conditions The methods are intended to support humans or software agents in order to extract information about the meaning of the image The methods themselves do, however, not refer to any semantic interpretation, they are in this sense meaningless. To use them one needs not to know the implementation.
The Role of Image Processing Methods (2) Image processing algorithms play an important role in image understanding because they support aspects of visualization. Some aspcts of the meaning of an image can be easier understood in certain forms of representations When the attention is focussed on certain areas or parts or geometric forms. In such situations methods can be called in order to produce these forms. For this purpose one needs access in an automatic form to the methods.
The Role of Image Processing Methods (3) Therefore the methods are stored in a data base. This data base is equipped with a knowledge base that is intended to retrieve specific methods for certain purposes and contains e.g. information about Input-output relations Preconditions about applicability Limitations about quality Preferences when to use Etc. In this chapter we present a few methods that are closely related to ans basic for image understanding.
Major Tomography Techniques We discuss: Computer tomography (CT) Magnetic resonance tomography (MRT) Positron emission tomography (PET) In these methods 2- dimensional data are produced In all situations one wants 3-dimensional data. This is only possible if several 2-dimensional images are made but they have to be employed for visualization. The use of these methods depends to a large degree on the situation in which the question which aspects are of interest? has to be decided.
Data Formats Tomographs present 2D images in form of an array. Each array element represents a measured point and is called a pixel. There are several levels of 2D images necessary in order to represent a 3-dimensional reality. Then the corresponding elements are called voxels. There are different forms of representation,e.g. 8 bits or 12 bits. Mostly the measured points are arranged in a cubic lattice, i.e. We have a rectangular cartesian coordinate system.
Types of Operators Point operators: Operators that have point as arguments only and do not consider points in the neighborhood. Local operators: Have as arguments not only points but also points in the neighborhood. Such operators have a higher chance to grasp aspect of the meaning of the image. Feature extraction operators: Extract features that are possibly of interest for determining the meaning. Global operstions: Are not restricted to local sets of pixels. Segmentations: Special global operators that consider regions of the image. Morphological operators: Transform partial objects into other ones more easily to view or to interprete such that the original part can be reconstructed.
Point Operators Mostly, one considers point values in the interval [0,255]. These operators work on pixels only and are of elementary character. Examples: Square root Shift etc. We will not discuss them further
Geometric Operation: Detecting an Oval An oval is described by an approximating polygon. The deviation is described by turns.
Morphological Operators A problem frequently occuring in image analysis is to extract certain objects or parts of the image with specific form properties. The task is to extract such parts of interest in a reversible way so that they extraction are the same as in the original image. On the other hand, image parts that are not of interest should be deleted. It is the task of morphological operators to realize this. There are basic (atomic) operators from which complex operators can be built by arranging them in sequences.
Erosion and Dilatation Operators (1) We assume here pixels with binary values. Structural elements: Suppose a set B of points, called a structural element, is given. To each such B an associated point is given. The associated point can be in the center, on the boundary or even outside of B; see the examples on the next slide (sets B, C, and D resp.). For each associated point p of B we choose a point of the plane which is identified with p. This locates B in the plane and this set is called. B p.
Erosion and Dilatation Operators (2) y y w D w y v C v B C v _ w y u B u D 0 _ u x v x u x w x
B A 2 Example (1) A 1 A 3 A = A 1 A 2 A 3 : A B A B
Erosion and Dilatation Operators (3) Def.: Erosion operator: A B = {p B p A} (A erodes by B) Erosion makes an image smaller. In the previous picture A 2 and A 3 are deleted because they cannot contain B p, independent of the choice of the associated point p. A 1 is split up into two parts. Def.: Dilatation operator: A B = {p B p A }. Dilatation enlarges an image. In the previous picture it had the effect that A 1 and A 2 are merged. Remark: Erosion and dilatation are in general not invertable operations!
Example (1) A B = (A - B) B A B = (A B) - B
Opening and Closing Operators The closing operator is A B = (A B) - B The closing operator preserves the rough parts exactly. Small missing parts are added. The opening operator is A B = (A - B) B The opening operator preserves the large parts approximately in the same size, smaller details are omitted. In addition, there is a threshold operator that omits all pixels with values above (or below) a certain threshold value.
Example (1)
Example (2) The first operation omits all pixels with gray value that is not between two thresholds (980 1003 Hounsfield units). The second operation thickens the results through a morphological closing operator. The third operation eliminates small objects and noise through a morphological opening operator.
Segmentation The idea of segmentation is to partition the image into parts where the pixel values are similar to each other. The similarity is measured by a homogeneity predicate HP; the definition depends on the specific application. A simple example is max(s) min(s) > t for some t where max and min are taken for the gray values of the pixels from the region S. The regions of the partition are then called homogeneus with respect to HP. The is no specific geometric forms of the regions required. H may contain parameters with the effect that they put increasing conditions on the homogeneus regions which results in a refinement of the regions. Segmentation is important for image understanding because it can lead to distinguish objects; the individual objects are often homogeneus and the join of different objects is not. Hence segmentation is usually the first step in image understanding algorithms.
Segmentation Algorithms There is a great variety of such algorithms. We consider region oriented methods which investigate regions (they are in particular not point oriented). The region growth methods start with some initial points and add new points as long as the homogeneity predicate HP for the region is satisfied. HP is a binary predicate but depends on a computation C on the pixels which lead to sum real valued result r. HP has three arguments: HP(S i,p,t) is true for a segment S i, a point p and real number t if the computation C for S i {p}leads to a result r with r > t. Hence t represents a threshold. Next we present a basic region growth algorithm. D denotes a data structure for storage and best point is with respect the computation C.
Structure of a Region Growth Method Determine initial points a i, i = 1...N i = 1 Set actual point p = a i Add point p to segment S i if HP(S i,p,t) true Copy not segemented neighbors of p into D no D empty? yes Find best point b from D, set p = b., segment S i ready, i=i+1 i > N End
Parallel Growth of Domains grey value = initialgrey value iteration = MaxIteration grey value = grey value + step size Iteration = Maxiteration grey value >= max grey value false Voxel-Voxel-Merge true stop true Iteration = 0 false Segment-Voxel-Merge Segment-Segment-Merge iteration = iteration - 1
Non Unique Segment Bounderies p A B q
Segmentation Model The model used here derives from the observation that the hand is a hierarchy of objects/features; Larger objects are found in the upper part; Smaller features are found near the bottom;
Algorithmic Structure