1 / 62

Object Detection

Object Detection. 01 – Basic Hough Transformation JJCAO. What do you see?. “Puzzle” solved from a new view. !. ?. Different view, different domain.

kuniko
Télécharger la présentation

Object Detection

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Detection 01 – Basic Hough Transformation JJCAO

  2. What do you see?

  3. “Puzzle” solved from a new view

  4. ! ? Different view, different domain The same problem, phenomenon or data set, when viewed from a different angle, or in a new domain,may better reveal its underlying structure to facilitate the solution

  5. Line and curve detection • Find lines, curves, or parts of lines or curves in an input image. Such an image might be the output of a edge detector • Hough Transform: Elegant method for direct object recognition • Edges need not be connected • Complete object need not be visible • Key Idea: Edges VOTE for the possible model Detect partially occluded lines

  6. Hough transforms • Object detection → peaks identification in Hough images • Hough59: P.V.C. Hough, A method for faster analysis of bubble chamber photographs, International Conference on High Energy Accelerators and Instrumentation, 1959, cited times: 33 • USE OF THE HOUGH TRASFORMTION TO DETECT LINES and Curves in Pictures_duda_CommunAcm71, cited times: 2623 • GENERALIZING THE HOUGH TRANSFORM TO DETECT ARBITRARY SHAPES_Ballard_pr81, cited times: 2476 • A survey of the hough transform_Illingworth_CVGIP88, cited times: 1339

  7. Beyond lines!!! • Hough transform is a method for estimating the parameters of a shape from its boundary points • The idea can be generalized to estimate “parameters” of arbitrary shapes • Ballard 1981 – Other primitives • Lowe, ICCV 1999 – Object detection • Leibe, Schiele BMVC 2003 – Object class detection • CVPR 2009: Maji& Malik, Gall& Lempitsky, Gu et al. … • CVPR 2010: Bari, Lemp & Kohli

  8. HT for Lines: representation 1 • straight line in image space: y = mx+ b,is plotted for each pair of values (x, y). • What is the characteristic of the line? • Not x or y • But its slope m and intercept b • A line in the image corresponds to a point in Hough space Image space Hough parameter space Source: S. Seitz

  9. Parameter space representation • What does a point (x0, y0) in the image space map to in the Hough space? Image space Hough parameter space

  10. Parameter space representation • What does a point (x0, y0) in the image space map to in the Hough space? • Answer: the solutions of b = –x0m + y0 • This is a line in Hough space Image space Hough parameter space

  11. Parameter space representation • Where is the line that contains both (x0, y0) and (x1, y1)? Image space Hough parameter space (x1, y1) (x0, y0) b = –x1m + y1

  12. Parameter space representation • Where is the line that contains both (x0, y0) and (x1, y1)? • It is the intersection of the lines b = –x0m + y0 and b = –x1m + y1 Image space Hough parameter space (x1, y1) (x0, y0) b = –x1m + y1

  13. HT for Lines: representation 1 Image space Parameter space (b,m) (x,y) y=mx+b b=y-mx Parameter Space

  14. Line Detection by Hough Transform • Algorithm: • Quantize Parameter Space • Create Accumulator Array • Set • For each image edge increment: • If lies on the line: • Find local maxima in Parameter Space

  15. HT for Lines: representation 2 • Problems with the (m,b) space: • Unbounded parameter domain • Vertical lines require infinite m • Alternative : polar representation of lines

  16. HT for Lines • polar representation of lines Image space Parameter space (b,m) (x,y) y=mx+b

  17. HT for Lines - Computation • How to find the intersection point? …

  18. Algorithm HOUGH_LINES Is any pixels a voter?

  19. Several lines

  20. HT lines: local max & threshold Horizontal axis is θ, vertical is rho. Image space votes

  21. Dealing with noise • Try to get rid of irrelevant features • Take only edge points with significant gradient magnitude • Choose a good grid / discretization • Too coarse: large votes obtained when too many different lines correspond to a single bucket • Too fine: miss lines because some points that are not exactly collinear cast votes for different buckets • Increment neighboring bins smoothing in accumulator array

  22. HT for lines: noisy example

  23. A more complicated image http://ostatic.com/files/images/ss_hough.jpg

  24. HT lines: Problem of parameter ranges Vertical flip ? P n

  25. HT lines: Parameter ranges • Solution: polar representation of lines • For image: • For voting:

  26. HT lines: Parameter ranges

  27. Real World Example Could we extract better edges? Found Lines Original Edge Detection Parameter Space

  28. Algorithm HOUGH_line (weight) : Is any pixels a voter? Gradient(i,j)

  29. Hough_Grd • Recall: when we detect an edge point, we also know its gradient direction • But this means that the line is uniquely determined! • Modified Hough transform: • For each edge point (x,y) θ = gradient orientation at (x,y)ρ = x cos θ + y sin θ A(θ, ρ) = A(θ, ρ) + 1end Θ=[0-360] so there is a conversion

  30. Computational Load • Image size = 512 X 512 • Maximum value of • With a resolution of 1o, maximum value of • Accumulator size = • Use of direction of gradient reduces the computational load by 1/180 EE6358 - Computer Vision

  31. Mechanics of the Hough transform • Difficulties • how big should the cells be? (too big, and we merge quite different lines; too small, and noise causes lines to be missed) • How many lines? • Count the peaks in the Hough array • Treat adjacent peaks as a single peak • Which points belong to each line? • Search for points close to the line • Solve again for line and iterate

  32. HT for high dimensional Parameter Curves

  33. 5.2 Parameters for analytic curves

  34. Summary • Feature extraction techniquein cv • Purpose of it is to find imperfect(partially occluded, noisy) instances of objects within a certain class of shapes • By a voting procedure: • Discretize parameter space into bins • For each feature point in the image, put a vote in every bin in the parameter space that could have generated this point • Find bins that have the most votes • Since each point is handled independently, parallel implementations are possible • It becomes difficult when the dimension of the parameter space is large

  35. HT for Circles: Search with fixed R Equation of Circle:

  36. Multiple Circles with known R • Multiple circles with the same radius can be found with the same technique. The centerpointsare represented as red cells in the parameter space drawing. • Overlap of circles can cause spurious centers to also be found, such as at the blue cell. Spurious circles can be removed by matching to circles in the original image.

  37. HT for Circles: Search with unknown R Equation of Circle: If radius is not known: 3D Hough Space! Use Accumulator array What is the surface in the hough space?

  38. Hough transform for circles r y (x,y) x x y image space Hough parameter space

  39. Generalized Hough transform • We want to find a shape defined by its boundary points and a reference point a D. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, Pattern Recognition 13(2), 1981, pp. 111-122.

  40. (xc,yc) θi ri ai Pi Generalized Hough transform • We want to find a shape defined by its boundary points and a reference point • For every boundary point p, we can store the displacement vector r = a – p as indexed by gradient orientation θ xc = xi + ricos(ai) yc = yi + risin(ai) D. Ballard, Generalizing the Hough Transform to Detect Arbitrary Shapes, Pattern Recognition 13(2), 1981, pp. 111-122.

  41. f1 f2 . . . fm (r11,a11),(r12,a12),…,(r1n1,a1n1) (r21,a21),(r22,a12),…,(r2n2,a1n2) . . . (rm1,am1),(rm2,am2),…,(rmnm,amnm) fj aj rj fi ri ai Generalizing the H.T. • Suppose, there were m different gradient orientations: (m <= n) (xc,yc) Pi xc = xi + ricos(ai) yc = yi + risin(ai) R-table

  42. Example model shape

  43. Example displacement vectors for model points

  44. Example range of voting locations for test point

More Related