- AUs retrained using CE-CLM landmark detection

- bug fix with -gaze parameter
- bug fix with prefered location of bounding box
- re-initializing more often
This commit is contained in:
Tadas Baltrusaitis
2017-09-21 19:15:03 +01:00
parent 2928584e35
commit 06c3aeb280
312 changed files with 1022 additions and 38 deletions

1
.gitignore vendored
View File

@@ -63,3 +63,4 @@ matlab_runners/Action Unit Experiments/out_fera/
matlab_runners/Action Unit Experiments/out_SEMAINE/
matlab_runners/Gaze Experiments/mpii_out/
*.vspx
matlab_version/AU_training/experiments/full_model_training/mat_models_o/

View File

@@ -14,7 +14,7 @@ svm_combined/AU_20_dynamic.dat AU20
svm_combined/AU_23_static.dat AU23
svm_combined/AU_25_dynamic.dat AU25
svm_combined/AU_26_dynamic.dat AU26
svm_combined/AU_28_static.dat AU28
svm_combined/AU_28_dynamic.dat AU28
svm_combined/AU_45_dynamic.dat AU45
svr_combined/AU_1_dynamic_intensity_comb.dat AU01
svr_combined/AU_2_dynamic_intensity_comb.dat AU02

View File

@@ -16,7 +16,7 @@ svm_combined/AU_25_static.dat AU25
svm_combined/AU_26_static.dat AU26
svm_combined/AU_28_static.dat AU28
svm_combined/AU_45_static.dat AU45
svr_combined/AU_1_static_intensity.dat AU01
svr_combined/AU_1_static_intensity_comb.dat AU01
svr_combined/AU_2_static_intensity_comb.dat AU02
svr_combined/AU_4_static_intensity_comb.dat AU04
svr_combined/AU_5_static_intensity.dat AU05

View File

@@ -1 +1 @@
1.000 0.969 1.017 0.954 0.954 1.017 0.969 0.000 0.047 0.164 -0.375 -0.375 0.164 0.047 -0.270 -0.260 -0.170 0.250 0.250 -0.170 -0.260
1.000 1.005 1.054 0.976 0.976 1.054 1.005 0.000 0.049 0.121 -0.370 -0.370 0.121 0.049 -0.230 -0.200 -0.140 0.260 0.260 -0.140 -0.200

View File

