Order Structure, Correspondence, and Shape Based Categories Presented by Piotr Dollar October 24, 2002 Stefan Carlsson.

Slides:



Advertisements
Similar presentations
Transformational Geometry
Advertisements

Epipolar Geometry.
Alignment Visual Recognition “Straighten your paths” Isaiah.
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Invariants (continued).
3D reconstruction.
Computer Graphics Lecture 4 Geometry & Transformations.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved. CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Quantum One: Lecture 16.
Mapping: Scaling Rotation Translation Warp
Quantum One: Lecture Canonical Commutation Relations 3.
25 May May May 2015Week 5-2D Transformations1 2D Transformations By: KanwarjeetSingh.
Principal Component Analysis CMPUT 466/551 Nilanjan Ray.
2-D Geometry. The Image Formation Pipeline Outline Vector, matrix basics 2-D point transformations Translation, scaling, rotation, shear Homogeneous.
2D Geometric Transformations
Chapter 4.1 Mathematical Concepts
Chapter 5 Orthogonality
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
Using a Centered Moving Average to Extract the Seasonal Component of a Time Series If we are forecasting with say, quarterly time series data, a 4-period.
Projective geometry- 2D Acknowledgements Marc Pollefeys: for allowing the use of his excellent slides on this topic
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Representation Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
CSCE 590E Spring 2007 Basic Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
3-D Geometry.
Vectors Sections 6.6.
Recognizing and Tracking Human Action Josephine Sullivan and Stefan Carlsson.
Recognition by Linear Combinations of Models By Shimon Ullman & Rosen Basri Presented by: Piotr Dollar Nov. 19, 2002.
Representation CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
CS 450: Computer Graphics 2D TRANSFORMATIONS
1 Fingerprint Classification sections Fingerprint matching using transformation parameter clustering R. Germain et al, IEEE And Fingerprint Identification.
Metric Self Calibration From Screw-Transform Manifolds Russell Manning and Charles Dyer University of Wisconsin -- Madison.
CHAPTER FIVE Orthogonality Why orthogonal? Least square problem Accuracy of Numerical computation.
CS 480/680 Computer Graphics Representation Dr. Frederick C Harris, Jr. Fall 2012.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Homogeneous Coordinates (Projective Space) Let be a point in Euclidean space Change to homogeneous coordinates: Defined up to scale: Can go back to non-homogeneous.
Intro to 3D Models Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
4 4.4 © 2012 Pearson Education, Inc. Vector Spaces COORDINATE SYSTEMS.
University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Introduction to computer vision Chapter 2: Image.
视觉的三维运动理解 刘允才 上海交通大学 2002 年 11 月 16 日 Understanding 3D Motion from Images Yuncai Liu Shanghai Jiao Tong University November 16, 2002.
Geometric Objects and Transformation
Representation. Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames for.
1 Chapter 3 – Subspaces of R n and Their Dimension Outline 3.1 Image and Kernel of a Linear Transformation 3.2 Subspaces of R n ; Bases and Linear Independence.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Affine Transformations.
Geometric Hashing: A General and Efficient Model-Based Recognition Scheme Yehezkel Lamdan and Haim J. Wolfson ICCV 1988 Presented by Budi Purnomo Nov 23rd.
Class 26: Question 1 1.An orthogonal basis for A 2.An orthogonal basis for the column space of A 3.An orthogonal basis for the row space of A 4.An orthogonal.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Ch 6 Vector Spaces. Vector Space Axioms X,Y,Z elements of  and α, β elements of  Def of vector addition Def of multiplication of scalar and vector These.
1 Representation. 2 Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames.
CSCE 552 Fall 2012 Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
Determining 3D Structure and Motion of Man-made Objects from Corners.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
A function is a rule f that associates with each element in a set A one and only one element in a set B. If f associates the element b with the element.
To reflect harder shapes, we reflect each of their corners separately and then join the reflected points O I Reflection produces congruent shapes.
4. Affine transformations. Reading Required:  Watt, Section 1.1. Further reading:  Foley, et al, Chapter  David F. Rogers and J. Alan Adams,
Math 307 Spring, 2003 Hentzel Time: 1:10-2:00 MWF Room: 1324 Howe Hall Instructor: Irvin Roy Hentzel Office 432 Carver Phone
Hough Transform CS 691 E Spring Outline Hough transform Homography Reading: FP Chapter 15.1 (text) Some slides from Lazebnik.
1 CHAPTER 2C- Mohr’s Circle Dr. Zuhailawati Hussain EBB 334 Mechanical Metallurgy.
Another Example: Circle Detection
Chapter 3 Polarization of Light Waves
Homogeneous Coordinates (Projective Space)
Computer Vision Lecture 16: Texture II
Principal Component Analysis
Quantum One.
WARM-UP 8 in. Perimeter = _____ 7 in. Area = _____ 12 in. 4 cm
1.) Create a design (image) on the graph paper with 3 vertices land on whole number (integer) coordinates, in the upper left quadrant (Quadrant II). Label.
Image Stitching Linda Shapiro ECE/CSE 576.
Presentation transcript:

