Binary Image Analysis Selim Aksoy Department of Computer Engineering Bilkent University...

download Binary Image Analysis Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr.

If you can't read please download the document

Transcript of Binary Image Analysis Selim Aksoy Department of Computer Engineering Bilkent University...

  • Slide 1

Binary Image Analysis Selim Aksoy Department of Computer Engineering Bilkent University [email protected] Slide 2 CS 484, Fall 20122012, Selim Aksoy2 Outline Introduction to binary image analysis Thresholding Mathematical morphology Pixels and neighborhoods Connected components analysis Slide 3 CS 484, Fall 20122012, Selim Aksoy3 Binary image analysis Binary image analysis consists of a set of operations that are used to produce or process binary images, usually images of 0s and 1s where 0 represents the background, 1 represents the foreground. 00010010001000 00011110001000 00010010001000 Slide 4 CS 484, Fall 20122012, Selim Aksoy4 Application areas Document analysis Industrial inspection Medical imaging Adapted from Shapiro and Stockman Slide 5 CS 484, Fall 20122012, Selim Aksoy5 Operations Separate objects from background and from one another. Aggregate pixels for each object. Compute features for each object. Slide 6 CS 484, Fall 20122012, Selim Aksoy6 Example: red blood cell image Many blood cells are separate objects. Many touch each other bad! Salt and pepper noise is present. How useful is this data? 63 separate objects are detected. Single cells have area of about 50 pixels. Adapted from Linda Shapiro, U of Washington Slide 7 CS 484, Fall 20122012, Selim Aksoy7 Thresholding Binary images can be obtained from gray level images by thresholding. Assumptions for thresholding: Object region of interest has intensity distribution different from background. Object pixels likely to be identified by intensity alone: intensity > a intensity < b a < intensity < b Works OK with flat-shaded scenes or engineered scenes. Does not work well with natural scenes. Slide 8 CS 484, Fall 20122012, Selim Aksoy8 Use of histograms for thresholding Background is black. Healthy cherry is bright. Bruise is medium dark. Histogram shows two cherry regions (black background has been removed). Adapted from Shapiro and Stockman Slide 9 CS 484, Fall 20122012, Selim Aksoy9 Automatic thresholding How can we use a histogram to separate an image into 2 (or several) different regions? Is there a single clear threshold? 2? 3? Adapted from Shapiro and Stockman Slide 10 CS 484, Fall 20122012, Selim Aksoy10 Automatic thresholding: Otsus method Assumption: the histogram is bimodal. Method: find the threshold t that minimizes the weighted sum of within-group variances for the two groups that result from separating the gray levels at value t. The best threshold t can be determined by a simple sequential search through all possible values of t. If the gray levels are strongly dependent on the location within the image, local or dynamic thresholds can also be used. t Group 1 Group 2 Slide 11 CS 484, Fall 20122012, Selim Aksoy11 Automatic thresholding A Pap smear image example: RGB image (left) and grayscale image (right). Slide 12 CS 484, Fall 20122012, Selim Aksoy12 Automatic thresholding Histogram of the negative image (top-left), sum of within-group variances versus the threshold (bottom-left), resulting mask overlayed as red on the original image (top). Slide 13 CS 484, Fall 20122012, Selim Aksoy13 Mathematical morphology The word morphology refers to form and structure. In computer vision, it is used to refer to the shape of a region. The language of mathematical morphology is set theory where sets represent objects in an image. We will discuss morphological operations on binary images whose components are sets in the 2D integer space Z 2. Slide 14 CS 484, Fall 20122012, Selim Aksoy14 Mathematical morphology Mathematical morphology consists of two basic operations dilation erosion and several composite relations opening closing conditional dilation Slide 15 CS 484, Fall 20122012, Selim Aksoy15 Dilation Dilation expands the connected sets of 1s of a binary image. It can be used for growing features filling holes and gaps Adapted from Linda Shapiro, U of Washington Slide 16 CS 484, Fall 20122012, Selim Aksoy16 Erosion Erosion shrinks the connected sets of 1s of a binary image. It can be used for shrinking features removing bridges, branches and small protrusions Adapted from Linda Shapiro, U of Washington Slide 17 CS 484, Fall 20122012, Selim Aksoy17 Basic concepts from set theory Slide 18 CS 484, Fall 20122012, Selim Aksoy18 Basic concepts from set theory Adapted from Gonzales and Woods Slide 19 CS 484, Fall 20122012, Selim Aksoy19 Structuring elements Structuring elements are small binary images used as shape masks in basic morphological operations. They can be any shape and size that is digitally representable. One pixel of the structuring element is denoted as its origin. Origin is often the central pixel of a symmetric structuring element but may in principle be any chosen pixel. Slide 20 CS 484, Fall 20122012, Selim Aksoy20 Structuring elements Adapted from Gonzales and Woods, and Shapiro and Stockman Slide 21 CS 484, Fall 20122012, Selim Aksoy21 Dilation Slide 22 CS 484, Fall 20122012, Selim Aksoy22 Dilation Binary image A Structuring element B Dilation result 1111111 1111 1111 11111 1111 11 111 111 111 11111111 11111111 11111111 01111111 01111111 01111111 01111111 01111000 (1 st definition) Slide 23 CS 484, Fall 20122012, Selim Aksoy23 Dilation Structuring element B Dilation result 1111111 1111 1111 11111 1111 11 111 111 111 11111111 11111111 11111111 1111111 1111111 1111111 1111111 1111 (2 nd definition) Binary image A Slide 24 CS 484, Fall 20122012, Selim Aksoy24 Dilation Pablo Picasso, Pass with the Cape, 1960 Structuring Element Adapted from John Goutsias, Johns Hopkins Univ. Slide 25 CS 484, Fall 20122012, Selim Aksoy25 Dilation Adapted from Gonzales and Woods Slide 26 CS 484, Fall 20122012, Selim Aksoy26 Erosion Slide 27 CS 484, Fall 20122012, Selim Aksoy27 Erosion Binary image A Structuring element B Erosion result 1111111 1111 1111 11111 1111 11 111 111 111 00000000 00000000 00001100 00001100 00001100 00000000 00000000 00000000 (1 st definition) Slide 28 CS 484, Fall 20122012, Selim Aksoy28 Erosion Structuring element B Erosion result 1111111 1111 1111 11111 1111 11 111 111 111 11 11 11 (2 nd definition) Binary image A Slide 29 CS 484, Fall 20122012, Selim Aksoy29 Erosion Pablo Picasso, Pass with the Cape, 1960 Structuring Element Adapted from John Goutsias, Johns Hopkins Univ. Slide 30 CS 484, Fall 20122012, Selim Aksoy30 Erosion Adapted from Gonzales and Woods Slide 31 CS 484, Fall 20122012, Selim Aksoy31 Opening Slide 32 CS 484, Fall 20122012, Selim Aksoy32 Opening Structuring element B Opening result 1111111 1111 1111 11111 1111 11 111 111 111 11 11 11 1111 11 11 11 1111 Binary image A Slide 33 CS 484, Fall 20122012, Selim Aksoy33 Opening Pablo Picasso, Pass with the Cape, 1960 Structuring Element Adapted from John Goutsias, Johns Hopkins Univ. Slide 34 CS 484, Fall 20122012, Selim Aksoy34 Closing Slide 35 CS 484, Fall 20122012, Selim Aksoy35 Closing Binary image A Structuring element B Closing result 1111111 1111 1111 11111 1111 11 111 111 111 111111 11111 11111 11111 11111 11 1 Slide 36 CS 484, Fall 20122012, Selim Aksoy36 Examples Original imageEroded onceEroded twice Slide 37 CS 484, Fall 20122012, Selim Aksoy37 Examples Original image Opened twice Closed once Slide 38 CS 484, Fall 20122012, Selim Aksoy38 Examples Adapted from Gonzales and Woods Slide 39 CS 484, Fall 20122012, Selim Aksoy39 Properties Slide 40 CS 484, Fall 20122012, Selim Aksoy40 Properties Slide 41 CS 484, Fall 20122012, Selim Aksoy41 Boundary extraction Slide 42 CS 484, Fall 20122012, Selim Aksoy42 Conditional dilation Slide 43 CS 484, Fall 20122012, Selim Aksoy43 Region filling Slide 44 CS 484, Fall 20122012, Selim Aksoy44 Region filling Adapted from Gonzales and Woods Slide 45 CS 484, Fall 20122012, Selim Aksoy45 Region filling Adapted from Gonzales and Woods Slide 46 CS 484, Fall 20122012, Selim Aksoy46 Hit-or-miss transform Slide 47 CS 484, Fall 20122012, Selim Aksoy47 Hit-or-miss transform Adapted from Gonzales and Woods Slide 48 CS 484, Fall 20122012, Selim Aksoy48 Thinning Slide 49 CS 484, Fall 20122012, Selim Aksoy49 Thinning Slide 50 CS 484, Fall 20122012, Selim Aksoy50 Thickening Slide 51 CS 484, Fall 20122012, Selim Aksoy51 Thickening Adapted from Gonzales and Woods Slide 52 CS 484, Fall 20122012, Selim Aksoy52 Examples Detecting runways in satellite airport imagery http://www.mmorph.com/mxmorph/html/mmdemos/mmdairport.html Slide 53 CS 484, Fall 20122012, Selim Aksoy53 Examples Segmenting letters, words and paragraphs http://www.mmorph.com/mxmorph/html/mmdemos/mmdlabeltext.html Slide 54 CS 484, Fall 20122012, Selim Aksoy54 Examples Extracting the lateral ventricle from an MRI image of the brain http://www.mmorph.com/mxmorph/html/mmdemos/mmdbrain.html Slide 55 CS 484, Fall 20122012, Selim Aksoy55 Examples Detecting defects in a microelectronic circuit http://www.mmorph.com/mxmorph/html/mmdemos/mmdlith.html Slide 56 CS 484, Fall 20122012, Selim Aksoy56 Examples Decomposing a printed circuit board in its main parts http://www.mmorph.com/mxmorph/html/mmdemos/mmdpcb.html Slide 57 CS 484, Fall 20122012, Selim Aksoy57 Examples Grading potato quality by shape and skin spots http://www.mmorph.com/mxmorph/html/mmdemos/mmdpotatoes.html Slide 58 CS 484, Fall 20122012, Selim Aksoy58 Examples Classifying two dimensional pieces http://www.mmorph.com/mxmorph/html/mmdemos/mmdpieces.html Slide 59 Examples CS 484, Fall 20122012, Selim Aksoy59 Traffic scene Adapted from CMM/ENSMP/ARMINES Temporal averageAverage of differences Lane detection example Slide 60 Examples CS 484, Fall 20122012, Selim Aksoy60 Threshold and dilation to detect lane markers White line detection (top hat) Detected lanes Lane detection example Adapted from CMM/ENSMP/ARMINES Slide 61 CS 484, Fall 20122012, Selim Aksoy61 Pixels and neighborhoods In many algorithms, not only the value of a particular pixel, but also the values of its neighbors are used when processing that pixel. The two most common definitions for neighbors are the 4-neighbors and the 8-neighbors of a pixel. Slide 62 CS 484, Fall 20122012, Selim Aksoy62 Pixels and neighborhoods Slide 63 CS 484, Fall 20122012, Selim Aksoy63 Pixels and neighborhoods Slide 64 CS 484, Fall 20122012, Selim Aksoy64 Connected components analysis Once you have a binary image, you can identify and then analyze each connected set of pixels. The connected components operation takes in a binary image and produces a labeled image in which each pixel has the integer label of either the background (0) or a component. Original image Thresholded image After morphology Connected components Slide 65 CS 484, Fall 20122012, Selim Aksoy65 Connected components analysis Methods for connected components analysis: Recursive tracking (almost never used) Parallel growing (needs parallel hardware) Row-by-row (most common) Classical algorithm Run-length algorithm (see Shapiro-Stockman) Adapted from Shapiro and Stockman Slide 66 CS 484, Fall 20122012, Selim Aksoy66 Connected components analysis Recursive labeling algorithm: 1. Negate the binary image so that all 1s become -1s. 2. Find a pixel whose value is -1, assign it a new label, call procedure search to find its neighbors that have values -1, and recursively repeat the process for these neighbors. Slide 67 CS 484, Fall 20122012, Selim Aksoy67 Adapted from Shapiro and Stockman Slide 68 CS 484, Fall 20122012, Selim Aksoy68 Connected components analysis Row-by-row labeling algorithm: 1. The first pass propagates a pixels label to its neighbors to the right and below it. (Whenever two different labels can propagate to the same pixel, these labels are recorded as an equivalence class.) 2. The second pass performs a translation, assigning to each pixel the label of its equivalence class. A union-find data structure is used for efficient construction and manipulation of equivalence classes represented by tree structures. Slide 69 CS 484, Fall 20122012, Selim Aksoy69 Connected components analysis Adapted from Shapiro and Stockman Slide 70 CS 484, Fall 20122012, Selim Aksoy70 Connected components analysis Adapted from Shapiro and Stockman Slide 71 CS 484, Fall 20122012, Selim Aksoy71 Connected components analysis Adapted from Shapiro and Stockman Slide 72 CS 484, Fall 20122012, Selim Aksoy72 Slide 73 Connected components analysis CS 484, Fall 20122012, Selim Aksoy73 Slide 74 Connected components analysis CS 484, Fall 20122012, Selim Aksoy74