{"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/treemeshgpt-artistic-mesh-generation-with","title":"TreeMeshGPT: Artistic Mesh Generation with Autoregressive Tree Sequencing","arxiv_id":"2503.11629","date":"2025-03-14","proceeding":"CVPR 2025 1","authors":["Stefan Lionar","Jiabin Liang","Gim Hee Lee"],"abstract":"We introduce TreeMeshGPT, an autoregressive Transformer designed to generate high-quality artistic meshes aligned with input point clouds. Instead of the conventional next-token prediction in autoregressive Transformer, we propose a novel Autoregressive Tree Sequencing where the next input token is retrieved from a dynamically growing tree structure that is built upon the triangle adjacency of faces within the mesh. Our sequencing enables the mesh to extend locally from the last generated triangular face at each step, and therefore reduces training difficulty and improves mesh quality. Our approach represents each triangular face with two tokens, achieving a compression rate of approximately 22% compared to the naive face tokenization. This efficient tokenization enables our model to generate highly detailed artistic meshes with strong point cloud conditioning, surpassing previous methods in both capacity and fidelity. Furthermore, our method generates mesh with strong normal orientation constraints, minimizing flipped normals commonly encountered in previous methods. Our experiments show that TreeMeshGPT enhances the mesh generation quality with refined details and normal orientation consistency.","url_abs":"https://arxiv.org/abs/2503.11629v1","url_pdf":"https://arxiv.org/pdf/2503.11629v1.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":"treemeshgpt-artistic-mesh-generation-with","repo_url":"https://github.com/sail-sg/treemeshgpt","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":{"syntology_url":"https://syntology.ai/paper/2503.11629","atlas_url":"https://app.syntology.ai/?focus=2503.11629","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.11629"}},"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/sail-sg/treemeshgpt","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":3,"ran_violates":6,"ran_fixture":1},"by_repo_kind":{"official":{"samples":10,"ran":10,"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":"776262a97cfb17be","entry":"center_vertices","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"fns.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/fns.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"776262a97cfb17be"}},{"code_sha256_prefix":"99b3563ebc6734ad","entry":"default","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/pc_encoder.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/pc_encoder.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"99b3563ebc6734ad"}},{"code_sha256_prefix":"915fbeb88e13d4a3","entry":"default","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/custom_transformers_inference.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/custom_transformers_inference.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"915fbeb88e13d4a3"}},{"code_sha256_prefix":"f912c209e9c899ca","entry":"divisible_by","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"trainer.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/trainer.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f912c209e9c899ca"}},{"code_sha256_prefix":"87577b3ff9d32712","entry":"drop_path","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/pc_encoder.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/pc_encoder.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"87577b3ff9d32712"}},{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/custom_transformers_inference.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/custom_transformers_inference.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"0ff658860f6a6e4f","entry":"first","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/custom_transformers_inference.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/custom_transformers_inference.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0ff658860f6a6e4f"}},{"code_sha256_prefix":"c9d218cc20acf84d","entry":"get_positional_encoding","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"model/treemeshgpt_inference.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/model/treemeshgpt_inference.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c9d218cc20acf84d"}},{"code_sha256_prefix":"48bf5cc711096a70","entry":"normalize_vertices_scale","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"fns.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/fns.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48bf5cc711096a70"}},{"code_sha256_prefix":"3574b3bb42395a32","entry":"str2bool","repo":"sail-sg/treemeshgpt","repo_kind":"official","path":"fns.py","file_url":"https://github.com/sail-sg/treemeshgpt/blob/HEAD/fns.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3574b3bb42395a32"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}