{"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/tpc-test-time-procrustes-calibration-for","title":"TPC: Test-time Procrustes Calibration for Diffusion-based Human Image Animation","arxiv_id":"2410.24037","date":"2024-10-31","proceeding":null,"authors":["Sunjae Yoon","Gwanhyeong Koo","Younghwan Lee","Chang D. Yoo"],"abstract":"Human image animation aims to generate a human motion video from the inputs of a reference human image and a target motion video. Current diffusion-based image animation systems exhibit high precision in transferring human identity into targeted motion, yet they still exhibit irregular quality in their outputs. Their optimal precision is achieved only when the physical compositions (i.e., scale and rotation) of the human shapes in the reference image and target pose frame are aligned. In the absence of such alignment, there is a noticeable decline in fidelity and consistency. Especially, in real-world environments, this compositional misalignment commonly occurs, posing significant challenges to the practical usage of current systems. To this end, we propose Test-time Procrustes Calibration (TPC), which enhances the robustness of diffusion-based image animation systems by maintaining optimal performance even when faced with compositional misalignment, effectively addressing real-world scenarios. The TPC provides a calibrated reference image for the diffusion model, enhancing its capability to understand the correspondence between human shapes in the reference and target images. Our method is simple and can be applied to any diffusion-based image animation system in a model-agnostic manner, improving the effectiveness at test time without additional training.","url_abs":"https://arxiv.org/abs/2410.24037v1","url_pdf":"https://arxiv.org/pdf/2410.24037v1.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":[],"tasks":[{"task_slug":"image-animation","task_name":"Image Animation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"procrustes","method_name":"Procrustes"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.24037","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.24037"}},"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":"deterministic:regex_extraction","url":"https://github.com/dbstjswo505/TPC","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/MooreThreads/Moore-AnimateAnyone","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":2,"ran_fixture":2,"unverified":10},"by_repo_kind":{"found_in_text":{"samples":14,"ran":4,"repositories":2}},"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":"fac5364e2f53c6db","entry":"conv3x3","repo":"dbstjswo505/TPC","repo_kind":"found_in_text","path":"TPC/densepose/modeling/hrnet.py","file_url":"https://github.com/dbstjswo505/TPC/blob/HEAD/TPC/densepose/modeling/hrnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"8ad410cc3c1eb4b2","entry":"multiclass_nms","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/onnxdet.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/onnxdet.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8ad410cc3c1eb4b2"}},{"code_sha256_prefix":"ce701a4106957782","entry":"nms","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/onnxdet.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/onnxdet.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ce701a4106957782"}},{"code_sha256_prefix":"4719c763c53be3fe","entry":"zero_module","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/models/motion_module.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/models/motion_module.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4719c763c53be3fe"}},{"code_sha256_prefix":"16309f96889a07a1","entry":"compute_snr","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"train_stage_1.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/train_stage_1.py","link_basis":"first_harvest_node","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":"16309f96889a07a1"}},{"code_sha256_prefix":"2c02b3b459122f59","entry":"decode_latents","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"train_stage_2.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/train_stage_2.py","link_basis":"first_harvest_node","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":"2c02b3b459122f59"}},{"code_sha256_prefix":"64d861666d61123b","entry":"demo_postprocess","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/onnxdet.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/onnxdet.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":"64d861666d61123b"}},{"code_sha256_prefix":"525d02f457ec7c07","entry":"get_motion_module","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/models/motion_module.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/models/motion_module.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":"525d02f457ec7c07"}},{"code_sha256_prefix":"3fc42c6bc0ad77b7","entry":"padRightDownCorner","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/util.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/util.py","link_basis":"first_harvest_node","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":"3fc42c6bc0ad77b7"}},{"code_sha256_prefix":"bb3bf2f13b8a3eb5","entry":"postprocess","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/onnxpose.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/onnxpose.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":"bb3bf2f13b8a3eb5"}},{"code_sha256_prefix":"bfd83ef0068198d1","entry":"preprocess","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/onnxpose.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/onnxpose.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":"bfd83ef0068198d1"}},{"code_sha256_prefix":"a5bafc51aad44ec0","entry":"smart_resize","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/util.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/util.py","link_basis":"first_harvest_node","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":"a5bafc51aad44ec0"}},{"code_sha256_prefix":"8984b7a76d3499da","entry":"smart_resize_k","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/dwpose/util.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/dwpose/util.py","link_basis":"first_harvest_node","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":"8984b7a76d3499da"}},{"code_sha256_prefix":"e55f24470648724c","entry":"torch_dfs","repo":"MooreThreads/Moore-AnimateAnyone","repo_kind":"found_in_text","path":"src/models/mutual_self_attention.py","file_url":"https://github.com/MooreThreads/Moore-AnimateAnyone/blob/HEAD/src/models/mutual_self_attention.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":"e55f24470648724c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}