StreamPPG 精读:一致性特权学习把逐帧 rPPG 推上 Jetson AGX Orin——53 FPS 端到端背后,是一个被消融实验证明的因果掩码命门

摄像头 rPPG 有两类推理范式,部署视角下各有一笔难看的账。clip-wise 方法(PhysNet、PhysFormer、RhythmMamba)要先攒够 128–160 帧视频窗口再出一次数,30 FPS 相机下这是 4–5 秒的信息延迟——对健康趋势展示无所谓,对要与 ADAS 告警、L3 无响应驾驶员干预共享时延预算的舱内闭环,直接出局。frame-wise 方法(TS-CAN 一系)延迟为零,但精度长期掉队:StreamPPG 论文 Table IX 里 TS-CAN 在 UBFC 上 RMSE 2.72 bpm,比同期 clip 方法差 4–10 倍。arXiv 2606.23186(StreamPPG,Li、Yang、Chu、Hu、Yu、Zhang、Shen,v1 2026-06-22,v2 2026-09-28,未挂 venue、未放代码)给的是一个两边都要的答案:逐帧因果推理(严格一帧进一帧出),UBFC RMSE 0.27 bpm,在 NVIDIA Jetson AGX Orin 上含前后处理端到端 53 FPS。

这对我们 IMS 团队意味着什么:站内 rPPG 系列已写完四篇——训练端(Flow-OT 域泛化)、验收端(信号质量 ML 评估)、准入门(FDA QME 临床转译路线)、信息极限端(Template Collapse,16 架构无一还原个体波形形态)——都在回答”能不能测、敢不敢承诺”;本文补的是第五个维度”什么时候能出数”。它决定舱内生理监测是仪表盘功能还是闭环功能。更值得搬走的是它的训练配方:一致性特权学习(Consistent Privileged Learning,CPL)在训练时把接触式真值信号作为特权输入喂给模型、推理时抽掉,而这套路数的命门——因果掩码——被消融实验压到了台面上:去掉掩码,MMPD MAE 从 3.39 崩到 10.50。

信源声明:本文全部数字出自 arXiv 2606.23186 全文 HTML(abs 页 + v2 全文两次通读,表格数字逐条对照);RhythmMamba 的存在性、venue(AAAI 2025)与开源仓库经其 arXiv abs 页(arXiv:2404.06483,经 export API 抓取)独立核证,其 MMPD/UBFC 对比数字为 2606.23186 引述,未读 RhythmMamba 原文全文,文中标注”据其引述”;TS-CAN 出自 EfficientPhys(arXiv:2110.04447,Liu 等,2021,abs 页已读)。2606.23186 无代码、无 venue,按”待同行评议的预印本”对待,但其消融结构(掩码/损失配方)不依赖结论方向,可直接复用。

背景:5 秒税、精度悬崖,和 Mamba 带来的新变量

三代范式的账目(Table IX,滑动窗口流式协议:逐帧模型对 1000 帧序列做 999 次前向,clip 模型做 841 次窗口前向;UBFC RMSE):

范式 代表 推理单元 参数量 计算量 GPU 吞吐 UBFC RMSE
clip 3D-CNN PhysNet 160 帧窗口 0.77 M 70.12 G 102 FPS 3.67
逐帧 CNN TS-CAN(EfficientPhys,arXiv:2110.04447) 单帧 1.98 M 0.74 G 1356 FPS 2.72
clip Mamba RhythmMamba(AAAI 2025,arXiv:2404.06483) 160 帧窗口 1.07 M 12.94 G 51 FPS 0.75
逐帧流式 Mamba StreamPPG 单帧 2.92 M 1.59 G 290 FPS 0.27

三个观察。第一,TS-CAN 证明了逐帧路线的吞吐天花板(1356 FPS),但它丢弃了长程周期结构——RMSE 差距说明脉搏节律的信息在单帧里根本不存在,必须靠时序状态积累。第二,RhythmMamba 把 Mamba 状态空间模型带进 rPPG(Zou、Guo、Hu、Ma,AAAI 2025,11077–11085,代码开源在 github.com/zizheng-guo/RhythmMamba),精度上去了,但它仍是 clip 范式:51 FPS GPU 吞吐,Jetson 上 6 FPS(见下文 Table X),端侧不实用。第三,StreamPPG 的位置是取两条线的交集:逐帧的延迟 + 状态空间的记忆,1.59 G MACs 比 PhysNet 低 44 倍、比 RhythmMamba 低 8 倍,同时精度最高。

clip 范式的 5 秒税在舱内场景不是常数:窗口越准需要越长(呼吸率甚至要 30 秒窗),而心率告警环路通常要求 1–2 秒内响应。延迟与闭环的这笔账,是本文判定”部署端是 rPPG 系列缺失一角”的依据(本文推测,依据=舱内告警/干预的时延预算与 clip 窗口长度量级不匹配)。

核心机制:逐帧流式架构 + 一致性特权学习

架构:差分帧、特权注意力、Mamba-2 状态空间

推理时输入严格是”当前帧 + 相邻帧差分”,没有任何窗口缓冲——这是它与 TS-CAN 的本质区别:TS-CAN 用时间位移在通道维上搬运时序信息,StreamPPG 把时序记忆放在 Mamba-2 的隐状态里逐帧滚动。训练时为了批处理仍切 128 帧段,但注意力掩码保证任意时刻的视觉 token 只能看见过去时刻的信号 token(因果掩码 M,公式 11)。通道注意力在编码器里不是装饰:去掉它 MMPD MAE 3.77 → 3.39。TSSB 换成 LSTM 会小幅退步(3.98 / ρ 0.76),说明状态空间的选型有效但不是决定性的。

CPL:训练时把”答案”喂进去,推理时抽掉

特权信息(privileged information)的思路:训练时模型同时有视觉输入 V 和接触式真值信号 z(作为 token 喂给 AAEB),推理时只有 V。理论骨架是 Lipschitz 上界 R_fr(θ) ≤ R_pr(θ) + L·δ(θ):带特权信息的模型风险更低,一致性约束把两条路径拉近,让无特权路径继承这部分收益。总损失 = L_Pearson(f(V, z), s_gt) + λ·L_MSE(f(V, z), f(V, 0)),λ = 0.8(消融最优)。训练配置:30 epochs、batch 8、AdamW、lr 2×10⁻⁴、cosine 退火带 3 epoch 线性 warmup、RTX A6000。

损失配方的消融(Table V,MMPD)有一处反直觉,值得整段抄给做蒸馏的同事:只监督引导路径 MAE 9.58(过拟合到特权输入);三项全加(引导 Pearson + 自由 Pearson + 一致性)MAE 4.97(互相干扰);最优是引导路径监督 + 仅一致性项(3.39)——自由路径从头到尾不直接接触真值标签,全靠一致性拉。换句话说,特权学习的收益不是”多加一路监督”就能白拿的,配比错了比不加还糟。

命门:因果掩码

训练时特权 token z 是”平移过的真值信号”,包含未来信息;如果 AAEB 的注意力掩码去掉,视觉 token 在训练时能偷看未来信号,推理时却偷看不了——训练/测试分布错配。消融数字:去掉掩码 M,MMPD MAE 3.39 → 10.50、RMSE 15.95、ρ 0.33,直接回到不可用区间。这是全文最贵的一个消融:它证明 CPL 这类”训练时给特权”的方案在流式设定下,因果性不是工程洁癖,而是性能存在的前提。长序列稳定性(Fig. 9)显示与 32 帧参考的波形 RMSE 无明显累积漂移,说明 Mamba 状态滚动没有把误差滚大。

实验与证据:四个公开数据集 + Jetson 实测

数据集与协议

数据集 被试 视频 相机/参考 划分
PURE 10 60×1 min,640×480@30 Hz — 前 60% 训 / 后 40% 测
UBFC-rPPG 42 42 段 ~2 min,640×480@30 Hz 血氧仪 60 Hz 前 30 训 / 后 12 测
COHFACE 40 160×1 min@20 Hz Logitech C525 60/40
MMPD 33(Fitzpatrick 3–6) 660×1 min,320×240@30 FPS — 70/10/20

跨数据集协议沿用 rppg-toolbox:分别以 PURE、UBFC 训练,互测并测 MMPD。

精度:逐帧方法第一次在标准基准上压过 clip 方法

单数据集(StreamPPG,心率 MAE/RMSE bpm、Pearson ρ):

数据集 MAE RMSE ρ
PURE 0.20 0.33 0.99
UBFC 0.14 0.27 0.99
COHFACE 0.71 1.97 0.99
MMPD 3.39 8.35 0.78

对照(据 2606.23186 引述):MMPD 上 RhythmMamba 3.16/7.27/0.84 仍是第一,TS-CAN 12.03/0.17、DeepPhys 22.00/−0.07;UBFC 上 EfficientPhys RMSE 1.81、TS-CAN 2.72。即:受控数据集上逐帧流式已是最高精度,野外数据集(MMPD,含运动/光照/肤色分层)上与 clip Mamba 互有胜负、总体仍差一步。

跨数据集泛化是短板,给 IMS 团队划重点:PURE→UBFC 0.33/ρ 0.99、UBFC→PURE 2.00/ρ 0.94 都不错,但 →MMPD 全面崩掉(PURE→MMPD MAE 10.42/ρ 0.33;UBFC→MMPD 9.29/16.46/ρ 0.39)。CPL 的收益也集中在可控运动:消融里 Stationary 1.86→0.90 增益最大,Talking 2.62→1.77、Rotation 4.39→3.18,Walking 10.97→10.20 基本没救(子集 ρ 0.04);光照上 300–800 lm 5.59→3.78、100 lm 4.26→3.35。论文训练集越小时跨库测试置信区间越宽(训练只用 UBFC 时在 PURE 上 CI 明显更宽,Fig. 6)——车载数据训练多样性不足的问题会原样复现。

效率:Jetson AGX Orin 端到端实测(Table X,含前后处理)

分辨率 FPS UBFC RMSE
64×64 56 0.31
96×96 54 0.27
128×128 53 0.27
256×256 54 0.22

