Facial Expression Recognition

Size: px
Start display at page:

Download "Facial Expression Recognition"

Transcription

1 Facial Expression Recognition YING SHEN SSE, TONGJI UNIVERSITY Facial expression recognition Page 1

2 Outline Introduction Facial expression recognition Appearance-based vs. model based Active appearance model (AAM) Pre-requisite Principle component analysis (PCA) Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 2

3 Outline Introduction Facial expression recognition Appearance-based vs. model based Active appearance model (AAM) Pre-requisite Principle component analysis (PCA) Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 3

4 Introduction Smile detection Facial expression recognition Page 4

5 Introduction Facial expression recognition Happy Surprise Angry Disgust Sad Fear Facial expression recognition Page 5

6 Introduction Facial expression recognition Happy: 83% Disgusted: 9% Fearful: 6% Angry: 2% Facial expression recognition Page 6

7 Introduction Factors affect facial expression recognition accuracy Pose Illumination Facial expression recognition Page 7

8 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 8

9 Facial expression recognition Framework of automatic facial expression recognition Face Acquisition Facial Feature Extraction Facial Expression Classification Whole Face Deformation Extraction Appearance-based Model-based Facial expression recognition Page 9

10 Facial expression recognition Appearance-based methods E.g. Features are extracted using Garbor filter Facial expression recognition Page 10

11 Facial expression recognition CMU facial expression database (CK, CK+ database) images Six basic expressions Training preparation create positive examples prepare negative examples Training Train Haar-like features using OpenCV Or train a NN classifier using extracted features Facial expression recognition Page 11

12 Facial expression recognition Angry Positive Examples for Training Facial expression recognition Page 12

13 Facial expression recognition Model-based methods Facial expression recognition Page 13

14 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis (PCA) Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 14

15 Pre-requisite: Lagrange multiplier Single-variable function f( x) is differentiable in (a, b). At extremum df dx Two-variables function 0 x 0 x0 ( a, b) f ( x, y) is differentiable in its domain. At an extremum f x f ( x0, y0 ) 0, ( x0, y0 ) 0 y ( x, y ), f(x) achieves an 0 0, f(x, y) achieves Facial expression recognition Page 15

16 Pre-requisite: Lagrange multiplier In general case If x 0 is a stationary point of f ( x), x n1 f f f 0, 0,..., x x x x x x 1 2 n Facial expression recognition Page 16

17 Pre-requisite: Lagrange multiplier Lagrange multiplier is a strategy for finding the local extremum of a function subject to equality constraints Problem: find stationary points for under m constraints g ( x) 0, k 1,2,..., m Solution: 1 k F( x;,..., ) f ( x) g ( x) ( x,,..., m ) m k k k1 If is a stationary point of F, then, x is a stationary point of f ( x) with constraints 0 m Joseph-Louis Lagrange Jan. 25, 1736~Apr.10, 1813 Facial expression recognition Page 17

18 Pre-requisite: Lagrange multiplier Lagrange multiplier is a strategy for finding the local extremum of a function subject to equality constraints Problem: find stationary points for under m constraints g ( x) 0, k 1,2,..., m Solution: 1 k F( x;,..., ) f ( x) g ( x) m m k k k1 ( x0, 10,..., m 0) is a stationary point of F F F F F F F 0, 0,..., 0, 0, 0,..., 0 x x x 1 2 n 1 2 at that point n + m equations! Facial expression recognition Page 18 m

19 Pre-requisite: Lagrange multiplier Example Problem: for a given point p 0 = (1, 0), among all the points lying on the line y=x, identify the one having the least distance to p 0. The distance is 2 2 f ( x, y) ( x 1) ( y 0) y=x? p 0 Now we want to find the stationary point of f(x, y) under the constraint g( x, y) y x 0 According to Lagrange multiplier method, construct another function F x y f x g x x y y x Find the stationary point for F( x, y, ) 2 2 (,, ) ( ) ( ) ( 1) ( ) Facial expression recognition Page 19

20 Pre-requisite: Lagrange multiplier Example Problem: for a given point p 0 = (1, 0), among all the points lying on the line y=x, identify the one having the least distance to p 0. F 0 x 2( x 1) 0 x 0.5 F 0? 2y 0 y y 0.5 x y 0 F 1 p 0 0 y=x (0.5,0.5,1) is a stationary point of F( x, y, ) (0.5,0.5)is a stationary point of f(x,y) under constraints Facial expression recognition Page 20

21 Pre-requisite: matrix differentiation Function is a vector and the variable is a scalar f ( t) f1( t), f2( t),..., f ( ) T n t Definition df df ( t) df ( t) dfn t,,..., dt dt dt dt 1 2 () T Facial expression recognition Page 21

22 Pre-requisite: matrix differentiation Function is a matrix and the variable is a scalar Definition f11( t) f12 ( t),..., f1 m( t) f21( t) f22( t),..., f2m( t) f ( t) fij ( t) fn1( t) fn2( t),..., fnm( t) df dt nm df11( t) df12( t) df1 (),..., m t dt dt dt df21( t) df22( t) df2m() t,..., dfij () t dt dt dt dt dfn 1( t) dfn2( t) dfnm( t),..., dt dt dt Facial expression recognition Page 22 nm

23 Pre-requisite: matrix differentiation Function is a scalar and the variable is a vector Definition In a similar way, f x x x1 x2 x n ( ), (,,..., ) T df f f f,,..., dx x1 x2 x f x x x1 x2 x n ( ), (,,..., ) df f f f,,..., dx x1 x2 x n n T Facial expression recognition Page 23

24 Pre-requisite: matrix differentiation Function is a vector and the variable is a vector T x x, x,..., x, y y ( x), y ( x),..., y ( x) Definition dy dx 1 2 n 1 2 T y1( x) y1( x) y1( x),,..., x1 x2 x n y2( x) y2( x) y2( x),,..., x1 x2 x n y ( x) y ( x) y ( x),,..., m m m x1 x2 xn m n Facial expression recognition Page 24 m T

25 Pre-requisite: matrix differentiation Function is a vector and the variable is a vector T x x, x,..., x, y y ( x), y ( x),..., y ( x) 1 2 n 1 2 In a similar way, dy dx T y1( x) y2( x) ym( x),,..., x1 x1 x 1 y1( x) y2( x) ym( x),,..., x2 x2 x 2 y1( x) y2( x) ym( x),,..., x x x n n n n m Facial expression recognition Page 25 m T

26 Pre-requisite: matrix differentiation Function is a vector and the variable is a vector Example: x y ( x) y y x x x , x2, y1( ) x1 x2, y2( ) x3 3x2 2( x) x 3 y1( x) y2( x) x x 1 1 2x1 0 T dy y1( x) y2( x) 1 3 dx x x x3 y1( x) y2( x) x x 3 3 Facial expression recognition Page 26

