There are two practical ways to measure heart rate without clinical equipment: attach a sensor to the body, or point a camera at it. Both exploit photoplethysmography — the fact that blood volume changes with each heartbeat and those changes affect how light interacts with tissue. The physics is the same. The engineering tradeoffs are not.

If you're a developer evaluating which approach fits your product, this article will save you weeks of research. We'll cover both technologies in depth, compare them across the dimensions that matter for production systems, and give you a clear framework for deciding.

How Each Technology Works

Contact PPG (Wearables)

Contact PPG is the technology inside every modern smartwatch, fitness tracker, and pulse oximeter. A small LED — typically green (530nm) for heart rate, red + infrared for SpO2 — shines light through or into the skin. A photodetector on the opposite side (transmission mode, used in finger clips) or the same side (reflection mode, used in wrist watches) measures how much light returns. The periodic variation in detected light as blood pulses through capillaries is your PPG signal.

Because the sensor is in direct, stable contact with the skin, signal quality is predictable. Ambient light is blocked by the device housing. The LED-to-skin distance is fixed. Motion artifacts still exist — wrist movement is the classic failure mode for watch-based PPG during exercise — but they're well-characterized and addressable with accelerometer-based motion compensation.

Remote PPG / rPPG (Camera-Based)

rPPG captures the same signal without any contact. Ambient or screen light illuminates the skin. A camera records the subtle per-frame color oscillations in skin regions with high capillary density — primarily the forehead and cheeks. After face detection and ROI extraction, the RGB time-series is processed through channel combination algorithms (CHROM, POS), bandpass filtering, and frequency analysis to extract heart rate.

The camera introduces a fundamentally different noise profile. Ambient light fluctuations, head movement, skin tone variation, and video compression all compete with the cardiac signal. The signal-to-noise ratio is lower by design. But there's no hardware to deploy, charge, or attach — which changes the entire economics of who can use the feature and when.

Both are PPG. The core signal is identical: blood volume changes modulating reflected light. What differs is the sensor distance (0mm vs. 30cm+), the controlled environment (sealed housing vs. open air), and the signal-to-noise ratio that results.

Head-to-Head Comparison

Dimension rPPG (Camera) Contactless Contact PPG (Wearable) Hardware
Accuracy (resting) 2–4 BPM MAE vs. oximeter 1–2 BPM MAE vs. oximeter
Accuracy (exercise) Significantly degraded; unreliable above moderate activity Degrades, but motion compensation via accelerometer recovers well
Hardware required Any camera (phone, laptop, tablet) ✓ Dedicated wearable device required
User friction None — open browser, point camera ✓ Device purchase, pairing, charging, wearing compliance
Continuous monitoring Requires camera feed; impractical during most activities 24/7 passive monitoring ✓
Lighting sensitivity High — poor lighting degrades accuracy substantially None — self-illuminated, ambient-independent ✓
Skin tone bias risk Moderate — model training diversity critical Low — hardware LED tuned for absorption characteristics ✓
SpO2 measurement Experimental; not clinically validated at scale Standard feature in most smartwatches ✓
HRV measurement Limited; 30fps cameras lack temporal resolution for precise RR intervals Reliable with 100Hz+ sampling ✓
Integration complexity Single API call ✓ Bluetooth pairing, SDK per device family, platform permissions
Privacy profile Video processing required; no biometric data leaves device if on-device Biometric data in vendor cloud by default on most platforms
Deployment scale Unlimited — no device procurement ✓ Linear cost with user count
Measurement latency 10–30 seconds per reading ✓ Near-real-time with continuous stream

Where rPPG Wins

The headline advantage of rPPG is zero hardware dependency. No device to buy, pair, charge, or wear. For any application where you cannot assume the user owns a wearable — which is most applications — this is decisive.

Consider the scale math: Apple Watch penetration is roughly 30% of iPhone users. Fitbit and Garmin add a few more points. For every 10 users who hit your health feature, 6–7 of them don't have a heart rate sensor. rPPG gives you 10 out of 10, because everyone has a front-facing camera.

Use rPPG when

Hardware Reach Matters

  • No wearable ownership assumption
  • Onboarding or check-in flows
  • One-time or infrequent measurements
  • Telehealth pre-appointment screening
  • Wellness check-ins (insurance, HR platforms)
  • Research studies with diverse populations
  • Web-based applications (no app install)
Use contact PPG when

Signal Quality is Non-Negotiable

  • Continuous 24/7 monitoring required
  • Exercise / activity tracking
  • Clinical-grade accuracy threshold
  • SpO2 or precise HRV measurement
  • Sleep monitoring
  • Arrhythmia detection or screening
  • Users already own a specific device

Where rPPG Falls Short

