{"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/atek-augmenting-transformers-with-expert","title":"LayoutEnhancer: Generating Good Indoor Layouts from Imperfect Data","arxiv_id":"2202.00185","date":"2022-02-01","proceeding":null,"authors":["Kurt Leimer","Paul Guerrero","Tomer Weiss","Przemyslaw Musialski"],"abstract":"We address the problem of indoor layout synthesis, which is a topic of continuing research interest in computer graphics. The newest works made significant progress using data-driven generative methods; however, these approaches rely on suitable datasets. In practice, desirable layout properties may not exist in a dataset, for instance, specific expert knowledge can be missing in the data. We propose a method that combines expert knowledge, for example, knowledge about ergonomics, with a data-driven generator based on the popular Transformer architecture. The knowledge is given as differentiable scalar functions, which can be used both as weights or as additional terms in the loss function. Using this knowledge, the synthesized layouts can be biased to exhibit desirable properties, even if these properties are not present in the dataset. Our approach can also alleviate problems of lack of data and imperfections in the data. Our work aims to improve generative machine learning for modeling and provide novel tools for designers and amateurs for the problem of interior layout creation.","url_abs":"https://arxiv.org/abs/2202.00185v2","url_pdf":"https://arxiv.org/pdf/2202.00185v2.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":"atek-augmenting-transformers-with-expert","repo_url":"https://github.com/kleimertu/humancentriclayouts","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2202.00185","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2202.00185"}},"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/kleimertu/humancentriclayouts","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"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":"bb6470b953dda7e8","entry":"center_furniture","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/main_functions.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/main_functions.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":"bb6470b953dda7e8"}},{"code_sha256_prefix":"2c5d0de3135d0d08","entry":"filter_furniture","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/main_functions.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/main_functions.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":"2c5d0de3135d0d08"}},{"code_sha256_prefix":"f117eee8d504b8c7","entry":"gaussian1d","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/main_functions.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/main_functions.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":"f117eee8d504b8c7"}},{"code_sha256_prefix":"a8ed42b79afa84a1","entry":"glare_par","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/evaluation.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/evaluation.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":"a8ed42b79afa84a1"}},{"code_sha256_prefix":"a7720d87742e78cf","entry":"lighting_par","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/evaluation.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/evaluation.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":"a7720d87742e78cf"}},{"code_sha256_prefix":"f19bd55602778439","entry":"train","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/network.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/network.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":"f19bd55602778439"}},{"code_sha256_prefix":"8118edf915e71390","entry":"validate","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/network.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/network.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":"8118edf915e71390"}},{"code_sha256_prefix":"f1e67440c109a5df","entry":"visibility_par","repo":"kleimertu/humancentriclayouts","repo_kind":"official","path":"src/evaluation.py","file_url":"https://github.com/kleimertu/humancentriclayouts/blob/HEAD/src/evaluation.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":"f1e67440c109a5df"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}