1 Formation et Analyse d’Images Session 5 Daniela Hall 4 November 2004.

Slides:



Advertisements
Similar presentations
Spatial Filtering (Chapter 3)
Advertisements

Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Edge Detection CSE P 576 Larry Zitnick
1 Formation et Analyse d’Images Session 12 Daniela Hall 16 January 2006.
1 Formation et Analyse d’Images Session 3 Daniela Hall 14 October 2004.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 4 Edge Detection
1 Image filtering Hybrid Images, Oliva et al.,
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Announcements Mailing list: –you should have received messages Project 1 out today (due in two weeks)
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
Segmentation (Section 10.2)
Lecture 4: Edge Based Vision Dr Carole Twining Thursday 18th March 2:00pm – 2:50pm.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Information that lets you recognise a region.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
Introduction to Image Processing Grass Sky Tree ? ? Review.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
Edge Detection Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski, Ch 4.1.2, From Sandlot.
1 Formation et Analyse d’Images Session 7 Daniela Hall 25 November 2004.
1 Formation et Analyse d’Images Session 4 Daniela Hall 21 October 2004.
Instructor: S. Narasimhan
Many slides from Steve Seitz and Larry Zitnick
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Edges.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP7 Spatial Filters Miguel Tavares Coimbra.
1 Formation et Analyse d’Images Session 4 Daniela Hall 10 October 2005.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Edges and Lines Readings: Chapter 10:
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4.
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
1 Edge Operators a kind of filtering that leads to useful features.
Hough Transform CS 691 E Spring Outline Hough transform Homography Reading: FP Chapter 15.1 (text) Some slides from Lazebnik.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Miguel Tavares Coimbra
Edge Detection slides taken and adapted from public websites:
- photometric aspects of image formation gray level images
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering Northern Arizona University.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Detection of discontinuity using
Fitting Curve Models to Edges
Jeremy Bolton, PhD Assistant Teaching Professor
Computer Vision Lecture 9: Edge Detection II
ECE 692 – Advanced Topics in Computer Vision
a kind of filtering that leads to useful features
Edge Detection CSE 455 Linda Shapiro.
a kind of filtering that leads to useful features
Edge Detection Today’s reading
Lecture 2: Edge detection
Edge Detection Today’s reading
Edge Detection Today’s readings Cipolla and Gee Watt,
Lecture 2: Edge detection
Winter in Kraków photographed by Marcin Ryczek
IT472 Digital Image Processing
IT472 Digital Image Processing
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

1 Formation et Analyse d’Images Session 5 Daniela Hall 4 November 2004

2 Course Overview Session 1: –Homogenous coordinates and tensor notation –Image transformations –Camera models Session 2: –Camera models –Reflection models –Color spaces Session 3: –Review color spaces –Pixel based image analysis Session 4: –Gaussian filter operators –Scale Space

3 Course overview Session 5: –Contrast description –Hough transform Session 6: –Kalman filter –Tracking of regions, pixels, and lines Session 7: –Stereo vision –Epipolar geometry Session 8: exam

4 Session overview 1.Contrast description 2.Hough transform

5 Feature extraction in computer vision The goal of feature extraction is –Reduce the amount of information –Simplify the interpretation –Preserve the information necessary for further processing (task dependent) The ideal feature extraction alogrithm is invariant –Invariance: the observation is the same independent of the view point and illumination. Contours are good candidates for invariant feature extraction

6 Contrast Contrast can be caused by –Change in surface orientation (discontinuity in depth) useful for description of polyhedrical objects –Limit of a shadow useful to recognize 3D object form –Texture on a surface independent of surface, can be used to recover the texture –Reflections depends on view point and illumination

7 Contrast detection process Image processing Image analysis image intermediate image representation image description

8 Contrast detection methods Search for extremum in 1 st derivative Search for zero crossing in 2 nd derivative

9 Contrast detection Step edge Smoothed step edge First derivative Second derivative (white pos, yellow negative)

10 Image processing tools Let s(i), f(i) be two real discrete signals s(i) has Ns discrete values on the interval 0<=i<=Smax f(i) has Nf discrete values on the interval 0<=i<=Fmax Pmax=min{Smax,Fmax} s(i)=0 for all i<0, Smax<i f(i)=0 for all i<0, Fmax<i The scalar product of s(i) and f(i) is a scalar p

11 Correlation and convolution Correlation is a scalar product with an offset k over all values of k. Convolution is a correlation where one of the signals is flipped (i-k)->(Fmax-1)-(i-k)

