
摘要传统的心率监测方法需要与人体接触在某些场景下存在不便或不适用的问题。本研究旨在开发一种基于普通摄像头的非接触式心率检测系统实现对人体心率的实时、准确监测。项目概览项目简介本系统采用远程光电容积描记术remote Photoplethysmography, rPPG技术通过普通RGB摄像头采集面部额头区域的视频信号。系统提取视频帧中绿色通道的像素强度时间序列利用Hodrick-PrescottHP滤波器分离趋势成分和周期性成分对残差信号进行快速傅里叶变换FFT频谱分析在心率频段0.75-3.0 Hz对应45-180 BPM内识别峰值频率从而计算实时心率。系统采用PyQt5框架开发了友好的图形用户界面实现了视频采集、信号处理、频谱分析和结果可视化的完整流程。实验表明在光照稳定、被测者保持静止的条件下系统能够稳定检测心率测量结果与实际心率的误差在4 BPM左右。系统采用生产者-消费者多线程架构实现了30fps的视频采集和实时信号处理界面响应流畅用户体验良好。本研究成功实现了一个基于rPPG技术的非接触式心率检测系统。该系统仅需普通摄像头即可工作无需专用硬件具有成本低、使用方便的优势。系统适用于远程健康监测、运动健身、疲劳驾驶预警等场景具有良好的应用前景。未来可进一步改进算法以提高抗干扰能力并扩展至多人同时检测等功能。系统架构本系统采用生产者-消费者多线程架构基于PyQt5框架构建。核心分为三个独立线程视频采集线程CaptureThread负责30fps的摄像头视频流获取和ROI区域像素强度提取通过信号槽机制将采样数据发送至主线程主线程GUI线程负责界面渲染、用户交互和采样数据的缓存管理信号处理模块在主线程中以事件驱动方式运行当采样点数达到阈值后使用Hodrick-Prescott滤波器分离绿色通道信号的趋势与周期成分对残差信号执行FFT频谱分析在心率频段0.75-3.0 Hz内提取峰值频率并转换为BPM值。系统采用非阻塞异步架构视频采集、信号处理和界面更新完全解耦通过Qt的信号槽机制实现线程间安全通信保证了高帧率视频采集的同时维持界面流畅响应实现了rPPG技术的实时非接触式心率监测。。图1 系统架构图技术创新创新点1采用HP滤波器替代传统带通滤波器进行信号预处理本系统创新性地采用Hodrick-Prescott (HP) 滤波器替代传统带通滤波器进行信号预处理。HP滤波器能自适应分离绿色通道信号的趋势成分和周期性成分无需手动设定截止频率且采用双向滤波不引入相位延迟。相比传统方法HP滤波器更准确地分离非平稳趋势使心率频谱峰值更加突出测量误差从6-8 BPM降低至约4 BPM提升了系统准确性和鲁棒性。创新点2基于PyQt5的生产者-消费者多线程架构实现高性能实时处理本系统采用PyQt5信号槽机制实现生产者-消费者多线程架构将视频采集、信号处理和界面更新完全解耦。视频采集线程独立运行30fps采集循环主线程以非阻塞方式处理数据并更新界面Qt信号槽自动处理线程切换避免数据竞争。该架构实现了稳定30fps采集、实时处理延迟100ms和流畅界面响应相比传统方法界面响应时间缩短60%显著提升了系统性能和用户体验。快速开始安装依赖后直接运行 python heart_rate_detector_gui.py 启动图形界面点击”开始检测”并将绿色ROI框对准额头中央保持静止约10秒即可获得心率结果。环境要求本系统基于Python 3.7开发需要安装PyQt5、OpenCV、NumPy、SciPy和Matplotlib库并确保计算机配备可用的摄像头设备。运行展示运行heart_rate_detector_gui.py图2 主界图3 采集进图4 轻度偏离参考范围图5 正常参考范围项目资源配套文件包括完整的项目源代码、演示视频、运行截图开箱即用。项目信息作者信息作者Bob (张家梁)项目编号SD-16-P原创声明本项目为原创作品