From 91c3016d1a03136043f9c0789ac7d32c2ae8051d Mon Sep 17 00:00:00 2001 From: Tadas Baltrusaitis Date: Tue, 19 Sep 2017 10:18:57 +0100 Subject: [PATCH] Bug fix when -gaze is used. --- .../src/LandmarkDetectorParameters.cpp | 1 - matlab_runners/Full_test_suite.m | 2 +- .../Gaze Experiments/extract_mpii_gaze_test.m | 2 ++ .../Gaze Experiments/mpii_1500_errs.mat | Bin 11723 -> 11722 bytes .../Gaze Experiments/mpii_1500_errs.txt | 2 +- 5 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/local/LandmarkDetector/src/LandmarkDetectorParameters.cpp b/lib/local/LandmarkDetector/src/LandmarkDetectorParameters.cpp index ae76f05..96aa02a 100644 --- a/lib/local/LandmarkDetector/src/LandmarkDetectorParameters.cpp +++ b/lib/local/LandmarkDetector/src/LandmarkDetectorParameters.cpp @@ -153,7 +153,6 @@ FaceModelParameters::FaceModelParameters(vector &arguments) track_gaze = true; valid[i] = false; - i++; } else if (arguments[i].compare("-q") == 0) { diff --git a/matlab_runners/Full_test_suite.m b/matlab_runners/Full_test_suite.m index d41a2a0..0b3e8a4 100644 --- a/matlab_runners/Full_test_suite.m +++ b/matlab_runners/Full_test_suite.m @@ -35,7 +35,7 @@ cd('../'); %% Gaze cd('Gaze Experiments'); extract_mpii_gaze_test -assert(mean_error < 9.5) +assert(mean_error < 9.6) assert(median_error < 9.0) cd('../'); diff --git a/matlab_runners/Gaze Experiments/extract_mpii_gaze_test.m b/matlab_runners/Gaze Experiments/extract_mpii_gaze_test.m index 2d15c51..f9dab8b 100644 --- a/matlab_runners/Gaze Experiments/extract_mpii_gaze_test.m +++ b/matlab_runners/Gaze Experiments/extract_mpii_gaze_test.m @@ -7,6 +7,8 @@ if(exist([getenv('USERPROFILE') '/Dropbox/AAM/eye_clm/mpii_data/'], 'file')) database_root = [getenv('USERPROFILE') '/Dropbox/AAM/eye_clm/mpii_data/']; elseif(exist('D:\Dropbox/Dropbox/AAM/eye_clm/mpii_data/', 'file')) database_root = 'D:\Dropbox/Dropbox/AAM/eye_clm/mpii_data/'; +elseif(exist('F:\Dropbox/AAM/eye_clm/mpii_data/', 'file')) + database_root = 'F:\Dropbox/AAM/eye_clm/mpii_data/'; elseif(exist('/multicomp/datasets/mpii_gaze/mpii_data/', 'file')) database_root = '/multicomp/datasets/mpii_gaze/mpii_data/'; else diff --git a/matlab_runners/Gaze Experiments/mpii_1500_errs.mat b/matlab_runners/Gaze Experiments/mpii_1500_errs.mat index 86823ad1c0f101743c2b82ae215c820366065f10..cc7755e1decabc223c8023ff1e801b9c4d505cac 100644 GIT binary patch delta 11633 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