Heart-rate-measurement-using-camera:基于摄像头的非接触式实时心率测量系统

real time application to measure heart rate

分支3Tags0
文件最后提交记录最后更新时间
7 年前
6 年前
6 年前
7 年前
2 年前
7 年前
6 年前
6 年前
2 年前
2 年前
7 年前
7 年前
2 年前
3 年前
7 年前
7 年前
2 年前
6 年前
7 年前
2 年前
7 年前
6 年前

使用摄像头测量心率

心率测量结果视频演示链接

摘要

  • 心率(HR)是最关键的生理参数之一,直接反映个体的生理状态。
  • 基于非接触方式的心率测量系统:采用相机实现实时应用。
  • 原理是通过血液循环引起的脸部肤色微变化提取心率信息。
  • 应用场景包括驾驶员生理状态监测。

方法

  • 利用人脸标志点检测、对齐脸部,并确定感兴趣区域(ROI)。
  • 应用带通滤波器,频率下限fl设为0.8 Hz(对应48 bpm),上限fh设为3 Hz(对应180 bpm)。
  • 计算每帧ROI的平均颜色值,并存入长度为150的数据缓冲区。
  • 对数据缓冲区进行快速傅里叶变换(FFT)。最高峰值即为心率。
  • 放大颜色差异以肉眼可见。

安装需求

pip install -r requirements.txt

实现步骤

python GUI.py
  • 若要绘制图表,请运行 graph_plot.py
  • 对于欧拉视频放大实现,执行 amplify_color.py

结果

  • 使用Compact 5医疗设备作为基准数据,特定条件下应用测量的心率与该设备读数一致。

参考文献

  • H. Rahman等人《使用网络摄像头从面部RGB色彩视频中进行实时心率监控》
  • M. Kellman等人的《春2015,第18-551组,基于多光谱成像的远程心率监测》
  • M. Poh等人《使用视频成像和盲源分离的无接触自动化心脏脉搏测量》
  • J. Nørtoft Jensen和M. Hannemose《基于摄像头的心率监测》
  • 图表绘制参考自 thearn/webcam-pulse-detector
  • 教程来源 PyImageSearch

注意事项

  • 应用一次仅能监测一人的心率。
  • 突然的动作变化可能导致心率计算不准确;通常情况下,面对摄像头稳定10秒后可获得正确的心率读数。
  • 本项目仅供学习交流,其他用途请邮件联系:khanhhanguyen2310@gmail.com。