{"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/real-time-neural-character-rendering-with","title":"Real-Time Neural Character Rendering with Pose-Guided Multiplane Images","arxiv_id":"2204.11820","date":"2022-04-25","proceeding":null,"authors":["Hao Ouyang","Bo Zhang","Pan Zhang","Hao Yang","Jiaolong Yang","Dong Chen","Qifeng Chen","Fang Wen"],"abstract":"We propose pose-guided multiplane image (MPI) synthesis which can render an animatable character in real scenes with photorealistic quality. We use a portable camera rig to capture the multi-view images along with the driving signal for the moving subject. Our method generalizes the image-to-image translation paradigm, which translates the human pose to a 3D scene representation -- MPIs that can be rendered in free viewpoints, using the multi-views captures as supervision. To fully cultivate the potential of MPI, we propose depth-adaptive MPI which can be learned using variable exposure images while being robust to inaccurate camera registration. Our method demonstrates advantageous novel-view synthesis quality over the state-of-the-art approaches for characters with challenging motions. Moreover, the proposed method is generalizable to novel combinations of training poses and can be explicitly controlled. Our method achieves such expressive and animatable character rendering all in real time, serving as a promising solution for practical applications.","url_abs":"https://arxiv.org/abs/2204.11820v1","url_pdf":"https://arxiv.org/pdf/2204.11820v1.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":"real-time-neural-character-rendering-with","repo_url":"https://github.com/ken-ouyang/PGMPI","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"neural-rendering","task_name":"Neural Rendering"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.11820","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.11820"}},"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/ken-ouyang/PGMPI","reach":null}],"summary":{"ran_draft_wrong":4,"ran_fixture":4,"ran_violates":1,"unverified":8},"by_repo_kind":{"official":{"samples":17,"ran":9,"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":"df07d9a1206a42b7","entry":"buildCamera","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"df07d9a1206a42b7"}},{"code_sha256_prefix":"e654f7331d5c6b76","entry":"buildNerfPoses","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e654f7331d5c6b76"}},{"code_sha256_prefix":"58ade291f3bdc118","entry":"nerf_pose_to_ours","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"58ade291f3bdc118"}},{"code_sha256_prefix":"1d6f8390d799f055","entry":"normalize","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d6f8390d799f055"}},{"code_sha256_prefix":"b81d1533a3bb6e3f","entry":"poses_avg","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b81d1533a3bb6e3f"}},{"code_sha256_prefix":"01520d50e6a4ddeb","entry":"readCameraDeepview","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"01520d50e6a4ddeb"}},{"code_sha256_prefix":"9ad1e4f49e3fdd27","entry":"readCamerasBinary","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9ad1e4f49e3fdd27"}},{"code_sha256_prefix":"72fe78717ebe8cca","entry":"recenter_poses","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"72fe78717ebe8cca"}},{"code_sha256_prefix":"aa52acee18f54d38","entry":"viewmatrix","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa52acee18f54d38"}},{"code_sha256_prefix":"28a7f7eb30f03fd8","entry":"OrbiterDatasetMulti","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"28a7f7eb30f03fd8"}},{"code_sha256_prefix":"3717e18fcebddb7b","entry":"SfMData","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"3717e18fcebddb7b"}},{"code_sha256_prefix":"ab9f62362dbc99c9","entry":"_load_data","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"ab9f62362dbc99c9"}},{"code_sha256_prefix":"f1e4ec50e8bcf425","entry":"_minify","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"f1e4ec50e8bcf425"}},{"code_sha256_prefix":"8edd5bb1b5283559","entry":"load_llff_data","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"8edd5bb1b5283559"}},{"code_sha256_prefix":"028a51a7cbf901be","entry":"readImagesBinary","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"028a51a7cbf901be"}},{"code_sha256_prefix":"00fdbdc7dff998ed","entry":"render_path_spiral","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"00fdbdc7dff998ed"}},{"code_sha256_prefix":"6f17619d1df740cc","entry":"spherify_poses","repo":"ken-ouyang/PGMPI","repo_kind":"official","path":"utils/mpi_utils.py","file_url":"https://github.com/ken-ouyang/PGMPI/blob/HEAD/utils/mpi_utils.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":"6f17619d1df740cc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}