LEARNING-BASED · LIGHTWEIGHT
TinyHR
Remote photoplethysmography (rPPG) estimates pulse-related signals from subtle changes in light reflected by facial skin. TinyHR processes a clip of 160 RGB facial frames at 128 × 128 pixels. Its lightweight convolutional pipeline emphasizes differences between neighboring frames, builds compact spatial features, and combines temporal information at multiple scales. The network predicts one rPPG waveform sample per video frame. Heart rate is then calculated from the predicted waveform using filtering and spectral analysis.
View PDF inline
-
01
Frame Difference Fusion Stem
Four neighboring-frame difference maps are concatenated into a 12-channel representation. The final model uses this difference branch without the original RGB appearance branch. A 5 × 5 convolution, batch normalization, ReLU, pooling, and a 3 × 3 convolution produce 16-channel spatial features.
-
02
Spatial Patch Embedding
A frame-wise 2D convolution with kernel size 4 and stride 4 reduces each feature map from 32 × 32 to 8 × 8, with 32 channels. Batch normalization and ReLU follow. The temporal dimension is preserved.
-
03
Multi-scale Temporal Feature Block
A single convolutional stage enhances spatial features and pools them into a temporal sequence. Four branches combine information from different temporal offsets, followed by pointwise fusion and a temporal feed-forward network. Residual connections retain the input features; no hierarchical temporal downsampling is used.
-
04
Waveform Predictor
Spatial global average pooling and two pointwise convolutional layers produce a single-channel rPPG waveform. The output contains one value per input frame: 160 samples for a 160-frame clip. Heart rate is computed after waveform prediction.
INFERENCE
From waveform to heart rate
During inference, a second-order Butterworth band-pass filter retains frequencies from 0.75 to 2.5 Hz. Welch's method estimates the power spectral density of the filtered waveform. The dominant frequency is converted to beats per minute.
Heart rate (BPM) = 60 × dominant frequency (Hz)
Training objectives
Training combines a negative Pearson correlation objective for waveform agreement, a frequency-domain cross-entropy objective, and a KL-divergence objective for heart-rate distributions. The reported weights are 0.2, 1.0, and 1.0, respectively.
L = 0.2 Ltime + LCE + LKL