How to tell the differences between a Cat and a Dog Masoud Alipour Ali Farhadi IPM – Scientific...
-
Upload
bertram-barker -
Category
Documents
-
view
215 -
download
0
description
Transcript of How to tell the differences between a Cat and a Dog Masoud Alipour Ali Farhadi IPM – Scientific...
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 ([email protected])([email protected])
Ali Farhadi Ali Farhadi ([email protected])([email protected])
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
FFFFF
K
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 curvature.triangulation of constant curvature.
2KdNumberEuler
vK
6)( 26
TriangulationsTriangulations
1)1) Uniform TriangulationUniform Triangulation2)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
93379337928692867692769287548754
2062520625192221922248713487132042620426
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