{"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/active-implicit-object-reconstruction-using","title":"Active Implicit Object Reconstruction using Uncertainty-guided Next-Best-View Optimization","arxiv_id":"2303.16739","date":"2023-03-29","proceeding":null,"authors":["Dongyu Yan","Jianheng Liu","Fengyu Quan","Haoyao Chen","Mengmeng Fu"],"abstract":"Actively planning sensor views during object reconstruction is crucial for autonomous mobile robots. An effective method should be able to strike a balance between accuracy and efficiency. In this paper, we propose a seamless integration of the emerging implicit representation with the active reconstruction task. We build an implicit occupancy field as our geometry proxy. While training, the prior object bounding box is utilized as auxiliary information to generate clean and detailed reconstructions. To evaluate view uncertainty, we employ a sampling-based approach that directly extracts entropy from the reconstructed occupancy probability field as our measure of view information gain. This eliminates the need for additional uncertainty maps or learning. Unlike previous methods that compare view uncertainty within a finite set of candidates, we aim to find the next-best-view (NBV) on a continuous manifold. Leveraging the differentiability of the implicit representation, the NBV can be optimized directly by maximizing the view uncertainty using gradient descent. It significantly enhances the method's adaptability to different scenarios. Simulation and real-world experiments demonstrate that our approach effectively improves reconstruction accuracy and efficiency of view planning in active reconstruction tasks. The proposed system will open source at https://github.com/HITSZ-NRSL/ActiveImplicitRecon.git.","url_abs":"https://arxiv.org/abs/2303.16739v4","url_pdf":"https://arxiv.org/pdf/2303.16739v4.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":"active-implicit-object-reconstruction-using","repo_url":"https://github.com/hitsz-nrsl/activeimplicitrecon","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"object-reconstruction","task_name":"Object Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.16739","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.16739"}},"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/hitsz-nrsl/activeimplicitrecon","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":18},"by_repo_kind":{"official":{"samples":18,"ran":0,"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":"25fef5051aaf7b72","entry":"Exp","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/model/pose.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/model/pose.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":"25fef5051aaf7b72"}},{"code_sha256_prefix":"4e88fd00592210f0","entry":"biased_sigmoid","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/model/network.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/model/network.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":"4e88fd00592210f0"}},{"code_sha256_prefix":"2e7a18de4305e23c","entry":"cal_angle_gain","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/task/nbv.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/task/nbv.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":"2e7a18de4305e23c"}},{"code_sha256_prefix":"9af245f0f997d41a","entry":"cal_move_cost","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/task/planner.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/task/planner.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":"9af245f0f997d41a"}},{"code_sha256_prefix":"370c067b86c2578a","entry":"cal_relative_pose","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/misc.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/misc.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":"370c067b86c2578a"}},{"code_sha256_prefix":"f71e9aebdeb63e6c","entry":"creat_side","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/tagdet.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/tagdet.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":"f71e9aebdeb63e6c"}},{"code_sha256_prefix":"92e2be8435710ca2","entry":"create_board","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/tagdet.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/tagdet.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":"92e2be8435710ca2"}},{"code_sha256_prefix":"e608466cd80dd356","entry":"create_box","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/tagdet.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/tagdet.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":"e608466cd80dd356"}},{"code_sha256_prefix":"d683de2a6a110fe3","entry":"eval_rays_information_gain","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/task/nbv.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/task/nbv.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":"d683de2a6a110fe3"}},{"code_sha256_prefix":"0c53aadae835c502","entry":"load_pose","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/misc.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/misc.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":"0c53aadae835c502"}},{"code_sha256_prefix":"3c57ee0c5874a792","entry":"make_c2w","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/model/pose.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/model/pose.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":"3c57ee0c5874a792"}},{"code_sha256_prefix":"7a4f4aa3906509a9","entry":"model_state_to_torch_pose","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/task/sensor_rosnode.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/task/sensor_rosnode.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":"7a4f4aa3906509a9"}},{"code_sha256_prefix":"b3809e04669c0b23","entry":"render_color_depth_opacity_weight","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/render.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/render.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":"b3809e04669c0b23"}},{"code_sha256_prefix":"aa7beb747a17265c","entry":"render_occ_rgb","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/render.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/render.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":"aa7beb747a17265c"}},{"code_sha256_prefix":"89464cabc5ff68b2","entry":"ros2tensorpose","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/task/sensor_rosnode.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/task/sensor_rosnode.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":"89464cabc5ff68b2"}},{"code_sha256_prefix":"0af9a3c70c63bee8","entry":"sample_points_even_in_bbox","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/geometry.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/geometry.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":"0af9a3c70c63bee8"}},{"code_sha256_prefix":"8a163decae0ed3d3","entry":"sample_points_on_ray","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/utils/geometry.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/utils/geometry.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":"8a163decae0ed3d3"}},{"code_sha256_prefix":"ac8493adf8db5f3f","entry":"vec2skew","repo":"hitsz-nrsl/activeimplicitrecon","repo_kind":"official","path":"active_recon/model/pose.py","file_url":"https://github.com/hitsz-nrsl/activeimplicitrecon/blob/HEAD/active_recon/model/pose.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":"ac8493adf8db5f3f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}