{"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/self-supervised-pretraining-with","title":"Weakly-guided Self-supervised Pretraining for Temporal Activity Detection","arxiv_id":"2111.13675","date":"2021-11-26","proceeding":null,"authors":["Kumara Kahatapitiya","Zhou Ren","Haoxiang Li","Zhenyu Wu","Michael S. Ryoo","Gang Hua"],"abstract":"Temporal Activity Detection aims to predict activity classes per frame, in contrast to video-level predictions in Activity Classification (i.e., Activity Recognition). Due to the expensive frame-level annotations required for detection, the scale of detection datasets is limited. Thus, commonly, previous work on temporal activity detection resorts to fine-tuning a classification model pretrained on large-scale classification datasets (e.g., Kinetics-400). However, such pretrained models are not ideal for downstream detection, due to the disparity between the pretraining and the downstream fine-tuning tasks. In this work, we propose a novel 'weakly-guided self-supervised' pretraining method for detection. We leverage weak labels (classification) to introduce a self-supervised pretext task (detection) by generating frame-level pseudo labels, multi-action frames, and action segments. Simply put, we design a detection task similar to downstream, on large-scale classification data, without extra annotations. We show that the models pretrained with the proposed weakly-guided self-supervised detection task outperform prior work on multiple challenging activity detection benchmarks, including Charades and MultiTHUMOS. Our extensive ablations further provide insights on when and how to use the proposed models for activity detection. Code is available at https://github.com/kkahatapitiya/SSDet.","url_abs":"https://arxiv.org/abs/2111.13675v2","url_pdf":"https://arxiv.org/pdf/2111.13675v2.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":"self-supervised-pretraining-with","repo_url":"https://github.com/kkahatapitiya/SSDet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"action-detection","task_name":"Action Detection"},{"task_slug":"activity-detection","task_name":"Activity Detection"},{"task_slug":"activity-recognition","task_name":"Activity Recognition"},{"task_slug":"classification-1","task_name":"Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/action-detection-on-charades","task":"Action Detection","dataset":"Charades","model":"Coarse-Fine Networks (w/ self-supervised detection pretraining)","rank_in_archive_order":3,"of":16,"metrics":{"mAP":"26.95"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2111.13675","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.13675"}},"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/kkahatapitiya/SSDet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":2,"unverified":9},"by_repo_kind":{"official":{"samples":11,"ran":2,"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":"acfa08610335818d","entry":"get_inplanes","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"x3d.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/x3d.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"acfa08610335818d"}},{"code_sha256_prefix":"1df9a5ffd9b38c34","entry":"pil_loader","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"kinetics.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/kinetics.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1df9a5ffd9b38c34"}},{"code_sha256_prefix":"aae0a4f3535e8f26","entry":"accimage_loader","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"charades.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/charades.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":"aae0a4f3535e8f26"}},{"code_sha256_prefix":"a44afb1c0019609f","entry":"accimage_loader","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"kinetics.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/kinetics.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":"a44afb1c0019609f"}},{"code_sha256_prefix":"559e7247652ccade","entry":"conv1x1x1","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"x3d.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/x3d.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":"559e7247652ccade"}},{"code_sha256_prefix":"553378f88d6b728a","entry":"conv3x3x3","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"x3d.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/x3d.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":"553378f88d6b728a"}},{"code_sha256_prefix":"7b28778e776afc65","entry":"equalize","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"transforms/spatial_transforms.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/transforms/spatial_transforms.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":"7b28778e776afc65"}},{"code_sha256_prefix":"4a7c82f20a853d09","entry":"load_value_file","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"kinetics.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/kinetics.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":"4a7c82f20a853d09"}},{"code_sha256_prefix":"ee0f6cebf82a264a","entry":"pil_equalize","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"transforms/spatial_transforms.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/transforms/spatial_transforms.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":"ee0f6cebf82a264a"}},{"code_sha256_prefix":"d88ae1104c961f9f","entry":"tensor_equalize","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"transforms/spatial_transforms.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/transforms/spatial_transforms.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":"d88ae1104c961f9f"}},{"code_sha256_prefix":"47b8813afb1b73cb","entry":"video_loader","repo":"kkahatapitiya/SSDet","repo_kind":"official","path":"charades.py","file_url":"https://github.com/kkahatapitiya/SSDet/blob/HEAD/charades.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":"47b8813afb1b73cb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}