HERTZ / OPEN-SOURCE RPPG

面向人脸视频的 rPPG 心率估计技术

HERTZ 是一个可扩展的开源算法集合,组织互补的人脸视频 rPPG 心率估计方法:TinyHR 从视频学习脉搏波形,AdaChrom 通过无需训练的色度信号处理恢复脉搏信号。

TINYHR 录制演示 · 12 秒预览

最大亮点

更丰富的数据,更轻的模型,更快的响应。

TinyHR 用四个来源互补的 rPPG 数据集学习跨人群、跨拍摄条件的生理信号,同时将模型压缩到 8.2 万参数。初始窗口准备好后,模型计算远低于一秒,并按默认设置每秒更新一次。

4 训练数据集
6,307 训练视频
82,177 模型参数 · ONNX 仅 381 KiB
80 / 6 ms CPU / GPU 平均推理时间 · 各 100 次
TinyHR 推理:CPU 平均 80 ms,GPU 平均 6 ms。

参考测试在 Intel Core i9-13900KF(3.00 GHz)CPU 和服务器 NVIDIA H20 GPU 上各运行 100 次。数值仅表示模型推理时间,不包含视频采集、人脸检测、160 帧输入窗口收集和更新调度;结果会随运行环境变化。

训练数据

1,288 名受试者,6,307 段视频

多来源数据覆盖不同人群和记录条件,为模型学习更稳健的 rPPG 表征提供基础。

数据集 受试者 视频 用途
VIPL-HR V1851,883训练
VIPL-HR V25002,498训练
V4V103726训练
MCD-rPPG6001,200训练;仅正脸视频
合计 1,288 6,307 四来源训练数据

实际演示

从人脸视频到脉搏波形。

观看 TinyHR 完整流程:人脸视频、预测的 rPPG 波形与心率估计同步呈现。

25 秒录制 · 静音播放 下载演示视频

HERTZ 算法集合

一套工具,多种观测脉搏的路径

HERTZ 将每种心率估计算法作为独立方法模块展示。当前同时提供轻量学习模型与无需训练的可解释管线。

学习型 · 轻量模型

TinyHR

远程光电容积描记(rPPG)从人脸皮肤反射光的细微变化中估计脉搏信号。TinyHR 输入 160 帧、128 × 128 像素的人脸视频,通过轻量卷积管线强化相邻帧差异、提取紧凑空间特征并进行多尺度时间建模。模型先预测 rPPG 波形,再通过滤波与频谱分析计算心率。

TinyHR 人脸视频输入、特征提取、波形预测与心率后处理流程图
  1. 01

    帧差融合 Stem

    融合相邻帧差异,突出人脸皮肤中与脉搏相关的细微颜色变化。

  2. 02

    空间 Patch Embedding

    将逐帧空间特征压缩为紧凑表示,同时保留完整时间序列。

  3. 03

    多尺度时间特征块

    通过多个时间偏移分支捕获不同尺度的生理变化并进行残差融合。

  4. 04

    波形预测头

    为每个输入帧生成一个 rPPG 波形值,再交给确定性的信号处理管线。

推理

从波形到心率

推理时使用带通滤波保留 0.75-2.5 Hz 的生理频带,再通过 Welch 方法估计功率谱密度,将主频转换为每分钟心跳次数。

心率(BPM)= 60 × 主频(Hz)

无监督 · 信号处理

AdaChrom

AdaChrom 是一种无需标注训练数据的无监督 rPPG 心率估计方法。它从人脸 RGB 视频中定位可靠的皮肤区域,提取随脉搏变化的细微颜色信号,通过 CHROM 色度投影恢复血容量脉搏波形,最后利用 FFT 主频分析输出心率,为 TinyHR 之外提供一条轻量、可解释的开源方案。

AdaChrom 预处理、BVP 提取和心率后处理流程

预处理

自适应皮肤 ROI

人脸对齐后,算法将几何人脸区域与 YCrCb 肤色约束相交。AdaChrom-v4 进一步保留与面部区域一致的较大连通分量,减少孤立误检。

BVP 提取

时序色度轨迹

在滑动窗口内汇聚有效 ROI 的平均 BGR 颜色信号,再依据时间戳重采样、平滑并按通道时序均值归一化。

心率估计

CHROM 与 FFT

CHROM 色度投影恢复血容量脉搏信号;加窗 FFT 在约 50–120 BPM 频带内选择主频,并换算为心率。

实验评估

报告结果

3.88 BPM

平均绝对误差(MAE)

数据集
VIPL-HR V1
测试集
22 名受试者 · 485 段视频
评估方案
根据技术报告,测试集与训练集完全隔离
来源
TinyHR 技术报告第 7 页
查看评估详情