{"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/able-nerf-attention-based-rendering-with","title":"ABLE-NeRF: Attention-Based Rendering with Learnable Embeddings for Neural Radiance Field","arxiv_id":"2303.13817","date":"2023-03-24","proceeding":"CVPR 2023 1","authors":["Zhe Jun Tang","Tat-Jen Cham","Haiyu Zhao"],"abstract":"Neural Radiance Field (NeRF) is a popular method in representing 3D scenes by optimising a continuous volumetric scene function. Its large success which lies in applying volumetric rendering (VR) is also its Achilles' heel in producing view-dependent effects. As a consequence, glossy and transparent surfaces often appear murky. A remedy to reduce these artefacts is to constrain this VR equation by excluding volumes with back-facing normal. While this approach has some success in rendering glossy surfaces, translucent objects are still poorly represented. In this paper, we present an alternative to the physics-based VR approach by introducing a self-attention-based framework on volumes along a ray. In addition, inspired by modern game engines which utilise Light Probes to store local lighting passing through the scene, we incorporate Learnable Embeddings to capture view dependent effects within the scene. Our method, which we call ABLE-NeRF, significantly reduces `blurry' glossy surfaces in rendering and produces realistic translucent surfaces which lack in prior art. In the Blender dataset, ABLE-NeRF achieves SOTA results and surpasses Ref-NeRF in all 3 image quality metrics PSNR, SSIM, LPIPS.","url_abs":"https://arxiv.org/abs/2303.13817v1","url_pdf":"https://arxiv.org/pdf/2303.13817v1.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":"able-nerf-attention-based-rendering-with","repo_url":"https://github.com/tangzj/able-nerf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"nerf","task_name":"NeRF"},{"task_slug":"ssim","task_name":"SSIM"}],"methods":[{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"roipool","method_name":"RoIPool"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.13817","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.13817"}},"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/TangZJ/able-nerf","reach":null}],"summary":{"ran":1,"ran_fixture":3,"ran_draft_wrong":3,"ran_honours":1,"unverified":8},"by_repo_kind":{"official":{"samples":16,"ran":8,"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":16,"samples":[{"code_sha256_prefix":"7c7aeafde5cc40a0","entry":"Embedding","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7c7aeafde5cc40a0"}},{"code_sha256_prefix":"017e87a050383796","entry":"basic_integrated_pos_enc","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"017e87a050383796"}},{"code_sha256_prefix":"3683b97f8aca9303","entry":"cast_rays","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3683b97f8aca9303"}},{"code_sha256_prefix":"e0fd7ef778e605fd","entry":"expected_sin","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0fd7ef778e605fd"}},{"code_sha256_prefix":"3c45ff0195307234","entry":"get_attn_mask","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3c45ff0195307234"}},{"code_sha256_prefix":"6fb4d2fd6b2742e3","entry":"lift_gaussian","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6fb4d2fd6b2742e3"}},{"code_sha256_prefix":"6bd6be16b3322294","entry":"sample_along_rays","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6bd6be16b3322294"}},{"code_sha256_prefix":"359c5814e88f23e5","entry":"sorted_piecewise_constant_pdf","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"359c5814e88f23e5"}},{"code_sha256_prefix":"e28b4f42f7015bb7","entry":"LETransformer","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e28b4f42f7015bb7"}},{"code_sha256_prefix":"10952e5cc9939e58","entry":"ableNeRF","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10952e5cc9939e58"}},{"code_sha256_prefix":"3b22ae6dad1741a0","entry":"conical_frustum_to_gaussian","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3b22ae6dad1741a0"}},{"code_sha256_prefix":"7773feb15fef744b","entry":"generate_ipe_ray_samples","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7773feb15fef744b"}},{"code_sha256_prefix":"a37e025e04a925d5","entry":"init_weights","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a37e025e04a925d5"}},{"code_sha256_prefix":"abcaa3f9a6617e1f","entry":"linear_to_srgb","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"abcaa3f9a6617e1f"}},{"code_sha256_prefix":"1cea813eb77eb5aa","entry":"resample_along_rays","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1cea813eb77eb5aa"}},{"code_sha256_prefix":"46790feceb297ccb","entry":"resampled_generate_ipe_ray_samples","repo":"TangZJ/able-nerf","repo_kind":"official","path":"models/able_nerf.py","file_url":"https://github.com/TangZJ/able-nerf/blob/HEAD/models/able_nerf.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"46790feceb297ccb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}