How to tell the differences between a Cat and a Dog Masoud Alipour Ali Farhadi IPM – Scientific Computing Center Vision Group Institute for Studies in Theoretical Physics and Mathematics Tehran-Iran
Outlines - Linear Predictive Coding Coefficients - Linear Predictive Coding Coefficients - Surfaces Associated to the LPC Coefficients. - Surfaces Associated to the LPC Coefficients. - Application of Computational Geometry. - Application of Computational Geometry. - Detection via Geometric Characteristics of - Detection via Geometric Characteristics of LPC Surface. LPC Surface. - Results - Results
Making Surfaces – LPC Coefficients. zoom
LPC Surfaces : 1) By Computing the LPC coefficients for each window W of the image, we obtain a set of data in R 20. 1) By Computing the LPC coefficients for each window W of the image, we obtain a set of data in R 20. 2) Each window is identified by its upper left corner index (x,y). 2) Each window is identified by its upper left corner index (x,y). 3) Project the data for each window to R by taking the average of the marked neighbors. 3) Project the data for each window to R by taking the average of the marked neighbors.
Projection to R: -Take average of 6,10,11,15 coefficients. -Take average of 6,10,11,15 coefficients. Origin
LPC Surface (continued): 4) Denote this average by F(x,y). 4) Denote this average by F(x,y). 5) Sliding window with overlaps defines a function on a grid. 5) Sliding window with overlaps defines a function on a grid. LPC Surface = Graph of F(x,y) LPC Surface = Graph of F(x,y)
(i p, j p) (i p’, j p’) ZpZpZpZp Z p’ (i p, j p, z p ) (i p’,j p’,z p’ )
Surfaces
Quantifying the Oscillations where k1 and k2 are the minimum and maximum (principal) surface curvature, respectively. Strain Energy (total curvature) Bending energy function (roughness measure)
Quantifying Oscillations (continued): Gaussian Curvature of a surface z=F(x,y) Gaussian Curvature of a surface z=F(x,y)
High curvature Low curvature Images from Caltech Multires Lab
Discrete Curvature M a triangulated surface (not necessarily smooth) M a triangulated surface (not necessarily smooth) Discrete Curvature at a vertex
Euler Number (characteristic)
Discrete Curvature Discrete Curvature satisfies some basic theorems of Differential Geometry cast in the discrete framework. Discrete Curvature satisfies some basic theorems of Differential Geometry cast in the discrete framework. 1. Gauss Bonnet Theorem is valid 1. Gauss Bonnet Theorem is valid 2. Every closed surface has triangulation of constant curvature. 2. Every closed surface has triangulation of constant curvature.
Triangulations 1)Uniform Triangulation 2)Delaunay Triangulation
Delaunay Triangulations Empty circle property Delaunay Triangulation and diagram Delaunay Triangulation and Voronoi diagram
Triangulated Surface
Counting the Number of Incident Edges. 1. Mapping center of gravity of each Triangle on the plate z=0. 2.Generating a uniform grid on z=o; 3. Centroid Matrix
Number of triangles per area Thus a triangle is assigned to a square grid if the orthogonal projection of the centroid of the triangle is located in that windows. Count the number of triangles which is assigned to the each window. Hence a matrix D is obtained.
LPC coefficients. Centroid Matrix
Comparing for detection The differences between the centroid matrices for cats and dogs are obvious. The differences between the centroid matrices for cats and dogs are obvious. Simply by using the means of matrices we can differentiate between cat and dog matrices. Simply by using the means of matrices we can differentiate between cat and dog matrices. Better statistical invariants are also applicable to the matrix D. For example, - σ 2, etc. Better statistical invariants are also applicable to the matrix D. For example, - σ 2, etc.
Results
Conclusion - This is not a image matching algorithm - This is not a shape matching algorithm - Objects are discriminated via texture analysis
? Questions