{"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/spatial-then-temporal-self-supervised","title":"Spatial-then-Temporal Self-Supervised Learning for Video Correspondence","arxiv_id":"2209.07778","date":"2022-09-16","proceeding":"CVPR 2023 1","authors":["Rui Li","Dong Liu"],"abstract":"In low-level video analyses, effective representations are important to derive the correspondences between video frames. These representations have been learned in a self-supervised fashion from unlabeled images or videos, using carefully designed pretext tasks in some recent studies. However, the previous work concentrates on either spatial-discriminative features or temporal-repetitive features, with little attention to the synergy between spatial and temporal cues. To address this issue, we propose a spatial-then-temporal self-supervised learning method. Specifically, we firstly extract spatial features from unlabeled images via contrastive learning, and secondly enhance the features by exploiting the temporal cues in unlabeled videos via reconstructive learning. In the second step, we design a global correlation distillation loss to ensure the learning not to forget the spatial cues, and a local correlation distillation loss to combat the temporal discontinuity that harms the reconstruction. The proposed method outperforms the state-of-the-art self-supervised methods, as established by the experimental results on a series of correspondence-based video analysis tasks. Also, we performed ablation studies to verify the effectiveness of the two-step design as well as the distillation losses.","url_abs":"https://arxiv.org/abs/2209.07778v5","url_pdf":"https://arxiv.org/pdf/2209.07778v5.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":"spatial-then-temporal-self-supervised","repo_url":"https://github.com/qianduoduolr/Spa-then-Temp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2209.07778","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.07778"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/qianduoduolr/Spa-then-Temp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"a17c03f2d460cb0c","entry":"db_eval_boundary","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metrics.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a17c03f2d460cb0c"}},{"code_sha256_prefix":"3247aae8655f6cc7","entry":"db_eval_iou","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metrics.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3247aae8655f6cc7"}},{"code_sha256_prefix":"da019d97d47ae83c","entry":"dgaussian","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metric_utils.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metric_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da019d97d47ae83c"}},{"code_sha256_prefix":"25aa01d11ecc71f5","entry":"f_measure","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metrics.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"25aa01d11ecc71f5"}},{"code_sha256_prefix":"6140a018695b3869","entry":"gauss_filter","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metric_utils.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metric_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6140a018695b3869"}},{"code_sha256_prefix":"9e2a94b2a4a36877","entry":"gaussian","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/evaluation/metric_utils.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/evaluation/metric_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e2a94b2a4a36877"}},{"code_sha256_prefix":"828da151bdfbb726","entry":"tensor2img","repo":"qianduoduolr/Spa-then-Temp","repo_kind":"official","path":"vcl/core/misc.py","file_url":"https://github.com/qianduoduolr/Spa-then-Temp/blob/HEAD/vcl/core/misc.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"828da151bdfbb726"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}