Merge branch 'master' into Windows-GUI
Conflicts: .gitignore matlab_runners/Action Unit Experiments/DISFA_valid_res.txt matlab_runners/Feature Point Experiments/results/fps_yt.mat matlab_runners/Feature Point Experiments/results/in-the-wild-res-no-outline.pdf matlab_runners/Feature Point Experiments/results/landmark_detections.mat matlab_runners/Gaze Experiments/mpii_1500_errs.mat matlab_runners/Gaze Experiments/mpii_1500_errs.txt matlab_runners/Head Pose Experiments/results/Pose_OF.mat
This commit is contained in:
commit
0a5110a003
940 changed files with 17927 additions and 1926 deletions
24
.gitignore
vendored
24
.gitignore
vendored
|
@ -20,9 +20,31 @@ matlab_runners/Feature Point Experiments/yt_features/
|
|||
matlab_runners/Feature Point Experiments/yt_features_clm/
|
||||
matlab_runners/Gaze Experiments/mpii_out/
|
||||
build/
|
||||
Debug/
|
||||
Release/AU_predictors/
|
||||
Release/
|
||||
exe/Recording/recording/
|
||||
ipch/
|
||||
exe/FeatureExtraction/out_bp4d/
|
||||
matlab_runners/Action Unit Experiments/out_bp4d/
|
||||
matlab_runners/Action Unit Experiments/out_SEMAINE/
|
||||
x64/Debug/
|
||||
matlab_runners/Action Unit Experiments/out_unbc/
|
||||
matlab_runners/Action Unit Experiments/out_bosph/
|
||||
matlab_runners/Action Unit Experiments/out_DISFA/
|
||||
matlab_runners/Action Unit Experiments/out_fera/
|
||||
matlab_runners/Demos/output_features_seq/
|
||||
matlab_runners/Demos/output_features_vid/
|
||||
exe/FaceLandmarkImg/Debug/
|
||||
exe/FaceLandmarkVid/Debug/
|
||||
exe/FaceLandmarkVidMulti/Debug/
|
||||
exe/FeatureExtraction/Debug/
|
||||
exe/Recording/Debug/
|
||||
gui/OpenFaceOffline/bin/
|
||||
gui/OpenFaceOffline/obj/
|
||||
lib/3rdParty/dlib/Debug/
|
||||
lib/local/CamCom/Debug/
|
||||
lib/local/CamCom/x64/
|
||||
lib/local/CppInerop/Debug/
|
||||
lib/local/CppInerop/x64/Debug/
|
||||
lib/local/FaceAnalyser/Debug/
|
||||
lib/local/LandmarkDetector/Debug/
|
||||
|
|
71
.travis.yml
Normal file
71
.travis.yml
Normal file
|
@ -0,0 +1,71 @@
|
|||
language: cpp
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- develop
|
||||
- /^feature-.*$/
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
os:
|
||||
- osx
|
||||
- linux
|
||||
|
||||
before_install:
|
||||
# g++4.8.1
|
||||
- if [ "$CXX" == "g++" ]; then
|
||||
if [[ ${TRAVIS_OS_NAME} = linux ]]; then
|
||||
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;
|
||||
fi
|
||||
fi
|
||||
|
||||
# clang 3.4
|
||||
- if [ "$CXX" == "clang++" ]; then
|
||||
if [[ ${TRAVIS_OS_NAME} = linux ]]; then
|
||||
sudo add-apt-repository -y ppa:h-rayflood/llvm;
|
||||
fi
|
||||
fi
|
||||
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get update -qq; fi
|
||||
|
||||
install:
|
||||
- if [ "$CXX" == "g++" ]; then if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get install -qq g++-4.8; fi fi
|
||||
- if [ "$CXX" == "g++" ]; then if [[ ${TRAVIS_OS_NAME} = linux ]]; then export CXX="g++-4.8"; fi fi
|
||||
- if [ "$CXX" == "clang++" ]; then if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get install -qq clang-3.4; fi fi
|
||||
- if [ "$CXX" == "clang++" ]; then if [[ ${TRAVIS_OS_NAME} = linux ]]; then export CXX="clang++-3.4"; fi fi
|
||||
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev; fi
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev checkinstall; fi
|
||||
|
||||
# Getting newest boost
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo add-apt-repository -y ppa:boost-latest/ppa; fi
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get update; fi
|
||||
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then sudo apt-get install libboost1.55-all-dev; fi
|
||||
|
||||
- if [[ ${TRAVIS_OS_NAME} = osx ]]; then brew update; fi
|
||||
- if [[ ${TRAVIS_OS_NAME} = osx ]]; then brew tap homebrew/science; fi
|
||||
- if [[ ${TRAVIS_OS_NAME} = osx ]]; then brew install tbb opencv3; fi
|
||||
|
||||
before_script:
|
||||
- git clone https://github.com/Itseez/opencv.git
|
||||
- cd opencv
|
||||
- mkdir build
|
||||
- cd build
|
||||
- cmake ..
|
||||
- make -j2
|
||||
- sudo make -j2 install
|
||||
- cd ../..
|
||||
|
||||
script:
|
||||
- $CXX --version
|
||||
- mkdir build
|
||||
- cd build
|
||||
- cmake -D CMAKE_BUILD_TYPE=RELEASE ..
|
||||
- make -j2
|
||||
- ../build/bin/FaceLandmarkImg -fdir "../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q
|
||||
- ../build/bin/FaceLandmarkImg -inroot ../videos -f Obama.jpg -outroot data -of obama.txt -op obama.3d -oi obama.bmp -multi_view 1 -wild -q
|
||||
- ../build/bin/FaceLandmarkVidMulti -inroot ../videos -f multi_face.avi -outroot output -ov multi_face.avi -q
|
||||
- ../build/bin/FeatureExtraction -f "../videos/1815_01_008_tony_blair.avi" -outroot output_features -ov blair.avi -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_test.avi -hogalign hog_test.dat -q
|
||||
- ../build/bin/FaceLandmarkVid -inroot ../videos -f 1815_01_008_tony_blair.avi -f 0188_03_021_al_pacino.avi -f 0217_03_006_alanis_morissette.avi -outroot output_data -ov 1.avi -ov 2.avi -ov 3.avi -q
|
|
@ -1,5 +1,8 @@
|
|||
# OpenFace: an open source facial behavior analysis toolkit
|
||||
|
||||
[![Build Status](https://travis-ci.org/TadasBaltrusaitis/OpenFace.svg?branch=master)](https://travis-ci.org/TadasBaltrusaitis/OpenFace)
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/8msiklxfbhlnsmxp/branch/master?svg=true)](https://ci.appveyor.com/project/TadasBaltrusaitis/openface/branch/master)
|
||||
|
||||
Over the past few years, there has been an increased interest in automatic facial behavior analysis and understanding. We present OpenFace – an open source tool intended for computer vision and machine learning researchers, affective computing community and people interested in building interactive applications based on facial behavior analysis. OpenFace is the first open source tool capable of facial landmark detection, head pose estimation, facial action unit recognition, and eye-gaze estimation. The computer vision algorithms which represent the core of OpenFace demonstrate state-of-the-art results in all of the above mentioned tasks. Furthermore, our tool is capable of real-time performance and is able to run from a simple webcam without any specialist hardware.
|
||||
|
||||
The code was written mainly by Tadas Baltrusaitis during his time at the Language Technologies Institute at the Carnegie Mellon University; Computer Laboratory, University of Cambridge; and Institute for Creative Technologies, University of Southern California.
|
||||
|
@ -73,3 +76,4 @@ I did my best to make sure that the code runs out of the box but there are alway
|
|||
Copyright can be found in the Copyright.txt
|
||||
|
||||
You have to respect boost, TBB, dlib, and OpenCV licenses.
|
||||
|
||||
|
|
28
appveyor.yml
Normal file
28
appveyor.yml
Normal file
|
@ -0,0 +1,28 @@
|
|||
version: 1.0.{build}
|
||||
branches:
|
||||
only:
|
||||
- develop
|
||||
- master
|
||||
- /^feature-.*$/
|
||||
max_jobs: 4
|
||||
configuration:
|
||||
- Debug
|
||||
- Release
|
||||
platform:
|
||||
- x64
|
||||
- Win32
|
||||
build:
|
||||
project: OpenFace.sln
|
||||
verbosity: minimal
|
||||
test_script:
|
||||
# C++
|
||||
- cmd: dir
|
||||
- cmd: if exist x64 (cd x64)
|
||||
- cmd: if exist Debug (cd Debug)
|
||||
- cmd: if exist Release (cd Release)
|
||||
- cmd: dir
|
||||
- cmd: if exist "../videos" (FaceLandmarkImg.exe -fdir "../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q) else (FaceLandmarkImg.exe -fdir "../../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q)
|
||||
- cmd: if exist "../videos" (FaceLandmarkImg.exe -inroot ../videos -f obama.jpg -outroot out_data -of obama.pts -op obama.3d -oi obama.bmp -q) else (FaceLandmarkImg.exe -inroot ../../videos -f obama.jpg -outroot out_data -of obama.pts -op obama.3d -oi obama.bmp -q)
|
||||
- cmd: if exist "../videos" (FaceLandmarkVidMulti.exe -inroot ../videos -f multi_face.avi -ov multi_face.avi -q) else (FaceLandmarkVidMulti.exe -inroot ../../videos -f multi_face.avi -ov multi_face.avi -q)
|
||||
- cmd: if exist "../videos" (FeatureExtraction.exe -f "../videos/1815_01_008_tony_blair.avi" -outroot output_features -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_track.avi -hogalign hog_test.dat -q) else (FeatureExtraction.exe -f "../../videos/1815_01_008_tony_blair.avi" -outroot output_features -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_track.avi -hogalign hog_test.dat -q)
|
||||
- cmd: if exist "../videos" (FaceLandmarkVid.exe -f "../videos/1815_01_008_tony_blair.avi" -ov track.avi -q) else (FaceLandmarkVid.exe -f "../../videos/1815_01_008_tony_blair.avi" -ov track.avi -q)
|
|
@ -1,3 +1,6 @@
|
|||
#TBB library
|
||||
include_directories(${TBB_ROOT_DIR}/include)
|
||||
|
||||
# Local libraries
|
||||
include_directories(${LandmarkDetector_SOURCE_DIR}/include)
|
||||
|
||||
|
@ -11,4 +14,4 @@ target_link_libraries(FaceLandmarkImg dlib)
|
|||
|
||||
target_link_libraries(FaceLandmarkImg ${OpenCV_LIBS} ${Boost_LIBRARIES} ${TBB_LIBRARIES})
|
||||
|
||||
install (TARGETS FaceLandmarkImg DESTINATION ${CMAKE_BINARY_DIR}/bin)
|
||||
install (TARGETS FaceLandmarkImg DESTINATION bin)
|
||||
|
|
|
@ -188,7 +188,7 @@ void write_out_pose_landmarks(const string& outfeatures, const cv::Mat_<double>&
|
|||
}
|
||||
}
|
||||
|
||||
void write_out_landmarks(const string& outfeatures, const LandmarkDetector::CLNF& clnf_model)
|
||||
void write_out_landmarks(const string& outfeatures, const LandmarkDetector::CLNF& clnf_model, const cv::Vec6d& pose, const cv::Point3f& gaze0, const cv::Point3f& gaze1, std::vector<std::pair<std::string, double>> au_intensities, std::vector<std::pair<std::string, double>> au_occurences)
|
||||
{
|
||||
create_directory_from_file(outfeatures);
|
||||
std::ofstream featuresFile;
|
||||
|
@ -208,6 +208,44 @@ void write_out_landmarks(const string& outfeatures, const LandmarkDetector::CLNF
|
|||
}
|
||||
featuresFile << "}" << endl;
|
||||
|
||||
// Do the pose and eye gaze if present as well
|
||||
featuresFile << "pose: eul_x, eul_y, eul_z: " << endl;
|
||||
featuresFile << "{" << endl;
|
||||
featuresFile << pose[3] << " " << pose[4] << " " << pose[5] << endl;
|
||||
featuresFile << "}" << endl;
|
||||
|
||||
// Do the pose and eye gaze if present as well
|
||||
featuresFile << "gaze: dir_x_1, dir_y_1, dir_z_1, dir_x_2, dir_y_2, dir_z_2: " << endl;
|
||||
featuresFile << "{" << endl;
|
||||
featuresFile << gaze0.x << " " << gaze0.y << " " << gaze0.z << " " << gaze1.x << " " << gaze1.y << " " << gaze1.z << endl;
|
||||
featuresFile << "}" << endl;
|
||||
|
||||
// Do the au intensities
|
||||
featuresFile << "au intensities: " << au_intensities.size() << endl;
|
||||
featuresFile << "{" << endl;
|
||||
|
||||
for (size_t i = 0; i < au_intensities.size(); ++i)
|
||||
{
|
||||
// Use matlab format, so + 1
|
||||
featuresFile << au_intensities[i].first << " " << au_intensities[i].second << endl;
|
||||
}
|
||||
|
||||
featuresFile << "}" << endl;
|
||||
|
||||
// Do the au occurences
|
||||
featuresFile << "au occurences: " << au_occurences.size() << endl;
|
||||
featuresFile << "{" << endl;
|
||||
|
||||
for (size_t i = 0; i < au_occurences.size(); ++i)
|
||||
{
|
||||
// Use matlab format, so + 1
|
||||
featuresFile << au_occurences[i].first << " " << au_occurences[i].second << endl;
|
||||
}
|
||||
|
||||
featuresFile << "}" << endl;
|
||||
|
||||
|
||||
featuresFile.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -315,6 +353,45 @@ int main (int argc, char **argv)
|
|||
cv::CascadeClassifier classifier(det_parameters.face_detector_location);
|
||||
dlib::frontal_face_detector face_detector_hog = dlib::get_frontal_face_detector();
|
||||
|
||||
// Loading the AU prediction models
|
||||
string au_loc = "AU_predictors/AU_all_static.txt";
|
||||
|
||||
if (!boost::filesystem::exists(boost::filesystem::path(au_loc)))
|
||||
{
|
||||
boost::filesystem::path loc = boost::filesystem::path(arguments[0]).parent_path() / au_loc;
|
||||
|
||||
if (boost::filesystem::exists(loc))
|
||||
{
|
||||
au_loc = loc.string();
|
||||
}
|
||||
else
|
||||
{
|
||||
cout << "Can't find AU prediction files, exiting" << endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Used for image masking for AUs
|
||||
string tri_loc;
|
||||
if (boost::filesystem::exists(boost::filesystem::path("model/tris_68_full.txt")))
|
||||
{
|
||||
std::ifstream triangulation_file("model/tris_68_full.txt");
|
||||
tri_loc = "model/tris_68_full.txt";
|
||||
}
|
||||
else
|
||||
{
|
||||
boost::filesystem::path loc = boost::filesystem::path(arguments[0]).parent_path() / "model/tris_68_full.txt";
|
||||
tri_loc = loc.string();
|
||||
|
||||
if (!exists(loc))
|
||||
{
|
||||
cout << "Can't find triangulation files, exiting" << endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
FaceAnalysis::FaceAnalyser face_analyser(vector<cv::Vec3d>(), 0.7, 112, 112, au_loc, tri_loc);
|
||||
|
||||
bool visualise = !det_parameters.quiet_mode;
|
||||
|
||||
// Do some image loading
|
||||
|
@ -325,6 +402,12 @@ int main (int argc, char **argv)
|
|||
// Loading image
|
||||
cv::Mat read_image = cv::imread(file, -1);
|
||||
|
||||
if (read_image.empty())
|
||||
{
|
||||
cout << "Could not read the input image" << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Loading depth file if exists (optional)
|
||||
cv::Mat_<float> depth_image;
|
||||
|
||||
|
@ -396,6 +479,8 @@ int main (int argc, char **argv)
|
|||
|
||||
}
|
||||
|
||||
auto ActionUnits = face_analyser.PredictStaticAUs(read_image, clnf_model, false);
|
||||
|
||||
// Writing out the detected landmarks (in an OS independent manner)
|
||||
if(!output_landmark_locations.empty())
|
||||
{
|
||||
|
@ -412,7 +497,7 @@ int main (int argc, char **argv)
|
|||
boost::filesystem::path fname = out_feat_path.filename().replace_extension("");
|
||||
boost::filesystem::path ext = out_feat_path.extension();
|
||||
string outfeatures = dir.string() + preferredSlash + fname.string() + string(name) + ext.string();
|
||||
write_out_landmarks(outfeatures, clnf_model);
|
||||
write_out_landmarks(outfeatures, clnf_model, headPose, gazeDirection0, gazeDirection1, ActionUnits.first, ActionUnits.second);
|
||||
}
|
||||
|
||||
if (!output_pose_locations.empty())
|
||||
|
@ -472,7 +557,13 @@ int main (int argc, char **argv)
|
|||
boost::filesystem::path ext = out_feat_path.extension();
|
||||
outimage = dir.string() + preferredSlash + fname.string() + string(name) + ext.string();
|
||||
create_directory_from_file(outimage);
|
||||
imwrite(outimage, display_image);
|
||||
bool write_success = cv::imwrite(outimage, display_image);
|
||||
|
||||
if (!write_success)
|
||||
{
|
||||
cout << "Could not output a processed image" << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -503,11 +594,13 @@ int main (int argc, char **argv)
|
|||
FaceAnalysis::EstimateGaze(clnf_model, gazeDirection1, fx, fy, cx, cy, false);
|
||||
}
|
||||
|
||||
auto ActionUnits = face_analyser.PredictStaticAUs(read_image, clnf_model, false);
|
||||
|
||||
// Writing out the detected landmarks
|
||||
if(!output_landmark_locations.empty())
|
||||
{
|
||||
string outfeatures = output_landmark_locations.at(i);
|
||||
write_out_landmarks(outfeatures, clnf_model);
|
||||
write_out_landmarks(outfeatures, clnf_model, headPose, gazeDirection0, gazeDirection1, ActionUnits.first, ActionUnits.second);
|
||||
}
|
||||
|
||||
// Writing out the detected landmarks
|
||||
|
@ -543,7 +636,13 @@ int main (int argc, char **argv)
|
|||
if(!outimage.empty())
|
||||
{
|
||||
create_directory_from_file(outimage);
|
||||
imwrite(outimage, display_image);
|
||||
bool write_success = imwrite(outimage, display_image);
|
||||
|
||||
if (!write_success)
|
||||
{
|
||||
cout << "Could not output a processed image" << endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -123,7 +124,8 @@
|
|||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -141,6 +143,7 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -159,7 +162,8 @@
|
|||
<PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
#TBB library
|
||||
include_directories(${TBB_ROOT_DIR}/include)
|
||||
|
||||
add_executable(FaceLandmarkVid FaceLandmarkVid.cpp)
|
||||
|
||||
# Local libraries
|
||||
|
@ -13,4 +16,4 @@ target_link_libraries(FaceLandmarkVid dlib)
|
|||
|
||||
target_link_libraries(FaceLandmarkVid ${OpenCV_LIBS} ${Boost_LIBRARIES} ${TBB_LIBRARIES})
|
||||
|
||||
install (TARGETS FaceLandmarkVid DESTINATION ${CMAKE_BINARY_DIR}/bin)
|
||||
install (TARGETS FaceLandmarkVid DESTINATION bin)
|
||||
|
|
|
@ -193,7 +193,8 @@ int main (int argc, char **argv)
|
|||
|
||||
// Indicates that rotation should be with respect to world or camera coordinates
|
||||
bool u;
|
||||
LandmarkDetector::get_video_input_output_params(files, depth_directories, out_dummy, output_video_files, u, arguments);
|
||||
string output_codec;
|
||||
LandmarkDetector::get_video_input_output_params(files, depth_directories, out_dummy, output_video_files, u, output_codec, arguments);
|
||||
|
||||
// The modules that are being used for tracking
|
||||
LandmarkDetector::CLNF clnf_model(det_parameters.model_location);
|
||||
|
@ -247,6 +248,7 @@ int main (int argc, char **argv)
|
|||
if (!boost::filesystem::exists(current_file))
|
||||
{
|
||||
FATAL_STREAM("File does not exist");
|
||||
return 1;
|
||||
}
|
||||
|
||||
current_file = boost::filesystem::path(current_file).generic_string();
|
||||
|
@ -264,7 +266,11 @@ int main (int argc, char **argv)
|
|||
video_capture >> captured_image;
|
||||
}
|
||||
|
||||
if( !video_capture.isOpened() ) FATAL_STREAM( "Failed to open video source" );
|
||||
if (!video_capture.isOpened())
|
||||
{
|
||||
FATAL_STREAM("Failed to open video source");
|
||||
return 1;
|
||||
}
|
||||
else INFO_STREAM( "Device or file opened");
|
||||
|
||||
cv::Mat captured_image;
|
||||
|
@ -292,7 +298,14 @@ int main (int argc, char **argv)
|
|||
cv::VideoWriter writerFace;
|
||||
if (!output_video_files.empty())
|
||||
{
|
||||
writerFace = cv::VideoWriter(output_video_files[f_n], CV_FOURCC('D', 'I', 'V', 'X'), 30, captured_image.size(), true);
|
||||
try
|
||||
{
|
||||
writerFace = cv::VideoWriter(output_video_files[f_n], CV_FOURCC(output_codec[0], output_codec[1], output_codec[2], output_codec[3]), 30, captured_image.size(), true);
|
||||
}
|
||||
catch(cv::Exception e)
|
||||
{
|
||||
WARN_STREAM( "Could not open VideoWriter, OUTPUT FILE WILL NOT BE WRITTEN. Currently using codec " << output_codec << ", try using an other one (-oc option)");
|
||||
}
|
||||
}
|
||||
|
||||
// Use for timestamping if using a webcam
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetName>FaceTrackingVid</TargetName>
|
||||
<TargetName>FaceLandmarkVid</TargetName>
|
||||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
|
@ -95,7 +95,7 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetName>FaceTrackingVid</TargetName>
|
||||
<TargetName>FaceLandmarkVid</TargetName>
|
||||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
|
@ -111,6 +111,7 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -125,7 +126,8 @@
|
|||
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -145,6 +147,7 @@
|
|||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -165,7 +168,8 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;$(SolutionDir)\lib\local\FaceAnalyser\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
#TBB library
|
||||
include_directories(${TBB_ROOT_DIR}/include)
|
||||
|
||||
# Local libraries
|
||||
include_directories(${LandmarkDetector_SOURCE_DIR}/include)
|
||||
|
||||
|
@ -9,4 +12,4 @@ target_link_libraries(FaceLandmarkVidMulti dlib)
|
|||
|
||||
target_link_libraries(FaceLandmarkVidMulti ${OpenCV_LIBS} ${Boost_LIBRARIES} ${TBB_LIBRARIES})
|
||||
|
||||
install (TARGETS FaceLandmarkVidMulti DESTINATION ${CMAKE_BINARY_DIR}/bin)
|
||||
install (TARGETS FaceLandmarkVidMulti DESTINATION bin)
|
||||
|
|
|
@ -151,7 +151,8 @@ int main (int argc, char **argv)
|
|||
|
||||
// Get the input output file parameters
|
||||
bool u;
|
||||
LandmarkDetector::get_video_input_output_params(files, depth_directories, dummy_out, tracked_videos_output, u, arguments);
|
||||
string output_codec;
|
||||
LandmarkDetector::get_video_input_output_params(files, depth_directories, dummy_out, tracked_videos_output, u, output_codec, arguments);
|
||||
// Get camera parameters
|
||||
LandmarkDetector::get_camera_params(device, fx, fy, cx, cy, arguments);
|
||||
|
||||
|
@ -219,7 +220,11 @@ int main (int argc, char **argv)
|
|||
video_capture >> captured_image;
|
||||
}
|
||||
|
||||
if( !video_capture.isOpened() ) FATAL_STREAM( "Failed to open video source" );
|
||||
if (!video_capture.isOpened())
|
||||
{
|
||||
FATAL_STREAM("Failed to open video source");
|
||||
return 1;
|
||||
}
|
||||
else INFO_STREAM( "Device or file opened");
|
||||
|
||||
cv::Mat captured_image;
|
||||
|
@ -239,7 +244,14 @@ int main (int argc, char **argv)
|
|||
cv::VideoWriter writerFace;
|
||||
if(!tracked_videos_output.empty())
|
||||
{
|
||||
writerFace = cv::VideoWriter(tracked_videos_output[f_n], CV_FOURCC('D','I','V','X'), 30, captured_image.size(), true);
|
||||
try
|
||||
{
|
||||
writerFace = cv::VideoWriter(tracked_videos_output[f_n], CV_FOURCC(output_codec[0],output_codec[1],output_codec[2],output_codec[3]), 30, captured_image.size(), true);
|
||||
}
|
||||
catch(cv::Exception e)
|
||||
{
|
||||
WARN_STREAM( "Could not open VideoWriter, OUTPUT FILE WILL NOT BE WRITTEN. Currently using codec " << output_codec << ", try using an other one (-oc option)");
|
||||
}
|
||||
}
|
||||
|
||||
// For measuring the timings
|
||||
|
@ -412,7 +424,7 @@ int main (int argc, char **argv)
|
|||
sprintf(fpsC, "%d", (int)fps);
|
||||
string fpsSt("FPS:");
|
||||
fpsSt += fpsC;
|
||||
cv::putText(disp_image, fpsSt, cv::Point(10,20), CV_FONT_HERSHEY_SIMPLEX, 0.5, CV_RGB(255,0,0));
|
||||
cv::putText(disp_image, fpsSt, cv::Point(10,20), CV_FONT_HERSHEY_SIMPLEX, 0.5, CV_RGB(255,0,0), 1, CV_AA);
|
||||
|
||||
int num_active_models = 0;
|
||||
|
||||
|
@ -428,7 +440,7 @@ int main (int argc, char **argv)
|
|||
sprintf(active_m_C, "%d", num_active_models);
|
||||
string active_models_st("Active models:");
|
||||
active_models_st += active_m_C;
|
||||
cv::putText(disp_image, active_models_st, cv::Point(10,60), CV_FONT_HERSHEY_SIMPLEX, 0.5, CV_RGB(255,0,0));
|
||||
cv::putText(disp_image, active_models_st, cv::Point(10,60), CV_FONT_HERSHEY_SIMPLEX, 0.5, CV_RGB(255,0,0), 1, CV_AA);
|
||||
|
||||
if(!det_parameters[0].quiet_mode)
|
||||
{
|
||||
|
|
|
@ -84,14 +84,14 @@
|
|||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<TargetName>FaceTrackingVidMulti</TargetName>
|
||||
<TargetName>FaceLandmarkVidMulti</TargetName>
|
||||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<TargetName>FaceLandmarkVidMulti</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<TargetName>FaceTrackingVidMulti</TargetName>
|
||||
<TargetName>FaceLandmarkVidMulti</TargetName>
|
||||
<IntDir>$(ProjectDir)$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
|
@ -103,6 +103,7 @@
|
|||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -113,7 +114,8 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -128,6 +130,7 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -142,8 +145,9 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
#TBB library
|
||||
include_directories(${TBB_ROOT_DIR}/include)
|
||||
|
||||
add_executable(FeatureExtraction FeatureExtraction.cpp)
|
||||
|
||||
# Local libraries
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -110,6 +110,7 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -124,7 +125,8 @@
|
|||
<PreprocessorDefinitions>WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -144,6 +146,7 @@
|
|||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
@ -163,8 +166,9 @@
|
|||
<AdditionalIncludeDirectories>$(SolutionDir)\lib\local\FaceAnalyser\include;$(SolutionDir)\lib\local\LandmarkDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
|
|
|
@ -168,7 +168,10 @@ int main (int argc, char **argv)
|
|||
INFO_STREAM( "Attempting to capture from device: " << device );
|
||||
vCap = cv::VideoCapture( device );
|
||||
|
||||
if( !vCap.isOpened() ) FATAL_STREAM( "Failed to open video source" );
|
||||
if (!vCap.isOpened()) {
|
||||
FATAL_STREAM("Failed to open video source");
|
||||
return 1;
|
||||
}
|
||||
|
||||
cv::Mat img;
|
||||
vCap >> img;
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -94,6 +95,7 @@
|
|||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -107,6 +109,7 @@
|
|||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
@ -124,6 +127,7 @@
|
|||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<OpenMPSupport>false</OpenMPSupport>
|
||||
<CallingConvention>Cdecl</CallingConvention>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
|
|
8
lib/3rdParty/dlib/dlib.vcxproj
vendored
8
lib/3rdParty/dlib/dlib.vcxproj
vendored
|
@ -107,6 +107,7 @@
|
|||
<AssemblerListingLocation>Debug</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
|
||||
|
@ -118,7 +119,7 @@
|
|||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
|
||||
<Optimization>Disabled</Optimization>
|
||||
|
@ -130,6 +131,7 @@
|
|||
<AssemblerListingLocation>Debug</AssemblerListingLocation>
|
||||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
|
||||
|
@ -154,6 +156,7 @@
|
|||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;DLIB_PNG_SUPPORT;DLIB_JPEG_SUPPORT;NDEBUG;DLIB_HAVE_SSE2;DLIB_HAVE_SSE3;DLIB_HAVE_SSE41;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
@ -175,7 +178,7 @@
|
|||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)dlib/include/dlib/..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<CompileAs>CompileAsCpp</CompileAs>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
||||
<EnableEnhancedInstructionSet>AdvancedVectorExtensions</EnableEnhancedInstructionSet>
|
||||
<ExceptionHandling>Sync</ExceptionHandling>
|
||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||
<Optimization>Full</Optimization>
|
||||
|
@ -190,6 +193,7 @@
|
|||
<ObjectFileName>$(IntDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(IntDir)vc$(PlatformToolsetVersion).pdb</ProgramDataBaseFileName>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;DLIB_PNG_SUPPORT;DLIB_JPEG_SUPPORT;NDEBUG;DLIB_HAVE_SSE2;DLIB_HAVE_SSE3;DLIB_HAVE_SSE41;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1595,9 +1595,10 @@ namespace dlib
|
|||
explicit literal_assign_helper(matrix* m_): m(m_), r(0), c(0),has_been_used(false) {next();}
|
||||
~literal_assign_helper()
|
||||
{
|
||||
DLIB_CASSERT(!has_been_used || r == m->nr(),
|
||||
"You have used the matrix comma based assignment incorrectly by failing to\n"
|
||||
"supply a full set of values for every element of a matrix object.\n");
|
||||
assert(!has_been_used || r == m->nr());
|
||||
//DLIB_CASSERT(!has_been_used || r == m->nr(),
|
||||
// "You have used the matrix comma based assignment incorrectly by failing to\n"
|
||||
// "supply a full set of values for every element of a matrix object.\n");
|
||||
}
|
||||
|
||||
const literal_assign_helper& operator, (
|
||||
|
|
|
@ -23,9 +23,11 @@ namespace dlib
|
|||
|
||||
cv_image (const cv::Mat img)
|
||||
{
|
||||
DLIB_CASSERT(img.depth() == cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth &&
|
||||
img.channels() == pixel_traits<pixel_type>::num,
|
||||
"The pixel type you gave doesn't match pixel used by the open cv Mat object.");
|
||||
assert(img.depth() == cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth &&
|
||||
img.channels() == pixel_traits<pixel_type>::num);
|
||||
//DLIB_CASSERT(img.depth() == cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth &&
|
||||
// img.channels() == pixel_traits<pixel_type>::num,
|
||||
// "The pixel type you gave doesn't match pixel used by the open cv Mat object.");
|
||||
IplImage temp = img;
|
||||
init(&temp);
|
||||
}
|
||||
|
|
|
@ -319,11 +319,11 @@ namespace CppInterop {
|
|||
|
||||
cv::Vec6d pose = ::LandmarkDetector::GetCorrectedPoseWorld(*clnf, fx,fy, cx, cy);
|
||||
|
||||
vector<pair<cv::Point, cv::Point>> vecLines = ::LandmarkDetector::CalculateBox(pose, fx, fy, cx, cy);
|
||||
vector<pair<cv::Point2d, cv::Point2d>> vecLines = ::LandmarkDetector::CalculateBox(pose, fx, fy, cx, cy);
|
||||
|
||||
auto lines = gcnew System::Collections::Generic::List<System::Tuple<System::Windows::Point,System::Windows::Point>^>();
|
||||
|
||||
for(pair<cv::Point, cv::Point> line : vecLines) {
|
||||
for(pair<cv::Point2d, cv::Point2d> line : vecLines) {
|
||||
lines->Add(gcnew System::Tuple<System::Windows::Point, System::Windows::Point>(System::Windows::Point(line.first.x, line.first.y), System::Windows::Point(line.second.x, line.second.y)));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,20 +1,35 @@
|
|||
svr_disfa/AU_1_static.dat AU01
|
||||
svr_disfa/AU_2_dyn.dat AU02
|
||||
svr_disfa/AU_4_static.dat AU04
|
||||
svm_combined/AU_4_dynamic_combined_all.dat AU04
|
||||
svr_disfa/AU_5_dyn.dat AU05
|
||||
svr_combined/AU_6_static_intensity_combined.dat AU06
|
||||
svr_disfa/AU_9_dyn.dat AU09
|
||||
svr_bp4d/AU_10_static_intensity.dat AU10
|
||||
svm_combined/AU_12_static_combined_all.dat AU12
|
||||
svr_combined/AU_12_static_intensity_combined.dat AU12
|
||||
svr_bp4d/AU_14_static_intensity.dat AU14
|
||||
svr_disfa/AU_15_dyn.dat AU15
|
||||
svm_combined/AU_15_dynamic_combined_all.dat AU15
|
||||
svr_combined/AU_17_static_intensity_combined.dat AU17
|
||||
svr_disfa/AU_20_dyn.dat AU20
|
||||
svm_bp4d/AU_23_static.dat AU23
|
||||
svr_disfa/AU_25_static.dat AU25
|
||||
svr_disfa/AU_26_dyn.dat AU26
|
||||
svm_semaine/AU_28_static.dat AU28
|
||||
svm_semaine/AU_45_dynamic.dat AU45
|
||||
svm_combined/AU_1_dynamic.dat AU01
|
||||
svm_combined/AU_2_dynamic.dat AU02
|
||||
svm_combined/AU_4_static.dat AU04
|
||||
svm_combined/AU_5_static.dat AU05
|
||||
svm_combined/AU_6_static.dat AU06
|
||||
svm_combined/AU_7_static.dat AU07
|
||||
svm_combined/AU_9_dynamic.dat AU09
|
||||
svm_combined/AU_10_static.dat AU10
|
||||
svm_combined/AU_12_static.dat AU12
|
||||
svm_combined/AU_14_static.dat AU14
|
||||
svm_combined/AU_15_dynamic.dat AU15
|
||||
svm_combined/AU_17_dynamic.dat AU17
|
||||
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_45_dynamic.dat AU45
|
||||
svr_combined/AU_1_dynamic_intensity_comb.dat AU01
|
||||
svr_combined/AU_2_dynamic_intensity_comb.dat AU02
|
||||
svr_combined/AU_4_static_intensity_comb.dat AU04
|
||||
svr_combined/AU_5_dynamic_intensity.dat AU05
|
||||
svr_combined/AU_6_static_intensity_comb.dat AU06
|
||||
svr_combined/AU_7_static_intensity_comb.dat AU07
|
||||
svr_combined/AU_9_dynamic_intensity.dat AU09
|
||||
svr_combined/AU_10_static_intensity_comb.dat AU10
|
||||
svr_combined/AU_12_static_intensity_comb.dat AU12
|
||||
svr_combined/AU_14_static_intensity.dat AU14
|
||||
svr_combined/AU_15_dynamic_intensity_comb.dat AU15
|
||||
svr_combined/AU_17_dynamic_intensity_comb.dat AU17
|
||||
svr_combined/AU_20_dynamic_intensity.dat AU20
|
||||
svr_combined/AU_23_dynamic_intensity_comb.dat AU23
|
||||
svr_combined/AU_25_dynamic_intensity_comb.dat AU25
|
||||
svr_combined/AU_26_dynamic_intensity_comb.dat AU26
|
||||
svr_combined/AU_45_dynamic_intensity_comb.dat AU45
|
|
@ -1,23 +1,35 @@
|
|||
svr_disfa/AU_1_static.dat AU01
|
||||
svr_disfa/AU_2_static.dat AU02
|
||||
svr_disfa/AU_4_static.dat AU04
|
||||
svm_combined/AU_4_static_combined_all.dat AU04
|
||||
svr_disfa/AU_5_static.dat AU05
|
||||
svr_combined/AU_6_static_intensity_combined.dat AU06
|
||||
svm_bp4d/AU_7_static.dat AU07
|
||||
svr_disfa/AU_9_static.dat AU09
|
||||
svr_bp4d/AU_10_static_intensity.dat AU10
|
||||
svm_combined/AU_12_static_combined_all.dat AU12
|
||||
svr_combined/AU_12_static_intensity_combined.dat AU12
|
||||
svr_bp4d/AU_14_static_intensity.dat AU14
|
||||
svr_disfa/AU_15_static.dat AU15
|
||||
svm_combined/AU_15_static_combined_all.dat AU15
|
||||
svr_combined/AU_17_static_intensity_combined.dat AU17
|
||||
svm_combined/AU_17_static_combined_all.dat AU17
|
||||
svr_disfa/AU_20_static.dat AU20
|
||||
svm_bp4d/AU_23_static.dat AU23
|
||||
svr_disfa/AU_25_static.dat AU25
|
||||
svm_combined/AU_25_static_combined_all.dat AU25
|
||||
svr_disfa/AU_26_static.dat AU26
|
||||
svm_semaine/AU_28_static.dat AU28
|
||||
svm_semaine/AU_45_static.dat AU45
|
||||
svm_combined/AU_1_static.dat AU01
|
||||
svm_combined/AU_2_static.dat AU02
|
||||
svm_combined/AU_4_static.dat AU04
|
||||
svm_combined/AU_5_static.dat AU05
|
||||
svm_combined/AU_6_static.dat AU06
|
||||
svm_combined/AU_7_static.dat AU07
|
||||
svm_combined/AU_9_static.dat AU09
|
||||
svm_combined/AU_10_static.dat AU10
|
||||
svm_combined/AU_12_static.dat AU12
|
||||
svm_combined/AU_14_static.dat AU14
|
||||
svm_combined/AU_15_static.dat AU15
|
||||
svm_combined/AU_17_static.dat AU17
|
||||
svm_combined/AU_20_static.dat AU20
|
||||
svm_combined/AU_23_static.dat AU23
|
||||
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_2_static_intensity_comb.dat AU02
|
||||
svr_combined/AU_4_static_intensity_comb.dat AU04
|
||||
svr_combined/AU_5_static_intensity.dat AU05
|
||||
svr_combined/AU_6_static_intensity_comb.dat AU06
|
||||
svr_combined/AU_7_static_intensity_comb.dat AU07
|
||||
svr_combined/AU_9_static_intensity.dat AU09
|
||||
svr_combined/AU_10_static_intensity_comb.dat AU10
|
||||
svr_combined/AU_12_static_intensity_comb.dat AU12
|
||||
svr_combined/AU_14_static_intensity.dat AU14
|
||||
svr_combined/AU_15_static_intensity_comb.dat AU15
|
||||
svr_combined/AU_17_static_intensity_comb.dat AU17
|
||||
svr_combined/AU_20_static_intensity.dat AU20
|
||||
svr_combined/AU_23_static_intensity_comb.dat AU23
|
||||
svr_combined/AU_25_static_intensity.dat AU25
|
||||
svr_combined/AU_26_static_intensity_comb.dat AU26
|
||||
svr_combined/AU_45_static_intensity_comb.dat AU45
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue