Heart Rate Engine  1.0
Heart Rate Engine Documentation

Project Code Overview

The Heart Rate Engine is a software library designed to estimate a person's heart rate in real-time from a standard video stream of their face. This is achieved using a non-invasive technique that analyzes subtle color changes in the skin caused by blood flow (remote photoplethysmography - rPPG). The engine detects a face, tracks a region of interest, and processes the color signal from this region to calculate the beats per minute (BPM).

Key Components

Core Classes

Face and Landmark Detection

core::face::FaceDetectorYunet: The engine first uses this class to robustly detect and locate faces in the input video stream.

core::face::FaceMesh: After detection, this class generates a detailed mesh of facial landmarks. These landmarks are crucial for identifying and tracking a stable Region of Interest (ROI) on the face (e.g., the forehead), which is essential for accurate signal extraction.

Signal Processing and Smoothing

core::filter::LandmarkFlowFilter: To ensure the ROI remains stable even with minor head movements, this filter is used to track the facial landmarks smoothly across consecutive frames, preventing signal noise caused by jitter.

Function Highlights

File and Dependency Structure

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