File size: 2,464 Bytes
c4bb28a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function apply_attributes(alpha, beta)
[model msz] = load_model();

% Render parameter
rp = defrp;
i  = 1;

% 2.d Age the face older
load ../04_attributes.mat
shape  = coef2object( alpha + 50*age_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  + 50*age_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp); set(h, 'name', 'Older');
i=i+1; 

shape  = coef2object( alpha - 50*age_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  - 50*age_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'Younger');
i=i+1;

% 2.e Change the gender
shape  = coef2object( alpha + 5*gender_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  + 5*gender_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'More Male');
i=i+1; 

shape  = coef2object( alpha - 2*gender_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  - 2*gender_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'More Female');
i=i+1;

% 2.f Change the weight
shape  = coef2object( alpha + 50*weight_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  + 50*weight_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'Fatter');
i=i+1; 

shape  = coef2object( alpha - 30*weight_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  - 30*weight_tex(1:msz.n_tex_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'Thinner');
i=i+1;

% 2.g Older and fatter
shape  = coef2object( alpha + 50*age_shape(1:msz.n_shape_dim) + 50*weight_shape(1:msz.n_shape_dim), model.shapeMU, model.shapePC, model.shapeEV );
tex    = coef2object( beta  + 50*age_tex(1:msz.n_tex_dim)     + 50*weight_tex(1:msz.n_shape_dim),     model.texMU,  model.texPC,   model.texEV );
h=figure(i); display_face(shape,tex,model.tl,rp);  set(h, 'name', 'Older and Fatter');
i=i+1;
end