{"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/learning-to-parse-wireframes-in-images-of-man-1","title":"Learning to Parse Wireframes in Images of Man-Made Environments","arxiv_id":"2007.07527","date":"2020-07-15","proceeding":"CVPR 2018 6","authors":["Kun Huang","Yifan Wang","Zihan Zhou","Tianjiao Ding","Shenghua Gao","Yi Ma"],"abstract":"In this paper, we propose a learning-based approach to the task of automatically extracting a \"wireframe\" representation for images of cluttered man-made environments. The wireframe (see Fig. 1) contains all salient straight lines and their junctions of the scene that encode efficiently and accurately large-scale geometry and object shapes. To this end, we have built a very large new dataset of over 5,000 images with wireframes thoroughly labelled by humans. We have proposed two convolutional neural networks that are suitable for extracting junctions and lines with large spatial support, respectively. The networks trained on our dataset have achieved significantly better performance than state-of-the-art methods for junction detection and line segment detection, respectively. We have conducted extensive experiments to evaluate quantitatively and qualitatively the wireframes obtained by our method, and have convincingly shown that effectively and efficiently parsing wireframes for images of man-made environments is a feasible goal within reach. Such wireframes could benefit many important visual tasks such as feature correspondence, 3D reconstruction, vision-based mapping, localization, and navigation. The data and source code are available at https://github.com/huangkuns/wireframe.","url_abs":"https://arxiv.org/abs/2007.07527v1","url_pdf":"https://arxiv.org/pdf/2007.07527v1.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":"learning-to-parse-wireframes-in-images-of-man-1","repo_url":"https://github.com/huangkuns/wireframe","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"junction-detection","task_name":"Junction Detection"},{"task_slug":"line-segment-detection","task_name":"Line Segment Detection"}],"methods":[],"datasets_introduced":[{"slug":"wireframe","name":"Wireframe","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2007.07527","atlas_url":"https://app.syntology.ai/?focus=2007.07527","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.07527"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/huangkuns/wireframe","reach":null}],"summary":{"ran_fixture":2,"unverified":1},"by_repo_kind":{"official":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"e739b4b880ac181b","entry":"calcAssignment","repo":"huangkuns/wireframe","repo_kind":"official","path":"wireframe.py","file_url":"https://github.com/huangkuns/wireframe/blob/HEAD/wireframe.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e739b4b880ac181b"}},{"code_sha256_prefix":"8d058b3018932a9a","entry":"thresholding","repo":"huangkuns/wireframe","repo_kind":"official","path":"wireframe.py","file_url":"https://github.com/huangkuns/wireframe/blob/HEAD/wireframe.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8d058b3018932a9a"}},{"code_sha256_prefix":"530a995a0750023c","entry":"imread","repo":"huangkuns/wireframe","repo_kind":"official","path":"wireframe.py","file_url":"https://github.com/huangkuns/wireframe/blob/HEAD/wireframe.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"530a995a0750023c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}