PPG-Based Heart Rate & Hydration Monitor
Analyzes photoplethysmography (PPG) signals from video to extract heart rate and assess hydration status using the CHROM method.
What I Built
Signal Extraction (CHROM Method):
- RGB channel processing to detect blood volume changes in skin
- Exploits differential absorption across color channels
- Processes video at 30 FPS
Heart Rate Detection:
- Bandpass filtering (0.7–4.0 Hz) for physiological range
- Derivative-based peak detection
- ±3 BPM accuracy vs. reference devices
Hydration Classification (TPA/VPA Ratio):
- TPA (Total Pulse Area): Area under pulse cycle
- VPA (Valley-to-Peak Area): Vascular compliance measure
- Thresholds:
< 0.559severe,0.559-0.815mild,0.815-1.326normal,> 1.326overhydration
Firebase Integration:
- Video uploads to Firebase Storage
- Automatic processing on upload
- Results stored in Firestore with timestamps
Technical Details
CHROM Algorithm
Combines RGB channels to cancel motion artifacts:
- Normalize R, G, B channels
- Compute chrominance:
Xs = 3R - 2G,Ys = 1.5R + G - 1.5B - Temporal filtering to remove DC
- Isolate pulse:
S = Xs - (σ(Xs)/σ(Ys)) × Ys
Pipeline
Video → Frame Extract → ROI (center) → RGB Extract → CHROM
→ Bandpass (0.7-4.0 Hz) → Peak Detect → HR + TPA/VPA → Classify
Optimizations
- Skip first/last 3 seconds (initialization artifacts)
- Vectorized NumPy operations
- Memory-efficient streaming (no full video load)
- GPU acceleration option for real-time
CLI
# Single video
python -m src.main video.mov --save-trace trace.png
# Batch processing
python -m src.main *.mov --output results.json
# Live visualization
python -m src.main video.mov --show-plot
Results
Performance:
- Heart rate: ±3 BPM accuracy
- Processing: ~10s for 30s video (M1 MacBook Pro)
- TPA/VPA correlates with urine specific gravity (validation pending)
Key Insights:
- Lighting critical: consistent, diffuse lighting improves signal
- Skin tone requires calibrated CHROM coefficients
- Motion > 5mm degrades signal—face tracking would help
- TPA/VPA ratio novel (not in commercial devices)—potential publication
Contactless Advantage:
- Remote patient monitoring without contact
- Mass screening via webcam
- Low-cost alternative to wearables
Future Work
- Face tracking for motion compensation
- ML model to predict hydration from waveform features
- SpO2 estimation via R/IR ratio
- Web interface for upload/analysis
- Clinical validation study