DeepI2P: Image-to-Point Cloud Registration via Deep Classification

2024-04-24 14:04

本文主要是介绍DeepI2P: Image-to-Point Cloud Registration via Deep Classification,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章地址https://openaccess.thecvf.com/content/CVPR2021/papers/Li_DeepI2P_Image-to-Point_Cloud_Registration_via_Deep_Classification_CVPR_2021_paper.pdf

 

摘要:

本文提出了DeepI2P:一种新颖的方法,用于图像与点云之间的跨模态注册。给定一幅图像(例如来自RGB摄像机)和一般的点云(例如来自3D激光雷达扫描仪)在同一场景中不同位置捕获的情况下,我们的方法估计了摄像机和激光雷达的坐标系之间的相对刚性变换。由于在两种模态之间缺乏外观和几何相关性,学习用于建立注册对应关系的共同特征描述符本质上是具有挑战性的。我们通过将注册问题转换为分类和逆相机投影优化问题来绕过这一困难。设计了一个分类神经网络来标记点云中每个点的投影是否在相机截锥体内部或外部。然后,将这些标记的点传递到一个新颖的逆相机投影求解器中,以估计相对姿态。在牛津机器人车和KITTI数据集上进行了大量实验,结果表明我们方法的可行性。

1. Introduction

图像到点云的注册是指找到将3D点云的投影与图像对齐的刚性变换,即旋转和平移。这个过程相当于找到成像设备相对于3D点云参考坐标系的姿态,即外参参数;在计算机视觉、机器人学、增强/虚拟现实等许多任务中都有广泛的应用。

尽管解决注册问题的直接且简单的方法是使用来自同一模态的数据,即图像到图像和点云到点云,但在这些同一模态注册方法中存在一些限制。对于点云到点云的注册,将昂贵且难以维护的激光雷达安装在大量机器人和移动设备上进行操作是不切实际和昂贵的。此外,基于特征的点云到点云注册通常需要存储D维特征(D≫3)以及(x,y,z)点坐标,这增加了内存复杂性。对于图像到图像的注册,需要精心的努力执行SfM [37, 36, 12] 并存储与重建的3D点对应的图像特征描述符 [29, 22] 以进行特征匹配。此外,图像特征受到照明条件、季节变化等的影响。因此,一旦季节/时间发生变化,同一季节/时间获取的图像特征在注册方面就毫无用处了。

跨模态的图像到点云注册可以用来缓解同一模态注册方法所面临的上述问题。具体来说,可以使用激光雷达一次性获取基于3D点云的地图,然后使用相机拍摄的图像进行姿态估计,这样在大量机器人和移动设备上的维护成本较低。此外,直接使用激光雷达获取的地图避免了SfM的麻烦,并且在季节/照明变化方面基本保持不变。尽管跨模态图像到点云注册具有许多优势,但由于其固有的难度,很少有研究进行。据我们所知,2D3D-MatchNet [11] 是唯一一项针对一般图像到点云注册的先前工作。该工作通过学习将基于图像的SIFT [22] 匹配到基于点云的ISS [45] 关键点,使用深度度量学习来进行跨模态注册。然而,由于SIFT和ISS特征在两种模态之间的巨大不相似性,该方法遭受低内点率的困扰。

在本文中,我们提出了DeepI2P:一种新颖的跨模态图像与点云注册方法,如图1所示,无需显式特征描述符。我们的方法需要更少的存储内存,即对于参考点云的O(3N ),因为我们不依赖于特征描述符来建立对应关系。此外,由摄像机捕获的图像可以直接使用,无需进行SfM。我们将跨模态图像到点云的注册问题分为两个阶段。在第一阶段,我们设计了一个双分支神经网络,将图像和点云作为输入,并为每个点输出一个标签,指示该点的投影是否在图像截锥体内或超出。第二阶段被制定为一个无约束的连续优化问题。目标是找到最优的相机姿态,即相对于点云的参考坐标系的刚性变换,以使标记为在相机截锥体内的3D点正确投影到图像中。标准求解器,如高斯牛顿算法,可以用于解决我们的相机姿态优化问题。对开源的Oxford Robotcar和KITTI数据集进行的大量实验结果表明了我们方法的可行性。