同表对照:TS-CAN 128×128 上 227 FPS(RMSE 2.72),RhythmMamba 仅 6 FPS(RMSE 0.75)。三个读数:第一,53 FPS 端到端意味着 30 FPS 相机链路上有约 1.7 倍余量,逐帧实时成立;第二,分辨率到 256×256 精度反而更好(RMSE 0.22)且帧率不掉——空间分辨率对 rPPG 的边际收益还没吃满;第三,RhythmMamba 的 6 FPS 是 clip Mamba 在端侧不实用的直接实证。代价清单也要列全:内存 405.75 MB,高于 TS-CAN(186.60)和 RhythmMamba(283.00),低于 PhysNet(432.96)与 PhysFormer(598.53)——与 DMS 主模型共享内存预算时不是免费午餐。

与已有方案的关系

维度 PhysNet 系 TS-CAN 系 RhythmMamba StreamPPG
推理延迟 4–5 s 窗口税 零 4–5 s 窗口税 零(因果逐帧)
UBFC RMSE 3.67 2.72 0.75 0.27
端侧实时(Jetson) — 227 FPS 6 FPS ✗ 53 FPS ✓
野外鲁棒(MMPD) 差 极差 3.16/0.84 3.39/0.78
开源 ✓ ✓(EfficientPhys) ✓ ✗

与站内系列的关系:StreamPPG 预测的是逐帧心率级标量流,不承诺单周期波形形态——这与 Template Collapse 文的结论(消费级 RGB 链路还原不了个体脉搏形态,能承诺的是心率与时间比特征)完全兼容,它没有撞信息论墙。但验收口径的教训原样适用:文中 0.99 级 ρ 是按标准基准协议(rppg-toolbox)报的 per-video/per-dataset 平均,若要进舱内验收,应按那篇文章论证的 cross-subject 口径重测。训练数据一端的呼应:CPL 本质上是”接触式传感器当训练期老师”的蒸馏范式,与选题池里 Beyond Contact Sensors(arXiv 2609.10026,伪标签边界)是同一枚硬币的两面——一个解决”训练期教师怎么用”,一个解决”教师标签什么时候可信”。

对 IMS 团队的启示

  1. 闭环时延预算重排:若舱内 rPPG 只进仪表盘(趋势展示),clip 范式的 5 秒税可接受;若要进告警/干预闭环(疲劳、L3 无响应驾驶员干预的生理佐证通道),逐帧流式现在是唯一同时满足延迟与精度的选项,StreamPPG 是第一个完整证据。验收时按 Jetson 实测口径(含前后处理)算时延,别用 GPU 吞吐数。
  2. 因果掩码检查项进评审清单:任何”训练时给特权信息”(接触 ECG/PPG 老师、未来帧、ADAS 真值、标注层)的流式模型,评审第一问就是注意力掩码是否因果。10.50 vs 3.39 这组数字应写进团队内部消融模板——训练/测试信息差是这类方案的头号崩塌模式,且指标不会警告你,只会安静地差。
  3. 蒸馏配比模板:特权蒸馏不要给自由路径直接加监督(4.97 比 3.39 差),一致性项是唯一桥梁,λ=0.8 的量级可作为起点扫参。
  4. 验收清单(按硬标准给可测项):① 自己的车载场景复测,重点看 Walking 等效场景(颠簸/操作运动)——论文里 MAE 10.20、ρ 0.04,不要假设它能用;② 光照分档测(论文 300–800 lm 增益明显,弱光待验);③ 训练集多样性直接决定跨场景 CI 宽度,车载数据要覆盖皮肤色调/光照/运动矩阵再谈泛化;④ 分辨率扫到 256×256 再定链路(0.27→0.22 是免费精度)。
  5. 复现门槛:无代码、无 venue,单组结果。立复现项时的最小验证集建议:UBFC(协议最标准)+ 自采车载 30 分钟,先看 UBFC RMSE 能否落在 0.3 量级、再看跨域掉点曲线,再决定是否进 DMS 联合管线。
  6. 路线判断(第一人称):我认为 2027 年前逐帧流式会成为舱内 rPPG 部署默认范式,依据是效率表的量级差(1.59 G MACs vs 12.94–70.12 G)与 Jetson 实测,以及 clip 范式与闭环时延预算的量级冲突;但”StreamPPG 这套具体配方”能否存活,取决于代码开源与第三方复现——在此之前,把它当架构方向参考,不当可落地实现。

参考

  1. StreamPPG: Low-Latency rPPG Estimation via Consistent Privileged Learning (Yiming Li et al., 2026), arXiv:2606.23186, https://arxiv.org/abs/2606.23186
  2. RhythmMamba: Fast, Lightweight, and Accurate Remote Physiological Measurement (Bochao Zou et al., AAAI 2025), arXiv:2404.06483, https://arxiv.org/abs/2404.06483;代码 https://github.com/zizheng-guo/RhythmMamba
  3. EfficientPhys: Enabling Simple and Fast Physiological Measurement (Xin Liu et al., 2021), arXiv:2110.04447, https://arxiv.org/abs/2110.04447