{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/the-way-to-my-heart-is-through-contrastive-1","title":"The Way to my Heart is through Contrastive Learning: Remote Photoplethysmography from Unlabelled Video","arxiv_id":"2111.09748","date":"2021-11-18","proceeding":"ICCV 2021 10","authors":["John Gideon","Simon Stent"],"abstract":"The ability to reliably estimate physiological signals from video is a powerful tool in low-cost, pre-clinical health monitoring. In this work we propose a new approach to remote photoplethysmography (rPPG) - the measurement of blood volume changes from observations of a person's face or skin. Similar to current state-of-the-art methods for rPPG, we apply neural networks to learn deep representations with invariance to nuisance image variation. In contrast to such methods, we employ a fully self-supervised training approach, which has no reliance on expensive ground truth physiological training data. Our proposed method uses contrastive learning with a weak prior over the frequency and temporal smoothness of the target signal of interest. We evaluate our approach on four rPPG datasets, showing that comparable or better results can be achieved compared to recent supervised deep learning methods but without using any annotation. In addition, we incorporate a learned saliency resampling module into both our unsupervised approach and supervised baseline. We show that by allowing the model to learn where to sample the input image, we can reduce the need for hand-engineered features while providing some interpretability into the model's behavior and possible failure modes. We release code for our complete training and evaluation pipeline to encourage reproducible progress in this exciting new direction.","url_abs":"https://arxiv.org/abs/2111.09748v1","url_pdf":"https://arxiv.org/pdf/2111.09748v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"the-way-to-my-heart-is-through-contrastive-1","repo_url":"https://github.com/toyotaresearchinstitute/remoteppg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"image-variation","task_name":"Image-Variation"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2111.09748","atlas_url":"https://app.syntology.ai/?focus=2111.09748","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.09748"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/toyotaresearchinstitute/remoteppg","reach":null}],"summary":{"ran":4,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":7,"samples":[{"code_sha256_prefix":"77de89be6d96d4c9","entry":"CalculateMultiView","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"77de89be6d96d4c9"}},{"code_sha256_prefix":"780b0458496893ee","entry":"MeanBaseline","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"780b0458496893ee"}},{"code_sha256_prefix":"420e1e1fb517ae8f","entry":"MedianBaseline","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"420e1e1fb517ae8f"}},{"code_sha256_prefix":"8e34364653f8c9b2","entry":"PhysNetUpsample","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8e34364653f8c9b2"}},{"code_sha256_prefix":"1bca98e5220d44c2","entry":"torch_create_sine","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bca98e5220d44c2"}},{"code_sha256_prefix":"17b9d87947459de0","entry":"FrequencyContrast","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"17b9d87947459de0"}},{"code_sha256_prefix":"85d272be57fc031c","entry":"init_model","repo":"toyotaresearchinstitute/remoteppg","repo_kind":"official","path":"iccv/src/archs/FrequencyContrast.py","file_url":"https://github.com/toyotaresearchinstitute/remoteppg/blob/HEAD/iccv/src/archs/FrequencyContrast.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"85d272be57fc031c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}