快速上手 rPPG-Toolbox:用摄像头测心率的完整工具箱 📅 发布时间:2026/8/23 11:15:04 👁 浏览次数: 快速上手 rPPG-Toolbox用摄像头测心率的完整工具箱【免费下载链接】rPPG-ToolboxrPPG-Toolbox: Deep Remote PPG Toolbox (NeurIPS 2023)项目地址: https://gitcode.com/gh_mirrors/rp/rPPG-ToolboxrPPG-Toolbox 是一个开源的 rPPG远程光电容积脉搏波即靠摄像头测心率、呼吸等生理信号工具箱它把数据加载、人脸裁剪、预处理、训练和评测打包成现成流水线让你改个 YAML 配置就能跑通并复现 DeepPhys、TS-CAN 等十几种主流算法的对比结果。为什么需要它先说个具体的坑假设你要做一个对着摄像头就能读数的心率监测原型。第一个星期通常会被这些事吞掉不同数据集的格式五花八门人脸检测得自己接DeepPhys 的预处理和 TS-CAN 的损失函数又散落在不同仓库里评测指标全靠手搓。rPPG-Toolbox 的思路是把脏活全部沉到框架里。它内置了 SCAMPS、UBFC-rPPG、PURE、BP4D、MMPD、iBVP 等十来个 rPPG 数据集的加载器以及 7 种经典无监督方法和 10 种深度学习方法。你剩下的工作只有一个选配置、跑命令、看指标。第一次上手三步跑通心率预测第一步装环境。仓库里的脚本会自动建 Python 3.8 环境、装 PyTorch并编译 PhysMamba 需要的 mamba 算子Linux 和 MacOS 都支持git clone https://gitcode.com/gh_mirrors/rp/rPPG-Toolbox cd rPPG-Toolbox bash setup.sh conda conda activate rppg-toolbox python main.py --config_file ./configs/infer_configs/PURE_UBFC-rPPG_TSCAN_BASIC.yaml第二步摆数据。按 README 说明把数据集放进data/对应目录比如 UBFC-rPPG 就是每个受试者一个文件夹里面有视频和 ground_truth.txt。第三步看结果。这条命令加载 PURE 训练好、在 UBFC-rPPG 上测试的 TS-CAN 预训练模型跑完后在runs/exp里能拿到 MAE、MAPE、Pearson 等指标外加自动生成的 Bland-Altman 图。想试无监督路线换UBFC-rPPG_UNSUPERVISED.yaml即可配置都放在 configs/infer_configs/ 目录下。底层到底怎么做的你的脸其实是一盏小灯打个比方心脏每泵一次血流向面部的血液就多一点皮肤反射光里的绿色分量就跟着抖一下。你的脸相当于一盏亮度随心跳起伏的小灯只不过这起伏幅度肉眼完全看不见只藏在像素数值的微小波动里。工具箱里有两条把抖动变成心率的路无监督路线不训练模型。先把人脸区域抠出来做空间平均相当于把整张脸当成一个传感器再在颜色空间里做成分分离GREEN、ICA、CHROM 这些方法各有一套分的手法最后带通滤波波形就成了。监督路线把裁剪好的人脸视频喂给神经网络直接输出 PPG光电容积脉搏波波形用真实标签监督训练。DeepPhys、TS-CAN、PhysFormer、PhysMamba、RhythmFormer 都在这条路线上。用数据说话跨数据集基准测试 看一个具体数字TS-CAN 在 PURE 数据集上训练、换到 UBFC-rPPG 上测试MAE 约 1.29 BPMMAPE 约 1.50%。换句话说平均每分钟只差 1.3 拍左右相对误差不到两成中的一个百分点——已经接近指夹式设备的误差水平而且全程没让人戴任何传感器。这套评测不是只报一个数。工具箱内置 MAE、MAPE、RMSE、Pearson、SNR 和 Bland-Altman 全套指标每次实验自动画图存到runs/exp所以哪个算法在哪个数据集上更稳一张表就能看全不止于基础用法三个进阶玩法没有高质量标签用伪标签弱监督训练很多场景拿不到同步的高保真 PPG 波形。工具箱支持用 POS 信号处理方法自动生成伪标签先在心率频段做带通滤波再用 Hilbert 包络归一化得到一个周期性很强但形态粗糙的参考信号来训练网络。人物爱乱动合成本动增强把配置里的DATA_AUG设为Motion就能在 UBFC-rPPG、PURE、SCAMPS、UBFC-Phys 上使用合成运动增强数据让模型学会在头部晃动时依然稳住心率输出——这是做车载、运动等动态场景监测时很实用的一招。一次测三项多任务学习BigSmall 模式可以在 BP4D 上同时回归脉搏、呼吸并做面部动作单元AU面部表情动作分类多标签分类按三折交叉验证跑训练。想试试一台摄像头数脉搏、数呼吸、顺便看表情改BP4D_BP4D_BIGSMALL_FOLD1.yaml然后跑python main.py --config_file ...就行。常见问题QWindows 上能装吗安装脚本面向 Linux/MacOS。Windows 建议先装 WSL然后在 WSL 里按同样步骤走编译 mamba 算子需要 C 编译器Linux 上可以用which clang确认。Q我自己的视频想拿来测怎么接入在 dataset/data_loader/ 下新建一个文件继承BaseLoader实现preprocess_dataset预处理、read_video读视频、read_wave读波形三个函数再配一份 YAML 即可接入完整训练/评测流程。Q预处理很慢每次运行都要重新跑吗不用。预处理只做一次结果缓存在CACHED_PATH下第二次训练时把 YAML 里的预处理开关关掉直接读缓存就能开跑。rPPG-Toolbox 把摄像头测心率从零散的论文代码变成了改配置就能复现的工程实践适合做远程生理信号测量的研究者和想搭非接触健康监测原型的开发者。官方文档见 README预训练模型权重在final_model_release/目录数据加载器源码在 dataset/data_loader/。【免费下载链接】rPPG-ToolboxrPPG-Toolbox: Deep Remote PPG Toolbox (NeurIPS 2023)项目地址: https://gitcode.com/gh_mirrors/rp/rPPG-Toolbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考