• 沒有找到結果。

Support vector Regression (SVR) [16] can fit highly non-linear function by choosing different kernels. For a set of sample (x, y), where x ∈ Rd and y ∈ R, SVR will try to find a proper hyper plane to fit it. In our de-aging/beautify process we use the age/beauty label in the database as the target class. Since we try to use the distance between feature

Figure 4.5: All 72 feature points are pick up from the subset of Farkas feature points and label manually.

Figure 4.6: The lengths between facial features are used to represent aging/beauty level of the face.

points to describe aging traits and attractive proportion of face, the dispersed edges have a great influence on the ability of describing aging level of face vectors. Facial vector is used as the input attribute for SVR model, and the age/beauty label is its corresponding target class. After training, SVR defines a smooth function f : Rd → R, which can estimate the age/beauty label for an input facial vector. We use a RBF kernel function for SVR and perform grid search to find the optional parameters, such as the width r of a RBF kernel. The implementation LIBSVM [3] for  – support vector regression has combined all these works in their software. The mean squared error will be used to evaluating the accuracy of prediction. Table 4.4 is the error of age model which is training by Asian database. Table 4.4 shows that when the data number of database goes to 100 people, the mean squared error become stable.

Table 4.1: The mean squared error of the SVR model training by Asian database. Half of our data in the database will be used to training the SVR model, and others will be used to testing the SVR model.

(Regression) Mean square error

58 for training, 58 for testing 1.05562

Table 4.2: The mean squared error of the SVR model training by Western database.

(Regression) Mean square error

20 people (100 facial models) 0.326835

50 people (250 facial models) 0.507263

100 people (500 facial models) 0.26696

200 people (1000 facial models) 0.276817

500 people (2500 facial models) 0.372647

Chapter 5

De-Aging Process and Beautification

By extract facial vector from every models, we construct the age/beauty model to rep-resent our concept of ”aging” and ”beautification”. An optimization process will be used to generate an young/beauty vector which means an younger or prettier face. The young/pretty vector represent a new proportion of facial features. This new proportion will be used as a guide to decide a new location of all features. Finally, a smooth defor-mation will deform our original facial model to his/her new look.

5.1 Young/Pretty Vector

We process a SVR-based procedure to obtain the young vector while maintaining the sim-ilarity to the original face. The young vector v0 is defined as v0 = arg min E(u) = −f (u) , where E(u) is our energy function and f (u) is obtained from the SVR training result.

Before solving the optimization, PCA had been performed on our vector in order to reduce the dimension and accelerate the optimization. We use standard no-derivatives Direction Set Method which is also called Powell’s method [17] to numerically approximate the minimum of function E(u). Powell’s method would find a local minimum for us that is exactly what we needed: finding a younger face while maintaining the similarity between them. The basic idea of Powell’s method is using the method of finding minimum in one

dimension and applies to each basis in N-dimension. In each iteration, it chooses the av-erage direction as a good direction for next iteration. Powell’s method will give us a local minimum near the original face vector but this minimum distance vector doesn’t guaran-tee it’s correspond to a valid face. For example, the ratio of eyes and face may be too large so the face will look like a weird baby but with a lower cost. The valid face space is a subspace of our search space. To avoid an unreasonable result, we add a regularization term to this energy function call LP (log-likelihood) term, so the function will look like

E(u) = (α − 1)f (u) − αLP (u), (5.1)

which is similar to the one use in 3D morphable model [1] and we set α to 0.3. α is a parameter to control the importance of the log-likelihood term. The function P (likelihood function) is a multivariate Gaussian distribution

P = 1

After projecting u to the PCA space, the log-likelihood term becomes

LP (u) =X−βi2

i + const.

The constant term is independent of u and thus can be omitted from the optimization.

With the likelihood term, we can make sure the distance from a valid face by using the Gaussian distribution. By this SVR-based procedure, we can find a young/prettier facial vector with the face still extremely close to the origin face. The result of our testing facial model in Table 5.1 shows the age/beauty score before and after optimization Equation 5.1.

Table 5.1 shows another difference of score under age model.

Table 5.1: Both age and beauty process will be applied on this facial model. A higher score is better (younger or prettier).

Before After

Beauty score 2.91732 2.99806

Age score for 20 people training set 1.63214 7.81515 Age score for 50 people training set 1.77 8.07728 Age score for 100 people training set 0.802941 7.01342

Table 5.2: Only de-aging process will be applied on this facial model. A higher score is better (younger).

Before After Age score for 20 people training set 3.26527 7.83385 Age score for 50 people training set 3.52103 8.07232 Age score for 100 people training set 3.19073 7.01016

相關文件