Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hough Transform Elegant method for direct object recognition

Similar presentations


Presentation on theme: "Hough Transform Elegant method for direct object recognition"— Presentation transcript:

1 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

2 1. Introduction Performed after Edge Detection
It is a technique to isolate the curves of a given shape / shapes in a given image Classical Hough Transform can locate regular curves like straight lines, circles, parabolas, ellipses, etc. Requires that the curve be specified in some parametric form Generalized Hough Transform can be used where a simple analytic description of feature is not possible EE Computer Vision

3 2. Advantages of Hough Transform
The Hough Transform is tolerant of gaps in the edges It is relatively unaffected by noise It is also unaffected by occlusion in the image EE Computer Vision

4

5

6

7

8 Image and Parameter Spaces
Equation of Line: Find: Consider point: Image Space Parameter space also called Hough Space Parameter Space

9 Line Detection by Hough Transform
Algorithm: 1) Quantize Parameter Space 2) Create Accumulator Array 3) Set 4) For each image edge increment: 5) If lies on the line: 6) Find local maxima in Parameter Space 1 2

10 Better Parameterization
NOTE: Large Accumulator More memory and computations Improvement: Line equation: Here Given points find (Finite Accumulator Array Size) Image Space ? Hough Space Sinusoid Hough Space

11 Horizontal axis is θ, vertical is rho.
Figure 15.1, top half. Note that most points in the vote array are very dark, because they get only one vote. Image space Votes Horizontal axis is θ, vertical is rho.

12 This is 15.1 lower half Image space votes

13 15.2; main point is that lots of noise can lead to large peaks in the array

14 Real World Example Original Edge Detection Found Lines Parameter Space

15 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

16

17

18

19 Finding Circles by Hough Transform
Equation of Circle: If radius is known: (2D Hough Space) Accumulator Array

20 Finding Circles by Hough Transform
Equation of Circle: If radius is not known: 3D Hough Space! Use Accumulator array What is the surface in the hough space?

21 Using Gradient Information
Gradient information can save lot of computation: Edge Location Edge Direction Assume radius is known: Need to increment only one point in Accumulator!!

22

23

24 What we learned Processes related to edge detection also allow us to extract lines and corners from the image The HT turns the line detection problem into a line intersection/peak detection problem HT can be extended to low degree curves, but complexity increases exponentially with degree Corner detection is based upon strong image gradients in > 1 direction Both sensitive to threshold values used

25

26 Randomized Hough Transform

27 Boundary Descriptors There are several simple geometric measures that can be useful for describing a boundary. The length of a boundary: the number of pixels along a boundary gives a rough approximation of its length. Curvature: the rate of change of slope To measure a curvature accurately at a point in a digital boundary is difficult The difference between the slops of adjacent boundary segments is used as a descriptor of curvature at the point of intersection of segments

28 Goal Find 3D models with similar shape 3D Query Best Match(es)
The motivation for the shape descriptors stems from the challenge of shape matching. Given a database of models and a query model, we would like to retrieve the model, or models, in the database that are most similar to the query. Because we are primarily concerned with systems that allow for retrieving models from large repositories, the efficiency of the retrieval is a central concern of shape matching. 3D Query Best Match(es) 3D Database

29 Goal Shape Descriptor: 3D Query Shape Descriptor Best Match(es)
Structured abstraction of a 3D model Capturing salient shape information In general, this task is performed with the assistance of a shape descriptor. This is a structured abstraction of a 3D model that captures salient shape information. So that rather than comparing two models directly, the two models are compared by comparing their shape descriptors. In particular, in a pre-processing step, the shape descriptors of all the models in the database are computed. Then, at run time, the descriptor of the query model is computed And compared against the descriptors in the database to identify the best matches to the query. 3D Query Shape Descriptor Best Match(es) 3D Database

30 Shape Descriptors Shape Descriptors Fixed dimensional vector
Independent of model representation Easy to match In practice, the shape descriptor used represents a 3D model as a vector in some fixed dimensional space. Specifically, it is a mapping from shape space into some vector space which satisfies the property that if two models are similar, their shape descriptors will also be close. So, for example if we look at the shape descriptors of two different cars, we would like them to be closer to each other than to the shape descriptor of an animal or an airplane. This reduces the difficult task of shape matching to the simpler task of vector comparison. Thus, once a shape descriptor is chosen matching can be performed efficiently, and tools such as SVD compression and Euclidean Nearest Neighbor can be used to further increase the speed of retrieval.

31 Shape Descriptors Representation: Matching: What can you represent?
What are you representing? Matching: How do you align? Part or whole matching? When considering which shape descriptor to use for retrieval, there are a number of questions that need to be considered:

32 Shape Descriptors Representation: Matching: Point Clouds Polygon Soups
What can you represent? What are you representing? Matching: How do you align? Part or whole matching? Point Clouds Polygon Soups Closed Meshes Genus-0 Meshes Shape Spectrum First, what kind of models can be represented by the shape descriptor? On one end of the spectrum, there are the shape descriptors that can be defined for any point set, independent of any connectivity or topology information. Since every 3D model can be point sampled, this type of shape descriptor allows us to match a very broad class of models. On the other end of the spectrum are shape descriptors that can only be defined for water-tight, genus-0 objects. These types of shape descriptors can only be used for much more restricted databases, but they can take advantage of these geometric restrictions to generate more discriminating representations of 3D models.

