From 4f42fd9ac51641efd30be7013784cbd51217f0c8 Mon Sep 17 00:00:00 2001 From: Tadas Baltrusaitis Date: Fri, 4 May 2018 09:13:50 +0100 Subject: [PATCH] Unifying project settings for win32 and amd64 builds in visual studio. Throwing an exception in matlab if CEN models are not found. --- .gitignore | 3 +++ exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj | 12 ++++++++---- exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj | 8 ++++---- .../FaceLandmarkVidMulti.vcxproj | 17 +++++++++++------ exe/FeatureExtraction/FeatureExtraction.vcxproj | 14 ++++++++------ .../CameraEnumerator/CameraEnumerator.vcxproj | 8 ++++++-- lib/3rdParty/dlib/dlib.vcxproj | 4 ++-- lib/local/CppInerop/CppInerop.vcxproj | 14 ++++++++++---- lib/local/FaceAnalyser/FaceAnalyser.vcxproj | 10 ++++++---- lib/local/GazeAnalyser/GazeAnalyser.vcxproj | 10 ++++++---- .../LandmarkDetector/LandmarkDetector.vcxproj | 4 ++-- lib/local/Utilities/Utilities.vcxproj | 11 ++++++++--- .../models/Load_CECLM_Patch_Experts.m | 10 +++++++++- 13 files changed, 83 insertions(+), 42 deletions(-) diff --git a/.gitignore b/.gitignore index a3b4aa78..9bc19f9d 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,6 @@ gui/OpenFaceDemo/obj/ exe/FeatureExtraction/processed/ matlab_runners/ exe/FaceLandmarkVidMulti/processed/ +lib/3rdParty/CameraEnumerator/Release/ +lib/local/CppInerop/Release/ +lib/local/Utilities/Release/ diff --git a/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj b/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj index 29298e7e..0053edb1 100644 --- a/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj +++ b/exe/FaceLandmarkImg/FaceLandmarkImg.vcxproj @@ -141,13 +141,15 @@ Level3 NotUsing Full - true + + true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 true + Speed Console @@ -161,13 +163,15 @@ Level3 NotUsing Full - true + + true WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false - AdvancedVectorExtensions + AdvancedVectorExtensions2 true + Speed Console diff --git a/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj b/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj index 692e1abc..1921f04f 100644 --- a/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj +++ b/exe/FaceLandmarkVid/FaceLandmarkVid.vcxproj @@ -142,7 +142,7 @@ Level3 NotUsing - MaxSpeed + Full true @@ -150,7 +150,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false Speed - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 true @@ -164,7 +164,7 @@ Level3 NotUsing - MaxSpeed + Full true @@ -172,7 +172,7 @@ $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false Speed - AdvancedVectorExtensions + AdvancedVectorExtensions2 true diff --git a/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj b/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj index da0802d1..39951394 100644 --- a/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj +++ b/exe/FaceLandmarkVidMulti/FaceLandmarkVidMulti.vcxproj @@ -128,13 +128,15 @@ Level3 - MaxSpeed - true + Full + + true $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\Utilities\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;%(AdditionalIncludeDirectories) - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 MultiThreadedDLL true + Speed true @@ -145,13 +147,16 @@ Level3 - MaxSpeed - true + Full + + true $(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\Utilities\include;$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\GazeAnalyser\include;%(AdditionalIncludeDirectories) - AdvancedVectorExtensions + AdvancedVectorExtensions2 MultiThreadedDLL true + WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + Speed true diff --git a/exe/FeatureExtraction/FeatureExtraction.vcxproj b/exe/FeatureExtraction/FeatureExtraction.vcxproj index 0c833b12..330a234a 100644 --- a/exe/FeatureExtraction/FeatureExtraction.vcxproj +++ b/exe/FeatureExtraction/FeatureExtraction.vcxproj @@ -141,14 +141,15 @@ Level3 NotUsing - MaxSpeed - false + Full + + true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false Speed - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 MultiThreadedDLL true @@ -163,14 +164,15 @@ Level3 NotUsing - MaxSpeed - false + Full + + true WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) $(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\GazeAnalyser\include;$(SolutionDir)\lib\local\Utilities\include;%(AdditionalIncludeDirectories) false Speed - AdvancedVectorExtensions + AdvancedVectorExtensions2 MultiThreadedDLL true diff --git a/lib/3rdParty/CameraEnumerator/CameraEnumerator.vcxproj b/lib/3rdParty/CameraEnumerator/CameraEnumerator.vcxproj index 7ec6dacb..6e14e6eb 100644 --- a/lib/3rdParty/CameraEnumerator/CameraEnumerator.vcxproj +++ b/lib/3rdParty/CameraEnumerator/CameraEnumerator.vcxproj @@ -99,10 +99,12 @@ Level3 - MaxSpeed + Full true true WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + Speed + AdvancedVectorExtensions2 Windows @@ -115,10 +117,12 @@ Level3 - MaxSpeed + Full true true NDEBUG;_LIB;%(PreprocessorDefinitions) + Speed + AdvancedVectorExtensions2 Windows diff --git a/lib/3rdParty/dlib/dlib.vcxproj b/lib/3rdParty/dlib/dlib.vcxproj index 5203d2d5..5de0d19a 100644 --- a/lib/3rdParty/dlib/dlib.vcxproj +++ b/lib/3rdParty/dlib/dlib.vcxproj @@ -141,7 +141,7 @@ $(SolutionDir)dlib/include/dlib/..;%(AdditionalIncludeDirectories) CompileAsCpp - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 Sync AnySuitable Full @@ -178,7 +178,7 @@ $(SolutionDir)dlib/include/dlib/..;%(AdditionalIncludeDirectories) CompileAsCpp - AdvancedVectorExtensions + AdvancedVectorExtensions2 Sync AnySuitable Full diff --git a/lib/local/CppInerop/CppInerop.vcxproj b/lib/local/CppInerop/CppInerop.vcxproj index 04cb0f69..d7667979 100644 --- a/lib/local/CppInerop/CppInerop.vcxproj +++ b/lib/local/CppInerop/CppInerop.vcxproj @@ -138,11 +138,14 @@ Level3 - MaxSpeed - true + Full + + true WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPINEROP_EXPORTS;%(PreprocessorDefinitions) ./;$(SolutionDir)lib\local\LandmarkDetector\include;$(SolutionDir)lib\local\FaceAnalyser\include;$(SolutionDir)lib\local\GazeAnalyser\include;$(SolutionDir)lib\local\Utilities\include;$(SolutionDir)lib\3rdParty\CameraEnumerator;%(AdditionalIncludeDirectories) + Speed + AdvancedVectorExtensions2 Windows @@ -156,11 +159,14 @@ Level3 - MaxSpeed - true + Full + + true NDEBUG;_WINDOWS;_USRDLL;CPPINEROP_EXPORTS;%(PreprocessorDefinitions) ./;$(SolutionDir)lib\local\LandmarkDetector\include;$(SolutionDir)lib\local\FaceAnalyser\include;$(SolutionDir)lib\local\GazeAnalyser\include;$(SolutionDir)lib\local\Utilities\include;$(SolutionDir)lib\3rdParty\CameraEnumerator;%(AdditionalIncludeDirectories) + Speed + AdvancedVectorExtensions2 Windows diff --git a/lib/local/FaceAnalyser/FaceAnalyser.vcxproj b/lib/local/FaceAnalyser/FaceAnalyser.vcxproj index 09f1ce5b..67b27417 100644 --- a/lib/local/FaceAnalyser/FaceAnalyser.vcxproj +++ b/lib/local/FaceAnalyser/FaceAnalyser.vcxproj @@ -135,14 +135,15 @@ Level3 - MaxSpeed + Full true true ./include;$(SolutionDir)lib/local/Utilities/include;$(SolutionDir)lib/local/LandmarkDetector/include;%(AdditionalIncludeDirectories) - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 true + Speed true @@ -160,15 +161,16 @@ Level3 - MaxSpeed + Full true true ./include;$(SolutionDir)lib/local/Utilities/include;$(SolutionDir)lib/local/LandmarkDetector/include;%(AdditionalIncludeDirectories) - AdvancedVectorExtensions + AdvancedVectorExtensions2 true WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions) + Speed true diff --git a/lib/local/GazeAnalyser/GazeAnalyser.vcxproj b/lib/local/GazeAnalyser/GazeAnalyser.vcxproj index 810e6050..319f27fe 100644 --- a/lib/local/GazeAnalyser/GazeAnalyser.vcxproj +++ b/lib/local/GazeAnalyser/GazeAnalyser.vcxproj @@ -108,7 +108,7 @@ Level3 - MaxSpeed + Full true true @@ -116,7 +116,8 @@ ./include;../LandmarkDetector/include;../Utilities/include;%(AdditionalIncludeDirectories) true WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 + Speed true @@ -126,7 +127,7 @@ Level3 - MaxSpeed + Full true true @@ -134,7 +135,8 @@ ./include;../LandmarkDetector/include;../Utilities/include;%(AdditionalIncludeDirectories) true WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions) - AdvancedVectorExtensions + AdvancedVectorExtensions2 + Speed true diff --git a/lib/local/LandmarkDetector/LandmarkDetector.vcxproj b/lib/local/LandmarkDetector/LandmarkDetector.vcxproj index 3b4c343a..b2ab44b2 100644 --- a/lib/local/LandmarkDetector/LandmarkDetector.vcxproj +++ b/lib/local/LandmarkDetector/LandmarkDetector.vcxproj @@ -148,7 +148,7 @@ xcopy /I /E /Y /D "$(SolutionDir)lib\3rdParty\OpenCV3.4\classifiers" "$(OutDir)c Use Level3 ProgramDatabase - StreamingSIMDExtensions2 + AdvancedVectorExtensions2 Speed false /Zm300 %(AdditionalOptions) @@ -173,7 +173,7 @@ xcopy /I /E /Y /D "$(SolutionDir)lib\3rdParty\OpenCV3.4\classifiers" "$(OutDir)c Use Level3 ProgramDatabase - AdvancedVectorExtensions + AdvancedVectorExtensions2 Speed false /Zm300 %(AdditionalOptions) diff --git a/lib/local/Utilities/Utilities.vcxproj b/lib/local/Utilities/Utilities.vcxproj index 72a65512..79b5fe87 100644 --- a/lib/local/Utilities/Utilities.vcxproj +++ b/lib/local/Utilities/Utilities.vcxproj @@ -118,11 +118,15 @@ Level3 - MaxSpeed - true + Full + + true WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) ./include;%(AdditionalIncludeDirectories) + AnySuitable + Speed + AdvancedVectorExtensions2 Windows @@ -138,11 +142,12 @@ Full - false + true NDEBUG;_LIB;%(PreprocessorDefinitions) ./include;%(AdditionalIncludeDirectories) Speed AnySuitable + AdvancedVectorExtensions2 Windows diff --git a/matlab_version/models/Load_CECLM_Patch_Experts.m b/matlab_version/models/Load_CECLM_Patch_Experts.m index a62a3329..c962eb5a 100644 --- a/matlab_version/models/Load_CECLM_Patch_Experts.m +++ b/matlab_version/models/Load_CECLM_Patch_Experts.m @@ -3,7 +3,8 @@ function [patches] = Load_CECLM_Patch_Experts( col_patch_dir, col_patch_file) % Detailed explanation goes here colourPatchFiles = dir([col_patch_dir col_patch_file]); - + patches = []; + % load all of the pathes for i=1:numel(colourPatchFiles) @@ -32,5 +33,12 @@ function [patches] = Load_CECLM_Patch_Experts( col_patch_dir, col_patch_file) end end + + if(isempty(patches)) + fprintf("Could not find CEN patch experts, for instructions of how to download them, please visit - https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-download\n"); + ME = MException('cenExperts:modelError', 'Could not find CEN model at location %s, see - https://github.com/TadasBaltrusaitis/OpenFace/wiki/Model-download',[col_patch_dir col_patch_file]); + throw(ME); + end + end