On the Complexity of Affine Image Matching STACS 2007, Aachen University of Lübeck Institute for Theoretical Computer Science Lübeck, Germany Thursday,

Slides:



Advertisements
Similar presentations
This algorithm is used for dimension reduction. Input: a set of vectors {Xn є }, and dimension d,d
Advertisements

Transformations Ed Angel Professor Emeritus of Computer Science
3D Geometry for Computer Graphics
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
Mapping: Scaling Rotation Translation Warp
Computational Geometry The art of finding algorithms for solving geometrical problems Literature: –M. De Berg et al: Computational Geometry, Springer,
A synthetic camera model to test calibration procedures A four step procedure (last slide) based on an initial position (LookAt) and 13 parameters: ( 
Image Warping : Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz
Computational Geometry The art of finding algorithms for solving geometrical problems Literature: –M. De Berg et al: Computational Geometry, Springer,
3.II.1. Representing Linear Maps with Matrices 3.II.2. Any Matrix Represents a Linear Map 3.II. Computing Linear Maps.
Multiple View Geometry Projective Geometry & Transformations of 2D Vladimir Nedović Intelligent Systems Lab Amsterdam (ISLA) Informatics Institute,
3D Geometry for Computer Graphics
Computational Geometry The art of finding algorithms for solving geometrical problems Literature: –M. De Berg et al: Computational Geometry, Springer,
3.III.1. Representing Linear Maps with Matrices 3.III.2. Any Matrix Represents a Linear Map 3.III. Computing Linear Maps.
Image Warping : Computational Photography Alexei Efros, CMU, Fall 2005 Some slides from Steve Seitz
CSE 421 Algorithms Richard Anderson Lecture 15 Fast Fourier Transform.
Chapter 4 Linear Transformations. Outlines Definition and Examples Matrix Representation of linear transformation Similarity.
On the ICP Algorithm Esther Ezra, Micha Sharir Alon Efrat.
Dimensionality Reduction
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Lecture 7: Matrix-Vector Product; Matrix of a Linear Transformation; Matrix-Matrix Product Sections 2.1, 2.2.1,
CS I400/B659: Intelligent Robotics Rigid Transformations.
04 – Geometric Transformations Overview Geometric Primitives –Points, Lines, Planes 2D Geometric Transformations –Translation, Rotation, Scaling, Affine,
Principal Component Analysis Adapted by Paul Anderson from Tutorial by Doug Raiford.
Image Warping (Szeliski 3.6.1) cs129: Computational Photography James Hays, Brown, Fall 2012 Slides from Alexei Efros and Steve Seitz
1 February 24 Matrices 3.2 Matrices; Row reduction Standard form of a set of linear equations: Chapter 3 Linear Algebra Matrix of coefficients: Augmented.
What is an image? f(x,y):2 
Section 10.1 Polar Coordinates.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
04 Introduction to Analytic Geometry College Algebra.
Elementary Linear Algebra Anton & Rorres, 9th Edition
Warping CSE 590 Computational Photography Tamara Berg.
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.
Digital Image Processing Lecture 7: Geometric Transformation March 16, 2005 Prof. Charlene Tsai.
CS654: Digital Image Analysis Lecture 12: Separable Transforms.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
MA Day 25- February 11, 2013 Review of last week’s material Section 11.5: The Chain Rule Section 11.6: The Directional Derivative.
CS38 Introduction to Algorithms Lecture 16 May 22, CS38 Lecture 16.
Transformations Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
Chapter 5 – Relations and Functions. 5.1Cartesian Products and Relations Definition 5.1: For sets A, B  U, the Cartesian product, or cross product, of.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
1 Closures of Relations: Transitive Closure and Partitions Sections 8.4 and 8.5.
Dr. Engr. Sami ur Rahman Digital Image Processing Lecture 9: Rotation, Scaling, Shear, Affine Transformation.
GEOMETRIC OPERATIONS. Transformations and directions Affine (linear) transformations Translation, rotation and scaling Non linear (Warping transformations)
Advanced Multimedia Warping & Morphing Tamara Berg.
CS559: Computer Graphics Lecture 8: Warping, Morphing, 3D Transformation Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
1 Embedding and Similarity Search for Point Sets under Translation Minkyoung Cho and David M. Mount University of Maryland SoCG 2008.
Chapter 9 - Transformations. 90 degree rotation (x 1, y 1 ) 180 degree rotation (x 2, y 2 ) 270 degree rotation (x 3, y 3 )
Great Theoretical Ideas in Computer Science.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
January 19, y X Z Translations Objects are usually defined relative to their own coordinate system. We can translate points in space to new positions.
Fourier Transform.
Ruhr University Bochum Faculty of Mathematics Information-Security and Cryptology An Algorithm for Checking Normality of Boolean Functions Magnus DaumHans.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
Great Theoretical Ideas in Computer Science.
Transformations in 3D Lecture 17 Mon, Oct 6, 2003.
Transformations Szirmay-Kalos László. Transformations Can destroy our equations Limit the transformations and the shapes and require invariance – Line.
Image Warping 2D Geometric Transformations
Transformations. Modeling Transformations  Specify transformations for objects  Allows definitions of objects in own coordinate systems  Allows use.
Lecture 10: Image alignment CS4670/5760: Computer Vision Noah Snavely
Modeling Transformations
MATH301- DISCRETE MATHEMATICS Copyright © Nahid Sultana Dr. Nahid Sultana Chapter 4: Number Theory and Cryptography.
Real Numbers, Algebra, and Problem Solving
Finding Lines in Images
The Complexity of Algorithms and the Lower Bounds of Problems
Notes Translations.
2D transformations (a.k.a. warping)
Transformations Day 2: Composition.
Translation in Homogeneous Coordinates
Presentation transcript:

On the Complexity of Affine Image Matching STACS 2007, Aachen University of Lübeck Institute for Theoretical Computer Science Lübeck, Germany Thursday, February 22th 2007 Christian Hundt and Maciej Liśkiewicz

Foto: Andreas Herrmann What is Image Matching? On the Complexity of Affine Image Matching ? ? ?

Overview On the Complexity of Affine Image Matching 1.Notation and the Problem 2.Structure of the Searchspace 3.Polynomial Time Algorithm

Section 1 On the Complexity of Affine Image Matching Notation and the Problem

R 2 -Functions and Images On the Complexity of Affine Image Matching A: R  R  R

Notation and the Problem R 2 -Functions and Images On the Complexity of Affine Image Matching A: Z  Z  R Discretization of A ( step I ):

Notation and the Problem R 2 -Functions and Images On the Complexity of Affine Image Matching A: Z  Z  R

Notation and the Problem R 2 -Functions and Images On the Complexity of Affine Image Matching A: Z  Z  R

Notation and the Problem R 2 -Functions and Images On the Complexity of Affine Image Matching A: Z  Z  Z Discretization of A ( step II ):

Notation and the Problem Image Metric On the Complexity of Affine Image Matching BA  : R  R  R ( e.g.  (a,b) = |a-b| )  (A, B) =    ( A(x,y), B(x,y) ) dx dy -  

Notation and the Problem Image Metric On the Complexity of Affine Image Matching BA  (A, B) =    ( A(x,y), B(x,y) ) N N Discretization of  for Images: 1 4N 2 y=-N x=-N

Notation and the Problem Transformations On the Complexity of Affine Image Matching f(A)(x,y) = A( f -1 (x,y) ) Af(A) f f -1 18

Notation and the Problem Transformations On the Complexity of Affine Image Matching f(A)(x,y) = A( f -1 (x,y) ) Af(A) f -1 ??? and with Images?

Notation and the Problem Transformations On the Complexity of Affine Image Matching Af(A)

Notation and the Problem Transformations On the Complexity of Affine Image Matching Af(A) Nearest Neighbour Interpolation!!!

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(2,1)(0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(2,1)(1,1)(0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(2,1)(1,1)(0,1)(0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(2,1)(1,1)(0,1)  (0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching  f (i, j) = [ f -1 (i, j) ], if in (-N... N) 2  sonst Discretization of f: (3,1)(2,1)(1,1)(0,1)     (0,2) (0,3) (1,2) (1,3) (2,2) (2,3) (3,2) (3,3) (0,0) (0,1) (0,2) (0,3) (1,0)(2,0)(3,0)(4,0) (1,1)(2,1)(3,1)(4,1) (1,2)(2,2)(3,2)(4,2) (1,3)(2,3)(3,3)(4,3)

Notation and the Problem Transformations On the Complexity of Affine Image Matching Discretization of F:  N (F) = {  f | f  F and f injecive }

Notation and the Problem Image Matching On the Complexity of Affine Image Matching BA f ? Input:Image A, distorted image B, set of admissible transformations F Solution:Transformation f in F Goal: min  (f(A), B) = min    ( A (  (x,y) ), B ( x,y ) ) 1 4N 2 y=-N x=-N N N f  F    N (F)

Notation and the Problem How to... On the Complexity of Affine Image Matching 1.enumerate  N (F) ? 2.estimate |  N (F)| ?

Notation and the Problem Elastic Image Matching On the Complexity of Affine Image Matching f f(A)A Set of transformation F: ||(x,y)-(x‘,y‘)||  1  ||f(x,y)-f(x‘,y‘)||   [Keysers; Unger; 2002] Elastic Image Matching is NP-complete.

Notation and the Problem Projective Image Matching On the Complexity of Affine Image Matching f(A)A Set of transformation F: f(x,y) = (a/c, b/c) and (a,b,c) = M(x,y,1) Open Problem. f

Notation and the Problem Affine Image Matching On the Complexity of Affine Image Matching f(A)A Set of transformation F: f(x,y) = M(x, y) + t Our result: Affine Image Matching can be solved in polynomial time. f

Notation and the Problem More Image Matching Classes On the Complexity of Affine Image Matching f f fff Translation: Scaling: Rotation: Rotation & Scaling: Linear Transformation: f(x,y) = s0 0s cos  sin  -sin  cos  s cos  s sin  -s sin  s cos  x y t1t1 t2t2 f(x,y) = x y x y x y a1a1 a2a2 a3a3 a4a4 x y

Section 2 On the Complexity of Affine Image Matching Structure of the Search Space

Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a1a1 a2a2 a3a3 a4a4 x y t1t1 t2t2 Transformation: Vector in R 6 : v = () T

Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a2a2 a3a3 a4a4 x y t1t1 t2t2 Transformation: Vector in R 6 : a1,a1,v = () T

Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a2a2 a3a3 a4a4 x y t1t1 t2t2 Transformation: Vector in R 6 : a1,a1,v = () T

Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a3a3 a4a4 x y t1t1 t2t2 Transformation: Vector in R 6 : a 1, a 2,v = () T

Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a3a3 a4a4 x y t1t1 t2t2 Transformation: Vector in R 6 : a 1, a 2,v = () T

Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : a 1, a 2, t 1, a3a3 a4a4 t2t2

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a3a3 a4a4 x y Transformation: Vector in R 6 : t2t2 a 1, a 2, t 1,

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : t2t2 a 1, a 2, t 1, a 3, a4a4

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ a4a4 x y Transformation: Vector in R 6 : t2t2 a 1, a 2, t 1, a 3,

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : t2t2 a 1, a 2, t 1, a 3, a 4,

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y t2t2 Transformation: Vector in R 6 : a 1, a 2, t 1, a 3, a 4,

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : a 1, a 2, t 1, a 3, a 4, t 2

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : a 1, a 2, t 1, a 3, a 4, t 2

v = () T Structure of the Search Space Affine Transformation vs. R 6 On the Complexity of Affine Image Matching f(x,y) =+ x y Transformation: Vector in R 6 : a1a1 a2a2 a3a3 a4a4 t1t1 t2t2 a 1, a 2, t 1, a 3, a 4, t 2  v =  f -1

Structure of the Search Space Hyperplanes On the Complexity of Affine Image Matching X iji‘ : i x 1 + j x 2 + x 3 - i‘  0 Y ijj‘ : i x 4 + j x 5 + x 6 - j‘  0 Let H N be a set of hyperplanes in R 6 which contains for all i, j, i‘, j‘  [-N,N] the hyperplanes: A(H N ) is the set of cells in R 6 defined by H N.

Structure of the Search Space Central Property On the Complexity of Affine Image Matching Lemma 1. For two vectors u, v  R 6 it holds that  u =  v iff if for all i, j, i‘  [-N,N] u and v belong to the same half-subspace according to the partition of R 6 with the hyperplane X iji‘. The same holds for Y ijj‘.

Structure of the Search Space Main Result Theorem 1. Let F be the set of affine transformations, then  N (F)  A(H N ). On the Complexity of Affine Image Matching Corollary 1. |A(H N )| = O(N 18 ).

Section 3 On the Complexity of Affine Image Matching Polynomial Time Algorithm

Efficient Representation Lemma 2. Each convex cell of A(H N ) contains a vector coordinates of which can be encoded by rational numbers of lenght O(log N). Moreover the representatives can be computed efficiently. On the Complexity of Affine Image Matching

Polynomial Time Algorithm The Algorithm On the Complexity of Affine Image Matching Theorem 2. [Edelsbrunner, 1987] Any arrangement of n hyperplanes in R 6 can be constructed in O(n 6 ) time.

Polynomial Time Algorithm The Algorithm On the Complexity of Affine Image Matching Algorithm ImageMatching( ) Input: Images A, B of size (2N+1)  (2N+1) Output:Transformation f = arg min  (f‘(A), B) 1.Construct A(H N ). 2.Set f = Id and  = . 3.For all C  A(H N ) do 4.compute the representative g for C, 5.compute  ‘ =  (g -1 (A), B), 6.if (  ‘ <  ) then set  =  ‘ and f = g Return f. f‘  F

Polynomial Time Algorithm Running Time On the Complexity of Affine Image Matching Lemma 3. The algorithm runs in time O(N 20 ). Theorem 3. The Affine Image Matching Problem can be solved in polynomial time.

Polynomial Time Algorithm Extensions On the Complexity of Affine Image Matching 1.Many subclasses of Affine Transformation 2.Images with more than two Dimensions. 3.Linear Interpolation

Summary 1.The Search Space of discretized inverse affine Transformation has a regular structure. 2.The Affine Image Matching Problem can be solved in polynomial time. On the Complexity of Affine Image Matching

Thank you for your attention! Any Questions? On the Complexity of Affine Image Matching