{"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/flipnerf-flipped-reflection-rays-for-few-shot","title":"FlipNeRF: Flipped Reflection Rays for Few-shot Novel View Synthesis","arxiv_id":"2306.17723","date":"2023-06-30","proceeding":"ICCV 2023 1","authors":["Seunghyeon Seo","Yeonjin Chang","Nojun Kwak"],"abstract":"Neural Radiance Field (NeRF) has been a mainstream in novel view synthesis with its remarkable quality of rendered images and simple architecture. Although NeRF has been developed in various directions improving continuously its performance, the necessity of a dense set of multi-view images still exists as a stumbling block to progress for practical application. In this work, we propose FlipNeRF, a novel regularization method for few-shot novel view synthesis by utilizing our proposed flipped reflection rays. The flipped reflection rays are explicitly derived from the input ray directions and estimated normal vectors, and play a role of effective additional training rays while enabling to estimate more accurate surface normals and learn the 3D geometry effectively. Since the surface normal and the scene depth are both derived from the estimated densities along a ray, the accurate surface normal leads to more exact depth estimation, which is a key factor for few-shot novel view synthesis. Furthermore, with our proposed Uncertainty-aware Emptiness Loss and Bottleneck Feature Consistency Loss, FlipNeRF is able to estimate more reliable outputs with reducing floating artifacts effectively across the different scene structures, and enhance the feature-level consistency between the pair of the rays cast toward the photo-consistent pixels without any additional feature extractor, respectively. Our FlipNeRF achieves the SOTA performance on the multiple benchmarks across all the scenarios.","url_abs":"https://arxiv.org/abs/2306.17723v4","url_pdf":"https://arxiv.org/pdf/2306.17723v4.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":"flipnerf-flipped-reflection-rays-for-few-shot","repo_url":"https://github.com/shawn615/FlipNeRF","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-geometry","task_name":"3D geometry"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"nerf","task_name":"NeRF"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.17723","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.17723"}},"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/shawn615/FlipNeRF","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":13},"by_repo_kind":{"official":{"samples":14,"ran":1,"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":"7bdd0bba05723abc","entry":"pos_enc","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/mip.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/mip.py","link_basis":"plan_row","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":"7bdd0bba05723abc"}},{"code_sha256_prefix":"9bf161da38d57d6d","entry":"convert_to_ndc","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/datasets.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/datasets.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":"9bf161da38d57d6d"}},{"code_sha256_prefix":"f4d06208684a7a77","entry":"convolve2d","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/vis.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/vis.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":"f4d06208684a7a77"}},{"code_sha256_prefix":"e1581dc42bebcdf0","entry":"cosine_easing_window","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/models.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/models.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":"e1581dc42bebcdf0"}},{"code_sha256_prefix":"ccbd6b71ec7797a2","entry":"downsample","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/datasets.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/datasets.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":"ccbd6b71ec7797a2"}},{"code_sha256_prefix":"c850aeef1fd46daa","entry":"file_exists","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/utils.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/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":"c850aeef1fd46daa"}},{"code_sha256_prefix":"bb2b40e01c7d28fe","entry":"lift_gaussian","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/mip.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/mip.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":"bb2b40e01c7d28fe"}},{"code_sha256_prefix":"0bc10c560cd1a9d0","entry":"listdir","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/utils.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/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":"0bc10c560cd1a9d0"}},{"code_sha256_prefix":"0f92b856a4c7ffa0","entry":"matmul","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/math.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/math.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":"0f92b856a4c7ffa0"}},{"code_sha256_prefix":"455c8847b4e49a17","entry":"matte","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/vis.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/vis.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":"455c8847b4e49a17"}},{"code_sha256_prefix":"ea51e10bd8ccc6c6","entry":"open_file","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/utils.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/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":"ea51e10bd8ccc6c6"}},{"code_sha256_prefix":"7033f6fda964538a","entry":"safe_cos","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/math.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/math.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":"7033f6fda964538a"}},{"code_sha256_prefix":"762b96fa7015de47","entry":"safe_trig_helper","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/math.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/math.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":"762b96fa7015de47"}},{"code_sha256_prefix":"048c1208fee6c6fe","entry":"sinebow","repo":"shawn615/FlipNeRF","repo_kind":"official","path":"internal/vis.py","file_url":"https://github.com/shawn615/FlipNeRF/blob/HEAD/internal/vis.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":"048c1208fee6c6fe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}