{"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/videoicl-confidence-based-iterative-in","title":"VideoICL: Confidence-based Iterative In-context Learning for Out-of-Distribution Video Understanding","arxiv_id":"2412.02186","date":"2024-12-03","proceeding":"CVPR 2025 1","authors":["Kangsan Kim","Geon Park","Youngwan Lee","Woongyeong Yeo","Sung Ju Hwang"],"abstract":"Recent advancements in video large multimodal models (LMMs) have significantly improved their video understanding and reasoning capabilities. However, their performance drops on out-of-distribution (OOD) tasks that are underrepresented in training data. Traditional methods like fine-tuning on OOD datasets are impractical due to high computational costs. While In-context learning (ICL) with demonstration examples has shown promising generalization performance in language tasks and image-language tasks without fine-tuning, applying ICL to video-language tasks faces challenges due to the limited context length in Video LMMs, as videos require longer token lengths. To address these issues, we propose VideoICL, a novel video in-context learning framework for OOD tasks that introduces a similarity-based relevant example selection strategy and a confidence-based iterative inference approach. This allows to select the most relevant examples and rank them based on similarity, to be used for inference. If the generated response has low confidence, our framework selects new examples and performs inference again, iteratively refining the results until a high-confidence response is obtained. This approach improves OOD video understanding performance by extending effective context length without incurring high costs. The experimental results on multiple benchmarks demonstrate significant performance gains, especially in domain-specific scenarios, laying the groundwork for broader video comprehension applications. Code will be released at https://github.com/KangsanKim07/VideoICL","url_abs":"https://arxiv.org/abs/2412.02186v1","url_pdf":"https://arxiv.org/pdf/2412.02186v1.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":"videoicl-confidence-based-iterative-in","repo_url":"https://github.com/kangsankim07/videoicl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"video-understanding","task_name":"Video Understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.02186","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.02186"}},"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/kangsankim07/videoicl","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"ran":1,"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":"9b2250a3d13ed688","entry":"get_sinusoid_encoding_table","repo":"kangsankim07/videoicl","repo_kind":"official","path":"InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/modeling_finetune.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/modeling_finetune.py","link_basis":"plan_row","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":"9b2250a3d13ed688"}},{"code_sha256_prefix":"60db15a333d85bcb","entry":"get_data","repo":"kangsankim07/videoicl","repo_kind":"official","path":"qwen2vl.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/qwen2vl.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":"60db15a333d85bcb"}},{"code_sha256_prefix":"29416043c7035e7c","entry":"get_loss_scale_for_deepspeed","repo":"kangsankim07/videoicl","repo_kind":"official","path":"InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/engine_for_finetuning.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/engine_for_finetuning.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":"29416043c7035e7c"}},{"code_sha256_prefix":"7449fa3bceab6a8c","entry":"prepare_messages","repo":"kangsankim07/videoicl","repo_kind":"official","path":"qwen2vl.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/qwen2vl.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":"7449fa3bceab6a8c"}},{"code_sha256_prefix":"9ebea5d4d2975338","entry":"put_examples","repo":"kangsankim07/videoicl","repo_kind":"official","path":"qwen2vl.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/qwen2vl.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":"9ebea5d4d2975338"}},{"code_sha256_prefix":"14b3b13b2e7ee844","entry":"tensor_normalize","repo":"kangsankim07/videoicl","repo_kind":"official","path":"InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/kinetics.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/InternVideo/InternVideo1/Downstream/Spatial-Temporal-Action-Localization/kinetics.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":"14b3b13b2e7ee844"}},{"code_sha256_prefix":"c7976ea27edc377a","entry":"train_class_batch","repo":"kangsankim07/videoicl","repo_kind":"official","path":"InternVideo/InternVideo1/Pretrain/VideoMAE/engine_for_finetuning.py","file_url":"https://github.com/kangsankim07/videoicl/blob/HEAD/InternVideo/InternVideo1/Pretrain/VideoMAE/engine_for_finetuning.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":"c7976ea27edc377a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}