{"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/pretrained-image-text-models-are-secretly","title":"Pretrained Image-Text Models are Secretly Video Captioners","arxiv_id":"2502.13363","date":"2025-02-19","proceeding":null,"authors":["Chunhui Zhang","Yiren Jian","Zhongyu Ouyang","Soroush Vosoughi"],"abstract":"Developing video captioning models is computationally expensive. The dynamic nature of video also complicates the design of multimodal models that can effectively caption these sequences. However, we find that by using minimal computational resources and without complex modifications to address video dynamics, an image-based model can be repurposed to outperform several specialised video captioning systems. Our adapted model demonstrates top tier performance on major benchmarks, ranking 2nd on MSRVTT and MSVD, and 3rd on VATEX. We transform it into a competitive video captioner by post training a typical image captioning model BLIP2 with only 6,000 video text pairs and simply concatenating frames (significantly fewer data than other methods), which use 2.5 to 144 million pairs. From a resource optimization perspective, this video captioning study focuses on three fundamental factors: optimizing model scale, maximizing data efficiency, and incorporating reinforcement learning. This extensive study demonstrates that a lightweight, image based adaptation strategy can rival state-of-the-art video captioning systems, offering a practical solution for low-resource scenarios.","url_abs":"https://arxiv.org/abs/2502.13363v1","url_pdf":"https://arxiv.org/pdf/2502.13363v1.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":"pretrained-image-text-models-are-secretly","repo_url":"https://github.com/chunhuizng/mllm-video-captioner","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"image-captioning","task_name":"Image Captioning"},{"task_slug":"video-captioning","task_name":"Video Captioning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2502.13363","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2502.13363"}},"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/chunhuizng/mllm-video-captioner","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran":2,"unverified":3},"by_repo_kind":{"official":{"samples":5,"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":5,"samples":[{"code_sha256_prefix":"56f02812d66a0d11","entry":"generate_caption","repo":"chunhuizng/mllm-video-captioner","repo_kind":"official","path":"app/caption.py","file_url":"https://github.com/chunhuizng/mllm-video-captioner/blob/HEAD/app/caption.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"56f02812d66a0d11"}},{"code_sha256_prefix":"13a43a7d815937e6","entry":"read_img","repo":"chunhuizng/mllm-video-captioner","repo_kind":"official","path":"app/calculate_coco_features.py","file_url":"https://github.com/chunhuizng/mllm-video-captioner/blob/HEAD/app/calculate_coco_features.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"13a43a7d815937e6"}},{"code_sha256_prefix":"6205e41e68ab3848","entry":"crop","repo":"chunhuizng/mllm-video-captioner","repo_kind":"official","path":"lavis/processors/functional_video.py","file_url":"https://github.com/chunhuizng/mllm-video-captioner/blob/HEAD/lavis/processors/functional_video.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"6205e41e68ab3848"}},{"code_sha256_prefix":"f1f9c7dfbe0b3105","entry":"resize","repo":"chunhuizng/mllm-video-captioner","repo_kind":"official","path":"lavis/processors/functional_video.py","file_url":"https://github.com/chunhuizng/mllm-video-captioner/blob/HEAD/lavis/processors/functional_video.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"f1f9c7dfbe0b3105"}},{"code_sha256_prefix":"d0e65b9f687e2f97","entry":"resized_crop","repo":"chunhuizng/mllm-video-captioner","repo_kind":"official","path":"lavis/processors/functional_video.py","file_url":"https://github.com/chunhuizng/mllm-video-captioner/blob/HEAD/lavis/processors/functional_video.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":false,"mcp_get_code":{"code_sha256":"d0e65b9f687e2f97"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}