https://github.com/csiro/orientation-uv-rppg
[CVPRW2024] Repository for the paper "Orientation-conditioned Facial Texture Mapping for Video-based Facial Remote Photoplethysmography Estimation"
https://github.com/csiro/orientation-uv-rppg
computer-vision deep-learning remote-photoplethysmography remote-physiological-measurement rppg
Last synced: 5 months ago
JSON representation
[CVPRW2024] Repository for the paper "Orientation-conditioned Facial Texture Mapping for Video-based Facial Remote Photoplethysmography Estimation"
- Host: GitHub
- URL: https://github.com/csiro/orientation-uv-rppg
- Owner: csiro
- License: other
- Created: 2025-08-12T23:21:51.000Z (10 months ago)
- Default Branch: package
- Last Pushed: 2025-08-18T03:38:47.000Z (10 months ago)
- Last Synced: 2025-09-10T06:42:07.407Z (9 months ago)
- Topics: computer-vision, deep-learning, remote-photoplethysmography, remote-physiological-measurement, rppg
- Language: Python
- Homepage: https://samcantrill.github.io/orientation-uv-rppg/
- Size: 1.37 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Orientation UV rPPG
A self-contained Python package containing the video processing module similar to that used in the paper Orientation-conditioned Facial Texture Mapping for Video-based Facial Remote Photoplethysmography Estimation. For the full experimental code-base used to obtain the results in the paper please check out the `experiments` branch.
:wrench: Installation
Prerequisites
- Python 3.10 or higher
- CUDA-compatible GPU (optional, but recommended for performance)
Install from GitHub
```Bash
pip install git+https://github.com/csiro-internal/orientation-uv-rppg.git@package
```
:computer: Quick Start
Basic Usage
The simplest way to use the package:
```Python
import torch
import orientation_uv_rppg as ouv
# Create video processor with custom parameters
processor = ouv.OrientationMaskedTextureSpaceVideoProcessor(
min_detection_confidence=0.7, # Higher confidence threshold
min_tracking_confidence=0.8, # More stable tracking
device="cuda", # Use GPU acceleration
output_size=128, # Higher resolution output
degree_threshold=45.0 # Stricter orientation filtering
)
# Load your video frames
frames = torch.randn(200, 720, 1280, 3) # HD video frames
# Process the video
result = processor(frames)
print(f"Input: {frames.shape}")
print(f"Output: {result.shape}") # Should be [200, 128, 128, 3]
```
Please see the examples/ directory for usage examples and visualizations.
:scroll: Citation
If you find this useful please cite our [work](https://arxiv.org/abs/2404.09378).
```
@inproceedings{cantrill2024orientationconditionedfacialtexturemapping,
title={Orientation-conditioned Facial Texture Mapping for Video-based Facial Remote Photoplethysmography Estimation},
author={Sam Cantrill and David Ahmedt-Aristizabal and Lars Petersson and Hanna Suominen and Mohammad Ali Armin},
booktitle={Proceedings of the IEEE/CVF Computer Vision and Pattern Recognition Workshops}
year={2024},
url={https://openaccess.thecvf.com/content/CVPR2024W/CVPM/papers/Cantrill_Orientation-conditioned_Facial_Texture_Mapping_for_Video-based_Facial_Remote_Photoplethysmography_Estimation_CVPRW_2024_paper.pdf},
}
```