{"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/person-image-synthesis-via-denoising","title":"Person Image Synthesis via Denoising Diffusion Model","arxiv_id":"2211.12500","date":"2022-11-22","proceeding":"CVPR 2023 1","authors":["Ankan Kumar Bhunia","Salman Khan","Hisham Cholakkal","Rao Muhammad Anwer","Jorma Laaksonen","Mubarak Shah","Fahad Shahbaz Khan"],"abstract":"The pose-guided person image generation task requires synthesizing photorealistic images of humans in arbitrary poses. The existing approaches use generative adversarial networks that do not necessarily maintain realistic textures or need dense correspondences that struggle to handle complex deformations and severe occlusions. In this work, we show how denoising diffusion models can be applied for high-fidelity person image synthesis with strong sample diversity and enhanced mode coverage of the learnt data distribution. Our proposed Person Image Diffusion Model (PIDM) disintegrates the complex transfer problem into a series of simpler forward-backward denoising steps. This helps in learning plausible source-to-target transformation trajectories that result in faithful textures and undistorted appearance details. We introduce a 'texture diffusion module' based on cross-attention to accurately model the correspondences between appearance and pose information available in source and target images. Further, we propose 'disentangled classifier-free guidance' to ensure close resemblance between the conditional inputs and the synthesized output in terms of both pose and appearance information. Our extensive results on two large-scale benchmarks and a user study demonstrate the photorealism of our proposed approach under challenging scenarios. We also show how our generated images can help in downstream tasks. Our code and models will be publicly released.","url_abs":"https://arxiv.org/abs/2211.12500v2","url_pdf":"https://arxiv.org/pdf/2211.12500v2.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":"person-image-synthesis-via-denoising","repo_url":"https://github.com/ankanbhunia/PIDM","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"model","task_name":"model"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2211.12500","atlas_url":"https://app.syntology.ai/?focus=2211.12500","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.12500"}},"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/ankanbhunia/PIDM","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"ran_draft_wrong":4,"ran_honours":1,"ran_fixture":1,"unverified":4},"by_repo_kind":{"official":{"samples":15,"ran":11,"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":"f665a07118db6408","entry":"apply_conditions","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/blocks.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/blocks.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":"f665a07118db6408"}},{"code_sha256_prefix":"cfd76fd0d89574a4","entry":"approx_standard_normal_cdf","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfd76fd0d89574a4"}},{"code_sha256_prefix":"9215fb189fbfb9f4","entry":"compute_alpha","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"diffusion.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/diffusion.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9215fb189fbfb9f4"}},{"code_sha256_prefix":"73c8d2526f595b71","entry":"conv2d","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"model.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/model.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":"73c8d2526f595b71"}},{"code_sha256_prefix":"f75421bbdc7dba43","entry":"discretized_gaussian_log_likelihood","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f75421bbdc7dba43"}},{"code_sha256_prefix":"b9aebc971fbddb2e","entry":"linear","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"model.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/model.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":"b9aebc971fbddb2e"}},{"code_sha256_prefix":"9334cc544f75fcef","entry":"make_beta_schedule","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"diffusion.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/diffusion.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":"9334cc544f75fcef"}},{"code_sha256_prefix":"f6d7c009a8efb8b7","entry":"mean_flat","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/nn.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/nn.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6d7c009a8efb8b7"}},{"code_sha256_prefix":"8afbfc42c6ea0448","entry":"normal_kl","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8afbfc42c6ea0448"}},{"code_sha256_prefix":"3c6433dd421724e0","entry":"prob_mask_like","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/unet_autoenc.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/unet_autoenc.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":"3c6433dd421724e0"}},{"code_sha256_prefix":"264892ef469646de","entry":"variance_scaling_init_","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"model.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/model.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":"264892ef469646de"}},{"code_sha256_prefix":"ecd0fc28815b65ae","entry":"avg_pool_nd","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/nn.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/nn.py","link_basis":"harvester_set","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":"ecd0fc28815b65ae"}},{"code_sha256_prefix":"fe4eb545bbb728e0","entry":"conv_nd","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/nn.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/nn.py","link_basis":"harvester_set","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":"fe4eb545bbb728e0"}},{"code_sha256_prefix":"74c97198d468e97e","entry":"ddim_steps","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"diffusion.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/diffusion.py","link_basis":"harvester_set","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":"74c97198d468e97e"}},{"code_sha256_prefix":"3436fefeb3a4b49a","entry":"jsonable","repo":"ankanbhunia/PIDM","repo_kind":"official","path":"models/config_base.py","file_url":"https://github.com/ankanbhunia/PIDM/blob/HEAD/models/config_base.py","link_basis":"harvester_set","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":"3436fefeb3a4b49a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}