{"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/video-moment-retrieval-from-text-queries-via","title":"Video Moment Retrieval from Text Queries via Single Frame Annotation","arxiv_id":"2204.09409","date":"2022-04-20","proceeding":null,"authors":["Ran Cui","Tianwen Qian","Pai Peng","Elena Daskalaki","Jingjing Chen","Xiaowei Guo","Huyang Sun","Yu-Gang Jiang"],"abstract":"Video moment retrieval aims at finding the start and end timestamps of a moment (part of a video) described by a given natural language query. Fully supervised methods need complete temporal boundary annotations to achieve promising results, which is costly since the annotator needs to watch the whole moment. Weakly supervised methods only rely on the paired video and query, but the performance is relatively poor. In this paper, we look closer into the annotation process and propose a new paradigm called \"glance annotation\". This paradigm requires the timestamp of only one single random frame, which we refer to as a \"glance\", within the temporal boundary of the fully supervised counterpart. We argue this is beneficial because comparing to weak supervision, trivial cost is added yet more potential in performance is provided. Under the glance annotation setting, we propose a method named as Video moment retrieval via Glance Annotation (ViGA) based on contrastive learning. ViGA cuts the input video into clips and contrasts between clips and queries, in which glance guided Gaussian distributed weights are assigned to all clips. Our extensive experiments indicate that ViGA achieves better results than the state-of-the-art weakly supervised methods by a large margin, even comparable to fully supervised methods in some cases.","url_abs":"https://arxiv.org/abs/2204.09409v3","url_pdf":"https://arxiv.org/pdf/2204.09409v3.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":"video-moment-retrieval-from-text-queries-via","repo_url":"https://github.com/r-cui/ViGA","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"moment-retrieval","task_name":"Moment Retrieval"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2204.09409","atlas_url":"https://app.syntology.ai/?focus=2204.09409","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.09409"}},"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/r-cui/ViGA","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9},"by_repo_kind":{"official":{"samples":9,"ran":9,"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":"8aacf71aa706569b","entry":"generate_glance","repo":"r-cui/ViGA","repo_kind":"official","path":"src/dataset/generate_duration_glance.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/dataset/generate_duration_glance.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8aacf71aa706569b"}},{"code_sha256_prefix":"de4861acf39ea0b7","entry":"generate_glance","repo":"r-cui/ViGA","repo_kind":"official","path":"src/dataset/generate_glance.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/dataset/generate_glance.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"de4861acf39ea0b7"}},{"code_sha256_prefix":"53cc461ea1cb51c9","entry":"get_dataloader","repo":"r-cui/ViGA","repo_kind":"official","path":"src/dataset/dataset.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/dataset/dataset.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53cc461ea1cb51c9"}},{"code_sha256_prefix":"b8a58636933e534a","entry":"n_params","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b8a58636933e534a"}},{"code_sha256_prefix":"fa20e5fc3322d7fd","entry":"resample","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/vl_utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/vl_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fa20e5fc3322d7fd"}},{"code_sha256_prefix":"3c972d0a6beab968","entry":"safe_division","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c972d0a6beab968"}},{"code_sha256_prefix":"cbffb4232e13336f","entry":"sent_tokenize","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/vl_utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/vl_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cbffb4232e13336f"}},{"code_sha256_prefix":"52ddce29a36a2f02","entry":"sliding_window","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52ddce29a36a2f02"}},{"code_sha256_prefix":"19ba6c7e5a81ba75","entry":"word_tokenize","repo":"r-cui/ViGA","repo_kind":"official","path":"src/utils/vl_utils.py","file_url":"https://github.com/r-cui/ViGA/blob/HEAD/src/utils/vl_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"19ba6c7e5a81ba75"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}