{"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/synthesis-of-compositional-animations-from","title":"Synthesis of Compositional Animations from Textual Descriptions","arxiv_id":"2103.14675","date":"2021-03-26","proceeding":"ICCV 2021 10","authors":["Anindita Ghosh","Noshaba Cheema","Cennet Oguz","Christian Theobalt","Philipp Slusallek"],"abstract":"\"How can we animate 3D-characters from a movie script or move robots by simply telling them what we would like them to do?\" \"How unstructured and complex can we make a sentence and still generate plausible movements from it?\" These are questions that need to be answered in the long-run, as the field is still in its infancy. Inspired by these problems, we present a new technique for generating compositional actions, which handles complex input sentences. Our output is a 3D pose sequence depicting the actions in the input sentence. We propose a hierarchical two-stream sequential model to explore a finer joint-level mapping between natural language sentences and 3D pose sequences corresponding to the given motion. We learn two manifold representations of the motion -- one each for the upper body and the lower body movements. Our model can generate plausible pose sequences for short sentences describing single actions as well as long compositional sentences describing multiple sequential and superimposed actions. We evaluate our proposed model on the publicly available KIT Motion-Language Dataset containing 3D pose data with human-annotated sentences. Experimental results show that our model advances the state-of-the-art on text-based motion synthesis in objective evaluations by a margin of 50%. Qualitative evaluations based on a user study indicate that our synthesized motions are perceived to be the closest to the ground-truth motion captures for both short and compositional sentences.","url_abs":"https://arxiv.org/abs/2103.14675v6","url_pdf":"https://arxiv.org/pdf/2103.14675v6.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":"synthesis-of-compositional-animations-from","repo_url":"https://github.com/anindita127/complextext2animation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"motion-synthesis","task_name":"Motion Synthesis"},{"task_slug":"sentence","task_name":"Sentence"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2103.14675","atlas_url":"https://app.syntology.ai/?focus=2103.14675","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.14675"}},"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/anindita127/complextext2animation","reach":null}],"summary":{"ran":2,"unverified":3},"by_repo_kind":{"official":{"samples":5,"ran":2,"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":"2296e385cd876e4e","entry":"PoseEncoder","repo":"anindita127/complextext2animation","repo_kind":"official","path":"src/model/model_hierarchical_twostream.py","file_url":"https://github.com/anindita127/complextext2animation/blob/HEAD/src/model/model_hierarchical_twostream.py","link_basis":"first_harvest_node","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":"2296e385cd876e4e"}},{"code_sha256_prefix":"54465b3c341f286b","entry":"VelDecoderCell","repo":"anindita127/complextext2animation","repo_kind":"official","path":"src/model/model_hierarchical_twostream.py","file_url":"https://github.com/anindita127/complextext2animation/blob/HEAD/src/model/model_hierarchical_twostream.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"54465b3c341f286b"}},{"code_sha256_prefix":"2b1c0c8de6b0bc47","entry":"PoseGenerator","repo":"anindita127/complextext2animation","repo_kind":"official","path":"src/model/model_hierarchical_twostream.py","file_url":"https://github.com/anindita127/complextext2animation/blob/HEAD/src/model/model_hierarchical_twostream.py","link_basis":"first_harvest_node","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":"2b1c0c8de6b0bc47"}},{"code_sha256_prefix":"a64ba10b91371a0c","entry":"TeacherForcing","repo":"anindita127/complextext2animation","repo_kind":"official","path":"src/model/model_hierarchical_twostream.py","file_url":"https://github.com/anindita127/complextext2animation/blob/HEAD/src/model/model_hierarchical_twostream.py","link_basis":"first_harvest_node","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":"a64ba10b91371a0c"}},{"code_sha256_prefix":"01b8c185a52eb16a","entry":"VelDecoder","repo":"anindita127/complextext2animation","repo_kind":"official","path":"src/model/model_hierarchical_twostream.py","file_url":"https://github.com/anindita127/complextext2animation/blob/HEAD/src/model/model_hierarchical_twostream.py","link_basis":"first_harvest_node","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":"01b8c185a52eb16a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}