1 Image Processing For Robot Navigation Modar Ibraheem Wintersemester 2007/2008.

download 1 Image Processing For Robot Navigation Modar Ibraheem Wintersemester 2007/2008.

If you can't read please download the document

Transcript of 1 Image Processing For Robot Navigation Modar Ibraheem Wintersemester 2007/2008.

  • Slide 1

1 Image Processing For Robot Navigation Modar Ibraheem Wintersemester 2007/2008 Slide 2 2 Content I. Definitions & Concepts II. Edge Detection III. Hough Transform IV. Example Slide 3 3 I.Definitions & Concepts Image An image (from Latin imago) or picture is an artifact, usually two-dimensional, that has a similar appearance to some subjectusually a physical object or a person. A digital image is a representation of a 2-D image as a finite set of digital values, called picture elements or pixels. The digital image contains a fixed number of rows and columns of pixels. Digital images can be created by a variety of input devices and techniques, such as digital Cameras, scanners and more.. Slide 4 4 I.Definitions & Concepts Pixel & Bitmaps A pixel (short for picture element, using the common abbreviation "pix" for "pictures"). Pixels are the smallest individual element in an image. Pixels hold quantized values that represent the brightness of a given colour at any specific point. A digital image is a rectangular array of pixels sometimes called a bitmap. Color images are made up of colored pixels while black/white images are made of pixels in different shades of gray. Slide 5 5 Definitions & Concepts Binary Image Slide 6 6 I.Definitions & Concepts Black and White Image A black and white image is made up of pixels each of which holds a single number corresponding to the gray level of the image at a particular location. These gray levels span the full range from black to white in a series of very fine steps, normally 256 different grays. Assuming 256 gray levels, each black and white pixel can be stored in a single byte (8 bits) of memory. Since the eye can barely distinguish about 200 different gray levels, this is enough to give the illusion of a stepless tonal scale as illustrated here: Slide 7 7 II.Definitions & Concepts Black and White Image Slide 8 8 I.Definitions & Concepts Black and White Image Slide 9 9 Slide 10 10 I.Definitions & Concepts Color Image A color image is made up of pixels each of which holds three numbers corresponding to the red, green, and blue levels of the image at a particular location. Red, green, and blue (RGB) are the primary colors for mixing. Stored in three bytes (24 bits) of memory. Slide 11 11 I.Definitions & Concepts Color Image Slide 12 12 I.Definitions & Concepts Color Image The RGB color model mapped to a cube. Values increase along the x- axis (red), y-axis (green) and z-axis (blue). Slide 13 13 I.Definitions & Concepts Bits Per Pixel (BPP) The number of distinct colors that can be represented by a pixel depends on the number of bits per pixel (bpp). For example, common values are: 8 bpp 256 colors 16 bpp 65536 colors; known as Highcolor or Thousands 24 bpp 16,777,216 colors; known as Truecolor or Millions 48 bpp; for all practical purposes a continuous colorspace; used in many flatbed scanners and for professional works. Slide 14 14 I.Definitions & Concepts Histogram Useful to graphically represent the distribution of pixel values in a histogram. The histogram of an image represents the relative frequency of occurrence of the various grey levels in the image. Plots the number of pixels in the image (vertical axis) with a particular brightness value (horizontal axis). Histogram modeling is the basis for numerous powerful spatial domain processing techniques, especially for image enhancement. Slide 15 15 Slide 16 16 Slide 17 17 I.Definitions & Concepts Histogram-Color Image Slide 18 18 I.Definitions & Concepts Histogram-Black and White Image Slide 19 19 I.Definitions & Concepts Histogram-Binary Image Slide 20 20 I.Definitions & Concepts Edges set of connected pixels that line one the boundary between two regions. Candidate points for edges in the image are usually referred to as edge points, edge pixels, or edgels. Method of edge detection: Computing the 1st derivative. Computing the 2st derivative. Thersholding. Slide 21 21 I.Definitions & Concepts Edges Extracting Edges from Images: Many edge extraction techniques can be broken up into two distinct phases: Finding pixels in the image where edges are likely to occur by looking for discontinuities in gradients. Linking these edge points in some way to produce descriptions of edges in terms of lines, curves etc. Slide 22 22 I.Definitions & Concepts Edges Slide 23 23 Edges are caused by a variety of factors surface normal discontinuity depth discontinuity surface color discontinuity illumination discontinuity II.Edge Detection Origin of Edge Slide 24 24 II.Edge Detection Images and intensity gradients The image is a function mapping coordinates to intensity f(x,y). The gradient of the intensity is a vector. We can think of the gradient as having an x and a y component. Slide 25 25 II.Edge Detection Sobel Operator -Formulation The Sobel edge detector uses a pair of 3x3 convolution masks. Kx estimates the gradient in the x- direction (columns) Ky estimating the gradient in the y-direction (rows). * here denotes the 2-dimensional convolution operation. At each point in the image, the resulting gradient approximations can be combined to give the gradient magnitude. Slide 26 26 II.Edge Detection Sobel Operator -Calculating the Output Image Slide 27 27 Slide 28 28 Slide 29 29 Slide 30 30 Slide 31 31 II.Edge Detection Sobel Operator- Example Slide 32 32 II.Edge Detection Sobel Operator- Example Slide 33 33 III.Edge Detection Sobel Operator- Example Slide 34 34 III.Hough Transform Basic Idea Each straight line in the image can be described by an equation. Each white point if considered in isolation could lie on an infinite number of straight lines. In the Hough transform each point votes for every line it could be on. The lines with the most votes win. Advantage: The Hough Transform can detect lines or curves that are very broken (after initial edge detection, for example). Disadvantage: HTs can only detect lines or curves that analytically specifiable, or that can be represented in a template-like form (GHT, Ballard). Slide 35 35 III.Hough Transform How do we represent lines? Here we will represent the yellow line by (d, ) is bounded by [0, 2] d is bounded by the diagonal of the image. This space called Hough space Slide 36 36 III.Hough Transform How does a point vote? One point in image space corresponds to a sinusoidal curve in image space. Two points correspond to two curves in Hough space. The intersection of those two curves has two votes. This intersection represents the straight line in image space that passes through both points. Slide 37 37 III.Hough Transform How does a point vote? Slide 38 38 III.Hough Transform How does a point vote? Slide 39 39 III.Hough Transform How does a point vote? Slide 40 40 III.Hough Transform How does a point vote? Slide 41 41 Hough Transform How do multiple points prefer one line? Slide 42 42 III.Hough Transform Basic Algorithm Basic Hough transform algorithm 1. H[d, ]=0 2. for each edge point I[x,y] in the image for = 0 to 180 H[d, ] += 1 3. Find the value(s) of (d, ) where H[d, ] is maximum. Slide 43 43 III.Hough Transform Simple Example Slide 44 44 III.Hough Transform Example Slide 45 45 I.Hough Transform Outline Classical Hough Transform Problem -> Transform to another domain -> solve -> de-transform Lines generated by the Hough transform are infinite in length. Detect feature boundaries which can be described by regular curves. Robustness to noise. Sensitivity to gaps in the feature boundary. Generalized Hough Transform Used when the shape of the feature that we wish to isolate does not have a simple analytic equation describing its boundary. High computational complexity. Slide 46 46 IV.Corridor Recognition Agent Example The First Step Image Segmentation Grayscale160x120 RGBGaussian filter ThresholdingThinning Sobel detector Slide 47 47 IV.Corridor Recognition Agent Example The Second Step Feature Extraction The HAT is used for extracting the line segments of a corridor path. How do we extract lines whichbest represent the hallway? To steps: Selection Verification Final Result Corridor: YES Wall: NO Obstacle: NO Slide 48 48 IV.Corridor Recognition Agent Example The Second Step Feature Extraction 1. Selection 1. Lines whose slop does not fit the geometry constraint are thrown out first. 2. Each line is compared with the edge maps. 3. The pixels of a line matching the corresponding edge points are counted. 4. And only lines with the matching pixels that go above a certain thershold are selected Final Result Corridor: YES Wall: NO Obstacle: NO Slide 49 49 Verification of the Selected path. The robot double-checks the lines to see if they really represent the hallway by performing a complete histogram analysis. On the right, typical patterns of histogram representing the environment of (corridors, walls, objects) 1. The moderate peaks represent the floor. 2. Homogeneously colored object 3. Moderate intensity distribution but the pixels are apt to belong to the tips of gray level. IV.Corridor Recognition Agent IV.Corridor Recognition Agent Verification Slide 50 50 Thank you for your attention Quastions? Slide 51 51 Lgt die BV wie die Augen? HAMLET: Do you see yonder cloud thats almost in the shape of a camel? POLONIUS: By thmass, and tis like a camel indeed. HAMLET: Methinks it is like a weasel. POLONIUS: It is backed like a weasel. HAMLET: Or like a whale? POLONIUS: Very like a whale.