用手机摄像头测量心率:原理是什么,准确度究竟如何
基于摄像头的心率测量运用了光电容积描记法(PPG),这与脉搏血氧仪所用的光学原理相同。以下是关于它能做什么、不能做什么的真实情况。
身边没有 Apple Watch 或胸带心率带的时候,手机摄像头依然能大致告诉你此刻的心率。把指尖贴在后置镜头上,或者用前置摄像头对准脸部,不到一分钟,应用就能把它捕捉到的光线和肤色的细微闪烁转换成一个心率读数。这是信息性内容,不是医疗建议——手机摄像头给出的是一个估算值,而不是一次测量,这也不是对任何情况的诊断。在你信任这样一个数字之前,最值得追问的诚实问题是:它究竟有多接近专业心率设备给出的读数?
它究竟是如何工作的
摄像头心率背后的技术有一个名字——光电容积描记法,简称 PPG——它的历史比智能手机早了几十年。PPG 是一种简单、低成本的光学方法,用来追踪活体组织中微血管床内血容量的变化:每一次心跳,组织中的血容量都会随之起伏,透过或反射自这部分组织的光线也随之起伏。生理测量领域的研究者把由此产生的信号描述为两部分:一部分是随呼吸、交感神经活动和体温调节而缓慢漂移的「DC」基线,另一部分则叠加其上,是随每一次心跳搏动的「AC」分量(Allen, 2007)。手机摄像头用不同的硬件完成同样的工作:它没有专用的「LED + 光电二极管」传感器,而是逐帧捕捉皮肤颜色和亮度那些同样细微的变化——无论是贴在后置镜头上的指尖,还是对着前置摄像头的脸——而这种 AC 搏动的周期,正是应用回报给你的心率。
它与你真实的心率有多接近
基于摄像头的 PPG 并不是一个只验证过一次就被搁置的想法——它已经不止一次与临床参照设备直接比对过,其中最有价值的一次检验测试的是真实的消费级应用,而不是实验室原型。2017 年的一项研究让四款智能手机心率应用在 108 名患者身上接受检验,每位患者同时接受心电图和脉搏血氧仪读数作为参照。脉搏血氧仪本身——更直接的参照对象——相对心电图的平均绝对误差约为 2 ± 0.35 次/分钟,这为「好」的表现设定了一个有用的标尺。以这个标尺衡量,使用指尖贴在后置摄像头上的接触式应用表现尚可:Heart Fitness 平均偏差 2 ± 0.5 次/分钟,Instant Heart Rate 为 4.5 ± 1.1 次/分钟。让前置摄像头拍摄面部的非接触式应用则明显更差:Whats My Heart Rate 平均偏差 7.1 ± 1.4 次/分钟,Cardiio 为 8.1 ± 1.4 次/分钟(Coppetti et al., 2017)。作者自己的结论值得原样重述:接触式的指尖应用无论在易用性还是准确度上,都优于非接触式的面部应用。这些数字的诚实总结是:即便是最好的摄像头估算值,也会与临床设备相差几次/分钟——足以作为一个粗略的参考,但还不足以像信任心电图那样信任它。如果必须在两种方式中二选一,指尖比面部更可靠。
CAMERA_PULSE · MEAN_ABSOLUTE_ERROR vs ECG (bpm)
- PULSE_OXMEDICAL_DEVICE
REFERENCE · 2±0.35 bpm · COPPETTI_2017
→ 临床基准设备
- FINGER_ON_CAMERAESTIMATED_BY_CAMERA
CONTACT · 2–4.5 bpm MAE · COPPETTI_2017
→ 手指估算 — 更可靠
- FACE_IN_CAMERAESTIMATED_BY_CAMERA
CONTACTLESS · 7.1–8.1 bpm MAE · COPPETTI_2017
→ 面部估算 — 需要光线与静止
FIG.11 · CAMERA_PULSE = ESTIMATED_BY_CAMERA · NOT_A_MEASUREMENT · NOT_A_DIAGNOSIS
什么会让估算失准
由于摄像头心率读取的是皮肤上一个微弱的颜色信号,任何削弱或搅乱这个信号的因素,都会把估算值推得离真实值更远。2021 年一项系统测试面部读数的研究发现,当面前的光线超过 500 勒克斯时——测试涵盖 100、300、500 和 700 勒克斯——估算最准确,而在更暗的房间里表现变差。运动的影响更大:参与者说话时(53.9 毫秒),心跳间期的平均误差几乎翻倍,相比之下静止不动时为 23.9 毫秒;一项与之相关的心率变异性指标,在静止状态下与参照设备几乎完美相关(0.976),说话时却几乎跌到零相关(0.047)。同一项研究还发现,约 0.5 米的距离和每秒 30 帧以上的帧率就已足够,所以实际的结论比听起来要窄:保持静止、面对良好的正面光线、稳住手机,估算就有真正的机会接近真实值(Tohma et al., 2021)。
还有第二个不那么明显的误差来源,它不会因为更好的光线或更稳的手而消失:肤色。基于摄像头的 PPG 依赖光线穿透皮肤后反射回来,而黑色素会吸收更多这部分光线——所以在其他条件相同的情况下,肤色较深的人产生的信号更弱。2025 年一项对约 100 项 rPPG 研究及其公开数据集的审查发现,较深肤色(Monk 量表 4–10)的人群占比不到 25%,而较浅肤色(Monk 量表 1–3)的人群占比约为 45%。作者直白地指出了其后果:"Datasets characterized by underrepresentation of darker skin tones or broad ethnic diversity limit the reliability and fairness of rPPG algorithms in real-world applications"(Bondarenko et al., 2025)。这不是一句无关紧要的注脚——它意味着上面那些准确度数字,是在某项研究恰好纳入的样本人群身上测得的,未必对读到这篇文章的每一个人都同样成立。
它不是什么
有必要在这里把边界说清楚,因为「摄像头心率」这个说法很容易让人以为它比实际能做的更多。它只估算一件事——脉搏频率——别无其他:不是血压,不是血氧饱和度(SpO₂),也不是其他任何心脏指标,无论你脸上的光线怎样闪烁。它不能替代脉搏血氧仪或心电图,这个方法也并非为诊断任何疾病而设计或验证。它真正是什么:在手表不在手腕上的那一刻,一个便利、粗略的脉搏估算——仅此而已,不多也不少。
它在 MeteoHealth 中的位置
MeteoHealth 使用同样的原理——基于摄像头的 PPG,通过指尖或面部——作为一种方式,在你的 Apple Watch 不在身边的日子里记录一个心率估算值,这样一天里的缺口就不必成为你数据里的缺口。这个估算值随后会汇入同一个设备端引擎,与这个系列中的其他每一项指标一样,它也会参照你的 Apple Health 数据和当地天气——它只是被拿来比较,而不是被用来诊断,并且在每一步都仍然只是一个估算值,绝不会被当成比这个方法本身更精确的东西。为了完成这种比较,读数不会离开你的设备。
结论
基于摄像头的心率建立在真实、原理清楚的光学基础之上——与临床脉搏血氧仪所用的光电容积描记法原理相同——在良好条件下,贴在后置摄像头上的指尖读数与正规心电图的差距只有几次/分钟。但这句话里「良好条件」四个字分量不轻:需要足够的正面光线、静止的手和静止的脸,还有一个不完全由你掌控的因素——摄像头和数据集所构成的生态系统,历史上对较浅肤色的读取一直比对较深肤色更可靠。这一切都不会让这个数字变得毫无用处;它只是恰如其分地保持原样——在手表不在身边时一个便利的估算值,而不是一个可以依赖的测量结果。
- Photoplethysmography and its application in clinical physiological measurement — J. Allen, Physiological Measurement, 2007.
- Accuracy of smartphone apps for heart rate measurement — Coppetti et al., European Journal of Preventive Cardiology, 2017.
- Evaluation of Remote Photoplethysmography Measurement Conditions toward Telemedicine Applications — Tohma et al., Sensors, 2021.
- Demographic bias in public remote photoplethysmography datasets — Bondarenko et al., npj Digital Medicine, 2025.