{"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/motion-representations-for-articulated-1","title":"Motion Representations for Articulated Animation","arxiv_id":"2104.11280","date":"2021-04-22","proceeding":"CVPR 2021 1","authors":["Aliaksandr Siarohin","Oliver J. Woodford","Jian Ren","Menglei Chai","Sergey Tulyakov"],"abstract":"We propose novel motion representations for animating articulated objects consisting of distinct parts. In a completely unsupervised manner, our method identifies object parts, tracks them in a driving video, and infers their motions by considering their principal axes. In contrast to the previous keypoint-based works, our method extracts meaningful and consistent regions, describing locations, shape, and pose. The regions correspond to semantically relevant and distinct object parts, that are more easily detected in frames of the driving video. To force decoupling of foreground from background, we model non-object related global motion with an additional affine transformation. To facilitate animation and prevent the leakage of the shape of the driving object, we disentangle shape and pose of objects in the region space. Our model can animate a variety of objects, surpassing previous methods by a large margin on existing benchmarks. We present a challenging new benchmark with high-resolution videos and show that the improvement is particularly pronounced when articulated objects are considered, reaching 96.6% user preference vs. the state of the art.","url_abs":"https://arxiv.org/abs/2104.11280v1","url_pdf":"https://arxiv.org/pdf/2104.11280v1.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":"motion-representations-for-articulated-1","repo_url":"https://github.com/snap-research/articulated-animation","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"motion-representations-for-articulated-1","repo_url":"https://github.com/AliaksandrSiarohin/first-order-model","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"video-reconstruction","task_name":"Video Reconstruction"}],"methods":[],"datasets_introduced":[{"slug":"ted-talks","name":"TED-talks","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/video-reconstruction-on-mgif","task":"Video Reconstruction","dataset":"MGif","model":"Siarohin et al.","rank_in_archive_order":1,"of":2,"metrics":{"L1":"0.0206"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-mgif","task":"Video Reconstruction","dataset":"MGif","model":"FOMM","rank_in_archive_order":2,"of":2,"metrics":{"L1":"0.0223"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-ted-talks","task":"Video Reconstruction","dataset":"TED-talks","model":"Siarohin et al.","rank_in_archive_order":1,"of":2,"metrics":{"AED":"0.114","AKD":"3.75","L1":"0.026","MKR":"0.007"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-ted-talks","task":"Video Reconstruction","dataset":"TED-talks","model":"FOMM","rank_in_archive_order":2,"of":2,"metrics":{"AED":"0.163","AKD":"7.07","L1":"0.033","MKR":"0.014"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-tai-chi-hd-256","task":"Video Reconstruction","dataset":"Tai-Chi-HD (256)","model":"Siarohin et al.","rank_in_archive_order":1,"of":2,"metrics":{"AED":"0.152","AKD":"5.58","L1":"0.047","MKR":"0.027"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-tai-chi-hd-256","task":"Video Reconstruction","dataset":"Tai-Chi-HD (256)","model":"FOMM","rank_in_archive_order":2,"of":2,"metrics":{"AED":"0.172","AKD":"6.53","L1":"0.056","MKR":"0.033"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-tai-chi-hd-512","task":"Video Reconstruction","dataset":"Tai-Chi-HD (512)","model":"Siarohin et al.","rank_in_archive_order":1,"of":2,"metrics":{"AED":"0.172","AKD":"13.86","L1":"0.064","MKR":"0.043"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-tai-chi-hd-512","task":"Video Reconstruction","dataset":"Tai-Chi-HD (512)","model":"FOMM","rank_in_archive_order":2,"of":2,"metrics":{"AED":"0.203","AKD":"17.12","L1":"0.075","MKR":"0.066"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-voxceleb","task":"Video Reconstruction","dataset":"VoxCeleb","model":"Siarohin et al.","rank_in_archive_order":1,"of":2,"metrics":{"AED":"0.133","AKD":"1.28","L1":"0.040"},"uses_additional_data":false},{"leaderboard":"/sota/video-reconstruction-on-voxceleb","task":"Video Reconstruction","dataset":"VoxCeleb","model":"FOMM","rank_in_archive_order":2,"of":2,"metrics":{"AED":"0.134","AKD":"1.27","L1":"0.041"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.11280","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.11280"}},"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/AliaksandrSiarohin/first-order-model","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/snap-research/articulated-animation","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/snapresearch/articulated-animation","reach":{"status":"gone","observed_at":"2026-09-17","how":"tree_404+repo_404"}}],"summary":{"ran":1,"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":5,"ran":2,"repositories":1},"listed":{"samples":1,"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":5,"samples":[{"code_sha256_prefix":"0f297bc88d95e3b0","entry":"Hourglass","repo":"snap-research/articulated-animation","repo_kind":"official","path":"modules/region_predictor.py","file_url":"https://github.com/snap-research/articulated-animation/blob/HEAD/modules/region_predictor.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0f297bc88d95e3b0"}},{"code_sha256_prefix":"0d236fe33ec308ac","entry":"svd","repo":"snap-research/articulated-animation","repo_kind":"official","path":"modules/region_predictor.py","file_url":"https://github.com/snap-research/articulated-animation/blob/HEAD/modules/region_predictor.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0d236fe33ec308ac"}},{"code_sha256_prefix":"9ea00b3a056c3e42","entry":"AntiAliasInterpolation2d","repo":"snap-research/articulated-animation","repo_kind":"official","path":"modules/region_predictor.py","file_url":"https://github.com/snap-research/articulated-animation/blob/HEAD/modules/region_predictor.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"9ea00b3a056c3e42"}},{"code_sha256_prefix":"5e2e6d30631114c2","entry":"Decoder","repo":"snap-research/articulated-animation","repo_kind":"official","path":"modules/region_predictor.py","file_url":"https://github.com/snap-research/articulated-animation/blob/HEAD/modules/region_predictor.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5e2e6d30631114c2"}},{"code_sha256_prefix":"b31dd89f51305594","entry":"KPDetector","repo":"AliaksandrSiarohin/first-order-model","repo_kind":"listed","path":"modules/keypoint_detector.py","file_url":"https://github.com/AliaksandrSiarohin/first-order-model/blob/HEAD/modules/keypoint_detector.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":"b31dd89f51305594"}},{"code_sha256_prefix":"0b353848134c5944","entry":"RegionPredictor","repo":"snap-research/articulated-animation","repo_kind":"official","path":"modules/region_predictor.py","file_url":"https://github.com/snap-research/articulated-animation/blob/HEAD/modules/region_predictor.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0b353848134c5944"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}