27 Pre-requisite: matrix differentiation Function is a scalar and the variable is a matrix Definition df ( X) dx f ( X), X mn f f f x11 x12 x1 n f f f x x x m1 m2 mn Facial expression recognition Page 27

28 Pre-requisite: matrix differentiation Useful results (1) Then, d dx T a x xa, n1 d a, dx T x a a How to prove? Facial expression recognition Page 28

29 Pre-requisite: matrix differentiation Useful results dax (2) Then, A T dx (3) Then, T T dx A T A dx (4) T dx Ax T Then, ( A A ) x dx (5) T da Xb Then, ab dx T T da X b (6) Then, ba dx T dxx (7) Then, 2x dx Facial expression recognition Page 29 T T

30 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 30

31 Principal Component Analysis (PCA) PCA: converts a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called principal components The number of principal components is less than or equal to the number of original variables This transformation is defined in such a way that the first principal component has the largest possible variance, and each succeeding component in turn has the highest variance possible under the constraint that it be orthogonal to (i.e., uncorrelated with) the preceding components Facial expression recognition Page 31

32 Principal Component Analysis (PCA) Illustration How to find? x, y (2.5, 2.4) (0.5, 0.7) (2.2, 2.9) (1.9, 2.2) (3.1, 3.0) (2.3, 2.7) (2.0, 1.6) (1.0, 1.1) (1.5, 1.6) (1.1, 0.9) De-correlation! Along which orientation the data points scatter most? Facial expression recognition Page 32

33 Principal Component Analysis (PCA) Identify the orientation with largest variance Suppose X contains n data points, and each data point is p- dimensional, that is Now, we want to find such a unit vector 1, Facial expression recognition Page 33

34 Principal Component Analysis (PCA) Identify the orientation with largest variance 1 1 var ( ) ( )( ) n n T T T T T X xi xi xi n1 i1 n1 i1 2 T C T T (Note that: ( x ) ( x ) ) i i 1 n i where x n i1 n 1 and C ( i )( i ) n 1 x x i1 T is the covariance matrix Facial expression recognition Page 34

35 Principal Component Analysis (PCA) Identify the orientation with largest variance T Since is unit, 1 Based on Lagrange multiplier method, we need to, T T arg max C 1 T T d C 1 0 2C 2 C d is C s eigen-vector Since, max var max max max Thus, T T T X C Facial expression recognition Page 35

36 Principal Component Analysis (PCA) Identify the orientation with largest variance 1 Thus, should be the eigen-vector of C corresponding to the largest eigen-value of C 1 What is another orientation, orthogonal to, and 2 along which the data can have the second largest variation? Answer: it is the eigen-vector associated to the second largest eigen-value of C and such a variance is 2 2 Facial expression recognition Page 36

37 Principal Component Analysis (PCA) Identify the orientation with largest variance Results: the eigen-vectors of C forms a set of orthogonal basis and they are referred as Principal Components of the original data X You can consider PCs as a set of orthogonal coordinates. Under such a coordinate system, variables are not correlated. Facial expression recognition Page 37

38 Principal Component Analysis (PCA) Express data in PCs Suppose {,,..., } are PCs derived from X, X 1 2 p p1 Then, a data point xi can be linearly represented by {,,..., }, and the representation coefficients are 1 2 p T 1 T 2 ci xi T p Actually, c i is the coordinates of x i in the new coordinate system spanned by { 1, 2,..., p } pn Facial expression recognition Page 38

39 Principal Component Analysis (PCA) Illustration x, y (2.5, 2.4) (0.5, 0.7) (2.2, 2.9) (1.9, 2.2) (3.1, 3.0) (2.3, 2.7) (2.0, 1.6) (1.0, 1.1) (1.5, 1.6) (1.1, 0.9) X cov( X) Eigen-values = , Corresponding eigen-vectors: Facial expression recognition Page 39

40 Principal Component Analysis (PCA) Illustration Facial expression recognition Page 40

41 Principal Component Analysis (PCA) Illustration Coordinates of the data points in the new coordinate system T 1 newc X T X Facial expression recognition Page 41

42 Principal Component Analysis (PCA) Illustration Coordinates of the data points in the new coordinate system Draw newc on the plot In such a new system, two variables are linearly independent! Facial expression recognition Page 42

43 Principal Component Analysis (PCA) Data dimension reduction with PCA n p1 p p1 Suppose X { x }, x, { }, are the PCs i i1 i i i1 i T 1 T If all of { } p 2 i i 1 are used, ci xi is still p-dimensional T p m If only { i} i 1, m p are used, ci will be m-dimensional That is, the dimension of the data is reduced! Facial expression recognition Page 43

44 Principal Component Analysis (PCA) Illustration Coordinates of the data points in the new coordinate system newc X If only the first PC (corresponds to the largest eigen-value) is remained newc X Facial expression recognition Page 44

45 Principal Component Analysis (PCA) Illustration All PCs are used Only 1 PC is used Dimension reduction! Facial expression recognition Page 45

46 Principal Component Analysis (PCA) Illustration If only the first PC (corresponds to the largest eigen-value) is remained newc X How to recover newc to the original space? Easy T newc Facial expression recognition Page 46

47 Principal Component Analysis (PCA) Illustration Data recovered if only 1 PC used Original data Facial expression recognition Page 47

48 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 48

49 Procrustes analysis Who is Procrustes? Facial expression recognition Page 49

50 Procrustes analysis Problem: Suppose we have two sets of point correspondence pairs (m 1, m 2,, m N ) and (n 1, n 2,, n N ). We want to find a scale factor s, an orthogonal matrix R and a vector t so that: N 2 i i i1 ( ) 2 m sr n T (1) Facial expression recognition Page 50

51 Procrustes analysis In 2D space: Facial expression recognition Page 51

52 Procrustes analysis How to compute R and T? We assume that there is a similarity transform N N between point sets and ii 1 Find s, R and T to minimize m nii 1 N N 2 2 i i i i1 i1 e m sr n T ( ) 2 (1) Let 1 1 m m n n m m m n n n N N N ' ' i, i, i i, i i i1 N i1 Note that N N ' mi, i1 i1 0 n 0 ' i Facial expression recognition Page 52

53 Then: e m sr n T m m sr n n T m m sr n sr n T ' ' ' ' i i ( i) i ( i ) i ( i) ( ) m sr( n ) T m sr( n) m sr( n ) e e0 T m sr( n) (1) can be rewritten as: N N N N 2 2 N N N 2 i ( i ) 2 i 2 ( i ) e m sr( n ) e m sr( n ) 2 e m sr( n ) Ne 2 2 ' ' ' ' ' ' 2 i i i 0 i i 0 i i 0 i1 i1 i1 i1 m sr n e m e sr n Ne ' ' ' ' i1 i1 i1 N i1 Procrustes analysis ' ' ' ' i i i i ' ' is independent from { mi, ni} ' ' 2 2 i ( i) 0 m sr n Ne Variables are separated and can be minimized separately. 2 e T m sr n 0 0 ( ) If we have s and R, T can be determined. 0

