diff --git a/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj b/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj index 58a8b7b..d9358b2 100644 --- a/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj +++ b/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj @@ -110,6 +110,7 @@ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) StreamingSIMDExtensions2 + true Console @@ -124,6 +125,7 @@ WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) AdvancedVectorExtensions + true Console @@ -141,6 +143,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) false StreamingSIMDExtensions2 + true Console @@ -160,6 +163,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) false AdvancedVectorExtensions + true Console diff --git a/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj b/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj index a9b3616..71666c9 100644 --- a/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj +++ b/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj @@ -111,6 +111,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) false StreamingSIMDExtensions2 + true Console @@ -126,6 +127,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories) false AdvancedVectorExtensions + true Console @@ -145,6 +147,7 @@ false Speed StreamingSIMDExtensions2 + true Console @@ -166,6 +169,7 @@ false Speed AdvancedVectorExtensions + true Console diff --git a/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj b/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj index 0c1a3c7..802cb25 100644 --- a/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj +++ b/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj @@ -103,6 +103,7 @@ Disabled $(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) StreamingSIMDExtensions2 + true true @@ -114,6 +115,7 @@ Disabled $(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) AdvancedVectorExtensions + true true @@ -128,6 +130,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) StreamingSIMDExtensions2 MultiThreadedDLL + true true @@ -144,6 +147,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) AdvancedVectorExtensions MultiThreadedDLL + true true diff --git a/exe/FeatureExtraction/FeatureExtraction.cpp b/exe/FeatureExtraction/FeatureExtraction.cpp index b49b143..7139d91 100644 --- a/exe/FeatureExtraction/FeatureExtraction.cpp +++ b/exe/FeatureExtraction/FeatureExtraction.cpp @@ -815,16 +815,16 @@ void post_process_output_file(FaceAnalysis::FaceAnalyser& face_analyser, string { if(t - begin_ind < num_reg) { - outfile << "," << predictions_reg[inds_reg[t - begin_ind]].second[i - 1]; + outfile << ", " << predictions_reg[inds_reg[t - begin_ind]].second[i - 1]; } else { - outfile << "," << predictions_class[inds_class[t - begin_ind - num_reg]].second[i - 1]; + outfile << ", " << predictions_class[inds_class[t - begin_ind - num_reg]].second[i - 1]; } } else { - outfile << "," << tokens[t]; + outfile << ", " << tokens[t]; } } outfile << endl; @@ -929,8 +929,15 @@ void outputAllFeatures(std::ofstream* output_file, bool output_2D_landmarks, boo // Output the estimated head pose if (output_pose) { - *output_file << ", " << pose_estimate[0] << ", " << pose_estimate[1] << ", " << pose_estimate[2] - << ", " << pose_estimate[3] << ", " << pose_estimate[4] << ", " << pose_estimate[5]; + if(face_model.tracking_initialised) + { + *output_file << ", " << pose_estimate[0] << ", " << pose_estimate[1] << ", " << pose_estimate[2] + << ", " << pose_estimate[3] << ", " << pose_estimate[4] << ", " << pose_estimate[5]; + } + else + { + *output_file << ", 0, 0, 0, 0, 0, 0"; + } } // Output the detected 2D facial landmarks @@ -938,7 +945,14 @@ void outputAllFeatures(std::ofstream* output_file, bool output_2D_landmarks, boo { for (int i = 0; i < face_model.pdm.NumberOfPoints() * 2; ++i) { - *output_file << ", " << face_model.detected_landmarks.at(i); + if(face_model.tracking_initialised) + { + *output_file << ", " << face_model.detected_landmarks.at(i); + } + else + { + *output_file << ", 0"; + } } } @@ -948,7 +962,14 @@ void outputAllFeatures(std::ofstream* output_file, bool output_2D_landmarks, boo cv::Mat_ shape_3D = face_model.GetShape(fx, fy, cx, cy); for (int i = 0; i < face_model.pdm.NumberOfPoints() * 3; ++i) { - *output_file << ", " << shape_3D.at(i); + if (face_model.tracking_initialised) + { + *output_file << ", " << shape_3D.at(i); + } + else + { + *output_file << ", 0"; + } } } @@ -956,11 +977,25 @@ void outputAllFeatures(std::ofstream* output_file, bool output_2D_landmarks, boo { for (int i = 0; i < 6; ++i) { - *output_file << ", " << face_model.params_global[i]; + if (face_model.tracking_initialised) + { + *output_file << ", " << face_model.params_global[i]; + } + else + { + *output_file << ", 0"; + } } for (int i = 0; i < face_model.pdm.NumberOfModes(); ++i) { - *output_file << ", " << face_model.params_local.at(i, 0); + if(face_model.tracking_initialised) + { + *output_file << ", " << face_model.params_local.at(i, 0); + } + else + { + *output_file << ", 0"; + } } } diff --git a/exe/FeatureExtraction/FeatureExtraction.vcxproj b/exe/FeatureExtraction/FeatureExtraction.vcxproj index 8a3fc8c..69fb3d1 100644 --- a/exe/FeatureExtraction/FeatureExtraction.vcxproj +++ b/exe/FeatureExtraction/FeatureExtraction.vcxproj @@ -110,6 +110,7 @@ $(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) false StreamingSIMDExtensions2 + true Console @@ -125,6 +126,7 @@ $(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) false AdvancedVectorExtensions + true Console @@ -144,6 +146,7 @@ Speed StreamingSIMDExtensions2 MultiThreadedDLL + true Console @@ -165,6 +168,7 @@ Speed AdvancedVectorExtensions MultiThreadedDLL + true Console diff --git a/exe/Recording/Recording.vcxproj b/exe/Recording/Recording.vcxproj index 57b2b8a..5f04e4c 100644 --- a/exe/Recording/Recording.vcxproj +++ b/exe/Recording/Recording.vcxproj @@ -85,6 +85,7 @@ Level3 Disabled + true true @@ -94,6 +95,7 @@ Level3 Disabled + true true @@ -107,6 +109,7 @@ true false Cdecl + true true @@ -124,6 +127,7 @@ true false Cdecl + true true diff --git a/lib/3rdParty/dlib/dlib.vcxproj b/lib/3rdParty/dlib/dlib.vcxproj index 94126b8..5203d2d 100644 --- a/lib/3rdParty/dlib/dlib.vcxproj +++ b/lib/3rdParty/dlib/dlib.vcxproj @@ -107,6 +107,7 @@ Debug $(IntDir) $(IntDir)vc$(PlatformToolsetVersion).pdb + true true @@ -130,6 +131,7 @@ Debug $(IntDir) $(IntDir)vc$(PlatformToolsetVersion).pdb + true true @@ -154,6 +156,7 @@ $(IntDir) $(IntDir)vc$(PlatformToolsetVersion).pdb Speed + true WIN32;_WINDOWS;DLIB_PNG_SUPPORT;DLIB_JPEG_SUPPORT;NDEBUG;DLIB_HAVE_SSE2;DLIB_HAVE_SSE3;DLIB_HAVE_SSE41;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) @@ -190,6 +193,7 @@ $(IntDir) $(IntDir)vc$(PlatformToolsetVersion).pdb Speed + true WIN32;_WINDOWS;DLIB_PNG_SUPPORT;DLIB_JPEG_SUPPORT;NDEBUG;DLIB_HAVE_SSE2;DLIB_HAVE_SSE3;DLIB_HAVE_SSE41;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) diff --git a/lib/local/FaceAnalyser/FaceAnalyser.vcxproj b/lib/local/FaceAnalyser/FaceAnalyser.vcxproj index 400502d..8ac84ae 100644 --- a/lib/local/FaceAnalyser/FaceAnalyser.vcxproj +++ b/lib/local/FaceAnalyser/FaceAnalyser.vcxproj @@ -96,6 +96,7 @@ false ./include;$(SolutionDir)lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) StreamingSIMDExtensions2 + true true @@ -114,6 +115,7 @@ false ./include;$(SolutionDir)lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) AdvancedVectorExtensions + true true @@ -135,6 +137,7 @@ ./include;$(SolutionDir)lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) StreamingSIMDExtensions2 + true true @@ -159,6 +162,7 @@ ./include;$(SolutionDir)lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories) AdvancedVectorExtensions + true true diff --git a/lib/local/LandmarkDetector/LandmarkDetector.vcxproj b/lib/local/LandmarkDetector/LandmarkDetector.vcxproj index 0a0c856..c06eb3c 100644 --- a/lib/local/LandmarkDetector/LandmarkDetector.vcxproj +++ b/lib/local/LandmarkDetector/LandmarkDetector.vcxproj @@ -100,6 +100,7 @@ StreamingSIMDExtensions2 false /Zm300 %(AdditionalOptions) + true $(OutDir)$(TargetName)$(TargetExt) @@ -122,6 +123,7 @@ xcopy /I /E /Y /D "$(SolutionDir)lib\3rdParty\OpenCV3.1\classifiers" "$(OutDir)c AdvancedVectorExtensions false /Zm300 %(AdditionalOptions) + true $(OutDir)$(TargetName)$(TargetExt) @@ -146,6 +148,7 @@ xcopy /I /E /Y /D "$(SolutionDir)lib\3rdParty\OpenCV3.1\classifiers" "$(OutDir)c Speed false /Zm300 %(AdditionalOptions) + true $(OutDir)$(TargetName)$(TargetExt) @@ -170,6 +173,7 @@ xcopy /I /E /Y /D "$(SolutionDir)lib\3rdParty\OpenCV3.1\classifiers" "$(OutDir)c Speed false /Zm300 %(AdditionalOptions) + true $(OutDir)$(TargetName)$(TargetExt) diff --git a/matlab_runners/Feature Point Experiments/results/fps_yt.mat b/matlab_runners/Feature Point Experiments/results/fps_yt.mat index 496e0fd..7da2870 100644 Binary files a/matlab_runners/Feature Point Experiments/results/fps_yt.mat and b/matlab_runners/Feature Point Experiments/results/fps_yt.mat differ diff --git a/matlab_runners/Feature Point Experiments/results/in-the-wild-res-no-outline.pdf b/matlab_runners/Feature Point Experiments/results/in-the-wild-res-no-outline.pdf index 86d949f..e2500ed 100644 Binary files a/matlab_runners/Feature Point Experiments/results/in-the-wild-res-no-outline.pdf and b/matlab_runners/Feature Point Experiments/results/in-the-wild-res-no-outline.pdf differ diff --git a/matlab_runners/Feature Point Experiments/results/landmark_detections.mat b/matlab_runners/Feature Point Experiments/results/landmark_detections.mat index a919379..cd7fb61 100644 Binary files a/matlab_runners/Feature Point Experiments/results/landmark_detections.mat and b/matlab_runners/Feature Point Experiments/results/landmark_detections.mat differ diff --git a/matlab_runners/Gaze Experiments/mpii_1500_errs.mat b/matlab_runners/Gaze Experiments/mpii_1500_errs.mat index b7c3354..6c892ca 100644 Binary files a/matlab_runners/Gaze Experiments/mpii_1500_errs.mat and b/matlab_runners/Gaze Experiments/mpii_1500_errs.mat differ diff --git a/matlab_runners/Head Pose Experiments/results/Pose_OF.mat b/matlab_runners/Head Pose Experiments/results/Pose_OF.mat index 7fe4af2..247d83d 100644 Binary files a/matlab_runners/Head Pose Experiments/results/Pose_OF.mat and b/matlab_runners/Head Pose Experiments/results/Pose_OF.mat differ diff --git a/matlab_runners/Head Pose Experiments/results/Pose_OF.txt b/matlab_runners/Head Pose Experiments/results/Pose_OF.txt index dc63c7f..9e98dec 100644 --- a/matlab_runners/Head Pose Experiments/results/Pose_OF.txt +++ b/matlab_runners/Head Pose Experiments/results/Pose_OF.txt @@ -1,4 +1,4 @@ Dataset and model, pitch, yaw, roll, mean, median -biwi error: 7.970, 5.611, 4.436, 6.006, 2.624 +biwi error: 7.955, 5.583, 4.402, 5.980, 2.624 bu error: 2.762, 4.103, 2.568, 3.145, 2.118 ict error: 3.619, 3.606, 3.625, 3.617, 2.027