{"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/efficient-deformable-convnets-rethinking","title":"Efficient Deformable ConvNets: Rethinking Dynamic and Sparse Operator for Vision Applications","arxiv_id":"2401.06197","date":"2024-01-11","proceeding":"CVPR 2024 1","authors":["Yuwen Xiong","Zhiqi Li","Yuntao Chen","Feng Wang","Xizhou Zhu","Jiapeng Luo","Wenhai Wang","Tong Lu","Hongsheng Li","Yu Qiao","Lewei Lu","Jie zhou","Jifeng Dai"],"abstract":"We introduce Deformable Convolution v4 (DCNv4), a highly efficient and effective operator designed for a broad spectrum of vision applications. DCNv4 addresses the limitations of its predecessor, DCNv3, with two key enhancements: 1. removing softmax normalization in spatial aggregation to enhance its dynamic property and expressive power and 2. optimizing memory access to minimize redundant operations for speedup. These improvements result in a significantly faster convergence compared to DCNv3 and a substantial increase in processing speed, with DCNv4 achieving more than three times the forward speed. DCNv4 demonstrates exceptional performance across various tasks, including image classification, instance and semantic segmentation, and notably, image generation. When integrated into generative models like U-Net in the latent diffusion model, DCNv4 outperforms its baseline, underscoring its possibility to enhance generative models. In practical applications, replacing DCNv3 with DCNv4 in the InternImage model to create FlashInternImage results in up to 80% speed increase and further performance improvement without further modifications. The advancements in speed and efficiency of DCNv4, combined with its robust performance across diverse vision tasks, show its potential as a foundational building block for future vision models.","url_abs":"https://arxiv.org/abs/2401.06197v1","url_pdf":"https://arxiv.org/pdf/2401.06197v1.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":"efficient-deformable-convnets-rethinking","repo_url":"https://github.com/opengvlab/dcnv4","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"efficient-deformable-convnets-rethinking","repo_url":"https://github.com/chenller/mmseg-extension","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"deformable-convolution","method_name":"Deformable Convolution"},{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"speed","method_name":"SPEED"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2401.06197","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2401.06197"}},"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/opengvlab/dcnv4","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chenller/mmseg-extension","reach":null}],"summary":{"ran":5,"ran_honours":2,"unverified":11},"by_repo_kind":{"official":{"samples":12,"ran":2,"repositories":1},"listed":{"samples":6,"ran":5,"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":"d82968bff87f113b","entry":"CenterFeatureScaleModule","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.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":"d82968bff87f113b"}},{"code_sha256_prefix":"d4124ae005136b98","entry":"DCNv4","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.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":"d4124ae005136b98"}},{"code_sha256_prefix":"ce961555262652ff","entry":"DCNv4Function","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.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":"ce961555262652ff"}},{"code_sha256_prefix":"c9b8eed480765ae8","entry":"factors","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c9b8eed480765ae8"}},{"code_sha256_prefix":"20c4614598af707f","entry":"findspec","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"20c4614598af707f"}},{"code_sha256_prefix":"1c0a5794f6556b80","entry":"findspec","repo":"opengvlab/dcnv4","repo_kind":"official","path":"DCNv4_op/DCNv4/functions/flash_deform_attn_func.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/DCNv4_op/DCNv4/functions/flash_deform_attn_func.py","link_basis":"first_harvest_node","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":"1c0a5794f6556b80"}},{"code_sha256_prefix":"13649542907b646c","entry":"findspec_bwd","repo":"opengvlab/dcnv4","repo_kind":"official","path":"DCNv4_op/DCNv4/functions/flash_deform_attn_func.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/DCNv4_op/DCNv4/functions/flash_deform_attn_func.py","link_basis":"first_harvest_node","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":"13649542907b646c"}},{"code_sha256_prefix":"bb1a26fe42d7075c","entry":"allreduce_hook","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/ddp_hooks.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/ddp_hooks.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":"bb1a26fe42d7075c"}},{"code_sha256_prefix":"21bd5be56c8f79d0","entry":"bf16_compress_hook","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/ddp_hooks.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/ddp_hooks.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":"21bd5be56c8f79d0"}},{"code_sha256_prefix":"07e8b4b487c0abb6","entry":"build_scheduler","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/lr_scheduler.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/lr_scheduler.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":"07e8b4b487c0abb6"}},{"code_sha256_prefix":"80450600f7f09b0a","entry":"create_logger","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/logger.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/logger.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":"80450600f7f09b0a"}},{"code_sha256_prefix":"a626f0d745b8c280","entry":"find_spec_bwd","repo":"chenller/mmseg-extension","repo_kind":"listed","path":"mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","file_url":"https://github.com/chenller/mmseg-extension/blob/HEAD/mmsegextlib/dcnv4/mmsegextlib_dcnv4/modules/dcnv4.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a626f0d745b8c280"}},{"code_sha256_prefix":"297f5dc3b864f8ca","entry":"find_spec_bwd","repo":"opengvlab/dcnv4","repo_kind":"official","path":"DCNv4_op/DCNv4/functions/dcnv4_func.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/DCNv4_op/DCNv4/functions/dcnv4_func.py","link_basis":"first_harvest_node","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":"297f5dc3b864f8ca"}},{"code_sha256_prefix":"9c57b9e5a08a964c","entry":"findspec","repo":"opengvlab/dcnv4","repo_kind":"official","path":"DCNv4_op/DCNv4/functions/dcnv4_func.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/DCNv4_op/DCNv4/functions/dcnv4_func.py","link_basis":"first_harvest_node","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":"9c57b9e5a08a964c"}},{"code_sha256_prefix":"26bfffb625dfe211","entry":"fp16_compress_hook","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/ddp_hooks.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/ddp_hooks.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":"26bfffb625dfe211"}},{"code_sha256_prefix":"e452206cf1a59c19","entry":"get_config","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/config.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/config.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":"e452206cf1a59c19"}},{"code_sha256_prefix":"67cdd6568078cc51","entry":"main","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/extract_feature.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/extract_feature.py","link_basis":"first_harvest_node","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":"67cdd6568078cc51"}},{"code_sha256_prefix":"44925cf3831bfe79","entry":"rgetattr","repo":"opengvlab/dcnv4","repo_kind":"official","path":"classification/extract_feature.py","file_url":"https://github.com/opengvlab/dcnv4/blob/HEAD/classification/extract_feature.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":"44925cf3831bfe79"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}