- Preprocessing code for the PURE dataset is in src/preprocessing/PURE
- Training code is in src/train.py
- Testing code is in src/test.py
- Experiment config file is in src/args.py
- Loss functions are in src/utils/losses.py
- Model architectures are in src/models/
- Dataloaders are in src/datasets/
- TODO: preprocessing code for UBFC-rPPG, DDPM, and HKBU-MARs.
Install dependencies with python3:
pip install -r requirements.txt
1.) To prepare the data for training, download PURE and follow the steps in src/preprocessing/PURE
2.) Train several models with:
./scripts/train_PURE.sh
3.) Test the models with:
./scripts/test_PURE.sh
When new dataloaders are added, make sure to add them to src/datasets/utils.py so they can be selected from a corresponding command-line argument. You can run cross-dataset experiments by adding new datasets to line 30 in src/test.py.
If you use any part of our code or data, please cite our paper.
@inproceedings{speth2023sinc,
title={Non-Contrastive Unsupervised Learning of Physiological Signals from Video},
author={Speth, Jeremy and Vance, Nathan and Flynn, Patrick and Czajka, Adam},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2023},
}