Image Segmentation – Edge Detection Dr. Jiajun Wang School of Electronics & Information Engineering Soochow University
Image Segmentation - 1 Contents Edge detection Gradient operators Edge linking Hough transform
Revisit - Goals of image processing Image Segmentation - 1 Revisit - Goals of image processing Image improvement – low level IP Improvement of pictorial information for human interpretation (Improving the visual appearance of images to a human viewer ) Image analysis – high level IP Processing of scene data for autonomous machine perception (Preparing images for measurement of the features and structures present )
Image Segmentation - 1 Image analysis – HLIP Extracting information form an image Step 1: segment the image ->objects or regions Step 2 : describe and represent the segmented regions in a form suitable for computer processing Step 3 : image recognition and interpretation
Image Segmentation - 1 Image analysis – HLIP (cont’)
Based on two properties of gray-level image values Image Segmentation - 1 Image segmentation Definition Subdivide an image into its constituent regions or objects Based on two properties of gray-level image values Discontinuity point / line / edge / corner detection Similarity thresholding region growing / splitting / merging
Image Segmentation - 2 Image Segmentation (cont’)
Image Segmentation - 1 What Should Good Image segmentation be? Region interiors Simple Without many small holes Adjacent regions Should have significantly different values Boundaries Not ragged Spatially accurate Achieving all these desired properties is difficult. There is no theory of image segmentation. Image segmentation techniques are basically ad hoc.
Image Segmentation - 1 Point detection
Image Segmentation - 1 Line detection
Image Segmentation - 1 Line detection (cont’)
Image Segmentation - 1 Edge detection Definition Edge detection steps An edge is a set of connected pixels that lie on the boundary between two regions The difference between edge and boundary, pp.68 Edge detection steps Compute the local derivative Magnitude of the 1st derivative can be used to detect the presence of an edge The sign of the 2nd derivative can be used to determine whether an edge pixel lies on the dark or light side of an image Zero crossing of the 2nd derivative is at the midpoint of a transition in gray level, which provides a powerful approach for locating the edge.
Image Segmentation - 1 Edge detection (cont’)
Image Segmentation - 1 Edge detection (cont’)
Edge detection (cont’) Image Segmentation - 1 Edge detection (cont’) The derivatives are sensitive to noise
Use gradient for image differentiation Image Segmentation - 1 Gradient operators Use gradient for image differentiation The gradient of an image f(x,y) at point (x,y) is defined as Some properties about this gradient vector It points in the direction of maximum rate of change of image at (x,y) Magnitude angle
Image Segmentation - 1 Edge operator
Image Segmentation - 1 Sobel edge operator Advantages : providing both differencing and a smooth effect and slightly superior noise reduction characteristics.
Image Segmentation - 1 Edge detection example
Image Segmentation - 1 Edge detection example (cont’)
Image Segmentation - 1 Edge detection example (cont’)
Laplacian edge operator Image Segmentation - 1 Laplacian edge operator A second order derivative Problems Very sensitive to noise Detect double edges Can’t detect edge direction Usage Find the location of edge using zero-crossing property
Marr and hildreth’s approach Image Segmentation - 1 Marr and hildreth’s approach Smooth the image to reduce noise Then calculate the 2nd derivative Finally, find the zero-crossing LoG (Laplacian of Gaussian, Mexican hat function)
Image Segmentation - 1 LoG function
Edge detection by gradient operations tends to work well when Image Segmentation - 1 discussion Edge detection by gradient operations tends to work well when Images have sharp intensity transitions Relative low noise Zero-crossing approach work well when Edges are blurry High noise content Provide reliable edge detection
Gradient operators – examples Image Segmentation - 1 Gradient operators – examples Zero-Crossing: Advantages: noise reduction capability; edges are thinner. Drawbacks: edges form numerous closed loops (spaghetti effect); computation complex.
Image Segmentation - 1 Edge linking How to deal with gaps in edges? How to deal with noise in edges? Linking points by determining whether they lie on a curve of a specific shape
Edge linking – Local Processing Image Segmentation - 1 Edge linking – Local Processing Analyze the characteristics of the edge pixels in a small neighborhood Its magnitude Its direction
Edge linking - Hough transform Image Segmentation - 1 Edge linking - Hough transform Can tolerate noise and gaps in edge image Look for solutions in a parameter space Classical Hough transform Detect simple shape Line detection Circle detection Generalized Hough Transform Detect complicated shapes
Image Segmentation - 1 Edge linking - Hough transform
Image Segmentation - 1 Edge linking - Hough transform
Image Segmentation - 1 Edge linking - Hough transform
Image Segmentation - 1 Edge linking - Hough transform
Image Segmentation - 1 Edge linking - Hough transform
School of Electronics & Information Engineering Image Segmentation - 2 Dr. Jiajun Wang School of Electronics & Information Engineering Soochow University
Foundation of thresholding Idea: object and background pixels have gray levels grouped into two dominant modes Original image histogram
Foundation of thresholding Input f(x,y), given threshold T
Issues of thresholding Selection of threshold T ? Complex environment – illumination Multiple thresholds – more than one object Global threshold Local threshold Thresholding as a multi-variable function: g(x,y) = T[ f(x,y), x, y, p(x,y) ] Adaptive: Depend on position Local: local property func.
1. Automatic selection of T 1. Select an initial T Average gray level Mean of max. and min. gray level G1 G2 m1 m2 2. Segment the image using T T 3. Calculate mean of G1 and G2 T2 4. New threshold: T2 = 0.5(m1 + m2) 5. Repeat steps 2~4 until difference in successive T is small
Example: automatically select T Initial: gray level mean 3 iterations T = 125.4 fingerprint
2. Effects of illumination Recall: f(x,y)=i(x,y) r(x,y) illumination: reflectance: Illumination source scene reflection
Example: illumination Original image Illumination source histogram histogram
Example: bad histogram * The gray levels of the object is mixed with background
4. Motivation for adaptive thresholding A single Global threshold histogram
Adaptive local thresholding Subdivide image into blocks Q: Improperly segmented subimages !
Iterative subdivision histogram subdivision
Region based segmentation Image Segmentation - 2 Region based segmentation R: the entire image Segmentation: partition R into n subregions R1,…Rn Ri is a connected region P(Ri) = true P( ) = false
Step 2: Use different labels to identify different objects Image Segmentation - 2 Region growing Groups pixels or subregions into larger regions based on predefined criteria (gray tone or texture). Step 1: Assume we find a good threshold, and use it to partition the regions into pure black and white. Step 2: Use different labels to identify different objects Use region growing to connect parts that should have belong to the same region This is called “Connected component analysis” The region with the same label generate one segment
Image Segmentation - 2 Region growing - example
Region Splitting and Merging Image Segmentation - 2 Region Splitting and Merging QuadTree Decomposition
Motion as a clue to extract object Image Segmentation - 2 Motion as a clue to extract object Spatial technique Thresholded difference image 1 if |d(x,y)| > T 0 otherwise Reference image f(x,y,1) next image f(x,y,2) time index
Use more than one images in time: eliminate noise … Reference image R(x,y) Image f(x,y,2) Image f(x,y,3) d(x,y)=R(x,y)-f(x,y,t) counter counter + 1, a. if d(x,y) > T positive ADI b. if d(x,y) < -T negative ADI c. if |d(x,y)| > T absolute ADI Accumulative difference image
Example: Negative ADI Positive ADI Absolute ADI * Object shape * Location in ref. image