webcam-pulse-detector摄像头测量脉搏,心率(实验记录)

本文介绍了如何利用OpenCV和Python实现的项目,通过摄像头实时检测用户额头区域来估算心率。作者分享了项目地址、安装步骤、常见问题及解决方案,指出尽管在某些情况下结果接近专业设备,但存在局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 记录一下实验过程,以免人老了忘记

 项目介绍

此项目使用 OpenCV 查找用户面部的位置,然后隔离额头区域。

通过从这个隔离出的额头区域收集数据,并随着时间推移来估计用户的心率。测量数据的方法是测量额头区域的平均光学强度——仅提取图像的绿色通道(因为绿色通道具有最强的心率信号)(可能有更好的颜色混合比,但蓝色通道往往非常嘈杂)。

原理是利用(氧)血红蛋白的光学吸收特性,可以通过这种方法估算出生理数据,有兴趣的可以查看项目中提到的论文

文中提到目前测量心率脉搏等信息最简单易用的方法——PPG的原理是血液比周围组织更容易吸收光线,因此血容量的变化会相应地影响透射率或反射率。所以作者认为在正常环境光下可以远程测量PPG信息,也就是这个项目的方法。

 项目地址

github项目:GitHub - thearn/webcam-pulse-detector: A python application that detects and highlights the heart-rate of an individual (using only their own webcam) in real-time.

在github项目中,该项目的作者准备了python源代码文件和可执行文件,目前可执行文件只有win环境和mac环境下,linux环境则需要跑源代码,不过二者执行都比较简单

使用源码

 在github网站上下载源码,解压后使用编译器打开

 需要配置的环境较低,在此不过多赘述(使用的是anaconda的虚拟环境)

有什么包没安装就无脑pip install,如果下载很慢就进行换源操作(如下面这行指令,把numpy换成没安装的包)

pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

 安装好环境后根据作者的提示执行代码,如果你使用的是本地的摄像头,如笔记本摄像头或USB摄像头

python get_pulse.py

 在此处我遇到了一个错误

这个错误应该是因为文件路径中有中文导致,但在搜索资料的过程中发现也有人是因为配置文件的路径,找到提示中的processors_noopenmdao.py,原文中为相对路径,将其修改为绝对路径

 解决这个简单的问题后就能执行代码,默认调用的是camara0,也就是笔记本内置摄像头。运行后会打开摄像头并显示窗口进行人脸检测,如果人脸对准后按下S键就能锁定(这个项目测心率需要锁定分割额头),开始测试以后按下D能够显示对应的波形图

使用可执行文件

可以直接下载windowsmac版本(本文在win10下测试)

下载解压后,可以直接运行get_pulse.exe(注意,路径中还是不能有中文)

 如果有其他需求可以看README.txt的提示,有更细致的指令


使用windos下的串口
      get_pulse.exe --serial COM5 --baud 9600

使用mac下的串口
      open -n ./get_pulse.app --args -serial /dev/tty.usbmodemfa131

windows下的UDP
      get_pulse.exe --udp 192.168.1.100:5050

MAC下的UDP
      open -n ./get_pulse.app --args --udp 192.168.1.100:5050

开始执行后与源码执行是一样的,按S确定人脸位置,按D查看波形,不过可执行程序的人脸识别似乎比源码快点 

效果

 人脸框锁定后就算人离开了或者有遮挡物它还是继续测量,不过这个方面可以通过自己修改代码来优化。

但我与真实仪器对比后,由于检测区域的局限性,如果在十分理想的状态下倒是能与仪器数值相近,但大多数情况都相差较多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值