SiNC-rPPG
Apprentissage non contrasté et non supervisé de signaux physiologiques à partir d'une vidéo
Article marquant de la conférence sur la vision par ordinateur et la reconnaissance de formes (CVPR) 2023
Papier | Vidéo
Figure 1 : Présentation du cadre SiNC pour rPPG par rapport à l'apprentissage traditionnel supervisé et non supervisé. Les pertes supervisées et contrastées utilisent des mesures de distance par rapport à la vérité terrain ou à d'autres échantillons. Notre cadre applique la perte directement à la prédiction en façonnant le spectre de fréquences et en encourageant la variance sur un lot d'entrées. La puissance en dehors des limites de bande est pénalisée pour apprendre les invariances des fréquences non pertinentes. La puissance dans les limites de bande est encouragée à être faiblement distribuée près de la fréquence de crête.
Contenu
- Le code de prétraitement de l'ensemble de données PURE se trouve dans src/preprocessing/PURE
- Le code de formation est dans src/train.py
- Le code de test est dans src/test.py
- Le fichier de configuration de l'expérience se trouve dans src/args.py
- Les fonctions de perte sont dans src/utils/losses.py
- Les architectures de modèles sont dans src/models/
- Les chargeurs de données sont dans src/datasets/
- TODO : code de prétraitement pour UBFC-rPPG, DDPM et HKBU-MAR.
Installation
Installez les dépendances avec python3 :
pip install -r requirements.txt
Pour courir
1.) Pour préparer les données pour la formation, téléchargez PURE et suivez les étapes dans src/preprocessing/PURE
2.) Entraînez plusieurs modèles avec :
./scripts/train_PURE.sh
3.) Testez les modèles avec :
./scripts/test_PURE.sh
Remarques
Lorsque de nouveaux chargeurs de données sont ajoutés, assurez-vous de les ajouter à src/datasets/utils.py afin qu'ils puissent être sélectionnés à partir d'un argument de ligne de commande correspondant. Vous pouvez exécuter des expériences sur plusieurs ensembles de données en ajoutant de nouveaux ensembles de données à la ligne 30 dans src/test.py.
Citation
Si vous utilisez une partie de notre code ou de nos données, veuillez citer notre article.
@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},
}