Code Monkey home page Code Monkey logo

facetracker's Introduction

FaceTracker

This repository is no longer maintained, due to challenges of upgrading to OpenCV 4.

FaceTracker is a library for deformable face tracking written in C++ using OpenCV 2, authored by Jason Saragih and maintained by Kyle McDonald.

Any publications arising from the use of this software, including but not limited to academic journal and conference publications, technical reports and manuals, should cite the following work: J. M. Saragih, S. Lucey, and J. F. Cohn. Face Alignment through Subspace Constrained Mean-Shifts. International Conference of Computer Vision (ICCV), September, 2009.

FAQ

  1. "I successfully compiled the code, so why is my app is crashing?" Make sure that your model files are in the right location. If you see the error Assertion failed: s.is_open() when running your app, that means you forgot to put the model files in the right directory.
  2. "Is there an example of using FaceTracker on a mobile device?" There is no official example. But there is an example of using ofxFaceTracker on iOS here and a native Android example here.
  3. "Why is the tracking is slow, and why is there high CPU usage?" The face detection step (finding the general location of the face) can be slow. If this is causing an issue, you might want to put the tracking in a separate thread. If the detection is very slow you might try using a face detector that is native to your platform, and initializing FaceTracker with that rectangle.
  4. Can I use this for my commercial project/product? Yes. FaceTracker was re-licensed under the MIT license on April 8, 2020. Previously it was available under a custom non-commercial use license, with a separate license for commercial use available for purchase.

Wrappers are available for:

Installation

These instructions are for compiling the code on OS X and Ubuntu, but it should be possible to compile on other platforms.