Being honest about the limitations matters more than the marketing pitch. rPPG has three hard failure modes you need to understand before shipping.

Motion

Head movement during measurement is the primary accuracy killer. Anything that shifts which pixels are in the region of interest between frames introduces luminance variance orders of magnitude larger than the cardiac signal. Walking, nodding, talking animatedly — all degrade accuracy significantly. rPPG works for someone seated and relatively still. It does not work during exercise.

Lighting

Fluorescent lighting at 50/60Hz aliases into the cardiac frequency band. Moving shadows, changing screen brightness, and window light all introduce low-frequency drift. An outdoor measurement in direct, variable sunlight is substantially harder than a consistent indoor environment. If your deployment context involves uncontrolled lighting, build in a confidence threshold gate and prompt users to retry in better conditions.

Clinical Threshold

2–4 BPM MAE is good. It is not clinical-grade. If your use case requires diagnostic accuracy — arrhythmia detection, medication monitoring, clinical trial outcome measurement — rPPG is not there yet, and it is not FDA-cleared for diagnostic use. For screening and non-diagnostic wellness contexts, it is entirely appropriate.

Regulatory note: If your application makes any clinical or diagnostic claims about rPPG-derived measurements, you are in FDA 510(k) territory. Most commercial rPPG deployments avoid this by framing results as wellness indicators, not diagnostic findings. Know the line before you ship.

The Hybrid Approach

The most practical production architecture for health-forward applications isn't a binary choice — it's a fallback hierarchy:

  1. If a wearable is connected and the user is comfortable using it — prefer it. Higher accuracy, continuous stream, better for active users.
  2. If no wearable is available — offer rPPG via the front camera. A 15–30 second check-in captures resting heart rate reliably in most indoor environments.
  3. Surface the confidence score — don't silently display uncertain readings. If confidence < 0.7, prompt the user to be still, improve lighting, and retry.

This pattern lets you reach 100% of users while giving higher-quality data to the subset with wearables. The rPPG path isn't a fallback in the sense of "inferior" — it's the universal baseline. Wearable data, when available, is an upgrade.

Implementation: What It Takes

Building a contact PPG integration means Bluetooth permission flows, pairing UX, device-specific SDK licensing, and platform-specific (HealthKit on iOS, Health Connect on Android) data APIs. Meaningful engineering investment, and it only reaches users who already own the device.

Building an rPPG integration means one API call. You send a video frame or stream, you get back structured vitals data. Beam AI handles the face detection, signal extraction, motion compensation, noise filtering, and model inference on our infrastructure.

The tradeoff is explicit: rPPG gives you lower-friction integration and universal reach at some cost to accuracy and continuous monitoring capability. Contact PPG gives you higher signal quality at the cost of hardware dependency and integration complexity.

For a 30-second resting heart rate check in a web app, rPPG is the correct default. For a fitness tracking product where users already own an Apple Watch, native HealthKit integration is the right call. For a telehealth platform where you need to screen patients before they see a doctor, rPPG scales to every patient without requiring them to own anything.

Try the rPPG API

See what accuracy looks like on your own hardware. The live demo runs the full pipeline from your webcam — no install, no account. Or grab an API key and make your first request in five minutes.

Frequently Asked Questions

Is rPPG as accurate as a pulse oximeter?

Under controlled conditions (stable lighting, minimal movement), rPPG achieves 2–4 BPM mean absolute error against clinical pulse oximeters. Contact PPG wearables typically achieve 1–2 BPM MAE under ideal conditions. The gap narrows for seated, resting measurements in consistent indoor lighting — which covers a large percentage of practical use cases.

What sampling rate does rPPG need?

A minimum of 15fps is workable but 30fps is the standard. At 30fps, a 10–30 second window provides enough temporal data for reliable FFT-based heart rate estimation across the cardiac frequency range (0.7–3.5 Hz). Below 15fps, frequency resolution degrades and accuracy drops materially.

How does rPPG handle different skin tones?

Higher melanin concentrations absorb more incident light, reducing the reflected signal amplitude. Early commercial rPPG SDKs showed significant accuracy gaps across the Fitzpatrick scale due to training data skew toward lighter skin tones. Modern systems with diverse training data and skin-tone-adaptive channel weighting close this gap substantially. Always validate accuracy across your user population before production deployment.

Can rPPG measure HRV?

Standard 30fps cameras lack the temporal resolution needed for precise RR-interval measurement — the inter-beat timing data that underpins HRV analysis. Some high-frame-rate approaches (120fps+) show promise in research settings, but clinical-grade HRV requires contact PPG or ECG. For wellness-grade HRV estimates, rPPG is an active research area but not production-ready at standard camera frame rates.