{"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/generative-occupancy-fields-for-3d-surface","title":"Generative Occupancy Fields for 3D Surface-Aware Image Synthesis","arxiv_id":"2111.00969","date":"2021-11-01","proceeding":"NeurIPS 2021 12","authors":["Xudong Xu","Xingang Pan","Dahua Lin","Bo Dai"],"abstract":"The advent of generative radiance fields has significantly promoted the development of 3D-aware image synthesis. The cumulative rendering process in radiance fields makes training these generative models much easier since gradients are distributed over the entire volume, but leads to diffused object surfaces. In the meantime, compared to radiance fields occupancy representations could inherently ensure deterministic surfaces. However, if we directly apply occupancy representations to generative models, during training they will only receive sparse gradients located on object surfaces and eventually suffer from the convergence problem. In this paper, we propose Generative Occupancy Fields (GOF), a novel model based on generative radiance fields that can learn compact object surfaces without impeding its training convergence. The key insight of GOF is a dedicated transition from the cumulative rendering in radiance fields to rendering with only the surface points as the learned surface gets more and more accurate. In this way, GOF combines the merits of two representations in a unified framework. In practice, the training-time transition of start from radiance fields and march to occupancy representations is achieved in GOF by gradually shrinking the sampling region in its rendering process from the entire volume to a minimal neighboring region around the surface. Through comprehensive experiments on multiple datasets, we demonstrate that GOF can synthesize high-quality images with 3D consistency and simultaneously learn compact and smooth object surfaces. Code, models, and demo videos are available at https://sheldontsui.github.io/projects/GOF","url_abs":"https://arxiv.org/abs/2111.00969v1","url_pdf":"https://arxiv.org/pdf/2111.00969v1.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":"generative-occupancy-fields-for-3d-surface","repo_url":"https://github.com/sheldontsui/gof_neurips2021","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-aware-image-synthesis","task_name":"3D-Aware Image Synthesis"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"object","task_name":"Object"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2111.00969","atlas_url":"https://app.syntology.ai/?focus=2111.00969","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.00969"}},"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/sheldontsui/gof_neurips2021","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":7,"unverified":4},"by_repo_kind":{"official":{"samples":11,"ran":7,"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":"306b4b17e95e50e5","entry":"create_samples","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"extract_shapes.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/extract_shapes.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"306b4b17e95e50e5"}},{"code_sha256_prefix":"3859bc14d69a3ada","entry":"ellipse","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"render_meshvideo.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/render_meshvideo.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3859bc14d69a3ada"}},{"code_sha256_prefix":"e21ac6d18e16ad07","entry":"ellipse","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"render_video.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/render_video.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e21ac6d18e16ad07"}},{"code_sha256_prefix":"a551faf28fc86a9f","entry":"get_current_step","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"curriculums.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/curriculums.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a551faf28fc86a9f"}},{"code_sha256_prefix":"360b46dceb9d86ad","entry":"img_normalize","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"render_video.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/render_video.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"360b46dceb9d86ad"}},{"code_sha256_prefix":"31312e8e88c4d95c","entry":"last_upsample_step","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"curriculums.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/curriculums.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"31312e8e88c4d95c"}},{"code_sha256_prefix":"738ade559b76771c","entry":"next_upsample_step","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"curriculums.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/curriculums.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"738ade559b76771c"}},{"code_sha256_prefix":"5d4213f664c985e6","entry":"get_dataset","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/datasets.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":"5d4213f664c985e6"}},{"code_sha256_prefix":"7db65af4855ef149","entry":"get_dataset_distributed","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"datasets.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/datasets.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":"7db65af4855ef149"}},{"code_sha256_prefix":"9d5c1360cf536467","entry":"sample_generator","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"extract_shapes.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/extract_shapes.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":"9d5c1360cf536467"}},{"code_sha256_prefix":"7e8445baa840a803","entry":"setup_evaluation","repo":"sheldontsui/gof_neurips2021","repo_kind":"official","path":"fid_evaluation.py","file_url":"https://github.com/sheldontsui/gof_neurips2021/blob/HEAD/fid_evaluation.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":"7e8445baa840a803"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}