First, install OpenCV3 (if you're using OpenCV2, use the opencv2 branch of this repo). On OSX you can use homebrew:

$ brew tap homebrew/science
$ brew install opencv3

And on Ubuntu use:

$ sudo apt-get install libcv-dev libopencv-dev

Alternatively, you can download OpenCV from the GitHub and compile it manually.

After installing OpenCV, clone this repository with git clone git://github.com/kylemcdonald/FaceTracker.git. This repository contains a few subdirectories within the root directory:

  • src (contains all source code)
  • model (contains a pre-trained tracking model)
  • bin (will contain the executable after building)

Next, make sure that your copy of OpenCV is located in /usr/local (this should be the case if you used apt-get). If it isn't located there, modify the OPENCV_PATH in the Makefile. If you installed with Homebrew, it should be set to /usr/local/opt/opencv3.

Optionally, you can also add -fopenmp to the CFLAGS and -lgomp to the LIBRARIES variable to compile with OpenMP support.

From the root FaceTracker directory, build the library and example by running make.

To test the demo, cd bin and ./face_tracker. Because many webcams are 1280x720, try running ./face_tracker -s .25 to rescale the image before processing for a smoother framerate.

face_tracker Usage

Usage: face_tracker [options]
Options:
-m <string> : Tracker model (default: ../model/face2.tracker)
-c <string> : Connectivity (default: ../model/face.con)
-t <string> : Triangulation (default: ../model/face.tri)
-s <double> : Image scaling (default: 1)
-d <int>    : Frames/detections (default: -1)
--check     : Check for failure 
--help      : Print help
-?          : Print help

facetracker's People

Contributors

ieee8023 avatar jonahb avatar kylemcdonald avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

facetracker's Issues

Face substitution including the forehead

I want to try the face substitution but I need to include the forehead. In the tracker, I only see the mesh draw up until the eyebrows. What's the best way to solve this?

How to set up on windows?

I am having problems setting up facetracker on windows,
Could some one please link to a tutorial or expain how to set up.

Thanks,
Cheers

c-api is outdated, small changes can be made to run with opencv3.0

1.in face_tracker.cc
line177:
changed to cv::VideoCapture camera(CV_CAP_ANY); if(!camera.isOpened()) return -1;

line188:
changed to camera.read(frame);

2.in io.h
replace <opencv/cv.h> with <opencv2/opencv.hpp>

3.in Makefile add link to -lopencv_videoio

and that's all.

I compiled it on my mac with opencv3.0 and g++5.3 and it works.

make

src/lib/Patch.cc:163:3: error: ‘matchTemplate’ is not a member of ‘cv’
cv::matchTemplate(I,W,res,CV_TM_CCOEFF_NORMED);

why?

Android port

Hey, not really a bug.
I've found your and Jason's work pretty handy, so I built an Android app over it. Here is a link to the repo. Standalone apk also available. Hoping you could include it in the readme so it can help others.

it tell me can‘t found "wh"

LM.o src/lib/FDet.o src/lib/PAW.o src/lib/FCheck.o src/lib/Tracker.o src/exe/face_tracker.o -L/usr/lib -lopencv_core -lopencv_videoio -lopencv_highgui -lopencv_imgproc - lopencv_objdetect
g++: error: wh: No file or directory
g++: error: lopencv_objdetect: No file or directory
Makefile:51: recipe for target 'bin/face_tracker' failed
make: *** [bin/face_tracker] Error 1

Performances

Hi i tried to increase the performances due to some image operations i'm doing on the ROI defined by the points but without success (i'm using a 4core - 8 GB ram MBP - with a logitech C920 camera, 1080p at 30 frames-per-second (fps) and with the internal webcam too, and i'm getting over 100% cpu loading!!!), i tried to use gpu::Mat but isn't available for non nvidia cards (last generation of 17'' MBP has an ati card), for openCL in opencv i didn't find any example, my question is if i switch to the openframeworks version will it have a better performance? I didn't understand if the ofx versions uses opengl acceleration to do the face detection operation so before moving the whole project to it could you tell me if there is an improvement which will justify a move to the other version? Thank you in advance.

compiling issue

Hello

I am trying to install FaceTracker on Ubuntu 11.10. Following the instructions, the opencv was correctly installed.

When make FaceTracker, I got the following errors:

g++ -MM -MT src/lib/IO.o -MF src/lib/IO.d -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ src/lib/IO.cc
g++: error: x86_64: No such file or directory
g++: error: unrecognized option ‘-arch’
make: *** [src/lib/IO.o] Error 1

If removing "-arch x86_64", there are many linking errors.

BTW, there seems to be a type in the readme.md file, "OPECV_PATH" may should be "OPENCV_PATH".

Thanks,
Peter
ARCH_FLAGS=-arch x86_64

Assertion failed in loading model files

Hi,

I compiled the source files and libraries but when I'm executing the face_tracker, the compiler said that there's problem loading the model files even though they are in the right directory.

Here's my error log:
Loading tracker file: ../model/face2.tracker
Assertion failed: (s.is_open()), function Load, file src/lib/Tracker.cc, line 61.

Thanks,
Edward

Make error with OpenCV 2.4.9

$ make -j8
g++ -MM -MT src/lib/Patch.o -MF src/lib/Patch.d -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -I/usr/local/include -Iinclude/ src/lib/Patch.cc
g++ -MM -MT src/lib/FDet.o -MF src/lib/FDet.d -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -I/usr/local/include -Iinclude/ src/lib/FDet.cc
g++ -MM -MT src/lib/PAW.o -MF src/lib/PAW.d -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -I/usr/local/include -Iinclude/ src/lib/PAW.cc
g++ -MM -MT src/lib/Tracker.o -MF src/lib/Tracker.d -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -I/usr/local/include -Iinclude/ src/lib/Tracker.cc
g++ -MM -MT src/exe/face_tracker.o -MF src/exe/face_tracker.d -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -I/usr/local/include -Iinclude/ src/exe/face_tracker.cc
g++ -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -c -o src/lib/FDet.o src/lib/FDet.cc -I/usr/local/include -Iinclude/
g++ -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -c -o src/lib/Patch.o src/lib/Patch.cc -I/usr/local/include -Iinclude/
g++ -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -c -o src/lib/PAW.o src/lib/PAW.cc -I/usr/local/include -Iinclude/
g++ -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -c -o src/lib/Tracker.o src/lib/Tracker.cc -I/usr/local/include -Iinclude/
g++ -Wextra -Wall -pedantic-errors  -O3 -Wno-long-long  -c -o src/exe/face_tracker.o src/exe/face_tracker.cc -I/usr/local/include -Iinclude/
src/lib/PAW.cc: In member function ‘void FACETRACKER::PAW::Crop(cv::Mat&, cv::Mat&, cv::Mat&)’:
src/lib/PAW.cc:167:3: error: ‘remap’ is not a member of ‘cv’
   cv::remap(src,dst,_mapx,_mapy,CV_INTER_LINEAR); return;
   ^
src/lib/Tracker.cc: In member function ‘int FACETRACKER::Tracker::Track(cv::Mat, std::vector<int>&, int, int, double, double, bool)’:
src/lib/Tracker.cc:94:5: error: ‘cvtColor’ is not a member of ‘cv’
     cv::cvtColor(im,gray_,CV_BGR2GRAY);
     ^
src/lib/Tracker.cc: In member function ‘cv::Rect FACETRACKER::Tracker::ReDetect(cv::Mat&)’:
src/lib/Tracker.cc:141:3: error: ‘resize’ is not a member of ‘cv’
   cv::resize(im,small_,cv::Size(TSCALE*ww,TSCALE*hh),0,0,CV_INTER_LINEAR);
   ^
src/lib/Tracker.cc: In member function ‘cv::Rect FACETRACKER::Tracker::UpdateTemplate(cv::Mat&, cv::Mat&, bool)’:
src/lib/Tracker.cc:178:7: error: ‘resize’ is not a member of ‘cv’
       cv::resize(im,small_,cv::Size(TSCALE*ww,TSCALE*hh),0,0,CV_INTER_LINEAR);
       ^
Makefile:43: recipe for target 'src/lib/PAW.o' failed
make: *** [src/lib/PAW.o] Error 1

and it goes on like this. I have OpenCV 2.4.9 installed through the package manager.

Explanation for tracking profile face

Hi,

Does anyone know how the program handle the tracking when the face rotate? When we rotate the head and when we show our left/right profile, the program only displays points of the half face shown.
There is a function 'int CLM::GetViewIdx()' which returns the index of the head orientation (0 for front face, 1 for left profile, 2 for right profile). This index is used to read an array '_visi' which states what patch belongs or not to each orientation.
I've determined that this array is used to draw the points but I would like to know if it is also used for the tracking, if all patches are tracked but only the not hidden are displayed or if only the not hidden patches are tracked.
I know that something happens when my head orientation reaches a certain amount of yaw because there is a blip, little jumps between 2 drawings.

Thanks in advance for more explanations

MacOSX10.14 Build Errors in CLM.cc

When building on macOS , I'm getting the following errors from CLM.cc related to not finding copy constructors.

g++ -Wextra -Wall  -O3 -Wno-long-long  -c -o src/lib/CLM.o src/lib/CLM.cc -I/usr/local/include/include -Iinclude/
src/lib/CLM.cc:246:13: error: no viable conversion from 'cv::Mat' to 'CvMat'
      CvMat wimg_o = wimg,sim_o = sim; IplImage im_o = im;
            ^        ~~~~
/usr/local/include/opencv2/core/types_c.h:464:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'cv::Mat' to 'const CvMat &' for 1st argument
typedef struct CvMat
               ^
/usr/local/include/opencv2/core/mat.hpp:1666:28: note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'CvMat'
    template<typename _Tp> operator std::vector<_Tp>() const;
                           ^
/usr/local/include/opencv2/core/mat.hpp:1667:35: note: candidate template ignored: could not match 'Vec<type-parameter-0-0, cn>' against 'CvMat'
    template<typename _Tp, int n> operator Vec<_Tp, n>() const;
                                  ^
/usr/local/include/opencv2/core/mat.hpp:1668:42: note: candidate template ignored: could not match 'Matx<type-parameter-0-0, m, n>' against 'CvMat'
    template<typename _Tp, int m, int n> operator Matx<_Tp, m, n>() const;
                                         ^
src/lib/CLM.cc:246:27: error: no viable conversion from 'cv::Mat' to 'CvMat'
      CvMat wimg_o = wimg,sim_o = sim; IplImage im_o = im;
                          ^       ~~~
/usr/local/include/opencv2/core/types_c.h:464:16: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'cv::Mat' to 'const CvMat &' for 1st argument
typedef struct CvMat
               ^
/usr/local/include/opencv2/core/mat.hpp:1666:28: note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against 'CvMat'
    template<typename _Tp> operator std::vector<_Tp>() const;
                           ^
/usr/local/include/opencv2/core/mat.hpp:1667:35: note: candidate template ignored: could not match 'Vec<type-parameter-0-0, cn>' against 'CvMat'
    template<typename _Tp, int n> operator Vec<_Tp, n>() const;
                                  ^
/usr/local/include/opencv2/core/mat.hpp:1668:42: note: candidate template ignored: could not match 'Matx<type-parameter-0-0, m, n>' against 'CvMat'
    template<typename _Tp, int m, int n> operator Matx<_Tp, m, n>() const;
                                         ^
src/lib/CLM.cc:246:49: error: no viable conversion from 'cv::Mat' to 'IplImage' (aka '_IplImage')
      CvMat wimg_o = wimg,sim_o = sim; IplImage im_o = im;
                                                ^      ~~
/usr/local/include/opencv2/core/types_c.h:327:1: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'cv::Mat' to 'const _IplImage &' for 1st argument
_IplImage
^
/usr/local/include/opencv2/core/mat.hpp:1666:28: note: candidate template ignored: could not match 'vector<type-parameter-0-0, allocator<type-parameter-0-0> >' against '_IplImage'
    template<typename _Tp> operator std::vector<_Tp>() const;
                           ^
/usr/local/include/opencv2/core/mat.hpp:1667:35: note: candidate template ignored: could not match 'Vec<type-parameter-0-0, cn>' against '_IplImage'
    template<typename _Tp, int n> operator Vec<_Tp, n>() const;
                                  ^
/usr/local/include/opencv2/core/mat.hpp:1668:42: note: candidate template ignored: could not match 'Matx<type-parameter-0-0, m, n>' against '_IplImage'
    template<typename _Tp, int m, int n> operator Matx<_Tp, m, n>() const;
                                         ^
3 errors generated.
make: *** [src/lib/CLM.o] Error 1

Get which points identify mouth and eyes.

The face tracking works really flawlessly but how can we detect which are the points that compose the eyes and the mouth? They are the ones inside the face shape perimeter but there is a way to get them precisely to define three polygons to create a mask (i'm trying to use the face to create a mask to apply to a texture to avoid the texture cover the eyes and the mouth area). thanx in advance. The idea is to fill the face area without filling the eyes and mouth polygons to generate the mask to be applied to a texture centered to the nose of the human.

Segmentation Fault

Hi,
I build FaceTracker on windows using CodeBloks, but it is giving me a segmentation fault. I debugged the program and found that segfault occur in PDM.cpp file at line 6.

1 void PDM::CalcShape3D(cv::Mat &s,cv::Mat &plocal)
2 {
3 assert((s.type() == CV_64F) && (plocal.type() == CV_64F));
4 assert((s.rows == _M.rows) && (s.cols = 1));
5 assert((plocal.rows == _E.cols) && (plocal.cols == 1));
6 s = _M + _V*plocal; return;
7 }

Can anybody help me.

Thanks

CPU perfomance ios

Hello, im having trouble with a high cpu perfomance in iOS. This is causing some delay`s in the face position. Anyone has a advice about that?

Running make on OSX gives error

I installed open cv using brew. Then running make on FaceTracker gives me these. Any idea please?

g++ -MM -MT src/lib/IO.o -MF src/lib/IO.d -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -fopenmp  -I/usr/local/include -Isrc/lib src/lib/IO.cc
g++ -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -fopenmp  -I/usr/local/include -Isrc/lib -c -o src/lib/IO.o src/lib/IO.cc 
In file included from src/lib/IO.cc:40:
In file included from src/lib/IO.h:42:
In file included from /usr/local/include/opencv2/opencv.hpp:56:
/usr/local/include/opencv2/ml/ml.hpp:674:9: error: anonymous types declared in an anonymous union are an extension [-Werror,-Wnested-anon-types]
        struct
        ^
/usr/local/include/opencv2/ml/ml.hpp:961:18: warning: 'CvForestTree::train' hides overloaded virtual functions [-Woverloaded-virtual]
    virtual bool train( CvDTreeTrainData* trainData, const CvMat* _subsample_idx, CvRTrees* forest );
                 ^
/usr/local/include/opencv2/ml/ml.hpp:867:18: note: hidden overloaded virtual function 'CvDTree::train' declared here: different number of parameters (2 vs 3)
    virtual bool train( CvMLData* trainData, CvDTreeParams params=CvDTreeParams() );
                 ^
/usr/local/include/opencv2/ml/ml.hpp:877:26: note: hidden overloaded virtual function 'CvDTree::train' declared here: different number of parameters (8 vs 3)
    CV_WRAP virtual bool train( const cv::Mat& trainData, int tflag,
                         ^
/usr/local/include/opencv2/ml/ml.hpp:1149:18: warning: 'CvBoostTree::train' hides overloaded virtual functions [-Woverloaded-virtual]
    virtual bool train( CvDTreeTrainData* trainData,
                 ^
/usr/local/include/opencv2/ml/ml.hpp:867:18: note: hidden overloaded virtual function 'CvDTree::train' declared here: different number of parameters (2 vs 3)
    virtual bool train( CvMLData* trainData, CvDTreeParams params=CvDTreeParams() );
                 ^
/usr/local/include/opencv2/ml/ml.hpp:877:26: note: hidden overloaded virtual function 'CvDTree::train' declared here: different number of parameters (8 vs 3)
    CV_WRAP virtual bool train( const cv::Mat& trainData, int tflag,
                         ^
2 warnings and 1 error generated.
make: *** [src/lib/IO.o] Error 1

How to improve the precision

Hi, I study the method of face tracking, and I get your code. I run the code on vs2013, when the face turns, the tracking failed and can't get the correct trail any more, should I modify some parameters to improve the problem?
Hope your reply. Thank you very much.

Portability to Unity 3D or AS3?

Not really an issue, so apologies if this is the wrong place for this.

I had a quick chat with Jason Saragih a while back and he seemed to think that this could potentially run OK on iOS.

Do you think this could be ported to AS3, or even Unity, since it leverages the GPU better, to run smoothly online?

make in ubutu

Hi,

I'm having problem during the make step:
...
g++ -Wextra -Wall -pedantic-errors -O3 -Wno-long-long -c -o src/lib/Tracker.o src/lib/Tracker.cc -I/home/joon/Documents/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.8//include -Iinclude/
g++ -o bin/face_tracker src/lib/IO.o src/lib/PDM.o src/lib/Patch.o src/lib/CLM.o src/lib/FDet.o src/lib/PAW.o src/lib/FCheck.o src/lib/Tracker.o -L/home/joon/Documents/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.8//build/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o: In function _start': (.text+0x20): undefined reference tomain'
collect2: ld returned 1 exit status
make: *** [bin/face_tracker] Error 1

I think the path for libraries in makefile is incorrect.

Paths

OPENCV_PATH=/home/joon/Documents/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.8/

Programs

CC=
CXX=g++

Flags

ARCH_FLAGS=
CFLAGS=-Wextra -Wall -pedantic-errors $(ARCH_FLAGS) -O3 -Wno-long-long
LDFLAGS=$(ARCH_FLAGS)
DEFINES=
INCLUDES=-I$(OPENCV_PATH)/include -Iinclude/
LIBRARIES=-L$(OPENCV_PATH)/build/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect

In LIBRARIES i set the path to OPENCV_PATH/build/lib since that's where opencv_core, highgui, imgpro and objdetect is location in .so form. But the file names are different in such that it is libopencv_core.so.2.4.8

should i change
LIBRARIES=-L$(OPENCV_PATH)/build/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect
to
LIBRARIES=-L$(OPENCV_PATH)/build/lib -lopencv_core.so.2.4.8?

OpenCV2 deprecated header use

The headers are deprecated, but still work in 2.4.8.

Ignore my previous version of this comment - I had version mismatch issues and that was stupid of me.

OpenCV with withdows 7 32bit

I need to detach object with camera. I am using Visual Studio and I installed "C Make" and "OpenCV" and I am follow below youtube tutorial
https://www.youtube.com/watch?v=s5ROKdRUkuI
But I got error " Unable to start program C:\users\home\documents\visual studio 2015\ Project\AutoColourFilter\Debug\AutoColourFilter.exe ".
Well, I am using windows 7 32bit.

build fails with error right out-of-the-box

OpenCV is installed in /usr/local I just typed make and...

MacAdmins-MacBook-Pro-2:facetracker jonathan$ make g++ -MM -MT src/lib/IO.o -MF src/lib/IO.d -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ src/lib/IO.cc g++ -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ -c -o src/lib/IO.o src/lib/IO.cc g++ -MM -MT src/lib/PDM.o -MF src/lib/PDM.d -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ src/lib/PDM.cc g++ -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ -c -o src/lib/PDM.o src/lib/PDM.cc g++ -MM -MT src/lib/Patch.o -MF src/lib/Patch.d -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ src/lib/Patch.cc g++ -Wextra -Wall -pedantic-errors -arch x86_64 -O3 -I/usr/local/include -Iinclude/ -c -o src/lib/Patch.o src/lib/Patch.cc src/lib/Patch.cc: In member function ‘void FACETRACKER::Patch::Response(cv::Mat&, cv::Mat&)’: src/lib/Patch.cc:163: error: ‘matchTemplate’ is not a member of ‘cv’ make: *** [src/lib/Patch.o] Error 1

make error: ‘strcmp’ is not a member of ‘std’

Action

Followed this README instruction:

From the root FaceTracker directory, build the library and example by running make.

Error

‘strcmp’ is not a member of ‘std’

Log sample

src/exe/face_tracker.cc:95:9: error: ‘strcmp’ is not a member of ‘std’
     if((std::strcmp(argv[i],"-?") == 0) ||
[...]
[And many other instances of the error.]
[...]
Makefile:43: recipe for target 'src/exe/face_tracker.o' failed
make: *** [src/exe/face_tracker.o] Error 1

OS

A relatively fresh install of Ubuntu 16.04

Plan from here

I'm going to see if I'm missing some C/C++ dependencies or configuration files.

SegFault on tracker draw

I'm using the python wrapper, and when I run any of the example programs, a segfault routinely occurs using the tracker.draw method. Any ideas on how to fix?

How to get 3D position of Head?

Hello, I am new to facetracker. I am recently doing a project to do gaze estimation, and I am using facetracker. I need the infomation of 3D head position w.r.t the camera, is Facetracker
offering that?
Thank you very much !

unresolved symbol trackingDistance still exists

I know this used to be a problem for people, but if I download the latest 0.9.0 ofx release, clone faceTracker and ofxCV into the addons, and use project generator to generate a new project with ofxCV, ofxFaceTracker and ofxOpenCv, i still get this error on compile. Those are all the steps necessary. I'm using visualStudio 2015

For what it's worth, I have no such problem on mac

Whoops... this issue was meant for ofxFaceTracker

LBP bug?

The LBP processing seems that it's not doing anything.
When I checked with

diff --git a/src/lib/Patch.cc b/src/lib/Patch.cc
index 728eef1..b8d1ec2 100644
--- a/src/lib/Patch.cc
+++ b/src/lib/Patch.cc
@@ -154,7 +154,7 @@ void Patch::Response(cv::Mat &im,cv::Mat &resp)
       I = im_(cv::Rect(0,0,im.cols,im.rows));
     else{im_.create(im.rows,im.cols,CV_32F); I = im_;}
     if     (_t == 1)Grad(im,I);
-    else if(_t == 2)LBP(im,I);
+    else if(_t == 2){LBP(im,I);std::cout << I << std::endl;}
     else{
       printf("ERROR(%s,%d): Unsupported patch type %d!\n",
         __FILE__,__LINE__,_t); abort();

it returns a Mat where all elements are '0'

Compilation error on OS X 10.8.4

Attempt to compile the code on 10.8.4 gave me the following error: "ISO C++ does not support ‘long long’". Possibly my bad, fixed by adding "-Wno-long-long" to the list of CFLAGS.

Retraining

I am trying to use FaceTracker to estimate the pose of a human subject's head for a wide variety of poses.
I found that FaceTracker works better on certain people's heads than others, and does not not work for various head poses.
Is it possible to train the system on specific people or for certain poses?
Running the executable does not appear to do anything, as far as I can tell. Or at least if I only give it inputs/options according to the help info. When running it in the command window it gives no errors, just give a new input line. I can get it to output the help info.
Do I need to use the openframeworks wrapper to be able to get anything from it?

How to Install on windows.

Hi,
I am new to openFrameworks and I am trying to build FaceTracker and ofxFaceTracker on windows using codeBlocks. Can you please tell me the steps to built it on windows.

Thanks

coordinates 2d from an determined point

Hi everyone,
i'm trying to print the coordinates from a specific point of the mask. How can i make this and how can i define the same point that i will have the coordinates? I'm a beginner on this, so if you could help me, it will be really nice.

Thanks

Calculate the Jacob

Hello, I'm a graduate student from China. I has been studying this project for a month, but I don't know how to calculate the Jacob in the PDM.cpp. I don't know why Multiply the Rx, Ry, Rz by P_.
Looking forward to your reply. Thank you.

face2.tracker calculation

Hi Kyle,
I need to modify the models to fit landmarks on children faces.
How can you compute the new face2.tracker files?
Bests,
Pablo Negri

How can I train my own model?

I want to train their own models, but I found the code does not provide a training model of the code, I would like to know if I had misunderstood the algorithm or the code does not provide training code? You can provide training model code?

face_tracker builds but does not execute

Hi all,
I've built and installed OpenCV 2.3.1, and I modified my FaceTracker Makefile per #3 as I am on Linux Mint 14. FaceTracker builds without issue, but nothing happens when I execute ./face_tracker:

gavin@gavin-X1C ~/dev/FaceTracker/bin $ ./face_tracker --m ../model/face2.tracker -c ../model/face.con -t ../model/face.tri -s 1 -d -1
gavin@gavin-X1C ~/dev/FaceTracker/bin $ ./face_tracker --help
track_face:- Written by Jason Saragih 2010
Performs automatic face tracking

#
# usage: ./face_tracker [options]
#

Arguments:
-m <string> -> Tracker model (default: ../model/face2.tracker)
-c <string> -> Connectivity (default: ../model/face.con)
-t <string> -> Triangulation (default: ../model/face.tri)
-s <double> -> Image scaling (default: 1)
-d <int>    -> Frames/detections (default: -1)
--check     -> Check for failure
gavin@gavin-X1C ~/dev/FaceTracker/bin $ ./face_tracker --check
gavin@gavin-X1C ~/dev/FaceTracker/bin $ 

Any ideas would be appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.