{"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/dualfocus-integrating-macro-and-micro","title":"DualFocus: Integrating Macro and Micro Perspectives in Multi-modal Large Language Models","arxiv_id":"2402.14767","date":"2024-02-22","proceeding":null,"authors":["Yuhang Cao","Pan Zhang","Xiaoyi Dong","Dahua Lin","Jiaqi Wang"],"abstract":"We present DualFocus, a novel framework for integrating macro and micro perspectives within multi-modal large language models (MLLMs) to enhance vision-language task performance. Current MLLMs typically singularly focus on inputs at a predefined resolution, resulting in deficiencies in detailed questions involving local regions. We introduced a DualFocus mechanism where the model concentrates on the image from a macro perspective, responses to the question, and identifies suitable sub-regions to zoom in for subsequent micro perspective analysis. Via the integration of answers from both macro and micro perspectives, the model is adept at addressing tasks that encompass global, detailed, and combined considerations. To endows the DualFocus mechanism in MLLMs, we curated a tailored dataset derived from the Visual Genome (VG) and adapted it to align with the training regimen of DualFocus. Through comparative studies across different model sizes and benchmarks, we demonstrate DualFocus's superiority in balancing detailed examination with holistic insight, significantly reducing hallucination instances in MLLMs and improving their performance in various vision-language tasks.","url_abs":"https://arxiv.org/abs/2402.14767v1","url_pdf":"https://arxiv.org/pdf/2402.14767v1.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":"dualfocus-integrating-macro-and-micro","repo_url":"https://github.com/InternLM/InternLM-XComposer/tree/main/projects/DualFocus","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"hallucination","task_name":"Hallucination"}],"methods":[{"method_slug":"align","method_name":"ALIGN"},{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.14767","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.14767"}},"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/InternLM/InternLM-XComposer/tree/main/projects/DualFocus","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":8},"by_repo_kind":{"official":{"samples":8,"ran":8,"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":"6bf10298420acb23","entry":"HD_transform","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-2.0/finetune/ixc_utils.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-2.0/finetune/ixc_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6bf10298420acb23"}},{"code_sha256_prefix":"b3350d09de4014cf","entry":"check_data","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-2.5-Reward/training/finetune.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-2.5-Reward/training/finetune.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b3350d09de4014cf"}},{"code_sha256_prefix":"c5b8dbd3d9375ba7","entry":"conv2text","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-1.0/finetune/data_mix.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-1.0/finetune/data_mix.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c5b8dbd3d9375ba7"}},{"code_sha256_prefix":"b5741471e022d9ca","entry":"conv2text","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-2.0/finetune/data_mix.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-2.0/finetune/data_mix.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b5741471e022d9ca"}},{"code_sha256_prefix":"c5c4e5fb5f7a294e","entry":"download_image","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-1.0/demo_asset/download.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-1.0/demo_asset/download.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c5c4e5fb5f7a294e"}},{"code_sha256_prefix":"b8cd050154e8b5e9","entry":"padding_336","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-2.0/finetune/ixc_utils.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-2.0/finetune/ixc_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b8cd050154e8b5e9"}},{"code_sha256_prefix":"15e54d5d53ab90ac","entry":"post_process_code","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-1.0/demo_asset/serve_utils.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-1.0/demo_asset/serve_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"15e54d5d53ab90ac"}},{"code_sha256_prefix":"607a861da4671ce5","entry":"post_process_output","repo":"InternLM/InternLM-XComposer","repo_kind":"official","path":"InternLM-XComposer-1.0/demo_asset/serve_utils.py","file_url":"https://github.com/InternLM/InternLM-XComposer/blob/HEAD/InternLM-XComposer-1.0/demo_asset/serve_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"607a861da4671ce5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}