{"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/generalizing-discrete-convolutions-for","title":"ConvPoint: Continuous Convolutions for Point Cloud Processing","arxiv_id":"1904.02375","date":"2019-04-04","proceeding":null,"authors":["Alexandre Boulch"],"abstract":"Point clouds are unstructured and unordered data, as opposed to images. Thus, most machine learning approach developed for image cannot be directly transferred to point clouds. In this paper, we propose a generalization of discrete convolutional neural networks (CNNs) in order to deal with point clouds by replacing discrete kernels by continuous ones. This formulation is simple, allows arbitrary point cloud sizes and can easily be used for designing neural networks similarly to 2D CNNs. We present experimental results with various architectures, highlighting the flexibility of the proposed approach. We obtain competitive results compared to the state-of-the-art on shape classification, part segmentation and semantic segmentation for large-scale point clouds.","url_abs":"https://arxiv.org/abs/1904.02375v5","url_pdf":"https://arxiv.org/pdf/1904.02375v5.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":"generalizing-discrete-convolutions-for","repo_url":"https://github.com/aboulch/ConvPoint","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-part-segmentation","task_name":"3D Part Segmentation"},{"task_slug":"3d-semantic-segmentation","task_name":"3D Semantic Segmentation"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"lidar-semantic-segmentation","task_name":"LIDAR Semantic Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-part-segmentation-on-shapenet-part","task":"3D Part Segmentation","dataset":"ShapeNet-Part","model":"ConvPoint","rank_in_archive_order":41,"of":67,"metrics":{"Class Average IoU":"83.4","Instance Average IoU":"85.8"},"uses_additional_data":false},{"leaderboard":"/sota/3d-semantic-segmentation-on-dales","task":"3D Semantic Segmentation","dataset":"DALES","model":"ConvPoint","rank_in_archive_order":6,"of":9,"metrics":{"Model size":"4.7M","Overall Accuracy":"97.2","mIoU":"67.4"},"uses_additional_data":false},{"leaderboard":"/sota/lidar-semantic-segmentation-on-paris-lille-3d","task":"LIDAR Semantic Segmentation","dataset":"Paris-Lille-3D","model":"ConvPoint","rank_in_archive_order":4,"of":9,"metrics":{"mIOU":"0.759"},"uses_additional_data":false},{"leaderboard":"/sota/lidar-semantic-segmentation-on-paris-lille-3d","task":"LIDAR Semantic Segmentation","dataset":"Paris-Lille-3D","model":"ConvPoint_Keras","rank_in_archive_order":7,"of":9,"metrics":{"mIOU":"0.720"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-s3dis","task":"Semantic Segmentation","dataset":"S3DIS","model":"ConvPoint","rank_in_archive_order":30,"of":54,"metrics":{"Mean IoU":"68.2","Number of params":"4.7M","Params (M)":"4.1","oAcc":"88.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.02375","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.02375"}},"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/aboulch/ConvPoint","reach":null}],"summary":{"ran_honours":2,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":4,"samples":[{"code_sha256_prefix":"f6b944f50d3f15ae","entry":"count_parameters","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"f6b944f50d3f15ae"}},{"code_sha256_prefix":"ec413739d406e611","entry":"pc_normalize","repo":"aboulch/ConvPoint","repo_kind":"official","path":"examples/modelnet/modelnet_classif.py","file_url":"https://github.com/aboulch/ConvPoint/blob/HEAD/examples/modelnet/modelnet_classif.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ec413739d406e611"}},{"code_sha256_prefix":"d29699baa038a2e9","entry":"wblue","repo":"aboulch/ConvPoint","repo_kind":"official","path":"examples/s3dis/s3dis_seg.py","file_url":"https://github.com/aboulch/ConvPoint/blob/HEAD/examples/s3dis/s3dis_seg.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"d29699baa038a2e9"}},{"code_sha256_prefix":"00926be6df1fbf92","entry":"wgreen","repo":"aboulch/ConvPoint","repo_kind":"official","path":"examples/s3dis/s3dis_seg.py","file_url":"https://github.com/aboulch/ConvPoint/blob/HEAD/examples/s3dis/s3dis_seg.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"00926be6df1fbf92"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}