12 Contrast detection Roberst contrast detector Sobel contrast detector Difference filters

13 Roberts contrast detector Consists of two masks m1(i,j)= and m2(i,j)= Compute correlation for n=1,2: Contrast magnitude Contrast direction

14 Roberst contrast detector The detector is very sensitive to high frequency noise. This sensitivity can be reduced by a low pass filtering.

15 Sobel detector very popular detector (Duda-Hart 1972) m0(i,j)= m90(i,j)= This filter can be seen as a convolution of two components: m0(i,j)= * m90(i,j)= *

16 Sobel detector As for Roberst the amplitude and orientation are computed by: Compute correlation for n=1,2: Contrast magnitude Contrast direction

17 Examples Original image Roberts detector Sobel detector Smoothing by binomial filters7 Difference filter Difference filter -1 1

18 Contrast detection by derivatives Steps: –Smoothing: suppression of noise –Computation of gradient magnitude and orientation –Local extremum detection by hysteresis thresholding –Edge segment extraction

19 Smoothing by binomial filters Binomial filters are the best approximation of a discrete Gaussian with integer values. Binomial filters are generated by n convolutions of [1 1] Binomial series: The binomial series is composed of the coefficients of the polynom

20 The binomial series The coefficients of the binomial series can be generated by Pascal’s triangle Level(n) Sum Variance 0 ¼ ½ ¾ 1 5/4 6/4 7/4 2

21 Binomial filters n convolutions of [1 1] Gain: 2 n Variance: var{b n (m)}=n var{b 1 (m)} = n/4 discrete Gaussian with sigma = 1: sigma= 2: sigma=0.5: 1 2 1

22 Discrete Gaussian filter discrete Gaussian with sigma = 1: Gain: 2 4 =16 G(x,1.0) |0.004|0.054|0.242|0.399|0.242|0.054|0.004| Example of sampling a 1D Gaussian (sigma=1, R=3) session 4 16 G(x,1.0) |0.064|0.864|3.872|6.384|3.872|0.864|0.064|

23 Contrast detection by derivatives Steps: –Smoothing: suppression of noise –Computation of gradient magnitude and orientation –Local extremum detection by hysteresis thresholding –Edge segment extraction

24 Difference filters For a discrete signal lim does not exist This is equivalent to s(n)*[1/2, 0, ½] This is equivalent to s(n)*[1,-1] To compute derivatives of a discrete signal, do convolution with the Gaussian derivative kernel (more details in session 4)

25 Difference filters Alternative method to convolution with Gaussian derivative kernel are the difference filters. Smoothing followed by a difference filter is equivalent to the Sobel operator

26 Examples Original image Roberts detector Sobel detector Smoothing by binomial filters Difference filter Difference filter -1 1

27 Examples Original image Roberts detector Sobel detector Smoothing by binomial filters7 Difference filter Difference filter -1 1

28 Contrast detection by derivatives Steps: –Smoothing: suppression of noise –Computation of gradient magnitude E(i,j) and direction theta –Local extremum detection and hysteresis thresholding –Edge segment extraction

29 Local extremum detection Find direction of maximum gradient. Without loss of generality, let the direction be (1, 0) T Check if E(i,j) is a maximum in this direction This means: –Find contrast points C(i,j) that fulfill

30 Hysteresis thresholding Problem: some detectors produce weak edges which should be eliminated. Solution: hysteresis thresholding Properties: eliminates weak edges below a low threshold, but not if they are connected to an edge above a high threshold. weak edge strong edge C(i,j) C(i,j) after chaining

31 Hysteresis thresholding Uses a high and a low threshold –low threshold th0: sensitive to noise, but produces contour candidates –high threshold th1: indicates strong edges 1.Compute map F(i,j) with two thresholds th0, th1

32 Hysteresis filtering 2. Computing connected components of edge elements An edge is selected when it contains at least one strong edge element (with label 2). Edges consisting of only weak edge elements are discarded.

33 Hysteresis filtering The thresholding and chaining can be computed in one step. Start with the high threshold image. For each strong edge continue adding (8 or 4) connected pixels with E(i,j)>=th0.

34 Example original image Contour image Low threshold image High threshold image

35 Contrast detection methods Search for extremum in 1 st derivative: ok Search for zero crossing in 2 nd derivative