33 Shape Descriptors Representation: Matching:
What can you represent? What are you representing? Matching: How do you align? Part or whole matching? Since the shape descriptor is an abstraction of the 3D model, the second question that we would like to consider is: What type of shape information is captured by the descriptor? From a theoretical perspective this is often related to the question of invertability: That is, given a shape descriptor, how much of the model information can we get back? From a more practical perspective, the shape descriptor really defines a shape metric – models are compared by computing the distance between their shape descriptors. In this context, we would like to consider how the measure of similarity defined by the shape descriptors relates to the actual geometric similarity of the underlying models. Is the descriptor invertible? What is represented by the difference in descriptors?

34 Shape Descriptors = Representation: Matching:
What can you represent? What are you representing? Matching: How do you align? Part or whole matching? One of the specific challenges of shape matching is that we often consider similarity transformations to leave the shape of the model unchanged. So for example, a model of a car, and any translation, scale, or rotation of that car represent the same shape. Thus, once we have chosen a shape descriptor, we would like to know how the shape descriptors can be matched across these different transformations. = How do you represent models across the space of transformations that don’t change the shape?

35 Can you match part of a shape to the whole shape?
Shape Descriptors Representation: What can you represent? What are you representing? Matching: How do you align? Part or whole matching? Finally, when matching 3D models we would also like to consider the challenge of partial shape matching. For example, given a model of the human head and a model of the face, can the shape descriptor be used to identify the fact that the face model is a part, or subset, of the whole head model? Can you match part of a shape to the whole shape?

36 Outline Why shape descriptors? How do we represent shapes? Conclusion
Volumetric Representations Surface Representations View-Based Representations Conclusion Having talked about the benefits of using shape descriptors for matching 3D models, we are now going to focus on some of the different ways that a shape descriptors can be used to represent a model. We begin by considering shape descriptors that seek to represent the volumetric information in the model.

37 Volumetric Representations
Represent models by the volume that they occupy: Rasterize the models into a binary voxel grid A voxel has value 1 if it is inside the model A voxel has value 0 if it is outside Perhaps the most direct way to compare two models is to measure how much they overlap. This notion of shape similarity can be encoded in a shape descriptor that represents a model by a regularly sampled three-dimensional array, where the value of a 3D point is either one or zero, depending on whether it is interior to the model or exterior to it. The advantage of this representation it that it is invertible (up to the resolution of the sampling) so that no information is lost in representing a 3D model by this type of shape descriptor. Model Voxel Grid

38 Volumetric Representations
Compare models by measuring the overlaps of their volumes Similarity is measured by the size of the intersection Furthermore, this type of representation has the advantage that the similarity between two shape descriptors corresponds to the size of the overlap between the two models as desired. Thus, using the shape descriptor we have the advantage of a vector-based representation that allows for efficient matching, and we also satisfy the property that the difference between two descriptors gives a direct and meaningful measure of the geometric similarity of the underlying models. Intersection Model Voxel Representation

39 Light Field Descriptor
[Chen et al. 2003] Hybrid boundary/volume representation The Light Field descriptor is then obtained by extracting the silhouette and the interior of each image and using those for matching. Thus, while the Light Field Descriptor is not completely invertible, we can use it to extract the visual hull of the model, giving rise to a reasonable approximation of a model’s shape, for models that do not have too much depth complexity. Model Image Boundary Volume

40

41

42 Representation Chain Codes

43 Boundary Descriptors Shape Numbers

44 Polygonal Approximations
Representation Polygonal Approximations Polygonal approximations: to represent a boundary by straight line segments, and a closed path becomes a polygon. The number of straight line segments used determines the accuracy of the approximation. Only the minimum required number of sides necessary to preserve the needed shape information should be used (Minimum perimeter polygons). A larger number of sides will only add noise to the model.

45

46

47

48 Representation Signature Signatures are invariant to location, but will depend on rotation and scaling. Starting at the point farthest from the reference point or using the major axis of the region can be used to decrease dependence on rotation. Scale invariance can be achieved by either scaling the signature function to fixed amplitude or by dividing the function values by the standard deviation of the function.

49

50

51

52

53 Polygonal Approximations
Representation Polygonal Approximations Minimum perimeter polygons: (Merging and splitting) Merging and splitting are often used together to ensure that vertices appear where they would naturally in the boundary. A least squares criterion to a straight line is used to stop the processing.

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70 Why Corner Detection? Corners are robust, used in computer vision for matching same point in multiple images (e.g. stereo left + right image)

71 Motivation: Patch Matching
Consider small squares called patches of same size in both images The task? Find most similar patch in second image

72 Some Patches Better Than Others
More robust to use distinctive patches Example: Don’t use patches similar to many patches in image 2 (ambiguous)

73 Corners are Robust “Features”
Corners are unique, match patches with corners What are corners? Junctions of contours Corners appear as large changes in intensity in different viewpoints (stable/unique)

74 Corner Points: Basic Idea
Patch at corner: shifting window in any direction yields large change in intensity Is patch at corner? shift window in multiple directions, if large intensity changes, patch is a corner


Download ppt "Hough Transform Elegant method for direct object recognition"

Similar presentations


Ads by Google