{"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/rethinking-optical-flow-from-geometric","title":"Rethinking Optical Flow from Geometric Matching Consistent Perspective","arxiv_id":"2303.08384","date":"2023-03-15","proceeding":"CVPR 2023 1","authors":["Qiaole Dong","Chenjie Cao","Yanwei Fu"],"abstract":"Optical flow estimation is a challenging problem remaining unsolved. Recent deep learning based optical flow models have achieved considerable success. However, these models often train networks from the scratch on standard optical flow data, which restricts their ability to robustly and geometrically match image features. In this paper, we propose a rethinking to previous optical flow estimation. We particularly leverage Geometric Image Matching (GIM) as a pre-training task for the optical flow estimation (MatchFlow) with better feature representations, as GIM shares some common challenges as optical flow estimation, and with massive labeled real-world data. Thus, matching static scenes helps to learn more fundamental feature correlations of objects and scenes with consistent displacements. Specifically, the proposed MatchFlow model employs a QuadTree attention-based network pre-trained on MegaDepth to extract coarse features for further flow regression. Extensive experiments show that our model has great cross-dataset generalization. Our method achieves 11.5% and 10.1% error reduction from GMA on Sintel clean pass and KITTI test set. At the time of anonymous submission, our MatchFlow(G) enjoys state-of-the-art performance on Sintel clean and final pass compared to published approaches with comparable computation and memory footprint. Codes and models will be released in https://github.com/DQiaole/MatchFlow.","url_abs":"https://arxiv.org/abs/2303.08384v1","url_pdf":"https://arxiv.org/pdf/2303.08384v1.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":"rethinking-optical-flow-from-geometric","repo_url":"https://github.com/dqiaole/matchflow","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"geometric-matching","task_name":"Geometric Matching"},{"task_slug":"optical-flow-estimation","task_name":"Optical Flow Estimation"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2303.08384","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.08384"}},"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/dqiaole/matchflow","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/DQiaole/MatchFlow","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"unverified":5},"by_repo_kind":{"official":{"samples":7,"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":0,"samples":[{"code_sha256_prefix":"8ba161d133fcc70b","entry":"conv1x1","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"core/resnet_fpn.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/core/resnet_fpn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8ba161d133fcc70b"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"core/resnet_fpn.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/core/resnet_fpn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"32336e05900ce058","entry":"compute_grid_indices","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"evaluate_tile.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/evaluate_tile.py","link_basis":"harvester_set","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":"32336e05900ce058"}},{"code_sha256_prefix":"2789c3ac81074634","entry":"compute_weight","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"evaluate_tile.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/evaluate_tile.py","link_basis":"harvester_set","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":"2789c3ac81074634"}},{"code_sha256_prefix":"e3cce2329cd8edc0","entry":"validate_chairs","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/evaluate.py","link_basis":"harvester_set","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":"e3cce2329cd8edc0"}},{"code_sha256_prefix":"4164c7bf5434c653","entry":"validate_kitti","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"evaluate_tile.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/evaluate_tile.py","link_basis":"harvester_set","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":"4164c7bf5434c653"}},{"code_sha256_prefix":"6bd420a87d3f04be","entry":"validate_sintel","repo":"DQiaole/MatchFlow","repo_kind":"official","path":"evaluate.py","file_url":"https://github.com/DQiaole/MatchFlow/blob/HEAD/evaluate.py","link_basis":"harvester_set","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":"6bd420a87d3f04be"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}