本文的主要贡献如下:

  • 通过将问题转化为两阶段分类和优化框架,我们避开了学习跨模态特征描述符进行注册的困难。
  • 设计了一个带有注意模块的双分支神经网络,以增强跨模态融合,并学习3D点是否在相机截锥体内的标签。
  • 提出了反投影优化以解决3D点的分类标签的相机姿态。
  • 我们的方法和实验结果表明,跨模态注册可以通过深度分类实现概念验证。

2. Related Works

图像到图像注册。由于缺乏深度信息,图像到图像的注册通常在P 2空间中进行。这通常是计算投影变换或SfM的第一步。典型的方法通常基于特征匹配。从源图像和目标图像中提取一组特征,如SIFT [22] 或ORB [29]。然后基于提取的特征建立对应关系,这些对应关系可以用于求解旋转、平移,使用Bundle Adjustment [36, 16],Perspective-n-Point求解器 [12] 等。这些技术已应用于现代SLAM系统 [10, 25, 9]。然而,这些方法是基于图像模态中的特征描述符来建立对应关系的,并且对于我们的一般图像到点云注册任务不起作用。

点云到点云的注册。三维信息的可用性使得点云之间可以直接进行注册,而无需建立特征对应关系。ICP [2, 5]、NDT [3] 等方法在有适当初始猜测的情况下效果良好,而全局优化方法如Go-ICP [39] 则无需初始化要求即可工作。这些方法在基于点云的SLAM算法中被广泛使用,如LOAM [44]、Cartographer [18] 等。最近,也提出了像DeepICP [23]、DeepClosestPoint [38]、RPM-Net [41] 等这样的数据驱动方法。尽管这些方法不需要特征对应关系,但它们仍然严重依赖于同一模态中点结构的几何细节才能有效工作。因此,这些方法无法应用于我们的跨模态注册任务。另一组常见的方法是两步特征注册。经典的点云特征检测器 [35, 45, 31, 8] 和描述符 [34, 30] 通常会受到噪声和杂波环境的影响。最近,基于深度学习的特征检测器,如USIP [21]、3DFeatNet [40],以及描述符,如3DMatch [43]、PPF-Net [7]、PPF-FoldNet [6]、PerfectMatch [15],在基于点云的注册中表现出了改进的性能。与图像到图像的注册类似,这些方法需要具有挑战性的特征描述符,这在跨模态注册中很难获得。

图像到点云的注册。据我们所知,2D3D-MatchNet [11] 是唯一一项用于一般图像-点云注册的先前工作。它使用SIFT [22] 提取图像关键点,使用ISS [45] 提取点云关键点。围绕关键点的图像和点云块被馈送到类似孪生网络的每个分支,并通过三元损失进行训练以提取跨模态描述符。在推断中,它是一个标准的管道,包括基于RANSAC的描述符匹配和EPnP [19] 求解器。尽管其大大简化的实验设置中,点云和图像是在接近的时间戳捕获的,几乎没有相对旋转,但对应关系的低内点率揭示了深度网络在极端不同的模态之间学习共同特征的困难。另一项工作 [42] 建立了图像和先前激光雷达地图之间的2D-3D线对应关系,但它需要准确的初始化,例如来自SLAM/Odometry系统。相比之下,包括2D3D-MatchNet [11] 和我们的DeepI2P在内的一般图像到点云注册不依赖于另一个准确的定位系统。其他一些工作 [26, 4] 则侧重于图像到点云的地点识别/检索,而不估计相对旋转和平移

这篇关于DeepI2P: Image-to-Point Cloud Registration via Deep Classification的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931957

相关文章

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Sentinel 断路器在Spring Cloud使用详解

《Sentinel断路器在SpringCloud使用详解》Sentinel是阿里巴巴开源的一款微服务流量控制组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、... 目录Sentinel 介绍同类对比Hystrix:Sentinel:微服务雪崩问题问题原因问题解决方案请

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到