{"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/deepi2p-image-to-point-cloud-registration-via","title":"DeepI2P: Image-to-Point Cloud Registration via Deep Classification","arxiv_id":"2104.03501","date":"2021-04-08","proceeding":"CVPR 2021 1","authors":["Jiaxin Li","Gim Hee Lee"],"abstract":"This paper presents DeepI2P: a novel approach for cross-modality registration between an image and a point cloud. Given an image (e.g. from a rgb-camera) and a general point cloud (e.g. from a 3D Lidar scanner) captured at different locations in the same scene, our method estimates the relative rigid transformation between the coordinate frames of the camera and Lidar. Learning common feature descriptors to establish correspondences for the registration is inherently challenging due to the lack of appearance and geometric correlations across the two modalities. We circumvent the difficulty by converting the registration problem into a classification and inverse camera projection optimization problem. A classification neural network is designed to label whether the projection of each point in the point cloud is within or beyond the camera frustum. These labeled points are subsequently passed into a novel inverse camera projection solver to estimate the relative pose. Extensive experimental results on Oxford Robotcar and KITTI datasets demonstrate the feasibility of our approach. Our source code is available at https://github.com/lijx10/DeepI2P","url_abs":"https://arxiv.org/abs/2104.03501v1","url_pdf":"https://arxiv.org/pdf/2104.03501v1.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":"deepi2p-image-to-point-cloud-registration-via","repo_url":"https://github.com/lijx10/DeepI2P","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-to-point-cloud-registration","task_name":"Image to Point Cloud Registration"},{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2104.03501","atlas_url":"https://app.syntology.ai/?focus=2104.03501","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.03501"}},"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":"deterministic:regex_extraction","url":"https://github.com/lijx10/DeepI2P","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":10,"unverified":1},"by_repo_kind":{"official":{"samples":13,"ran":12,"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":"d9def42110729a85","entry":"conv1x1","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/resnet.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"160bb14bd76201b4","entry":"conv3x3","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/resnet.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"160bb14bd76201b4"}},{"code_sha256_prefix":"17197f7c652b9f27","entry":"enu2cam","repo":"lijx10/DeepI2P","repo_kind":"official","path":"evaluation/gauss_newton_visualization.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/evaluation/gauss_newton_visualization.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":"17197f7c652b9f27"}},{"code_sha256_prefix":"36d967d4eb8179d5","entry":"focal_loss","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/focal_loss.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/focal_loss.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":"36d967d4eb8179d5"}},{"code_sha256_prefix":"685179cc383d2145","entry":"get_P_diff","repo":"lijx10/DeepI2P","repo_kind":"official","path":"evaluation/gauss_newton_visualization.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/evaluation/gauss_newton_visualization.py","link_basis":"plan_row","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":"685179cc383d2145"}},{"code_sha256_prefix":"7702d87b4e1dfede","entry":"get_chamfer_loss","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/losses.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":"7702d87b4e1dfede"}},{"code_sha256_prefix":"df7906fca7ac3556","entry":"get_chamfer_loss_prob","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/losses.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":"df7906fca7ac3556"}},{"code_sha256_prefix":"b7b9309076317466","entry":"get_keypoint_on_pc_loss","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/losses.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/losses.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":"b7b9309076317466"}},{"code_sha256_prefix":"501b125f7402f6d4","entry":"knn_gather_by_indexing","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/operations.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/operations.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":"501b125f7402f6d4"}},{"code_sha256_prefix":"f2c2031a26d6db60","entry":"knn_gather_wrapper","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/operations.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/operations.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":"f2c2031a26d6db60"}},{"code_sha256_prefix":"2311207780694810","entry":"one_hot","repo":"lijx10/DeepI2P","repo_kind":"official","path":"models/focal_loss.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/models/focal_loss.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":"2311207780694810"}},{"code_sha256_prefix":"2723e9de0f3630bf","entry":"transform_pc_np","repo":"lijx10/DeepI2P","repo_kind":"official","path":"evaluation/gauss_newton_visualization.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/evaluation/gauss_newton_visualization.py","link_basis":"plan_row","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":"2723e9de0f3630bf"}},{"code_sha256_prefix":"93ba5494ac831050","entry":"get_inside_img_mask","repo":"lijx10/DeepI2P","repo_kind":"official","path":"evaluation/registration_lsq.py","file_url":"https://github.com/lijx10/DeepI2P/blob/HEAD/evaluation/registration_lsq.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":"93ba5494ac831050"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}