54 Procrustes analysis Then the problem simplifies to: how to minimize N 2 ' ' 2 mi sr( ni) i1 We revise the error item as a symmetrical one: Consider its geometric meaning here. N 2 N N N 2 ' ' ' 2 ' ' ' 2 mi sr( n ) i m 2 i mi R( ni ) s R( ni ) i1 s s i1 i1 i s 1 s N N N ' 2 ' ' ' 2 mi 2 mi R( ni ) s ni i1 i1 i1 P D Q Variables are separated P 2D sq s Q P s s s 2( PQ D) Thus,

55 2 1 P s Q P 0 s s Q Then the problem simplifies to: how to maximize D N i1 N i1 N ' ' mir( ni) i1 N N ' ' ' T N ' ' ' i i i i i i i1 i1 i1 m n ' i ' i 2 2 Note that: D is a real number. Determined!. D m Rn m Rn trace Rn m trace RH H Procrustes analysis T N i1 ' ni m ' i T Now we are looking for an orthogonal matrix R to maximize the trace of RH.

56 Lemma For any positive semi-definite matrix C and any orthogonal matrix B: Proof: Let Procrustes analysis a i trace C From the positive definite property of C, where A is a non-singular matrix. be the ith column of A. Then trace BC T T T i i trace BAA trace A BA a Ba According to Schwarz inequality:, Hence, x y x y a Ba a Ba a a a B Ba a a T T T T T T i i i i i i i i i i T T T i i trace BAA a a trace AA i A, C AA i T that is, trace BC trace C

57 Procrustes analysis Consider the SVD of H N H UV According to the property of SVD, U and V are orthogonal matrices, and Λ is a diagonal matrix with nonnegative elements. ' ni m i1 ' i T T Now let X VU T Note that: X is orthogonal. We have T T T XH VU UV VV which is positive semi-definite. Thus, from the lemma, we know: for any orthogonal matrix B trace( XH ) trace( BXH ) for any orthogonal matrix Ψ trace( XH ) trace( H) It s time to go back to our objective now R should be X

58 Now, s, R and T are all determined. ' ' 1 N T T i i i H n m U V T R VU 2 ' 1 2 ' 1 N i i N i i m s n ( ) T m sr n Procrustes analysis

59 Procrustes analysis Problem: Given two configuration matrices X and Y with the same dimensions, find rotation and translation that would bring Y as close as possible to X. 1) Find the centroids (mean values of columns) of X and Y. Call them x and y. 2) Remove from each column corresponding mean. Call the new matrices X new and Y new 3) Find Y newt X new. Find the SVD of this matrix Y newt X new = UDV T 4) Find the rotation matrix R = UV T. Find scale factor 5) Find the translation vector T = x- sr y. s N i1 N i1 X Y new new 2 2 Facial expression recognition Page 59

60 Some modifications Sometimes it is necessary to weight some variables down and others up. In these cases Procrustes analysis can be performed using weights. We want to minimize the function: M 2 T tr( W( X AY)( X AY) ) This modification can be taken into account if we find SVD of Y T WX instead of Y T X Facial expression recognition Page 60

61 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 61

62 Active shape model (ASM) Collect training samples 30 neutral faces 30 smile faces Facial expression recognition Page 62

63 ASM Add landmarks 26 points each face X = [x 1 x 2 x N ]; N = 60. Facial expression recognition Page 63

64 ASM Align training faces together using Procrustes analysis Transform x i to x j : Rotation (R i ), Scale (s i ), Transformation (T i ) Consider a weight matrix W: D kl represents the distance between the point k and l in one image and V Dkl represents the variance of D kl in different images w k N ( VD ) l1 m is the dimension of x i min Z * T i Zi Z x ( s * R *( x ) T ) kl i j i 1 W w 1 w m Facial expression recognition Page 64

65 ASM We want to minimize E min Z * W * Z T i i i 1) Find the centroids (mean values of columns) of x i and x j. 2) Remove from each column corresponding mean. 3) Find the SVD of this matrix x i_new *W*x j_newt = UDV T 4) Find the rotation matrix A = UV T. Find the scale factor and translation vector as shown in page 59. Facial expression recognition Page 65

66 ASM Align training faces using Procrustes analysis Steps: 1. Align the other faces with the first face 2. Compute the mean face x xi i1 3. Align training faces with the mean face 4. Repeat step 2 and 3 until the discrepancies between training faces and the mean face won t change N Facial expression recognition Page 66

67 ASM Faces after alignment Facial expression recognition Page 67

68 ASM Construct models of faces Compute mean face Calculate covariance matrix S N i 1 Find its eigenvalues (λ 1, λ 2,, λ m ) and eigenvectors P = (p 1, p 2,, p m ) Choose the first t largest eigenvalues Usually f v = 0.98 t i1 x Facial expression recognition Page 68 N x i1 N 1 ( xi x)( xi x) i, v T f V V T i i t T Dimension reduction: 26*227

69 ASM We can approximate a training face x x x Pb b P T ( x x) b i is called the i th mode of the model constraint: b 3 i Facial expression recognition Page 69 i

70 ASM Effect of varying the first three shape parameters in turn between ±3 s.d. from the mean value -3 s.d. origin +3 s.d. -3 s.d. origin +3 s.d. Facial expression recognition Page 70

71 ASM Active Shape Model Algorithm 1. Examine a region of the image around each point x i to find the best nearby match for the point x i ' 2. Update the parameters (T, s, R, b) to best fit the new found points x' 3. Apply constraints to the parameters, b, to ensure plausible shapes (e.g. limit so b i < 3 λ i ). 4. Repeat until convergence. Q1: How to find corresponding points in a new image? Facial expression recognition Page 71

72 ASM Find the initial corresponding points Detect face using Viola-Jones face detector Estimate positions of eyes centers, nose center, and mouse center Align the corresponding positions on the mean face to the estimated positions of eyes centers, nose center, and mouse center (s init, R init, T init ) on the new face x s * R * x T init init init init Facial expression recognition Page 72

73 ASM Construct local features for each point in the training samples For a given point, we sample along a profile k pixels either side of the model point in the i th training image. Instead of sampling absolute grey-level values, we sample derivatives and put them in a vector g i Normalize the sample: point i-1 g i gi g j ij point i 2k+1 pixels point i+1 Facial expression recognition Page 73

74 ASM For each training image, we can get a set of normalized samples {g 1, g 2,, g N } for point i We assume that these g i are distributed as a multivariate Gaussian, and estimate their mean g i and covariance S gi. This gives a statistical model for the greylevel profile about the point i Given a new sample g s, the distance of g s to g i can be computed using the Mahalanobis distance d T 1 ( gs, gi ) ( gs gi S g ( gs gi ) ) Facial expression recognition Page 74 i

