{"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/high-resolution-optical-flow-from-1d","title":"High-Resolution Optical Flow from 1D Attention and Correlation","arxiv_id":"2104.13918","date":"2021-04-28","proceeding":"ICCV 2021 10","authors":["Haofei Xu","Jiaolong Yang","Jianfei Cai","Juyong Zhang","Xin Tong"],"abstract":"Optical flow is inherently a 2D search problem, and thus the computational complexity grows quadratically with respect to the search window, making large displacements matching infeasible for high-resolution images. In this paper, we take inspiration from Transformers and propose a new method for high-resolution optical flow estimation with significantly less computation. Specifically, a 1D attention operation is first applied in the vertical direction of the target image, and then a simple 1D correlation in the horizontal direction of the attended image is able to achieve 2D correspondence modeling effect. The directions of attention and correlation can also be exchanged, resulting in two 3D cost volumes that are concatenated for optical flow estimation. The novel 1D formulation empowers our method to scale to very high-resolution input images while maintaining competitive performance. Extensive experiments on Sintel, KITTI and real-world 4K ($2160 \\times 3840$) resolution images demonstrated the effectiveness and superiority of our proposed method. Code and models are available at \\url{https://github.com/haofeixu/flow1d}.","url_abs":"https://arxiv.org/abs/2104.13918v2","url_pdf":"https://arxiv.org/pdf/2104.13918v2.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":"high-resolution-optical-flow-from-1d","repo_url":"https://github.com/haofeixu/flow1d","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"4k","task_name":"4k"},{"task_slug":"optical-flow-estimation","task_name":"Optical Flow Estimation"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"}],"methods":[{"method_slug":"high-resolution-input","method_name":"High-resolution input"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.13918","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.13918"}},"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":"deterministic:regex_extraction","url":"https://github.com/haofeixu/flow1d","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":5},"by_repo_kind":{"official":{"samples":9,"ran":4,"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":"abcbf43ad9fe6129","entry":"compute_color","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/flow_viz.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/flow_viz.py","link_basis":"plan_row","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":"abcbf43ad9fe6129"}},{"code_sha256_prefix":"04de40832d91cecb","entry":"readFlowKITTI","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/frame_utils.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/frame_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":"04de40832d91cecb"}},{"code_sha256_prefix":"7c3fbc1f552de802","entry":"readPFM","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/frame_utils.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/frame_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":"7c3fbc1f552de802"}},{"code_sha256_prefix":"78088e741a0c4b80","entry":"read_text_lines","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/misc.py","link_basis":"plan_row","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":"78088e741a0c4b80"}},{"code_sha256_prefix":"a9cf5d488feb28b4","entry":"criterion","repo":"haofeixu/flow1d","repo_kind":"official","path":"loss.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/loss.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":"a9cf5d488feb28b4"}},{"code_sha256_prefix":"215f62561b03c262","entry":"flow_compute_color","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/flow_viz.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/flow_viz.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":"215f62561b03c262"}},{"code_sha256_prefix":"d59fe7ab39463182","entry":"flow_to_color","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/flow_viz.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/flow_viz.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":"d59fe7ab39463182"}},{"code_sha256_prefix":"76f433ffb0eb1150","entry":"int_list","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/misc.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":"76f433ffb0eb1150"}},{"code_sha256_prefix":"1662ea0b62b0229c","entry":"readFlow","repo":"haofeixu/flow1d","repo_kind":"official","path":"utils/frame_utils.py","file_url":"https://github.com/haofeixu/flow1d/blob/HEAD/utils/frame_utils.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":"1662ea0b62b0229c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}