Gaze Engine  1.0
Gaze Engine Documentation

Project Code Overview

The Gaze Engine is a software library designed to estimate and visualize a person's gaze direction. It processes video frames to detect faces, analyzes facial landmarks to determine head pose and eye direction, and combines these to calculate a final gaze vector. The engine relies heavily on OpenCV and various filtering techniques for smooth and stable results.

Key Components

Core Classes

Gaze Estimation Pipeline

gaze::HeadGazeEstimation: This class is responsible for calculating the head's 3D orientation (pose) from facial landmarks. It determines the direction the head is pointing, which serves as a baseline for the overall gaze.

gaze::EyeGazeEstimation: This class specifically analyzes the eye regions to estimate the direction of the pupils relative to the head. It also calculates the openness of each eye.

core::filter::PoseKalmanFilter: To ensure smooth and stable tracking of the head's position and rotation, a Kalman Filter is implemented. This filter reduces jitter from raw landmark data, providing a more realistic estimation of the head's pose over time.

Face Detection and Landmark Analysis

Function Highlights

File and Dependency Structure

The project files are organized in the C:/Projects/Engine/AntalEngine/Engine directory. Key header files include: