Full-Frame Scene Coordinate Regression for Image-Based Localization

基于图像定位的全帧场景坐标回归(解读)(原论文


贡献

文中only-RGB的两阶段定位流水线,提出了一种用于场景坐标回归的全帧CNN。这个全帧坐标CNN被训练为从给定的RGB图像预测生成密集的场景坐标。在回归过程中编码更多的全局上下文容易过度拟合。因此,建议使用数据扩充来缓解这个问题。

本文的贡献总结如下:

  • 采用完全卷积的编码-解码对基于两阶段图像的定位的场景坐标回归进行编码,以编码更多的全局信息。
  • 在二维和三维空间中对场景坐标回归进行数据增强,并证明数据增强对于训练全帧坐标CNN获得良好的定位性能的必要性。

网络分析

基于CNN的方法是受only-RGB的DSAC网络的启发,它由两个阶段组成。在第一阶段,采用CNN坐标从给定的纯RGB图像生成二维-三维通信。在第二阶段,采用基于RANSAC的方案来确定最终的姿态估计。整个网络如图1所示。

原始DSAC网络中使用的CNN坐标是以基于补丁的方式进行训练和评估的。与基于补丁的语义分割方法类似,补丁需要在训练和测试期间进行采样。基于补丁的CNN使用以像素为中心的固定大小(42×42)的图像补丁和这些像素对应的世界坐标进行训练。在测试时,使用相同大小的补丁作为CNN坐标的输入,以生成2D-3D通信。然而,以这种方式获得一组2D-3D通信是非常低效的。在DSAC网络中,姿态估计需要1600个通信。因此,应该提取1600个补丁并将其输入深度神经网络。这显然很耗时,而且需要大量的内存。此外,固定的补丁大小限制了接收字段的大小,从而限制了网络可以处理的信息。这使得当场景表现出模棱两可(例如,重复结构)时,协调CNN难以预测准确的2D-3D通信,因为网络无法使用全局上下文

为了克服这些限制,使用一个编码器-解码器CNN,它接受一个完整的图像作为输入,并产生图像中所有像素的场景坐标预测。通过这种方法进行场景坐标回归,不需要对补丁进行采样,并且可以在测试时有效地生成2D-3D的对应关系。由于编码器-解码器体系结构的接收字段几乎覆盖整个输入图像,因此回归过程中添加了更多的全局上下文,并考虑了更多的总体信息。但是,全局图像外观可能会由于视点的微小变化而发生很大的变化。也就是说,它不像局部外观那样对视点变化保持不变。因此,使用更多的全局信息回归场景坐标容易过度拟合。建议使用数据扩充来解决这个问题。称该网络为全帧坐标CNN。


网络体系结构

全帧坐标CNN基于DISPNET的体系结构。是完全卷积的,这样每个像素的密集场景坐标预测就可以从任意大小的输入图像中生成。称之为输出场景坐标图像。网络由收缩部分扩张部分组成。输入图像首先通过收缩部分进行空间压缩,然后通过扩展部分进行细化。此外,为了克服数据瓶颈,在两者之间添加了快捷连接。在网络的末尾只有一个最终输出层使用ELU代替RELU来计算层间的非线性。网络架构的细节在表一中描述。从upconv开始的层是上卷积层,所有其他层是卷积层。另外,对于每一层,给出了内核的大小、步幅、输入通道的数量、输出通道的数量和输入(+是串联)。


损失

通过最小化场景坐标地面真值与预测之间的欧几里得距离来训练全帧坐标CNN。在培训中使用补丁和单个预测,并且只对以具有有效深度值的像素为中心的补丁进行采样,网络使用成对的彩色图像和场景坐标图像(密集的场景坐标值)作为训练样本,在这些样本中,圆形真实场景坐标可能会丢失。这里简单地忽略没有地面真值场景坐标的像素,并掩盖它们对最终损失的贡献。

其中y和y^分别为地面真值场景坐标图像和场景坐标图像预测,M为遮罩,(i,j)为二维像素坐标。遮罩M彩色图像的分辨率和场景坐标图像相同。如果存在相应的场景坐标地面真值,则将像素m设置为1,否则设置为0。


数据增强

虽然网络具有更大的接收字段,可以编码更多的全局上下文信息以更好地理解场景,但与基于补丁的方式进行训练和测试的网络相比,它更容易过度拟合。这是因为局部补丁对视点变化更为不变,我们通常可以对足够多的补丁进行采样以进行培训。然而,在我们的案例中,我们需要从许多不同的视角拍摄更多的训练图像来规范网络,因为全局图像外观对视角变化更为敏感。

为了缓解过度拟合问题,使用数据扩充来生成更多的训练数据。对输入的RGB图像和地面实况场景坐标图像应用二维转换。平移、旋转和缩放。

但是,这些二维仿射变换并不总是生成与三维场景一致的正确输入RGB图像(尽管它们始终与变换后的地面实况场景坐标图像一致)。由于摄像机处于三维空间,三维点根据摄像机模型投影到图像平面上,如果摄像机姿态发生变化,则三维点的新旧二维坐标之间的转换要比图像平面中的二维转换组合复杂得多。因此,建议在三维空间中增加数据。对于每个训练样本,由于已经有了地面实况场景坐标图像,因此可以从中生成一个局部的三维点云。然后,我们将一个小的随机变换添加到地面真值姿态,以合成一个新的相机姿态。最后,利用新的摄像机姿态、局部三维点云和已知的摄像机模型,将点投影到新的摄像机平面上,生成新的RGB图像及其地面真值场景坐标图像。


摄像机姿态优化

在两级管道的第二阶段,采用RANSAC算法与PNP算法相结合,从第一阶段产生的二维-三维对应关系中确定最终的姿态估计。这里使用的RANSAC位置优化算法与DSAC管道中使用的算法类似。唯一的区别是,首先我们简单地通过计算输入值来对假设进行评分,而不是使用CNN评分来从它们的重投影错误图像中回归假设的分数;其次,我们使用传统的argmax假设选择而不是概率选择。我们认为使用CNN评分的分数很容易过度拟合。

本文所使用的基于RANSAC的姿态优化算法的详细步骤在算法1中进行了描述。这里,score(Hi)是入口数,即重射误差小于阈值τ的对应数,最终姿态Hf是入口数最高的对应数。在[3]之后,对40×40个对应项进行采样(n=1600),对每幅图像采样256个假设(k=256),将Inlier阈值τ设置为10个像素,执行8个细化步骤(r=8),每个细化步骤最多选择100个(p=100),如果发现少于50个(q=50),则停止细化。

文中在网络训练阶段,将图像输入编码-解码结构的网络,得到输出图,通过深度相机拍摄的深度图进行限制,然后再通过算法1进行最终坐标的生成。测试阶段则只需要输入图像,然后直接生成坐标。


实验

发布了50 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/u012839256/article/details/90141439
今日推荐