{"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/layoutdm-discrete-diffusion-model-for","title":"LayoutDM: Discrete Diffusion Model for Controllable Layout Generation","arxiv_id":"2303.08137","date":"2023-03-14","proceeding":"CVPR 2023 1","authors":["Naoto Inoue","Kotaro Kikuchi","Edgar Simo-Serra","Mayu Otani","Kota Yamaguchi"],"abstract":"Controllable layout generation aims at synthesizing plausible arrangement of element bounding boxes with optional constraints, such as type or position of a specific element. In this work, we try to solve a broad range of layout generation tasks in a single model that is based on discrete state-space diffusion models. Our model, named LayoutDM, naturally handles the structured layout data in the discrete representation and learns to progressively infer a noiseless layout from the initial input, where we model the layout corruption process by modality-wise discrete diffusion. For conditional generation, we propose to inject layout constraints in the form of masking or logit adjustment during inference. We show in the experiments that our LayoutDM successfully generates high-quality layouts and outperforms both task-specific and task-agnostic baselines on several layout tasks.","url_abs":"https://arxiv.org/abs/2303.08137v1","url_pdf":"https://arxiv.org/pdf/2303.08137v1.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":"layoutdm-discrete-diffusion-model-for","repo_url":"https://github.com/CyberAgentAILab/layout-dm","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"layout-generation","task_name":"Layout Generation"},{"task_slug":null,"task_name":"Position"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.08137","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.08137"}},"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/CyberAgentAILab/layout-dm","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"9de163a84cf5fb0c","entry":"append_child","repo":"CyberAgentAILab/layout-dm","repo_kind":"official","path":"src/trainer/trainer/datasets/rico.py","file_url":"https://github.com/CyberAgentAILab/layout-dm/blob/HEAD/src/trainer/trainer/datasets/rico.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":"9de163a84cf5fb0c"}},{"code_sha256_prefix":"1f09210911a76554","entry":"files_exist","repo":"CyberAgentAILab/layout-dm","repo_kind":"official","path":"src/trainer/trainer/datasets/dataset.py","file_url":"https://github.com/CyberAgentAILab/layout-dm/blob/HEAD/src/trainer/trainer/datasets/dataset.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":"1f09210911a76554"}},{"code_sha256_prefix":"a9178e09ab2d3a5a","entry":"to_list","repo":"CyberAgentAILab/layout-dm","repo_kind":"official","path":"src/trainer/trainer/datasets/dataset.py","file_url":"https://github.com/CyberAgentAILab/layout-dm/blob/HEAD/src/trainer/trainer/datasets/dataset.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":"a9178e09ab2d3a5a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}