75 ASM During search we sample a profile m pixels from either side of each initial point (m > k ) on the new face. point i-1 point i dx i 2m+1 pixels point i+1 T 1 min d( gs, gi ) ( gs gi S g ( g i s gi g ) ) Facial expression recognition Page 75 s

76 ASM Some constraints on dx i dx i = 0 dx i = 0.5d best dx i = 0.5d max if d best <= δ if δ<= d best <= d max if d best > d max Facial expression recognition Page 76

77 ASM Apply one iteration of ASM algorithm 1. Examine a region of the image around each point x i to find the best nearby match for the point x i ': x i ' = x i + dx i 2. Update the parameters (T, s, R, b) to best fit the new found points x' 3. Apply constraints to the parameters, b, to ensure plausible shapes (e.g. limit so b i < 3 λ i ). 4. Repeat until convergence. Q2: How to find T, s, R, and b for x'? Facial expression recognition Page 77

78 ASM Suppose we want to match a model x to a new set of image points y We wish to find (T, s, R, b) that can minimize 2 min ys * R( x) T min y s * R( x Pb) T 2 Facial expression recognition Page 78

79 ASM A simple iterative approach to achieving the minimum 1. Initialize the shape parameters, b, to zero (the mean shape). 2. Generate the model point positions using x = x + Pb 3. Find the pose parameters (s, R, T) which best align the model points x to the current found points y min ys * R( x) T 4. Project y into the model co-ordinate frame by inverting the transformation : 1 ' ( y ) / R T s 5. Project y into the tangent plane to x by scaling: y'' = y'/(y' x). 6. Update the model parameters to match to y'' 7. If not converged, return to step 2. y T b P ( y '' x) 2 Facial expression recognition Page 79

80 ASM Apply one iteration of ASM algorithm 1. Examine a region of the image around each point x i to find the best nearby match for the point x i ': x i ' = x i + dx i 2. Update the parameters (T, s, R, b) to best fit the new found points x' using the algorithm in page Apply constraints to the parameters, b, to ensure plausible shapes (e.g. limit so b i < 3 λ i ). 4. Repeat until convergence. Facial expression recognition Page 80

81 ASM So now we have a vector of b for the new face Classify facial expression using b Facial expression recognition Page 81

82 Classification Training Compute b for each training faces Training a classifier (e.g. SVM, Neural Network) using {b 1, b 2,, b N } and the corresponding labels Test Using the trained classifier to classify a new mode vector b new of a new face Facial expression recognition Page 82

83 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 83

84 Delaunay triangulation Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Facial expression recognition Page 84

85 Delaunay triangulation How do we interpolate the height at other points? Height ƒ(p) defined at each point p in P How can we most naturally approximate height of points not in P? Let ƒ(p) = height of nearest point for points not in A Does not look natural Facial expression recognition Page 85

86 Delaunay triangulation Better option: triangulation Determine a triangulation of P in R 2, then raise points to desired height Triangulation: planar subdivision whose bounded faces are triangles with vertices from P Facial expression recognition Page 86

87 Delaunay triangulation Formal definition Let P = {p 1,,p n } be a point set. Maximal planar subdivision: a subdivision S such that no edge connecting two vertices can be added to S without destroying its planarity A triangulation of P is a maximal planar subdivision with vertex set P. Facial expression recognition Page 87

88 Delaunay triangulation Triangulation is made of triangles Outer polygon must be convex hull Internal faces must be triangles, otherwise they could be triangulated further Facial expression recognition Page 88

89 Delaunay triangulation For P consisting of n points, all triangulations contain 2n-2-k triangles 3n-3-k edges n = number of points in P k = number of points on convex hull of P Facial expression recognition Page 89

90 Delaunay triangulation But which triangulation? Facial expression recognition Page 90

91 Delaunay triangulation Some triangulations are better than others Avoid skinny triangles, i.e. maximize minimum angle of triangulation Facial expression recognition Page 91

92 Delaunay triangulation Let T be a triangulation of P with m triangles. Its angle vector is A(T) = (α 1,, α 3m ) where α 1,, α 3m are the angles of T sorted by increasing value. Let T be another triangulation of P. A(T) is larger then A(T ) iff there exists an i such that j = ' j for all j < i and i > ' i T is angle optimal if A(T) > A(T ) for all triangulations T of P Facial expression recognition Page 92

93 Delaunay triangulation If the two triangles form a convex quadrilateral, we could have an alternative triangulation by performing an edge flip on their shared edge. The edge e = P i P j is illegal if min α i min α i 1 i 6 1 i 6 Flipping an illegal edge increases the angle vector Facial expression recognition Page 93

94 Delaunay triangulation If triangulation T contains an illegal edge e, we can make A(T) larger by flipping e. In this case, T is an illegal triangulation. Facial expression recognition Page 94

95 Delaunay triangulation We can use Thale s Theorem to test if an edge is legal without calculating angles Theorem: Let C be a circle, l a line intersecting C in points a and b, and p, q, r, s points lying on the same side of l. Suppose that p, q lie on C, r lies inside C, and s lies outside C. Then arb > apb = aqb > asb Facial expression recognition Page 95

96 Delaunay triangulation If p i, p j, p k, p l form a convex quadrilateral and do not lie on a common circle, exactly one of p i p j and p k p l is an illegal edge. Lemma: The edge P i P j is illegal iff p l lies in the interior of the circle C. Facial expression recognition Page 96

97 Delaunay triangulation A legal triangulation is a triangulation that does not contain any illegal edge. Compute Legal Triangulations 1. Compute a triangulation of input points P. 2. Flip illegal edges of this triangulation until all edges are legal. Algorithm terminates because there is a finite number of triangulations. Too slow to be interesting Facial expression recognition Page 97

98 Delaunay triangulation Before we can understand an interesting solution to the terrain problem, we need to understand Delaunay Graphs. Delaunay Graph of a set of points P is the dual graph of the Voronoi diagram of P Facial expression recognition Page 98

99 Delaunay triangulation Voronoi Diagram and Delaunay Graph Let P be a set of n points in the plane The Voronoi diagram Vor(P) is the subdivision of the plane into Voronoi cells V(p) for all p P Let G be the dual graph of Vor(P) The Delaunay graph DG(P) is the straight line embedding of G Facial expression recognition Page 99

100 Delaunay triangulation Voronoi Diagram and Delaunay Graph Calculate Vor(P) Place one vertex in each site of the Vor(P) Facial expression recognition Page 100

101 Delaunay triangulation Voronoi Diagram and Delaunay Graph If two sites s i and s j share an edge (s i and s j are adjacent), create an arc between v i and v j, the vertices located in sites s i and s j Facial expression recognition Page 101

102 Delaunay triangulation Voronoi Diagram and Delaunay Graph Finally, straighten the arcs into line segments. The resultant graph is DG(P). Facial expression recognition Page 102

103 Delaunay triangulation Properties of Delaunay Graphs No two edges cross; DG(P) is a planar graph. Facial expression recognition Page 103

104 Delaunay triangulation Some sets of more than 3 points of Delaunay graph may lie on the same circle. These points form empty convex polygons, which can be triangulated. Delaunay Triangulation is a triangulation obtained by adding 0 or more edges to the Delaunay Graph. Facial expression recognition Page 104

105 Delaunay triangulation From the properties of Voronoi Diagrams Three points p i, p j, p k P are vertices of the same face of the DG(P) iff the circle through p i, p j, p k contains no point of P on its interior. Facial expression recognition Page 105

106 Delaunay triangulation From the properties of Voronoi Diagrams Two points p i, p j P form an edge of DG(P) iff there is a closed disc C that contains p i and p j on its boundary and does not contain any other point of P. Facial expression recognition Page 106

107 Delaunay triangulation From the previous two properties A triangulation T of P is a DT(P) iff the circumcircle of any triangle of T does not contain a point of P in its interior. Facial expression recognition Page 107

108 Delaunay triangulation A triangulation T of P is legal iff T is a DT(P). DT Legal: Empty circle property and Thale s Theorem implies that all DT are legal Legal DT Let P be a set of points in the plane. Any angle-optimal triangulation of P is a Delaunay triangulation of P. Furthermore, any Delaunay triangulation of P maximizes the minimum angle over all triangulations of P. Facial expression recognition Page 108

109 Delaunay triangulation Therefore, the problem of finding a triangulation that maximizes the minimum angle is reduced to the problem of finding a Delaunay Triangulation. So how do we find the Delaunay Triangulation? Facial expression recognition Page 109

110 Delaunay triangulation How do we compute DT(P)? We could compute Vor(P) then dualize into DT(P). Instead, we will compute DT(P) using a randomized incremental method. Facial expression recognition Page 110

111 Delaunay triangulation Incremental method 1. Initialize triangulation T with a big enough helper bounding triangle that contains all points P. 2. Randomly choose a point p r from P. 3. Find the triangle that p r lies in. 4. Subdivide into smaller triangles that have p r as a vertex. 5. Flip edges until all edges are legal. 6. Repeat steps 2-5 until all points have been added to T. Facial expression recognition Page 111

112 Delaunay triangulation In matlab, try delaunay(x,y) function Facial expression recognition Page 112

113 Outline Introduction Facial expression recognition Appearance-based vs. model-based Active appearance model (AAM) Pre-requisite Principle component analysis Procrustes analysis ASM Delaunay triangulation AAM Facial expression recognition Page 113

114 AAM Steps of constructing AAM 1. Apply triangulation algorithm on the training faces; Facial expression recognition Page 114

115 AAM Steps of constructing AAM 2. Warp the training face to the mean face by matching the corresponding triangles Facial expression recognition Page 115

116 AAM Steps of constructing AAM 3. Sample the grey level information g im from the shape-normalized image over the region covered by the mean face To minimize the effect of global lighting variation, normalize the faces g = (g im β1)/α α = g im g, β = (g im 1)/n Facial expression recognition Page 116

117 AAM Steps of constructing AAM 4. Apply PCA to the normalized data g = g + P g b g Facial expression recognition Page 117

118 AAM Appearance vector: b T Wb s s WsPs ( x x) T g g ( ) b P g g Apply a further PCA b Qc c is a vector of appearance parameters We can express the face as functions of c x x PW Q c, g g P Q s s s g g c Q Q Q s g Facial expression recognition Page 118

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001 Delaunay Triangulations Presented by Glenn Eguchi 6.838 Computational Geometry October 11, 2001 Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally

More information

Delaunay Triangulations

Delaunay Triangulations Delaunay Triangulations (slides mostly by Glenn Eguchi) Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally approximate height of points not

More information

Computational Geometry

Computational Geometry Lecture 12: Lecture 12: Motivation: Terrains by interpolation To build a model of the terrain surface, we can start with a number of sample points where we know the height. Lecture 12: Motivation: Terrains

More information

Computational Geometry Lecture Delaunay Triangulation

Computational Geometry Lecture Delaunay Triangulation Computational Geometry Lecture Delaunay Triangulation INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 7.12.2015 1 Modelling a Terrain Sample points p = (x p, y p, z p ) Projection π(p) = (p

More information

Lecture 7 Measurement Using a Single Camera. Lin ZHANG, PhD School of Software Engineering Tongji University Fall 2016

Lecture 7 Measurement Using a Single Camera. Lin ZHANG, PhD School of Software Engineering Tongji University Fall 2016 Lecture 7 Measurement Using a Single Camera Lin ZHANG, PhD School of Software Engineering Tongji University Fall 2016 If I have an image containing a coin, can you tell me the diameter of that coin? Contents

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Lecture 6 Introduction to Numerical Geometry. Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018

Lecture 6 Introduction to Numerical Geometry. Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018 Lecture 6 Introduction to Numerical Geometry Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018 Outline Introduction Basic concepts in geometry Discrete geometry Metric for discrete

More information

Lecture 4 Face Detection and Classification. Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018

Lecture 4 Face Detection and Classification. Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018 Lecture 4 Face Detection and Classification Lin ZHANG, PhD School of Software Engineering Tongji University Spring 2018 Any faces contained in the image? Who are they? Outline Overview Face detection Introduction

More information

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria Voronoi diagrams Delaunay Triangulations Pierre Alliez Inria Voronoi Diagram Voronoi Diagram Voronoi Diagram The collection of the non-empty Voronoi regions and their faces, together with their incidence

More information

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples : 3. Voronoi Diagrams Examples : 1. Fire Observation Towers Imagine a vast forest containing a number of fire observation towers. Each ranger is responsible for extinguishing any fire closer to her tower

More information

CS133 Computational Geometry

CS133 Computational Geometry CS133 Computational Geometry Voronoi Diagram Delaunay Triangulation 5/17/2018 1 Nearest Neighbor Problem Given a set of points P and a query point q, find the closest point p P to q p, r P, dist p, q dist(r,

More information

CAD & Computational Geometry Course plan

CAD & Computational Geometry Course plan Course plan Introduction Segment-Segment intersections Polygon Triangulation Intro to Voronoï Diagrams & Geometric Search Sweeping algorithm for Voronoï Diagrams 1 Voronoi Diagrams Voronoi Diagrams or

More information

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text

Voronoi Diagrams in the Plane. Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams in the Plane Chapter 5 of O Rourke text Chapter 7 and 9 of course text Voronoi Diagrams As important as convex hulls Captures the neighborhood (proximity) information of geometric objects

More information

Voronoi diagram and Delaunay triangulation

Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi

More information

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5 Voronoi Diagrams and Delaunay Triangulations O Rourke, Chapter 5 Outline Preliminaries Properties and Applications Computing the Delaunay Triangulation Preliminaries Given a function f: R 2 R, the tangent

More information

Fortune s Algorithm. Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf

Fortune s Algorithm. Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf Notes from the book by de Berg, Van Krevald, Overmars, and Schwarzkpf Based on sweeping the plane with a horizontal line and computing the Voronoi diagram as the line sweeps Straight forward approach won

More information

2D Geometry. Pierre Alliez Inria Sophia Antipolis

2D Geometry. Pierre Alliez Inria Sophia Antipolis 2D Geometry Pierre Alliez Inria Sophia Antipolis Outline Sample problems Polygons Graphs Convex hull Voronoi diagram Delaunay triangulation Sample Problems Line Segment Intersection Theorem: Segments (p

More information

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here)

Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagrams and Delaunay Triangulation slides by Andy Mirzaian (a subset of the original slides are used here) Voronoi Diagram & Delaunay Triangualtion Algorithms Divide-&-Conquer Plane Sweep Lifting

More information

Voronoi Diagram. Xiao-Ming Fu

Voronoi Diagram. Xiao-Ming Fu Voronoi Diagram Xiao-Ming Fu Outlines Introduction Post Office Problem Voronoi Diagram Duality: Delaunay triangulation Centroidal Voronoi tessellations (CVT) Definition Applications Algorithms Outlines

More information

Image Warping and Morphing. Alexey Tikhonov : Computational Photography Alexei Efros, CMU, Fall 2007

Image Warping and Morphing. Alexey Tikhonov : Computational Photography Alexei Efros, CMU, Fall 2007 Image Warping and Morphing Alexey Tikhonov 15-463: Computational Photography Alexei Efros, CMU, Fall 2007 Image Warping in Biology D'Arcy Thompson http://www-groups.dcs.st-and.ac.uk/~history/miscellaneous/darcy.html

More information

Surface Mesh Generation

Surface Mesh Generation Surface Mesh Generation J.-F. Remacle Université catholique de Louvain September 22, 2011 0 3D Model For the description of the mesh generation process, let us consider the CAD model of a propeller presented

More information

Announcements. Recognition I. Gradient Space (p,q) What is the reflectance map?

Announcements. Recognition I. Gradient Space (p,q) What is the reflectance map? Announcements I HW 3 due 12 noon, tomorrow. HW 4 to be posted soon recognition Lecture plan recognition for next two lectures, then video and motion. Introduction to Computer Vision CSE 152 Lecture 17

More information

04 - Normal Estimation, Curves

04 - Normal Estimation, Curves 04 - Normal Estimation, Curves Acknowledgements: Olga Sorkine-Hornung Normal Estimation Implicit Surface Reconstruction Implicit function from point clouds Need consistently oriented normals < 0 0 > 0

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

Hand Gesture Extraction by Active Shape Models

Hand Gesture Extraction by Active Shape Models Hand Gesture Extraction by Active Shape Models Nianjun Liu, Brian C. Lovell School of Information Technology and Electrical Engineering The University of Queensland, Brisbane 4072, Australia National ICT

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

The aim is to find an average between two objects Not an average of two images of objects but an image of the average object!

The aim is to find an average between two objects Not an average of two images of objects but an image of the average object! The aim is to find an average between two objects Not an average of two images of objects but an image of the average object! How can we make a smooth transition in time? Do a weighted average over time

More information

Math 414 Lecture 2 Everyone have a laptop?

Math 414 Lecture 2 Everyone have a laptop? Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,

More information

Edge and local feature detection - 2. Importance of edge detection in computer vision

Edge and local feature detection - 2. Importance of edge detection in computer vision Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 16: Voronoi Diagrams and Fortune s Algorithm contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through

More information

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo Surface Simplification Motivation Basic Idea of LOD Discrete LOD Continuous LOD Simplification Problem Characteristics

More information

Dimension Reduction CS534

Dimension Reduction CS534 Dimension Reduction CS534 Why dimension reduction? High dimensionality large number of features E.g., documents represented by thousands of words, millions of bigrams Images represented by thousands of

More information

Facial Expression Recognition Using Non-negative Matrix Factorization

Facial Expression Recognition Using Non-negative Matrix Factorization Facial Expression Recognition Using Non-negative Matrix Factorization Symeon Nikitidis, Anastasios Tefas and Ioannis Pitas Artificial Intelligence & Information Analysis Lab Department of Informatics Aristotle,

More information

5. THE ISOPERIMETRIC PROBLEM

5. THE ISOPERIMETRIC PROBLEM Math 501 - Differential Geometry Herman Gluck March 1, 2012 5. THE ISOPERIMETRIC PROBLEM Theorem. Let C be a simple closed curve in the plane with length L and bounding a region of area A. Then L 2 4 A,

More information

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Collision Detection. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering RBE 550 MOTION PLANNING BASED ON DR. DMITRY BERENSON S RBE 550 Collision Detection Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering http://users.wpi.edu/~zli11 Euler Angle RBE

More information

Applications Video Surveillance (On-line or off-line)

Applications Video Surveillance (On-line or off-line) Face Face Recognition: Dimensionality Reduction Biometrics CSE 190-a Lecture 12 CSE190a Fall 06 CSE190a Fall 06 Face Recognition Face is the most common biometric used by humans Applications range from

More information

Image Warping and Morphing. Alexey Tikhonov

Image Warping and Morphing. Alexey Tikhonov Image Warping and Morphing Alexey Tikhonov CS194: Image Manipulation & Computational Photography Alexei Efros, UC Berkeley, Fall 2017 Women in Art video http://youtube.com/watch?v=nudion-_hxs Image Warping

More information

THE THIRD JTST FOR JBMO - Saudi Arabia, 2017

THE THIRD JTST FOR JBMO - Saudi Arabia, 2017 THE THIRD JTST FOR JBMO - Saudi Arabia, 017 Problem 1. Let a, b, c be positive real numbers such that a + b + c = 3. Prove the inequality a(a b ) + b(b c ) + c(c a ) 0. a + b b + c c + a Problem. Find

More information

Dynamic Collision Detection

Dynamic Collision Detection Distance Computation Between Non-Convex Polyhedra June 17, 2002 Applications Dynamic Collision Detection Applications Dynamic Collision Detection Evaluating Safety Tolerances Applications Dynamic Collision

More information

Minima, Maxima, Saddle points

Minima, Maxima, Saddle points Minima, Maxima, Saddle points Levent Kandiller Industrial Engineering Department Çankaya University, Turkey Minima, Maxima, Saddle points p./9 Scalar Functions Let us remember the properties for maxima,

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

6 Randomized rounding of semidefinite programs

6 Randomized rounding of semidefinite programs 6 Randomized rounding of semidefinite programs We now turn to a new tool which gives substantially improved performance guarantees for some problems We now show how nonlinear programming relaxations can

More information

Lecture 4 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13

Lecture 4 (CGAL) Panos Giannopoulos, Dror Atariah AG TI WS 2012/13 Lecture 4 (CGAL) Panos Giannopoulos Dror Atariah AG TI WS 2012/13 Exercise 3? Outline Note: Random points Delaunay Triangulations and Voronoi diagrams Exercise 4 Project ideas FU Berlin Lecture 4 (CGAL)

More information

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder] Preliminaries Recall: Given a smooth function f:r R, the function

More information

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Lecture 14 Shape. ch. 9, sec. 1-8, of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt) Lecture 14 Shape ch. 9, sec. 1-8, 12-14 of Machine Vision by Wesley E. Snyder & Hairong Qi Spring 2018 16-725 (CMU RI) : BioE 2630 (Pitt) Dr. John Galeotti The content of these slides by John Galeotti,

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

Trig Practice 09 & Nov The diagram below shows a curve with equation y = 1 + k sin x, defined for 0 x 3π.

Trig Practice 09 & Nov The diagram below shows a curve with equation y = 1 + k sin x, defined for 0 x 3π. IB Math High Level Year : Trig: Practice 09 & 0N Trig Practice 09 & Nov 0. The diagram below shows a curve with equation y = + k sin x, defined for 0 x. The point A, lies on the curve and B(a, b) is the

More information

Lecture 1 Discrete Geometric Structures

Lecture 1 Discrete Geometric Structures Lecture 1 Discrete Geometric Structures Jean-Daniel Boissonnat Winter School on Computational Geometry and Topology University of Nice Sophia Antipolis January 23-27, 2017 Computational Geometry and Topology

More information

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger

Definitions. Topology/Geometry of Geodesics. Joseph D. Clinton. SNEC June Magnus J. Wenninger Topology/Geometry of Geodesics Joseph D. Clinton SNEC-04 28-29 June 2003 Magnus J. Wenninger Introduction Definitions Topology Goldberg s polyhedra Classes of Geodesic polyhedra Triangular tessellations

More information

Computational Geometry

Computational Geometry Computational Geometry 600.658 Convexity A set S is convex if for any two points p, q S the line segment pq S. S p S q Not convex Convex? Convexity A set S is convex if it is the intersection of (possibly

More information

Computational Geometry: Lecture 5

Computational Geometry: Lecture 5 Computational Geometry: Lecture 5 Don Sheehy January 29, 2010 1 Degeneracy In many of the algorithms that we have discussed so far, we have run into problems when that input is somehow troublesome. For

More information

TOURNAMENT OF THE TOWNS, Glossary

TOURNAMENT OF THE TOWNS, Glossary TOURNAMENT OF THE TOWNS, 2003 2004 Glossary Absolute value The size of a number with its + or sign removed. The absolute value of 3.2 is 3.2, the absolute value of +4.6 is 4.6. We write this: 3.2 = 3.2

More information

Unsupervised Learning

Unsupervised Learning Unsupervised Learning Learning without Class Labels (or correct outputs) Density Estimation Learn P(X) given training data for X Clustering Partition data into clusters Dimensionality Reduction Discover

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

Other Voronoi/Delaunay Structures

Other Voronoi/Delaunay Structures Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing

More information

Clustering and Visualisation of Data

Clustering and Visualisation of Data Clustering and Visualisation of Data Hiroshi Shimodaira January-March 28 Cluster analysis aims to partition a data set into meaningful or useful groups, based on distances between data points. In some

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

DA Progress report 2 Multi-view facial expression. classification Nikolas Hesse

DA Progress report 2 Multi-view facial expression. classification Nikolas Hesse DA Progress report 2 Multi-view facial expression classification 16.12.2010 Nikolas Hesse Motivation Facial expressions (FE) play an important role in interpersonal communication FE recognition can help

More information

Facial Expression Detection Using Implemented (PCA) Algorithm

Facial Expression Detection Using Implemented (PCA) Algorithm Facial Expression Detection Using Implemented (PCA) Algorithm Dileep Gautam (M.Tech Cse) Iftm University Moradabad Up India Abstract: Facial expression plays very important role in the communication with

More information

Voronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points

Voronoi Diagrams. A Voronoi diagram records everything one would ever want to know about proximity to a set of points Voronoi Diagrams Voronoi Diagrams A Voronoi diagram records everything one would ever want to know about proximity to a set of points Who is closest to whom? Who is furthest? We will start with a series

More information

Lecture 2 Optimization with equality constraints

Lecture 2 Optimization with equality constraints Lecture 2 Optimization with equality constraints Constrained optimization The idea of constrained optimisation is that the choice of one variable often affects the amount of another variable that can be

More information

MATH 113 Section 8.2: Two-Dimensional Figures

MATH 113 Section 8.2: Two-Dimensional Figures MATH 113 Section 8.2: Two-Dimensional Figures Prof. Jonathan Duncan Walla Walla University Winter Quarter, 2008 Outline 1 Classifying Two-Dimensional Shapes 2 Polygons Triangles Quadrilaterals 3 Other

More information

Support Vector Machines.

Support Vector Machines. Support Vector Machines srihari@buffalo.edu SVM Discussion Overview 1. Overview of SVMs 2. Margin Geometry 3. SVM Optimization 4. Overlapping Distributions 5. Relationship to Logistic Regression 6. Dealing

More information

Conic Duality. yyye

Conic Duality.  yyye Conic Linear Optimization and Appl. MS&E314 Lecture Note #02 1 Conic Duality Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

More information

Möbius Transformations in Scientific Computing. David Eppstein

Möbius Transformations in Scientific Computing. David Eppstein Möbius Transformations in Scientific Computing David Eppstein Univ. of California, Irvine School of Information and Computer Science (including joint work with Marshall Bern from WADS 01 and SODA 03) Outline

More information

Background for Surface Integration

Background for Surface Integration Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

5. GENERALIZED INVERSE SOLUTIONS

5. GENERALIZED INVERSE SOLUTIONS 5. GENERALIZED INVERSE SOLUTIONS The Geometry of Generalized Inverse Solutions The generalized inverse solution to the control allocation problem involves constructing a matrix which satisfies the equation

More information

On the Minimum Number of Convex Quadrilaterals in Point Sets of Given Numbers of Points

On the Minimum Number of Convex Quadrilaterals in Point Sets of Given Numbers of Points On the Minimum Number of Convex Quadrilaterals in Point Sets of Given Numbers of Points Hu Yuzhong Chen Luping Zhu Hui Ling Xiaofeng (Supervisor) Abstract Consider the following problem. Given n, k N,

More information

Constrained Delaunay Triangulations (CDT)

Constrained Delaunay Triangulations (CDT) Constrained Delaunay Triangulations (CDT) Recall: Definition 1 (Constrained triangulation). A triangulation with prespecified edges or breaklines between nodes. Motivation: Geological faults in oil recovery

More information

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012 UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 Voronoi Diagrams & Delaunay Triangulations O Rourke: Chapter 5 de Berg et al.: Chapters 7,

More information

Perspective Mappings. Contents

Perspective Mappings. Contents Perspective Mappings David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy

More information

Acute Triangulations of Polygons

Acute Triangulations of Polygons Europ. J. Combinatorics (2002) 23, 45 55 doi:10.1006/eujc.2001.0531 Available online at http://www.idealibrary.com on Acute Triangulations of Polygons H. MAEHARA We prove that every n-gon can be triangulated

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Art Gallery, Triangulation, and Voronoi Regions

Art Gallery, Triangulation, and Voronoi Regions Art Gallery, Triangulation, and Voronoi Regions CS535 Fall 2016 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on Profs. Shmuel Wimer and Andy Mirzaian Topics Triangulation

More information

CS6100: Topics in Design and Analysis of Algorithms

CS6100: Topics in Design and Analysis of Algorithms CS6100: Topics in Design and Analysis of Algorithms Guarding and Triangulating Polygons John Augustine CS6100 (Even 2012): Guarding and Triangulating Polygons The Art Gallery Problem A simple polygon is

More information

Last week. Multi-Frame Structure from Motion: Multi-View Stereo. Unknown camera viewpoints

Last week. Multi-Frame Structure from Motion: Multi-View Stereo. Unknown camera viewpoints Last week Multi-Frame Structure from Motion: Multi-View Stereo Unknown camera viewpoints Last week PCA Today Recognition Today Recognition Recognition problems What is it? Object detection Who is it? Recognizing

More information

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

More information

Generic Face Alignment Using an Improved Active Shape Model

Generic Face Alignment Using an Improved Active Shape Model Generic Face Alignment Using an Improved Active Shape Model Liting Wang, Xiaoqing Ding, Chi Fang Electronic Engineering Department, Tsinghua University, Beijing, China {wanglt, dxq, fangchi} @ocrserv.ee.tsinghua.edu.cn

More information

Outline of the presentation

Outline of the presentation Surface Reconstruction Petra Surynková Charles University in Prague Faculty of Mathematics and Physics petra.surynkova@mff.cuni.cz Outline of the presentation My work up to now Surfaces of Building Practice

More information

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 High-Dimensional Computational Geometry Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018 Outline 3-D vector geometry High-D hyperplane intersections Convex hull & its extension to 3

More information

Generalized trace ratio optimization and applications

Generalized trace ratio optimization and applications Generalized trace ratio optimization and applications Mohammed Bellalij, Saïd Hanafi, Rita Macedo and Raca Todosijevic University of Valenciennes, France PGMO Days, 2-4 October 2013 ENSTA ParisTech PGMO

More information

Large-Scale Face Manifold Learning

Large-Scale Face Manifold Learning Large-Scale Face Manifold Learning Sanjiv Kumar Google Research New York, NY * Joint work with A. Talwalkar, H. Rowley and M. Mohri 1 Face Manifold Learning 50 x 50 pixel faces R 2500 50 x 50 pixel random

More information

Recognition: Face Recognition. Linda Shapiro EE/CSE 576

Recognition: Face Recognition. Linda Shapiro EE/CSE 576 Recognition: Face Recognition Linda Shapiro EE/CSE 576 1 Face recognition: once you ve detected and cropped a face, try to recognize it Detection Recognition Sally 2 Face recognition: overview Typical

More information

Surface Reconstruction with MLS

Surface Reconstruction with MLS Surface Reconstruction with MLS Tobias Martin CS7960, Spring 2006, Feb 23 Literature An Adaptive MLS Surface for Reconstruction with Guarantees, T. K. Dey and J. Sun A Sampling Theorem for MLS Surfaces,

More information

6th Bay Area Mathematical Olympiad

6th Bay Area Mathematical Olympiad 6th Bay Area Mathematical Olympiad February 4, 004 Problems and Solutions 1 A tiling of the plane with polygons consists of placing the polygons in the plane so that interiors of polygons do not overlap,

More information

Chapter 3 Numerical Methods

Chapter 3 Numerical Methods Chapter 3 Numerical Methods Part 1 3.1 Linearization and Optimization of Functions of Vectors 1 Problem Notation 2 Outline 3.1.1 Linearization 3.1.2 Optimization of Objective Functions 3.1.3 Constrained

More information

Three applications of Euler s formula. Chapter 10

Three applications of Euler s formula. Chapter 10 Three applications of Euler s formula Chapter 10 A graph is planar if it can be drawn in the plane R without crossing edges (or, equivalently, on the -dimensional sphere S ). We talk of a plane graph if

More information

Learning via Optimization

Learning via Optimization Lecture 7 1 Outline 1. Optimization Convexity 2. Linear regression in depth Locally weighted linear regression 3. Brief dips Logistic Regression [Stochastic] gradient ascent/descent Support Vector Machines

More information

60 2 Convex sets. {x a T x b} {x ã T x b}

60 2 Convex sets. {x a T x b} {x ã T x b} 60 2 Convex sets Exercises Definition of convexity 21 Let C R n be a convex set, with x 1,, x k C, and let θ 1,, θ k R satisfy θ i 0, θ 1 + + θ k = 1 Show that θ 1x 1 + + θ k x k C (The definition of convexity

More information

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College

Algorithms for GIS. Spatial data: Models and representation (part I) Laura Toma. Bowdoin College Algorithms for GIS Spatial data: Models and representation (part I) Laura Toma Bowdoin College Outline Spatial data in GIS applications Point data Networks Terrains Planar maps and meshes Data structures

More information

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev Serdica J. Computing 4 00, 3 334 APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS J. Mark Keil, Tzvetalin S. Vassilev Abstract. We consider sets of points in the two-dimensional

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

Scanning Real World Objects without Worries 3D Reconstruction

Scanning Real World Objects without Worries 3D Reconstruction Scanning Real World Objects without Worries 3D Reconstruction 1. Overview Feng Li 308262 Kuan Tian 308263 This document is written for the 3D reconstruction part in the course Scanning real world objects

More information

Programming, numerics and optimization

Programming, numerics and optimization Programming, numerics and optimization Lecture C-4: Constrained optimization Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428 June

More information

Lifting Transform, Voronoi, Delaunay, Convex Hulls

Lifting Transform, Voronoi, Delaunay, Convex Hulls Lifting Transform, Voronoi, Delaunay, Convex Hulls Subhash Suri Department of Computer Science University of California Santa Barbara, CA 93106 1 Lifting Transform (A combination of Pless notes and my

More information

Facial Feature Detection

Facial Feature Detection Facial Feature Detection Rainer Stiefelhagen 21.12.2009 Interactive Systems Laboratories, Universität Karlsruhe (TH) Overview Resear rch Group, Universität Karlsruhe (TH H) Introduction Review of already

More information

REVIEW I MATH 254 Calculus IV. Exam I (Friday, April 29) will cover sections

REVIEW I MATH 254 Calculus IV. Exam I (Friday, April 29) will cover sections REVIEW I MATH 254 Calculus IV Exam I (Friday, April 29 will cover sections 14.1-8. 1. Functions of multivariables The definition of multivariable functions is similar to that of functions of one variable.

More information