{"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/graph-to-3d-end-to-end-generation-and","title":"Graph-to-3D: End-to-End Generation and Manipulation of 3D Scenes Using Scene Graphs","arxiv_id":"2108.08841","date":"2021-08-19","proceeding":"ICCV 2021 10","authors":["Helisa Dhamo","Fabian Manhardt","Nassir Navab","Federico Tombari"],"abstract":"Controllable scene synthesis consists of generating 3D information that satisfy underlying specifications. Thereby, these specifications should be abstract, i.e. allowing easy user interaction, whilst providing enough interface for detailed control. Scene graphs are representations of a scene, composed of objects (nodes) and inter-object relationships (edges), proven to be particularly suited for this task, as they allow for semantic control on the generated content. Previous works tackling this task often rely on synthetic data, and retrieve object meshes, which naturally limits the generation capabilities. To circumvent this issue, we instead propose the first work that directly generates shapes from a scene graph in an end-to-end manner. In addition, we show that the same model supports scene modification, using the respective scene graph as interface. Leveraging Graph Convolutional Networks (GCN) we train a variational Auto-Encoder on top of the object and edge categories, as well as 3D shapes and scene layouts, allowing latter sampling of new scenes and shapes.","url_abs":"https://arxiv.org/abs/2108.08841v1","url_pdf":"https://arxiv.org/pdf/2108.08841v1.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":"graph-to-3d-end-to-end-generation-and","repo_url":"https://github.com/he-dhamo/graphto3d","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"object","task_name":"Object"}],"methods":[{"method_slug":"graph-convolutional-networks","method_name":"Graph Convolutional Networks"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.08841","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.08841"}},"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/he-dhamo/graphto3d","reach":null}],"summary":{"ran":2,"ran_draft_wrong":1,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":7,"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":"3e7b909bf3705fc1","entry":"GraphTripleConv","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3e7b909bf3705fc1"}},{"code_sha256_prefix":"ef59f52c08d1e995","entry":"WeightNetGCN","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ef59f52c08d1e995"}},{"code_sha256_prefix":"d5fa2a668d4411e5","entry":"build_mlp","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d5fa2a668d4411e5"}},{"code_sha256_prefix":"0845399702547253","entry":"make_mlp","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0845399702547253"}},{"code_sha256_prefix":"539eaf068851b210","entry":"GraphTripleConvNet","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.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":"539eaf068851b210"}},{"code_sha256_prefix":"56636d57978a592d","entry":"Sg2ScVAEModel","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.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":"56636d57978a592d"}},{"code_sha256_prefix":"0bb1f65c11193557","entry":"_init_weights","repo":"he-dhamo/graphto3d","repo_kind":"official","path":"model/VAEGAN_SHARED.py","file_url":"https://github.com/he-dhamo/graphto3d/blob/HEAD/model/VAEGAN_SHARED.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":"0bb1f65c11193557"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}