FacePhys: State of the Heart Learning¶
会议: NeurIPS 2026
arXiv: 2512.06275
代码: https://www.facephys.com/
领域: 模型压缩
关键词: 远程光电容积描记术、状态空间模型、时空状态空间对偶、神经控制微分方程、边缘端轻量化
一句话总结¶
FacePhys 提出一种基于神经控制微分方程离散化的时空状态空间对偶架构,将复数振荡先验嵌入对角状态转移矩阵,实现了仅需 3.6 MB 内存与 9.46 ms 逐帧延迟的高精度实时 rPPG 生理信号监测。
研究背景与动机¶
基于摄像头的远程光电容积描记术(rPPG)利用人脸皮肤表面漫反射光的微弱周期性变化无创测量脉搏波信号,在日常健康监护、情绪计算和疲劳驾驶预警中具有重要价值。然而,真实应用面临严重的端侧部署困境:一方面,视频压缩编码会大幅破坏微弱的人体生理血流脉搏波(BVP),使云端回传分析的信号信噪比严重劣化;另一方面,人脸生理数据高度涉及用户隐私,且在网络受限环境或要求高于 100 Hz 采样率的心律失常/高血压实时筛查场景下,算法必须在前端边缘设备上实现低延迟、低内存占用运行。
现有深度学习 rPPG 模型为了对抗运动假影与光照变化,往往采用 3D-CNN 或时空 Transformer。然而,这些架构陷入了性能与开销的两难境地:3D-CNN 受制于局部感受野,难以捕捉超长周期的心跳节律,且更深的卷积网络带来昂贵的计算负担;基于自注意力的 Transformer(如 PhysFormer)虽然具备长程建模能力,但其自注意力计算与内存复杂度随时间序列长度呈二次方增长,导致实际训练和推理通常只能将视频切成 6 秒左右的短片段(例如 180 帧),割裂了长期心律动态并加剧了噪声敏感度。近期基于 Mamba 的选择性状态空间方法尝试改善时序效率,但在缺乏生理先验与三维时空解耦的情况下,依然难以直接在移动浏览器或超轻量嵌入式硬件上实现连续流式实时推理。
针对这一核心矛盾,研究团队将生理脉搏波变化建模为一个受控的潜在连续时间动力学系统,而非孤立离散帧序列的统计回归。核心 idea:将心脏跳动状态建模为神经控制微分方程(CDE)并通过零阶保持(ZOH)离散化为结构化状态空间模型,结合复数对角转移矩阵注入生理周期振荡归纳偏置,实现单帧输入、常数内存且长程依赖保真的流式端侧推理。
方法详解¶
整体框架¶
FacePhys 将连续输入的人脸视频流视作控制项,将底层的心脏状态视作由神经控制微分方程(CDE)驱动的动力学系统,观测项则是最终的血液容积脉搏(BVP)信号。针对 CDE 无法直接在离散视频帧上高效求解的问题,FacePhys 借助零阶保持(ZOH)建立时空状态空间对偶(TSD),将连续演化映射为具有全局线性注意力等价性的离散状态空间层。
输入的人脸视频张量 \(\mathbf{X} \in \mathbb{R}^{B \times T \times H \times W \times C}\) 首先经过时序归一化模块(Temporal Normalization, TN),在每个空间坐标上消除低频基线漂移并完成标准化。随后,系统采用时空解耦建模机制:空间维度由轻量级 2D 卷积网络提取面部皮肤血流的空间表征,时序维度则送入具备复数振荡先验的状态空间对偶块进行递推更新。整个网络在训练时支持对长达数千帧的完整视频进行并行卷积/注意力计算,在推理时则退化为单步递推隐状态更新,实现单帧流式低延迟输出。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入人脸视频帧<br/>X ∈ R^(B×T×H×W×C)"] --> B["1. 时序归一化 (TN)<br/>训练端最小二乘 / 推理端递归移动平均"]
B --> C["2. 时空解耦状态空间对偶 (TSD)<br/>2D空间卷积 + 时序状态空间线性注意力"]
C --> D["3. 复数对角状态转移矩阵 A<br/>注入振荡特征值,构造周期因果掩码"]
D --> E["输出连续心跳波形与心率估计<br/>y ∈ R^(B×T) (延迟 9.46 ms)"]
关键设计¶
1. 神经控制微分方程与状态空间对偶(TSD):平衡长程连续建模与单帧低内存推理
传统离散 RNN 在捕捉微弱生理信号时极易出现梯度消失且建模容量受限,而 3D-CNN 和 Transformer 的推理内存开销分别受制于特征维度及序列长度。FacePhys 将脉搏波建模为线性受控微分方程(CDE):
其中 \(x(t)\) 为人脸视频控制项,\(h(t)\) 为隐式心脏状态,\(y(t)\) 为输出生理观测值。为了在离散视频帧上高效求解,FacePhys 采用零阶保持(ZOH)离散化得到离散转移矩阵 \(\bar{\mathbf{A}} = e^{\mathbf{A}\Delta t}\) 和 \(\bar{\mathbf{B}} = \left(\int_0^{\Delta t} e^{\mathbf{A}\tau} d\tau\right) \mathbf{B}\)。在训练阶段,利用全局卷积展开与下三角状态因果矩阵 \(\mathbf{L}_{i,j} = \bar{\mathbf{A}}^{i-j}\) (\(i \ge j\)),将隐状态递推写作全局矩阵乘法:
当将转移矩阵设为输入相关时,该式在数学形式上严格等价于带有因果掩码的线性自注意力 \((\mathbf{L} \odot (\mathbf{Q}\mathbf{K}^T))\mathbf{V}\)。而在推理阶段,模型直接使用递推公式 \(h_t = \bar{\mathbf{A}}h_{t-1} + \bar{\mathbf{B}}x_t\),将前向推理的内存复杂度从 Transformer 的 \(\mathcal{O}(TD)\) 骤降至仅与状态维度相关的 \(\mathcal{O}(D+L)\),消除历史视频帧缓存,实现了纯流式单帧更新。
2. 递归移动平均时序归一化(TN):消除光照趋势漂移与实现常数推理开销
自然环境采集的人脸视频普遍存在缓慢的光照变化、微小头部姿态摆动以及传感器低频温漂,这些非生理趋势往往会掩盖幅度极微弱的脉搏波跳动。在离线批处理训练时,TN 模块使用最小二乘法估计每个像素时序上的线性趋势:
通过去除趋势项得到残差 \(r_t = x_t - (\beta_0 t + \beta_1)\),再经无偏标准差 \(\sigma = \sqrt{\frac{1}{T}\sum_{t=1}^T r_t^2}\) 规范化输出 \(\tilde{x}_t = r_t / \sigma\)。然而,最小二乘法必须在全序列上聚合统计量,无法在实时在线推断中逐帧执行。FacePhys 设计了递归移动平均(Recursive Moving Average, RMA)机制平替全局趋势计算,使用指数滑动更新维护均值与方差:
RMA 使得归一化阶段彻底摆脱了对历史帧的缓冲依赖,在推理时保持严格的 \(\mathcal{O}(1)\) 时间与空间复杂度,且在保留脉搏高频细节的同时滤除了绝大多数环境低频噪声。
3. 复数对角振荡矩阵 A:为状态空间注意力注入生理周期先验
在现代结构化状态空间模型(如 S4D、Mamba)中,为了避免矩阵求逆并保证 \(\mathcal{O}(n)\) 计算效率,状态矩阵 \(\mathbf{A}\) 通常被严格限制为实数对角阵。然而,实数对角化消除了特征值中的虚数部分,导致系统的齐次解只能退化为单纯的单调指数衰减,彻底丧失了内生振荡与频域响应能力。对于具有显著周期节律的心脏跳动而言,这强行迫使模型仅依赖控制项输入的剧烈拟合,极大损害了跨场景的周期泛化性能。
FacePhys 提出保留对角结构以维持高效计算,但允许对角元素为可学习的复数特征值 \(\lambda_l = \alpha_l + i\beta_l\)。此时连续系统的齐次解显式展开为:
复数特征值的实部 \(\alpha_l\) 掌控状态衰减,虚部 \(\beta_l\) 则直接对应心律的基础振荡角频率。在状态空间对偶形式下,因果转移掩码元素 \(L_{i,j} = \bar{\mathbf{A}}^{i-j}\) 自然衍生出随时间差振荡的复数调制,使线性自注意力转化为天然匹配人体生理节律的“周期性注意力”(Periodic Attention)。这一设计在不增加任何高阶矩阵乘法开销的前提下,赋予了模型强大的心脏节律归纳偏置。
一个完整示例¶
考虑在智能手机前置摄像头(30 fps)下执行流式心率监测: 1. 单帧输入与归一化:当前时刻到达第 \(t\) 帧人脸面部 ROI 区域图像 \(x_t \in \mathbb{R}^{H \times W \times C}\)。TN 模块利用公式中的 RMA 仅加载上一帧存储的标量统计量 \(\mu_{t-1}\) 与 \(\sigma_{t-1}^2\),以极简算力更新出当前像素残差 \(r_t\) 与归一化结果 \(\tilde{x}_t\); 2. 空间压缩与时序状态递推:轻量 2D 卷积将空间特征映射为低维生理特征向量 \(u_t\)。随后 TSD 模块直接加载上一时刻的心脏隐状态向量 \(h_{t-1}\),执行复数向量点乘与偏置相加:\(h_t = \bar{\mathbf{A}} h_{t-1} + \bar{\mathbf{B}} u_t\)。由于 \(\bar{\mathbf{A}}\) 为复数对角结构,状态内生的正余弦振荡基底自动调整并追踪周期相位; 3. 脉搏输出与状态缓存:线性投影层直接从当前隐状态中解码出瞬时脉搏波标量 \(y_t = \mathbf{C} h_t + \mathbf{D} u_t\),整个过程不回查历史视频帧,仅缓存更新后的 \(h_t\)(占用仅几个 KB)。全流程在普通移动 CPU 上单帧仅耗时 9.46 ms,远低于 30 fps 允许的 33.3 ms 上限,实现了真正的即摄即测。
损失函数 / 训练策略¶
FacePhys 支持在长达数百至数千帧的完整视频序列上端到端联合训练。训练阶段利用 SSD 的矩阵卷积并行模式,无需逐帧按时间展开反向传播(BPTT)。训练目标通过时域与频域联合损失监督,将预测波形 \(\mathbf{y}\) 与血流脉搏金标准接触式接触容积信号对齐,包括负皮尔逊相关系数损失(Negative Pearson Correlation Loss)强化波形相位一致性,以及信噪比/频域交叉熵损失约束频谱主频位置,促使可学习复数矩阵 \(\mathbf{A}\) 的虚部特征值准确收敛至真实人脑与心脏微循环的生理心率频带(0.7 Hz - 3.5 Hz,对应 42 - 210 BPM)。
实验关键数据¶
主实验¶
FacePhys 在五大基准数据集(MMPD、VitalVideo、PURE、UBFC、RLAP)上进行了严格的主实验评估。包括跨受试者的 5 折数据集内验证(Intra-Dataset)以及跨数据集泛化测试(Cross-Dataset,在 RLAP 上训练并在其他数据集零样本评测)。
下表展示了在代表性数据集上的数据集内 5 折交叉验证结果(评价指标包括心率平均绝对误差 MAE、均方根误差 RMSE,以及皮尔逊相关系数 R):
| 数据集 | 指标 | FacePhys (本文) | 之前 SOTA (RhyMamba / PhysNet) | 提升幅度 |
|---|---|---|---|---|
| MMPD (高挑战多场景移动端) | MAE (BPM) ↓ RMSE (BPM) ↓ Pearson R ↑ |
5.58 10.2 0.72 |
8.21 (RhyMamba) 12.0 (RhyMamba) 0.61 (RhyMamba) |
+31.4% +15.0% +18.0% |
| VitalVideo (超大规模人群) | MAE (BPM) ↓ RMSE (BPM) ↓ Pearson R ↑ |
0.64 2.66 0.98 |
0.66 (PhysFormer) 2.66 (PhysNet) 0.98 (PhysNet) |
+3.0% 持平 持平 |
| PURE (多样化头部运动) | MAE (BPM) ↓ RMSE (BPM) ↓ Pearson R ↑ |
0.26 0.53 1.00 |
0.26 (RhyMamba) 0.53 (RhyMamba) 1.00 (RhyMamba) |
持平 持平 持平 |
| UBFC-rPPG (室内标准基准) | MAE (BPM) ↓ RMSE (BPM) ↓ Pearson R ↑ |
0.46 0.67 1.00 |
0.53 (RhyMamba) 0.73 (RhyMamba) 1.00 (RhyMamba) |
+13.2% +8.2% 持平 |
在更具实用价值的跨数据集泛化评估中(在 RLAP 训练,测试集为 MMPD、VitalVideo、PURE、UBFC),FacePhys 的泛化优势更加突出:在极具挑战的真实移动设备数据集 MMPD 上,FacePhys 的 MAE 仅为 5.30 BPM(相比次优方法 EFFPhys 的 9.18 带来高达 42.3% 的误差下降,皮尔逊系数从 0.56 跃升至 0.76);在超大规模数据集 VitalVideo 上取得 MAE 0.77、R 0.97。
此外,在 CPU 平台上的计算效率对比突显了极致的端侧优势:
| 模型 | 参数量 (Params, K) | 内存占用 (Mem, MB) | CPU 逐帧延迟 (Latency, ms) | 计算量 (FLOPs, G) |
|---|---|---|---|---|
| EFFPhys | 2,189 | 609 | 371 | 39.0 |
| TSCAN | 533 | 228 | 55.2 | 8.07 |
| PhysNet (3D-CNN) | 770 | 230 | 62.1 | 6.16 |
| PhysFormer (Transformer) | 7,395 | 576 | 2330 | 95.7 |
| RhyMamba (SSM) | 4,936 | 347 | 889 | 27.4 |
| FacePhys (本文) | 719 | 3.6 | 9.46 | 0.15 |
FacePhys 相比 PhysFormer 实现了 99.4% 的内存压缩和 99.6% 的延迟下降;相比 RhyMamba,逐帧推理耗时从 889 ms 缩减至 9.46 ms(加速超 94 倍),内存占用仅 3.6 MB(缩减 98.9%)。
消融实验¶
论文系统检验了三大核心组件(时序归一化 TN、状态空间对偶 SSD、复数对角振荡矩阵 A)以及长时训练/测试切片长度对最终性能的贡献。以下为核心模块在各大基准数据集上的消融实验数据(测试指标为 HR MAE / RMSE / R):
| 配置 | MMPD (MAE / RMSE / R) | VitalVideo (MAE / RMSE / R) | PURE (MAE / RMSE / R) | UBFC (MAE / RMSE / R) | 说明 |
|---|---|---|---|---|---|
| Full model (FacePhys) | 5.30 / 10.0 / 0.76 | 0.77 / 3.07 / 0.97 | 0.24 / 0.68 / 1.00 | 0.43 / 0.67 / 1.00 | 完整模型 |
| w/o 复数振荡矩阵 A (退化为实数对角) | 7.04 / 11.7 / 0.71 | 0.80 / 3.08 / 0.97 | 0.26 / 0.72 / 1.00 | 0.50 / 0.79 / 1.00 | 失去内生频域周期振荡偏置,MMPD 误差剧增 32.8% |
| w/o 状态空间对偶 (SSM Duality) | 10.8 / 16.7 / 0.51 | 1.10 / 3.80 / 0.96 | 0.34 / 0.87 / 1.00 | 0.63 / 0.85 / 1.00 | 失去长程注意力与时序对偶,MMPD 误差增加超 100% |
| w/o 时序归一化 (TN) | 11.6 / 17.6 / 0.43 | 0.88 / 3.45 / 0.97 | 0.80 / 3.97 / 0.99 | 0.52 / 0.73 / 1.00 | 失去抗光照漂移能力,真实场景误差急剧恶化 |
在序列长度消融中(RLAP 训练、MMPD 测试),训练片段从 160 帧逐步扩展至 1600 帧、测试片段从 160 帧逐步扩展至 1800 帧时,心率 MAE 从 6.13 BPM 单调平滑下降至 5.30 BPM,证明了极低内存开销下超长时序建模对捕捉心律生理规律的显著增益。
关键发现¶
- 各模块贡献归因:时序归一化模块(TN)是对抗非受控环境(MMPD)最关键的防线,去除 TN 后 MMPD 上的 MAE 从 5.30 恶化至 11.6;而复数振荡矩阵 A 是赋予状态空间周期性感知的核心,将复数矩阵退化为传统实数对角后,MMPD 误差由 5.30 显著上升至 7.04(上升约 32.8%),证明生理周期归纳偏置不可或缺。
- 序列长度红利:与 3D-CNN(感受野受限无法利用长视频)和 Transformer(受内存爆炸限制不得不切断视频)不同,FacePhys 在内存线性的支撑下完整支持全长视频端到端训练,随着训练帧长从 160 提升到 1600 帧,误差持续降低,充分释放了长程心律依赖建模的潜力。
- 端侧鲁棒性:在涵盖不同光照、肤色、头部晃动的 MMPD 与 VitalVideo 数据集中,FacePhys 几乎全面刷新 SOTA,且将全流程单帧延迟压入 10 ms 内,验证了面向手机浏览器与边缘硬件的实用可行性。
亮点与洞察¶
- 用连续微分方程解构生理节律:不同于常规 CV 模型将 rPPG 当作纯视觉时空特征拟合,FacePhys 从心血管物理动力学出发,将血液循环建模为连续时间微分方程,从数理根源上契合了生理信号的演化特性。
- 复数对角化的轻量先验注入:打破了现代状态空间模型因追求对角化速度而武断限制实数矩阵的惯性,巧用复数对角元素兼顾了对角矩阵的低阶计算复杂度和傅里叶基底的周期振荡表征能力。
- 可迁移的在线状态流:设计了训练端最小二乘与推理端递归移动平均的无缝对应,解决了动态环境下去除低频伪影必须全序列依赖的工程瓶颈,为工业界边缘端实时生命体征监测提供了极佳的范式。
局限与展望¶
- 缺乏双向与未来上下文参考:为追求纯单帧流式低延迟推理,模型采用了严格的因果掩码,无法引入非因果的前向/未来帧信息进行双向平滑,因而在剧烈突变动作下可能会出现瞬时相位滞后。
- 临床极端病理验证不足:当前评估主要基于开源健康/亚健康受试者数据集,尚未深入真实医院的心血管重症病房测试,面对严重心律失常、房颤或休克等极端异常生理状态时的适应性仍待临床检验。
- 多生理参数联合测量展望:未来可将连续心跳状态表征迁移拓展至血氧饱和度(SpO2)、连续血压(BP)估计,或结合热成像/IMU 传感器实现多模态生理抗干扰感知。
相关工作与启发¶
- vs PhysNet / iBVPNet (3D-CNN):3D-CNN 依赖三维卷积核捕捉局部时空关联,推理时必须维护庞大的三维滑动特征缓存,且受限于局部感受野,视频加长无法带来性能提升;FacePhys 采用时空解耦与状态空间对偶,参数仅 719K,内存缩减 98.4%,并能充分吸收超长序列的全局周期上下文。
- vs PhysFormer / RhythmFormer (Transformer):Transformer 具备长程依赖自注意力机制,但时空二次方复杂度使得长序列显存爆炸,不得不将视频截成数秒短片段;FacePhys 将计算与内存开销降低至线性,在保持注意力表征能力的同时,实现单帧流式在线推理。
- vs RhyMamba / PhysMamba (常规 SSM):早期 Mamba 变体直接沿用 NLP/视频领域的实数对角化选择性状态更新,不仅无法捕捉内生周期振荡,而且在未解耦时空维度下推理内存与延迟依然偏高;FacePhys 引入复数对角振荡矩阵与时空解耦状态空间对偶(TSD),在 MMPD 上将延迟从 889 ms 砍到 9.46 ms,误差大幅下降 42.3%。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次将神经 CDE、复数对角状态空间对偶与生理周期先验深度融合,开创了流式 rPPG 的物理动力学建模新范式。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖 5 大主流数据集、数据集内与跨数据集双重检验、超长序列长度消融以及真实移动设备延迟测定,论证完备。
- 写作质量: ⭐⭐⭐⭐⭐ 动机清晰、数学推导连贯严谨,从连续 CDE 到离散线性状态对偶的逻辑链条一气呵成。
- 价值: ⭐⭐⭐⭐⭐ 彻底打破 rPPG 在端侧实时部署的延迟与内存壁垒,为普惠非接触式健康监测提供了工业级可落地的基准模型。