5959176921
- face validator is a retrained CNN now - starting retiring CLM-Z from OpenFace
37 lines
1.7 KiB
Matlab
37 lines
1.7 KiB
Matlab
function net = initializeFaceCNN_simple_5(num_bins)
|
|
|
|
f=1/100 ;
|
|
net.layers = {} ;
|
|
net.layers{end+1} = struct('type', 'conv', ...
|
|
'weights', {{f*randn(9,9,1,10, 'single'), zeros(1, 10, 'single')}}, ...
|
|
'stride', 1, ...
|
|
'pad', 0) ;
|
|
net.layers{end+1} = struct('type', 'relu') ;
|
|
net.layers{end+1} = struct('type', 'pool', ...
|
|
'method', 'max', ...
|
|
'pool', [2 2], ...
|
|
'stride', 2, ...
|
|
'pad', 0) ;
|
|
net.layers{end+1} = struct('type', 'conv', ...
|
|
'weights', {{f*randn(7,7,10,10, 'single'), zeros(1,10,'single')}}, ...
|
|
'stride', 1, ...
|
|
'pad', 0) ;
|
|
net.layers{end+1} = struct('type', 'relu') ;
|
|
net.layers{end+1} = struct('type', 'pool', ...
|
|
'method', 'max', ...
|
|
'pool', [2 2], ...
|
|
'stride', 2, ...
|
|
'pad', 0) ;
|
|
% This is basically an FC layer
|
|
net.layers{end+1} = struct('type', 'conv', ...
|
|
'weights', {{f*randn(10,10,10,50, 'single'), zeros(1,50,'single')}}, ...
|
|
'stride', 1, ...
|
|
'pad', 0) ;
|
|
net.layers{end+1} = struct('type', 'relu') ;
|
|
net.layers{end+1} = struct('type', 'conv', ...
|
|
'weights', {{f*randn(1,1,50,num_bins, 'single'), zeros(1,num_bins,'single')}}, ...
|
|
'stride', 1, ...
|
|
'pad', 0) ;
|
|
net.layers{end+1} = struct('type', 'softmaxloss') ;
|
|
|
|
net = vl_simplenn_tidy(net) ;
|