36 Contrast detection by 2 nd derivatives The Laplacien is a isotropic filter that is used for the contrast detection. –Lap(i,j)= Lxx(i,j) + Lyy(i,j) –with Lxx(i,j)= I(i,j) * Gxx(sigma) As for Gaussians there exists a integer approximation of the Laplacian. –Lxx(i,j) : [ 1 -1] * [1 -1] = [ ] –Lxx(i,j)+Lyy(i,j): * + * =

37 Gradient norm and Laplacian

38 Example image Lap Difference image Lx Difference image Ly

39 Example Difference image Lx Laplacian

40 Example image Lap Difference image Lx Difference image Ly

41 Contour detection by 2 nd derivatives In theorie: –Contours can be detected more precisely using zero-crossing of 2nd derivative. –Sub-pixel precision is possible by interpolation. –zero crossing of 2 nd derivatives produce closed contours. In real life: –The zero crossing of the 2 nd derivative detect also many small unstable regions.

42 Detection of zero crossing The extrema of the 1 st derivative correspond to zero crossing of the 2 nd derivative. To generate a contour image C(i,j) proceed as follows: –consider 4-connected neighbors (N,S,W,E)

43 Detection of zero crossing For a stabler detection add a term that is related to the strength of the edge. Disadvantage: this measure may break a closed contour. The contours are no longer closed.

44 Session overview 1.Contrast description 2.Hough transform

45 Hough transform The Hough transform is a standard tool in image analysis that allows recognition of global patterns in an image space by recognition of local patterns in a transformed parameter space. It is particularly useful when the patterns one is looking for are sparsely digitized, have ``holes'' and/or the pictures are noisy. The basic idea of this technique is to find curves that can be parameterized like straight lines, polynomials, circles, etc., in a suitable parameter space. Hough59 P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, International Conference on High Energy Accelerators and Instrumentation, CERN, 1959.

46 Hough transform Although the transform can be used in higher dimensions the main use is in two dimensions to find, e.g. straight lines, centres of circles with a fixed radius, parabolas y = ax2 + bx + c with constant c, etc. As an example consider the detection of straight lines in an image. We assume them parameterized in the form: y=mx+c Each image point (x,y) gives rise to a certain number of possible values for m and c. This set of values forms a line c=-mx+y in the Hough space (m,c) When the contour points are aligned, the corresponding lines in the Hough space have the same intersection point (m0,c0). A point in hough space indicates a line in the image space. source:

47 Hough transform Computation: –Initialise histogram h(m,c) (this represents the Hough space) –for each image point (i,j) if C(i,j)=1, then compute all possible couples (m,c) that pass through the point (i,j). increment all corresponding cells by 1. –A local maximum (m0,c0) in h(m,c) indicates that the image points are aligned to the line y=m0 x+c0

48 Hough transform Problems: –Care has to be taken when one quantizes the parameter space. When the bins table are chosen too fine, the local maximum can be dispersed over several bins. When the quantization is not fine enough, on the other hand, nearly parallel lines which are close together will lie in the same bin. –The coefficients m,c are not uniform in orientation Solution: use a different parameterization (p,theta): x sin(theta)-y cos(theta) + p =0

49 Hough transform –Use a different parameterization (p,theta): x sin(theta)-y cos(theta) + p =0 –p is the distance from the origin and theta the angle with the normal –Here each point in the image space corresponds to a sinusoidal curve in the Hough space. The intersection of the sinusoidal curves in the Hough space correspond to a line in the image space.

50 Hough transform Computation: –Initialise histogram h(p,theta) (this represents the Hough space) –for each image point (i,j) if C(i,j)=1, then –for all 0<theta<2pi compute p=-i sin(theta)+j cos(theta) –set h(p,theta) = h(p,theta)+1 –A local maximum (p0,theta0) in h(p,theta) indicates that the image points are aligned to the line p0=-x sin(theta0)+y cos(theta)

51 Generalised Hough transform You can compute the hough transform for any pattern that can be parameterized, such as circles, lines, parabolas. For circles: (x-a) 2 + (y-b) 2 = r 2 We use a hough space h(a,b,r). Each image point corresponds to a cone in space (a,b,r) For a fixed r, each image point corresponds to a circle in hough space. Algorithm: –for each image point and each radius r>0 compute the corresponding circle in hough space. Increment all cells. –After filling the histogram, locate the local maximum (a0,b0,r0). This maximum corresponds to the circle in the image with center (a0, b0) and radius r0.