How to tell the differences between a Cat and a Dog

Preview:

DESCRIPTION

How to tell the differences between a Cat and a Dog. Masoud Alipour (malipour@ipm.ir) Ali Farhadi (farhadi@ipm.ir) IPM – Scientific Computing Center Vision Group Institute for Studies in Theoretical Physics and Mathematics Tehran-Iran. Outlines. - Linear Predictive Coding Coefficients - PowerPoint PPT Presentation

Citation preview

How to tell the differences How to tell the differences between a Cat and a Dogbetween a Cat and a Dog

Masoud Alipour Masoud Alipour (malipour@ipm.ir)(malipour@ipm.ir)

Ali Farhadi Ali Farhadi (farhadi@ipm.ir)(farhadi@ipm.ir)

IPM – Scientific Computing CenterIPM – Scientific Computing CenterVision GroupVision Group

Institute for Studies in Theoretical Physics and MathematicsInstitute for Studies in Theoretical Physics and MathematicsTehran-IranTehran-Iran

OutlinesOutlines

- 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 Making Surfaces – LPC CoefficientsCoefficients..

zoom

LPC Surfaces : LPC Surfaces :

1) By Computing the LPC coefficients for 1) By Computing the LPC coefficients for each window W of the image, we obtain a set each window W of the image, we obtain a set of data in Rof data in R2020 . .

2) Each window is identified by its upper left 2) Each window is identified by its upper left corner index (x,y). corner index (x,y).

3) Project the data for each window to R by 3) Project the data for each window to R by taking the average of the marked neighbors.taking the average of the marked neighbors.

Projection to R: Projection to R:

-Take average of -Take average of 6,10,11,15 6,10,11,15 coefficients. coefficients.

OriginOrigin1010

66

1111

1515

LPC Surface (continued):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 5) Sliding window with overlaps defines a function on a grid.function on a grid.

LPC Surface = Graph of F(x,y)LPC Surface = Graph of F(x,y)

(i(ipp , j , jp)p)

(i(ip’p’ , j , jp’)p’)

ZZpp

ZZp’p’

(i(ipp, j, jp, p, zzpp))

(i(ip’ p’ ,j,jp’ p’ ,z,zp’p’))

SurfacesSurfaces

Quantifying the OscillationsQuantifying the Oscillations

dSsES

22

21)(

where k1 and k2 are the minimum and maximum (principal) surface curvature, respectively.

Strain Energy (total curvature)Strain Energy (total curvature)

Bending energy function (roughness measure)Bending energy function (roughness measure)

2

)2()],([ 222 dxdyfffyxfI yyxyxx

Quantifying Oscillations Quantifying Oscillations (continued):(continued):

Gaussian Curvature of a surface Gaussian Curvature of a surface z=F(x,y)z=F(x,y)

222

2

)1( yx

xyyyxx

FF

FFFK

High curvature

Low curvatureImages from Caltech Multires Lab

Discrete CurvatureDiscrete Curvature

M a triangulated surface (not M a triangulated surface (not necessarily smooth)necessarily smooth)

0

0

0

0

0

-1

0

0

20

1

vertexon theincident edges ofnumber -6)K( Discrete Curvature at a vertex

Euler Number (characteristic)Euler Number (characteristic)

g22

22 0

FEV

Discrete CurvatureDiscrete Curvature

Discrete Curvature satisfies some Discrete Curvature satisfies some basic theorems of Differential basic theorems of Differential Geometry cast in the discrete Geometry cast in the discrete framework.framework.

1. Gauss Bonnet Theorem is valid1. Gauss Bonnet Theorem is valid

2. Every closed surface has 2. Every closed surface has triangulation of constant triangulation of constant curvature.curvature.

2KdNumberEuler

vK

6)( 26

TriangulationsTriangulations

1)1) Uniform TriangulationUniform Triangulation

2)2) Delaunay TriangulationDelaunay Triangulation

Delaunay TriangulationsDelaunay Triangulations

Empty circle property

Delaunay Triangulation and Delaunay Triangulation and Voronoi diagramdiagram

Triangulated SurfaceTriangulated Surface

Counting the Number of Incident Counting the Number of Incident Edges.Edges.

1. Mapping center of gravity of each 1. Mapping center of gravity of each Triangle on the plate z=0 .Triangle on the plate z=0 .

2.Generating a uniform grid on z=o;2.Generating a uniform grid on z=o;

3. Centroid Matrix3. Centroid Matrix

Number of triangles per areaNumber of triangles per area

Thus a triangle is assigned to a square grid if theThus a triangle is assigned to a square grid if theorthogonal projection of the centroid oforthogonal projection of the centroid ofthe triangle is located in that windows.the triangle is located in that windows.Count the number of triangles which isCount the number of triangles which isassigned to the each window.assigned to the each window.Hence a matrix D is obtained.Hence a matrix D is obtained.

44 66 33 22

44 55 11 33

33 33 33 66

51715171 60996099 68866886 60946094 22802280

57355735 56635663 67536753 46124612 36383638

76927692 73177317 51185118 51655165 11021102

67956795 43514351 57395739 39923992 37873787

22302230 20572057 21352135 22532253 17551755

LPC coefficients.LPC coefficients.

Centroid MatrixCentroid Matrix

Comparing for detectionComparing for detection

The differences between the centroid The differences between the centroid matrices for cats and dogs are obvious.matrices for cats and dogs are obvious.

Simply by using the means of matrices Simply by using the means of matrices we can differentiate between cat and we can differentiate between cat and dog matrices . dog matrices .

Better statistical invariants are also Better statistical invariants are also applicable to the matrix D. For applicable to the matrix D. For example, example, - - σσ 22, etc., etc.

ResultsResults

93379337

92869286

76927692

87548754

2062520625

1922219222

4871348713

2042620426

ConclusionConclusion

- This is not a image matching algorithm - This is not a image matching algorithm

- This is not a shape matching algorithm- This is not a shape matching algorithm

- Objects are discriminated via texture - Objects are discriminated via texture analysisanalysis

?QuestionsQuestions

Recommended