{"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/polyworld-polygonal-building-extraction-with","title":"PolyWorld: Polygonal Building Extraction with Graph Neural Networks in Satellite Images","arxiv_id":"2111.15491","date":"2021-11-30","proceeding":"CVPR 2022 1","authors":["Stefano Zorzi","Shabab Bazrafkan","Stefan Habenschuss","Friedrich Fraundorfer"],"abstract":"While most state-of-the-art instance segmentation methods produce binary segmentation masks, geographic and cartographic applications typically require precise vector polygons of extracted objects instead of rasterized output. This paper introduces PolyWorld, a neural network that directly extracts building vertices from an image and connects them correctly to create precise polygons. The model predicts the connection strength between each pair of vertices using a graph neural network and estimates the assignments by solving a differentiable optimal transport problem. Moreover, the vertex positions are optimized by minimizing a combined segmentation and polygonal angle difference loss. PolyWorld significantly outperforms the state of the art in building polygonization and achieves not only notable quantitative results, but also produces visually pleasing building polygons. Code and trained weights are publicly available at https://github.com/zorzi-s/PolyWorldPretrainedNetwork.","url_abs":"https://arxiv.org/abs/2111.15491v3","url_pdf":"https://arxiv.org/pdf/2111.15491v3.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":"polyworld-polygonal-building-extraction-with","repo_url":"https://github.com/zorzi-s/polyworldpretrainednetwork","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2111.15491","atlas_url":"https://app.syntology.ai/?focus=2111.15491","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.15491"}},"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/zorzi-s/polyworldpretrainednetwork","reach":null}],"summary":{"ran_honours":2,"ran_draft_wrong":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":"3d1b56f5178d7a01","entry":"bounding_box_from_points","repo":"zorzi-s/polyworldpretrainednetwork","repo_kind":"official","path":"prediction.py","file_url":"https://github.com/zorzi-s/polyworldpretrainednetwork/blob/HEAD/prediction.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3d1b56f5178d7a01"}},{"code_sha256_prefix":"94c7cff18fc4161e","entry":"calc_IoU","repo":"zorzi-s/polyworldpretrainednetwork","repo_kind":"official","path":"coco_IoU_cIoU.py","file_url":"https://github.com/zorzi-s/polyworldpretrainednetwork/blob/HEAD/coco_IoU_cIoU.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"94c7cff18fc4161e"}},{"code_sha256_prefix":"a07d1128d179f7fe","entry":"single_annotation","repo":"zorzi-s/polyworldpretrainednetwork","repo_kind":"official","path":"prediction.py","file_url":"https://github.com/zorzi-s/polyworldpretrainednetwork/blob/HEAD/prediction.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a07d1128d179f7fe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}