Order Structure, Correspondence, and Shape Based Categories Presented by Piotr Dollar October 24, 2002 Stefan Carlsson

Visual Correspondence No “correct” answer Humans Exceptionally Good Tell & Carlsson (later work) Object Recognition

Basic Idea What are the two groups here? What makes these Similar?

Basic Idea (cont.) Select Points Tangent Lines Structure and location of points and lines More general than affine and projective transformation that preserve the side from which the image is taken.

Order Types Fundamentally different Structures

Interlude: Homogeneous Coordinates Points and lines have same representation (3 element vector) Points and lines have same representation (3 element vector) For point: [x y 1] (x and y coordinates) For point: [x y 1] (x and y coordinates) For line v = [u v –d], the set of points x s.t. v T.x = 0. This line is orthogonal to the standard vector [u v] For line v = [u v –d], the set of points x s.t. v T.x = 0. This line is orthogonal to the standard vector [u v] Every point can be thought of as a line and vice versa (normalize lines to [u v 1]) Every point can be thought of as a line and vice versa (normalize lines to [u v 1])

Order type: Points Order structure for points is orientation Order structure for points is orientation Three points may be collinear, or, traversing them in order can give clockwise or counterclockwise rotation Three points may be collinear, or, traversing them in order can give clockwise or counterclockwise rotation Math: given three points x1, x2 and x3, the determinant of the matrix [ x1 x2 x3 ] is 0 if the points are collinear, negative if they define a clockwise rotation, positive otherwise. Math: given three points x1, x2 and x3, the determinant of the matrix [ x1 x2 x3 ] is 0 if the points are collinear, negative if they define a clockwise rotation, positive otherwise. Why: [show informal proof if time] Why: [show informal proof if time] For >3 points, take all subsets of 3 points and get each subsets ordering. Maintain a consistent ordering of the points. For >3 points, take all subsets of 3 points and get each subsets ordering. Maintain a consistent ordering of the points.

Order type: lines Just as we took the orientation of 3 points, can get orientation of 3 lines Just as we took the orientation of 3 points, can get orientation of 3 lines Sine each line corresponds to a unique point (scale the line to [ x y 1]), taking the sign of the determinant of the matrix of three lines gives us their orientation Sine each line corresponds to a unique point (scale the line to [ x y 1]), taking the sign of the determinant of the matrix of three lines gives us their orientation Again, for multiple lines take each ordered subset of 3 lines Again, for multiple lines take each ordered subset of 3 lines

Order type: lines (II) Actually, Carlsson normalizes the middle component of the line vector (i.e. it becomes [ a 1 b ]). Actually, Carlsson normalizes the middle component of the line vector (i.e. it becomes [ a 1 b ]). Nice because then it defines the set of points x s.t. v T.x = 0 or in other words ax + y + b =0. Useful for taking combination of points and lines. Nice because then it defines the set of points x s.t. v T.x = 0 or in other words ax + y + b =0. Useful for taking combination of points and lines. However same basic idea. However same basic idea.

Order type: Points & Lines Since the defining vector for a line now always points up ([a 1 b]), we can think of line as having a direction (say always right). Since the defining vector for a line now always points up ([a 1 b]), we can think of line as having a direction (say always right). Each point in plane now falls to the right or left of the line (or on the line). Each point in plane now falls to the right or left of the line (or on the line). Can use v T.x = 0. Let y2 = -ax – b (y2 is the y coordinate of the point with x coordinate x that falls on the line). Now, if y>y2, (i.e. the point falls to the left of the line) then ax + y +b y2 implies v T.x > 0. Can use v T.x = 0. Let y2 = -ax – b (y2 is the y coordinate of the point with x coordinate x that falls on the line). Now, if y>y2, (i.e. the point falls to the left of the line) then ax + y +b y2 implies v T.x > 0. Hence can get orientation of a point relative to a line. Hence can get orientation of a point relative to a line.

Order type: “0” The orientation “0” for 3 points (i.e. they are collinear) is an unstable orientation. By this I mean that a miniscule change in the alignment of the three points will cause the orientation to go to either +1 or -1. The orientation “0” for 3 points (i.e. they are collinear) is an unstable orientation. By this I mean that a miniscule change in the alignment of the three points will cause the orientation to go to either +1 or -1. Good idea to not use collinear points. What does Carlsson do? Hmm… Good idea to not use collinear points. What does Carlsson do? Hmm… One could also try to filter against noise by discarding points that are nearly collinear – i.e. have a determinant that is within some epsilon of 0. One could also try to filter against noise by discarding points that are nearly collinear – i.e. have a determinant that is within some epsilon of 0.