@@ -151,9 +151,7 @@ FaceModelParameters::FaceModelParameters(vector<string> &arguments)
else if (arguments[i].compare("-gaze") == 0)
{
track_gaze = true;
valid[i] = false;
i++;
}
else if (arguments[i].compare("-q") == 0)
{
@@ -308,7 +306,7 @@ void FaceModelParameters::init()
limit_pose = true;
multi_view = false;
reinit_video_every = 4;
reinit_video_every = 2;
// Face detection
haar_face_detector_location = "classifiers/haarcascade_frontalface_alt.xml";

View File

@@ -1612,8 +1612,8 @@ bool DetectSingleFaceMTCNN(cv::Rect_<double>& o_region, const cv::Mat& image, La
if (use_preferred)
{
dist = sqrt((preference.x - (face_detections[0].width / 2 + face_detections[0].x)) * (preference.x - (face_detections[0].width / 2 + face_detections[0].x)) +
(preference.y - (face_detections[0].height / 2 + face_detections[0].y)) * (preference.y - (face_detections[0].height / 2 + face_detections[0].y)));
dist = sqrt((preference.x - (face_detections[i].width / 2 + face_detections[i].x)) * (preference.x - (face_detections[i].width / 2 + face_detections[i].x)) +
(preference.y - (face_detections[i].height / 2 + face_detections[i].y)) * (preference.y - (face_detections[i].height / 2 + face_detections[i].y)));
better = dist < best_so_far;
}
else

View File

@@ -8,4 +8,4 @@ PO-CR 2.95 3.08 3.68
CFAN 3.17 3.72 4.94
------------------------------
OpenFace CLNF 2.83 3.38 3.82
OpenFace CE-CLM 2.40 2.65 3.16
OpenFace CE-CLM 2.41 2.67 3.21

View File

@@ -6,4 +6,4 @@ ICCR 3.37 3.45 4.46
CFAN 3.93 4.43 6.39
------------------------------
OpenFace CLNF 3.79 4.23 4.78
OpenFace CE-CLM 3.15 3.54 4.12
OpenFace CE-CLM 3.15 3.55 4.18

View File

@@ -1,4 +1,4 @@
Model, mean, median
OpenFace (CE-CLM): 0.0495, 0.0471
OpenFace (CE-CLM): 0.0499, 0.0473
OpenFace (CLNF): 0.0553, 0.0515
CLM: 0.0647, 0.0592
CLM: 0.0632, 0.0588

View File

@@ -1,4 +1,4 @@
Type, mean, median
err ce-clm: 0.042290, 0.034776
err ce-clm: 0.042604, 0.034670
err clnf: 0.054960, 0.038257
err svr: 0.070022, 0.049925

View File

@@ -25,7 +25,7 @@ assert(median(clnf_error) < 0.053);
run_300VW_dataset_OpenFace;
assert(median(ceclm_error_49_cat_1) < 0.025);
assert(median(ceclm_error_49_cat_2) < 0.027);
assert(median(ceclm_error_49_cat_3) < 0.032);
assert(median(ceclm_error_49_cat_3) < 0.033);
assert(median(ceclm_error_66_cat_1) < 0.032);
assert(median(ceclm_error_66_cat_2) < 0.036);
assert(median(ceclm_error_66_cat_3) < 0.042);

View File

@@ -40,7 +40,6 @@ parfor p=1:numel(p_dirs)
out_p_loc = ['-opdir "', [output, p_dirs(p).name], '" '];
command_c = cat(2, command, input_loc, out_img_loc, out_p_loc);
command_c = cat(2, command_c, ' -wild');
if(isunix)
unix(command_c, '-echo');
else

View File

@@ -1,2 +1,2 @@
Mean error, median error
9.096, 8.447
9.098, 8.468

View File

@@ -1,4 +1,4 @@
Dataset and model, pitch, yaw, roll, mean, median
biwi error: 8.065, 6.022, 4.434, 6.173, 2.684
biwi error: 8.046, 6.096, 4.443, 6.195, 2.681
bu error: 2.779, 3.348, 2.448, 2.859, 1.985
ict error: 3.814, 3.768, 3.503, 3.695, 1.933

View File

@@ -1,4 +1,4 @@
Dataset and model, pitch, yaw, roll, mean, median
biwi error: 6.850, 6.165, 3.349, 5.454, 2.618
bu error: 2.394, 3.245, 2.407, 2.682, 1.827
ict error: 3.132, 3.482, 3.121, 3.245, 1.858
biwi error: 6.767, 6.080, 3.428, 5.425, 2.616
bu error: 2.398, 3.247, 2.409, 2.685, 1.834
ict error: 3.132, 3.510, 3.137, 3.260, 1.867

View File

@@ -32,7 +32,7 @@ for f1=1:numel(bp4d_dirs)
command = cat(2, command, [' -fx 2000 -fy 2000 -rigid -asvid -fdir "' curr_vid '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end
end
@@ -65,7 +65,7 @@ for f1=1:numel(bp4d_dirs)
command = cat(2, command, [' -fx 2000 -fy 2000 -rigid -q -asvid -fdir "' curr_vid '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end
end

View File

@@ -16,6 +16,10 @@ for f1=1:numel(bosph_dirs)
for i=1:numel(curr_vids)
command = features_exe;
% Do not do angled faces, does not add much information for AU
if(~isempty(strfind(curr_vids(i).name, 'YR')) || ~isempty(strfind(curr_vids(i).name, 'PR'))|| ~isempty(strfind(curr_vids(i).name, 'CR')))
continue;
end
input_file = [bosph_loc, '/' name '/', curr_vids(i).name];
[~, curr_name, ~] = fileparts(curr_vids(i).name);
output_file = [out_loc, '/hog_aligned_rigid_b/', curr_name, '/'];

View File

@@ -55,7 +55,7 @@ for i=1:numel(disfa_loc_1_files)
command = cat(2, command, [' -rigid -f "' input_file '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"' ]);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze ']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end
@@ -76,7 +76,7 @@ for i=1:numel(disfa_loc_2_files)
command = cat(2, command, [' -rigid -f "' input_file '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze ']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end

View File

@@ -35,7 +35,7 @@ for f1=1:numel(fera_dirs)
command = cat(2, command, [' -rigid -f "' curr_vid '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze ']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);

View File

@@ -30,7 +30,7 @@ parfor f1=1:numel(semaine_dirs)
command = cat(2, command, [' -rigid -f "' curr_vid '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze ']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end
@@ -63,7 +63,7 @@ parfor f1=1:numel(semaine_dirs)
command = cat(2, command, [' -rigid -f "' curr_vid '" -simalign "' output_file '" -simscale 0.7 -simsize 112']);
command = cat(2, command, [' -hogalign "' output_hog '"']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze ']);
command = cat(2, command, [' -of "' output_params '" -no2Dfp -no3Dfp -noAUs -noPose -noGaze -q ']);
dos(command);
end

View File

@@ -1,6 +1,9 @@
if(exist('D:\Datasets\fera/au_training', 'file'))
FERA2011_dir = 'D:\Datasets\fera/au_training/';
hog_data_dir = 'D:\Datasets\face_datasets\hog_aligned_rigid/';
elseif(exist('E:\Datasets\fera/au_training', 'file'))
FERA2011_dir = 'E:\Datasets\fera/au_training/';
hog_data_dir = 'E:\Datasets\face_datasets\hog_aligned_rigid/';
else
fprintf('FERA2011 location not found (or not defined)\n');
end

View File

@@ -11,7 +11,7 @@ elseif(exist('D:\Datasets\FERA_2015\semaine\SEMAINE-Sessions/', 'file'))
elseif(exist('D:/fera_2015/semaine/SEMAINE-Sessions/', 'file'))
SEMAINE_dir = 'D:/fera_2015/semaine/SEMAINE-Sessions/';
else
fprintf('DISFA location not found (or not defined)\n');
fprintf('SEMAINE location not found (or not defined)\n');
end
if(exist('SEMAINE_dir', 'var'))

Some files were not shown because too many files have changed in this diff Show More