{"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/loss-distillation-via-gradient-matching-for","title":"Loss Distillation via Gradient Matching for Point Cloud Completion with Weighted Chamfer Distance","arxiv_id":"2409.06171","date":"2024-09-10","proceeding":null,"authors":["Fangzhou Lin","Haotian Liu","Haoying Zhou","Songlin Hou","Kazunori D Yamada","Gregory S. Fischer","Yanhua Li","Haichong K. Zhang","Ziming Zhang"],"abstract":"3D point clouds enhanced the robot's ability to perceive the geometrical information of the environments, making it possible for many downstream tasks such as grasp pose detection and scene understanding. The performance of these tasks, though, heavily relies on the quality of data input, as incomplete can lead to poor results and failure cases. Recent training loss functions designed for deep learning-based point cloud completion, such as Chamfer distance (CD) and its variants (\\eg HyperCD ), imply a good gradient weighting scheme can significantly boost performance. However, these CD-based loss functions usually require data-related parameter tuning, which can be time-consuming for data-extensive tasks. To address this issue, we aim to find a family of weighted training losses ({\\em weighted CD}) that requires no parameter tuning. To this end, we propose a search scheme, {\\em Loss Distillation via Gradient Matching}, to find good candidate loss functions by mimicking the learning behavior in backpropagation between HyperCD and weighted CD. Once this is done, we propose a novel bilevel optimization formula to train the backbone network based on the weighted CD loss. We observe that: (1) with proper weighted functions, the weighted CD can always achieve similar performance to HyperCD, and (2) the Landau weighted CD, namely {\\em Landau CD}, can outperform HyperCD for point cloud completion and lead to new state-of-the-art results on several benchmark datasets. {\\it Our demo code is available at \\url{https://github.com/Zhang-VISLab/IROS2024-LossDistillationWeightedCD}.}","url_abs":"https://arxiv.org/abs/2409.06171v1","url_pdf":"https://arxiv.org/pdf/2409.06171v1.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":"loss-distillation-via-gradient-matching-for","repo_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bilevel-optimization","task_name":"Bilevel Optimization"},{"task_slug":"point-cloud-completion","task_name":"Point Cloud Completion"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2409.06171","atlas_url":"https://app.syntology.ai/?focus=2409.06171","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.06171"}},"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/zhang-vislab/iros2024-lossdistillationweightedcd","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":7,"unverified":2},"by_repo_kind":{"official":{"samples":10,"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":0,"samples":[{"code_sha256_prefix":"c80f9bbb31e6cb9f","entry":"build_shared_mlp","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet2_ops_lib/pointnet2_ops/pointnet2_modules.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet2_ops_lib/pointnet2_ops/pointnet2_modules.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c80f9bbb31e6cb9f"}},{"code_sha256_prefix":"0509fa443fa4d3a9","entry":"dilated_ball_query","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/models/utils.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0509fa443fa4d3a9"}},{"code_sha256_prefix":"2d9e8ce18f344f58","entry":"euler2quat","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/eulerangles.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/eulerangles.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2d9e8ce18f344f58"}},{"code_sha256_prefix":"0e28797864c30a24","entry":"get_dist","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/models/utils.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/models/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0e28797864c30a24"}},{"code_sha256_prefix":"dd1f3e0945b180f2","entry":"mat2euler","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/eulerangles.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/eulerangles.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd1f3e0945b180f2"}},{"code_sha256_prefix":"65920d5373d155d2","entry":"point_cloud_to_volume","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/pc_util.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/pc_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65920d5373d155d2"}},{"code_sha256_prefix":"e9858b2203038709","entry":"point_cloud_to_volume_batch","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/pc_util.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/pc_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e9858b2203038709"}},{"code_sha256_prefix":"660539278e1dca50","entry":"volume_to_point_cloud","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/pc_util.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/pc_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"660539278e1dca50"}},{"code_sha256_prefix":"c895ee22fc847eed","entry":"euler2mat","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/eulerangles.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/eulerangles.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":"c895ee22fc847eed"}},{"code_sha256_prefix":"adb14f1f70fdedb1","entry":"make2d","repo":"zhang-vislab/iros2024-lossdistillationweightedcd","repo_kind":"official","path":"codes/pointnet_utils/plyfile.py","file_url":"https://github.com/zhang-vislab/iros2024-lossdistillationweightedcd/blob/HEAD/codes/pointnet_utils/plyfile.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":"adb14f1f70fdedb1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}