Combining the information So now for each set of points, lines, and points and lines we can get a series of binary values that contain information about their structure. So now for each set of points, lines, and points and lines we can get a series of binary values that contain information about their structure. What information is useful? What information is useful? Specifically: How do we filter out dependencies that arose because of how we numbered our lines and points? Specifically: How do we filter out dependencies that arose because of how we numbered our lines and points?

Equivalence Classes for Points Initial ordering of points determines their orientation, in fact all sets of 3 points have same “structure”, even though they can have different orientations. Initial ordering of points determines their orientation, in fact all sets of 3 points have same “structure”, even though they can have different orientations. For sets of >3 points, however, there are different structures. For sets of >3 points, however, there are different structures. We can use the information from the orientation of each subset of 3 points to deduce the actual equivalence class for the points. We can use the information from the orientation of each subset of 3 points to deduce the actual equivalence class for the points.

Equivalence Classes for Points (II) Two Equivalence classes Two Equivalence classes

Thus we can learn the equivalence class or the order type of a set of points. Thus we can learn the equivalence class or the order type of a set of points. Three different order types exist for 5 points Three different order types exist for 5 points Equivalence Classes for Points (III)

Canonical Orderings For each equivalence class, we define an arbitrary but fixed numbering scheme. This is the “canonical ordering”. For each equivalence class, we define an arbitrary but fixed numbering scheme. This is the “canonical ordering”. If cyclic equivalence class, we will call the leftmost point #1. If cyclic equivalence class, we will call the leftmost point #1. So, for five points: So, for five points:

Combining the information (II) Now we have a fixed numbering scheme! Now we have a fixed numbering scheme! Using this number scheme (both for the points and their corresponding tangent lines), we now get the orientation information for the sets of lines for each pair of a point and line. Using this number scheme (both for the points and their corresponding tangent lines), we now get the orientation information for the sets of lines for each pair of a point and line. This information is now directly useful. No false orientation from the initial order of the points. This information is now directly useful. No false orientation from the initial order of the points. Note that we used the point ordering differently from the line and point/line ordering. Note that we used the point ordering differently from the line and point/line ordering.

Combining the information (III) For any subset of points, we can get a single number representing their structure. We call this the order structure index. For any subset of points, we can get a single number representing their structure. We call this the order structure index. Two different sets of points with the same order structure index are very similar. We use this as the basis for our algorithm. Two different sets of points with the same order structure index are very similar. We use this as the basis for our algorithm.

The Algorithm The algorithm is very simple. It is divided into two stages: model building and actual indexing. The algorithm is very simple. It is divided into two stages: model building and actual indexing. The two stages are similar, except in the first we use the first image to build a table, in the second we use the second image and the table to vote on point correspondences. The two stages are similar, except in the first we use the first image to build a table, in the second we use the second image and the table to vote on point correspondences.

The Algorithm: Model Building For each subset of 5 points: Compute the order structure index (OSI) for the points. Compute the order structure index (OSI) for the points. The OSI identifies a location in the table, place the 5 point set at that location in the table. The OSI identifies a location in the table, place the 5 point set at that location in the table.

The Algorithm: Indexing For each subset of 5 points (p1,…p5): Compute the (OSI) for the points, and the index in the table the OSI indicates. Compute the (OSI) for the points, and the index in the table the OSI indicates. For every set of points (m1,…,m5) at that index, give one vote for p1 corresponding to m1, p2 to m2, and so on. For every set of points (m1,…,m5) at that index, give one vote for p1 corresponding to m1, p2 to m2, and so on. This gives us a table that indicates how strongly points correspond.

Results: (normalized vote counts)

Discussion Using point structure and tangent lines seemed to give good results. Using point structure and tangent lines seemed to give good results. Just one of many possible schemes to extract feature relations. Just one of many possible schemes to extract feature relations. If n is the number of points extracted from an image, the running time is at least O(n^5). Thus this algorithm is useful only for small number of points (authors say it is 25-30). If n is the number of points extracted from an image, the running time is at least O(n^5). Thus this algorithm is useful only for small number of points (authors say it is 25-30). Also used for object recognition (multiple models), classify an image. Choose model with the highest number of point correspondences. Also used for object recognition (multiple models), classify an image. Choose model with the highest number of point correspondences.

References Combinatorial Geometry for Shape Representation and Indexing, Carlsson Combinatorial Geometry for Shape Representation and Indexing, Carlsson 1996.