2016-04-28 21:40:36 +02:00
///////////////////////////////////////////////////////////////////////////////
2017-05-09 03:36:23 +02:00
// Copyright (C) 2017, Carnegie Mellon University and University of Cambridge,
2016-04-28 21:40:36 +02:00
// all rights reserved.
//
2017-05-09 03:36:23 +02:00
// ACADEMIC OR NON-PROFIT ORGANIZATION NONCOMMERCIAL RESEARCH USE ONLY
//
// BY USING OR DOWNLOADING THE SOFTWARE, YOU ARE AGREEING TO THE TERMS OF THIS LICENSE AGREEMENT.
// IF YOU DO NOT AGREE WITH THESE TERMS, YOU MAY NOT USE OR DOWNLOAD THE SOFTWARE.
//
// License can be found in OpenFace-license.txt
2016-04-28 21:40:36 +02:00
//
// * Any publications arising from the use of this software, including but
// not limited to academic journal and conference publications, technical
// reports and manuals, must cite at least one of the following works:
//
// OpenFace: an open source facial behavior analysis toolkit
// Tadas Baltru<72> aitis, Peter Robinson, and Louis-Philippe Morency
// in IEEE Winter Conference on Applications of Computer Vision, 2016
//
// Rendering of Eyes for Eye-Shape Registration and Gaze Estimation
// Erroll Wood, Tadas Baltru<72> aitis, Xucong Zhang, Yusuke Sugano, Peter Robinson, and Andreas Bulling
// in IEEE International. Conference on Computer Vision (ICCV), 2015
//
// Cross-dataset learning and person-speci?c normalisation for automatic Action Unit detection
// Tadas Baltru<72> aitis, Marwa Mahmoud, and Peter Robinson
// in Facial Expression Recognition and Analysis Challenge,
// IEEE International Conference on Automatic Face and Gesture Recognition, 2015
//
// Constrained Local Neural Fields for robust facial landmark detection in the wild.
// Tadas Baltru<72> aitis, Peter Robinson, and Louis-Philippe Morency.
// in IEEE Int. Conference on Computer Vision Workshops, 300 Faces in-the-Wild Challenge, 2013.
//
///////////////////////////////////////////////////////////////////////////////
# ifndef __GAZEESTIMATION_h_
# define __GAZEESTIMATION_h_
2017-10-26 09:50:15 +02:00
# include "LandmarkDetectorModel.h"
2016-04-28 21:40:36 +02:00
# include "opencv2/core/core.hpp"
2017-10-26 09:50:15 +02:00
namespace GazeAnalysis
2016-04-28 21:40:36 +02:00
{
void EstimateGaze ( const LandmarkDetector : : CLNF & clnf_model , cv : : Point3f & gaze_absolute , float fx , float fy , float cx , float cy , bool left_eye ) ;
void DrawGaze ( cv : : Mat img , const LandmarkDetector : : CLNF & clnf_model , cv : : Point3f gazeVecAxisLeft , cv : : Point3f gazeVecAxisRight , float fx , float fy , float cx , float cy ) ;
2017-10-21 21:40:18 +02:00
// Getting the gaze angle in radians with respect to the world coordinates (camera plane), when looking ahead straight at camera plane the gaze angle will be (0,0)
cv : : Vec2d GetGazeAngle ( cv : : Point3f & gaze_vector_1 , cv : : Point3f & gaze_vector_2 ) ;
2017-10-26 09:50:15 +02:00
// Some utilities
cv : : Point3f GetPupilPosition ( cv : : Mat_ < double > eyeLdmks3d ) ;
2017-10-21 21:40:18 +02:00
2016-04-28 21:40:36 +02:00
}
# endif