【论文精读】Pixel-wise Deep Image Stitching

文章目录

    • 一、论文
      • 题目:像素级深度图像拼接
      • 0摘要
      • 1引言
      • 2相关工作
      • 3像素级深度图像拼接
        • 3.1总体框架
        • 3.2像素扭曲模块(PWM)
        • 3.3缝合图像生成模块(SIGMo)
      • 4实验
        • 4.1提出的数据集
        • 4.2实验设置
        • 4.3实验结果
      • 5局限性
      • 6结论
      • 附录
        • A数据集细节
    • 二、论文总结

一、论文

题目:像素级深度图像拼接

0摘要

图像拼接的目的是将从不同视角拍摄的图像拼接成视野较宽的图像。现有的方法使用估计的扭曲函数将目标图像扭曲到参考图像,单应性是最常用的扭曲函数之一。然而,当图像由于非平面场景和相机的平移运动而具有大视差时,单应性不能完全描述两幅图像之间的映射。现有的基于全局或局部单应估计的方法并不能摆脱这个问题,并且会由于视差而产生不希望出现的伪影。在本文中,我们提出了一种新的深度图像拼接框架,利用像素方向的扭曲场来处理大视差问题,而不是依赖于基于单应性的扭曲。提出的深度图像拼接框架由两个模块组成:像素级扭曲模块(PWM)和缝合图像生成模块(SIGMo)PWM采用光流估计模型来获得整个图像的像素级扭曲,并用获得的扭曲场重新定位目标图像的像素。SIGMo将扭曲的目标图像和参考图像混合,同时消除不必要的瑕疵,如不对齐、接缝和孔洞,这些瑕疵会损害缝合结果的合理性。 为了训练和评估所提出的框架,我们构建了一个大规模的数据集,其中包括具有相应像素级地面真值扭曲的图像对和样本缝合结果图像。我们表明,该框架的结果在质量上优于传统方法,尤其是当图像具有大视差时。代码和提议的数据集将很快公开。

1引言

图像拼接是一项经典的计算机视觉任务,广泛应用于机器人导航或全景/360°等多种图像采集。图像拼接将从不同视点拍摄的多幅图像对齐到特定视点的图像中,以获得视野更宽的图像。图像拼接方法的一般流程可以描述为一系列子任务:1)搜索两幅图像之间的对应关系,2)基于对应关系获得两幅图像之间的变换,通常是基于单应性的扭曲函数,3)使用变换扭曲图像,4)混合图像以减少令人不快的接缝[4,12,15]或投影扭曲[3,13,14]。
AutoStitch[2]是最早的著作之一,它使用关键点检测和匹配来获得两幅图像之间的点对应。基于这些对应关系,在平面场景假设下优化了两幅图像之间的单应变换。然而,当相机和目标场景很近和/或场景包含突然的深度变化时,无法建立这种假设。在这些情况下,会出现被称为“视差问题”的错位,并导致令人不快的效果,例如缝合图像中的重影伪影。
为了解决这个问题,有几种方法[6、33、36]提出将输入图像划分为子区域,然后在假设每个子区域是平面的情况下优化每个单元的变换矩阵。然而,在使用这些方法时,翘曲函数的精度和收敛性之间存在权衡。如果我们将图像分成更小的子区域,使其接近平面,那么这些子区域上的对应关系将非常稀少,因此很难优化这些区域上的区域扭曲。另一方面,如果我们使用更大的分区,它将提供足够的匹配,但平面假设可能会被削弱。[36]尝试将目标图像分割为三角形,并将其合并为投射一致的平面。但是,它仍然假设场景深度是连续的,并且依赖于估计的深度。
我们对这一困境的解决方案是打破使用单应性的区域扭曲范式。与光流相似,我们不采用区域共享变换矩阵的形式来估计扭曲,而是直接估计用于图像拼接的二维像素扭曲场。由于这种方法既不定义子区域,也不定义区域扭曲,因此不需要进行上述权衡,因此可以处理大视差场景。在本文中,我们提出了一种新的像素级深度图像拼接框架和数据集。具体来说,我们设计了两个模块:像素级扭曲模块(PWM)和缝合图像生成模块(SIGMo)。
PWM的目的是估计并应用从目标图像到参考图像的像素级扭曲。 在PWM中,在地面真值(GT)监控的帮助下,训练扭曲估计网络来估计像素方向的扭曲。在重叠(OV)区域,与光流估计类似,PWM可以学习基于点对应估计像素方向的扭曲。另一方面,由于缺乏对应关系,获取非重叠(NOV)区域的像素级扭曲是一个定义不清的问题。从图像拼接的角度来看,导致合理拼接结果的扭曲不是唯一的。因此,我们没有对OV和NOV区域施加相同的损失函数,而是将NOV区域的损失规则化。它有助于模型在训练期间了解NOV区域上像素级扭曲的趋势,同时防止模型在训练数据集上过度拟合。利用获得的像素级扭曲,我们用前向扭曲重新定位目标图像的像素。
SIGMo的重点是通过混合PWM扭曲的目标图像和参考图像来生成合理的缝合结果。由于扭曲的目标图像包含由前向扭曲引起的孔洞,我们在处理其他不希望出现的瑕疵(如接缝或错位)时,让SIGMo填充孔洞。为了实现这一点,我们设计了孔洞感知重建损失,它保留了参考和扭曲目标图像的可靠像素。此外,为了减少缝合结果中不希望出现的伪影,我们利用了来自无条件鉴别器的对抗性损失。
将深度学习引入图像拼接领域的最大障碍之一是缺少数据集。关于图像拼接的一些现有研究[33,34]已经发布了由多视图图像组成的数据集,用于定性评估。然而,这些集合不足以训练深度学习模型,因为它们只包含数十幅图像,而且由于缝合任务的性质,也不包括缝合图像。最近,一个用于图像拼接的大规模数据集[23]被提出。然而,由于该研究的目标是无监督设置,因此该集合既不包含GT点对应,也不包含缝合图像。因此,为了训练和评估所提出的框架,我们构建了一个基于照片真实感虚拟环境的大规模合成数据集[1]。 该数据集包括成对的参考图像和目标图像,其中还提供了地面真值像素方向的扭曲场和样本缝合图像。
我们的方法在提出的数据集和真实图像上都取得了显著的效果,优于现有的图像拼接方法。如图1所示,我们观察到所提出的方法有效地执行图像拼接,尤其是对于包含大视差或非平面对象的场景,其中现有方法通常失败。总之,我们的贡献如下: (1) 为了解决图像拼接任务中的大视差问题,我们提出了基于像素的扭曲估计方法。(2) 我们开发了一种新的深度图像拼接框架,用于估计像素方向的扭曲,并将扭曲的目标图像与参考图像混合。(3) 我们提出了一个用于图像拼接任务训练和评估的大规模数据集。(4) 与现有的方法相比,我们在所提出的数据集和真实图像上都获得了更好的定性拼接结果,尤其是对于包含大视差的场景。

2相关工作

图像拼接:现有的图像拼接方法提出将输入图像划分为子区域,然后在假设子区域是平面的情况下优化每个单元的变换矩阵。
[6] 将场景分为远平面和地平面,然后为每个平面优化双单应。[33]提出将目标图像划分为类似细胞的子区域,并借助移动直接线性变换(MDLT)算法优化每个细胞的单应矩阵。[36]尝试将目标图像分割成三角形,并将其合并到投射一致平面中。在最小化每个特征的扭曲残差的同时,[11]将输入图像分成超级像素,然后自适应地扭曲每个超级像素。然而,对每个子区域使用区域扭曲会导致扭曲优化的准确性和收敛性之间的权衡。此外,分割图像和优化每个区域的单应性所需的额外计算成本也不容忽视。一些方法试图在各种约束条件下细化基于单应的扭曲。[16] 使用空间变化的仿射变换细化初始全局扭曲。[35]设计了一个能量函数,以最小化拼接结果中局部比例和线条的失真。[11] 提出了一种解析扭曲函数,并将输入图像扭曲到网格图像平面上,以消除由单应性引起的视差误差。[9] 提出了一种基于线点约束的保结构图像拼接方法。
然而,这些作品无法完全解决使用基于单应性的扭曲的缺点,因为经过优化的扭曲是初始扭曲的局部调整版本。另一方面,提出的框架估计像素方向的扭曲,而不是使用单应性。
光流: 由于深度学习的最新进展,现有的深度光流(OF)网络已经产生了成功的结果。端到端光流估计方法搜索点对应,因此仅在重叠区域进行目标光流估计[7,10,29,30]。然而,非重叠流估计是一个不适定问题,因为在非重叠区域没有点对应。然而,获取非重叠区域到重叠区域域的变换函数是图像拼接的必要条件。由于我们采用了基于像素的扭曲方法,而不是单应性,所以我们需要在非重叠区域进行流量估计。
图像融合: 在视频帧插值和图像拼接中,图像融合是一项重要任务,其目的是将两幅区域重叠的图像融合在一起,形成逼真的图像。视频帧插值方法中使用的混合模块的架构可分为①基于Unet[28]的[19,31]和②基于GridNet[5]的结构[25–27],这两种方法都能生成逼真的合成图像。在这两种架构中,我们选择修改UNet,并为混合模块设计了一种带有跳连接的 Siamese 编解码器架构。
一些缝合研究特别关注图像混合中的接缝处理。为了鼓励沿接缝平滑过渡,定义了梯度域[12]或接缝成本[4]中的成本函数。其他方法使用接缝切割来对齐图像,并采用混合技术,如局部接缝混合[6],多波段混合算法[34],或迭代提高接缝质量[15]。随着深度学习的发展,[22]首次提出了一种基于完全深度学习的图像拼接框架,尤其是无目标视图的拼接。为了减少不需要的接缝,进行了几次尝试,例如边缘保留变形分支[24]、内容损失[22]和接缝损失[23]。与上述方法相反,我们提出了SIGMo,它利用对抗性损失来消除最终缝合结果中不自然的接缝和错位。
孔洞填充: 在需要填充孔洞的计算机视觉任务中,最活跃的研究领域是图像修复。对于深度图像修复,人们提出了各种技术来集中填充具有相关纹理和结构信息的孔。这些方法包括使用仅以有效像素为条件的部分卷积,利用可学习的双向注意图,或使用具有特征均衡的相互编码器-解码器[17,18,32]。我们提出的方法在将目标图像扭曲到参考图像域时使用前向扭曲,这不可避免地会导致扭曲图像中出现孔洞。前面提到的深度图像修复方法与我们提出的方法之间的主要区别在于,我们的方法没有明确的地面真孔掩模。为了解决这个问题,我们设计了孔洞感知重建损失和对抗性损失来消除最终缝合结果中的孔洞。

3像素级深度图像拼接

对于图像拼接,我们建议直接估计像素方向的扭曲场,而不是估计基于单应性的扭曲。为了实现这一目标,我们提出了一种新的像素级深度图像拼接框架,将在本节中详细介绍。通过这种方法,我们可以在更具挑战性的条件下,尤其是涉及大视差或非平面区域的场景中,有效地执行图像拼接。

3.1总体框架

该框架由两个模块组成:像素扭曲模块(PWM)和缝合图像生成模块(SIGMo) ,如图2所示。由于我们的目标是以像素方式将目标图像缝合到参考图像平面中,因此我们首先重新定位目标图像中的每个像素,以使用PWM获得扭曲的目标图像。然后,来自PWM的扭曲目标图像和参考图像被馈入SIGMo以生成最终缝合图像。
【论文精读】Pixel-wise Deep Image Stitching_第1张图片

详细地说,给定一对参考图像和目标图像(IR,IT),PWM首先估计像素方向的扭曲场 WT→R 从 IT 到 IR,包括重叠区域和非重叠区域。然后,根据估计的扭曲场,我们通过使用可微前向扭曲将其中的每个像素重新定位到 IR 域,从而获得扭曲的目标图像 IWT[26]。由于前向翘曲过程不可避免地会在翘曲的目标图像中产生不需要的孔,因此在后续的过程中,应该消除这种副作用,以获得合理的拼接图像。因此,我们设计了SIGMo来填充孔洞并生成最终缝合的图像 IS,同时自然地混合 IWT 和 IR 以减少不希望出现的瑕疵,包括接缝和错位。

3.2像素扭曲模块(PWM)

我们提出了一种直接估计像素级扭曲场的方法,而不是基于单应性的区域扭曲估计。在任务的性质上,我们的方法与估计方法有相似之处。特别是在两幅图像之间的OV区域,所提出的方法和估计的目的是相同的:基于点对应估计从一幅图像到另一幅图像的像素级二维扭曲。因此,我们从估计领域的研究中借鉴了最新的网络结构[7,30]。通过对所提出的数据集进行地面真值监督,我们可以训练模型并获得OV区域可靠的像素方向的翘曲场。
但是,从图像拼接的角度来看,仅仅对现有的估计模型施加类似的损失并不能完全解决翘曲估计问题。与估算OV区域上的扭曲不同,由于缺乏对应关系,预测NOV区域的像素扭曲场是一个定义不清的问题。为NOV区域提供GT监督可以作为一个近似的指导,因为现有的模型可以了解OV和NOV之间的关系,这是因为它具有广阔的感受野。然而,过度强迫模型减少NOV区域上预测的扭曲和GT扭曲之间的损失可能会导致训练数据集上的过度拟合,类似于单目深度估计任务。此外,对于NOV区域,从图像拼接的角度来看,导致合理拼接结果的翘曲场不是唯一的。
因此,我们没有对图像上的所有像素应用相同的损失函数,而是通过加权调整NOV区域上像素的损失。提出的 PWM翘曲损耗 定义为公式(1)。
在这里插入图片描述

其中,Wov和Wnov分别是重叠区域和非重叠区域的估计翘曲场。Wgtov和Wgtnov是Wov和Wnov的GT标签。在这里,为了使模型主要关注OV区域,同时在NOV区域保持最小制导,α对非重叠翘曲监督进行了正则化。为了知道某个像素属于哪个区域,我们在提出的数据集中使用重叠区域的掩码,其中获取掩码的过程将在附录中详细说明。
为了找到NOV监管的适当正则化程度,我们在调整公式(1)中的α的同时,对提出的数据集进行了实验。图3显示了不同α的拟议PMW的定性比较。仅在OV区域(α=0)施加GT完全无法预测NOV区域的像素级扭曲,这是我们所期望的。当α>0时,PWM成功地对NOV区域进行了合理的预测。我们观察到,随着α的增加,由于我们所担心的过度拟合,扭曲的目标图像在OV和NOV区域都有失真的趋势。
我们尝试应用基于Sampson距离误差的极线损失,该误差将扭曲的像素限制在扭曲之前位于像素的极线上。这旨在为估计NOV区域的像素级扭曲提供指导。然而,与预期不同的是,应用极线损失并没有带来任何定性或定量的改善。此外,我们还观察到,当仅使用等式(1)中的损耗函数训练PWM时,极线损耗减小。似乎在NOV区域应用GT监督的行为已经隐含地提供了关于极线约束的信息。关于极线损失的更多讨论将在附录中详细说明。
通过地面真值监督获得像素级扭曲场 WT→R 之后的,我们使用 WT→R 变换 IT 中的每个像素以获得扭曲的目标图像 IWT。为了变换每个像素,我们使用softmax splatting[26],这是视频帧插值中众所周知的前向扭曲方法。

3.3缝合图像生成模块(SIGMo)

我们设计了SIGMo,用给定的参考图像 IR 和扭曲的目标图像 IWT 生成合理的缝合图像 IS,如图4所示。具体来说,SIGMo处理三种不需要的瑕疵: 1)孔、2)错位和3)接缝。由于PWM中的正向翘曲过程会在 IWT 中产生不需要的孔,因此我们需要填充这些孔以进行合理的图像拼接。解决这个问题的一个简单方法是采用图像修复技术,但这些方法无法区分孔洞和背景。将这些孔与背景区分开来很复杂,这使得很难插值相邻像素值来填充这些孔。此外,由于 WT→R 中的误差以及 IR 和 IWT 之间的颜色差异,可能会分别出现对错和接缝。
【论文精读】Pixel-wise Deep Image Stitching_第2张图片

为了 减轻这些伪影 ,我们设计了孔洞感知重建损失和对抗性损失。特别是,我们希望SIGMo在保留输入 IR 和 IWT 的整体结构的同时去除伪影。因此,当对抗性损失减少伪影时,利用孔洞感知重建损失来约束SIGMo并保留输入图像。
对于孔洞感知重建损失,我们首先获得参考占用掩模 MR 和扭曲目标占用掩模 MWT。由于 IWT 的大小可以大于 IR,因此我们将生成的缝合图像的大小预定义为 IR 大小的两倍。我们对 IR 和 IWT 进行填充或裁剪,以便与 IS 的尺寸相匹配。为了方便起见,从现在起,IR 和IWT 还分别代表填充或裁剪的 IR 和 IWT 。然后,对于实际像素在 IR 或 IWT 中所占的位置,我们可以轻松获得值为 1 的 MR 或 MWT,否则分别为 0。孔感知重建损失 定义为公式(2)。
【论文精读】Pixel-wise Deep Image Stitching_第3张图片

对于对抗性损失, 我们使用一个无条件补丁鉴别器D来确定 IS 的小补丁是否真实[8]。这里,所提出的数据集 IGT 的样本 GT 图像用于真实图像。基于LSGAN损耗[21]的目标函数 可以表示为等式(3):
在这里插入图片描述

SIGMo的总损耗函数 如下:
在这里插入图片描述

其中 λr 和 λa 分别是 Lrecon 和 Ladv 的加权参数。
我们为SIGMo设计了一个带有跳过连接的 Siamese编解码器架构。我们没有在早期融合 IR 和 IWT,而是在将它们分别送入共享编码器后进行融合,如图4所示。在解码阶段,IR 和 IWT 的独立中间特征被融合并用作跳转连接。我们使用平均融合的融合方法。

4实验

4.1提出的数据集

将基于学习的方法引入图像拼接领域的最大障碍是缺乏大规模数据集。一些现有研究发表了用于定性比较的数据集,然而,这些数据集在大小上相对较小,并且不包括图像之间的GT扭曲,即使在OV区域。最近一种基于无监督学习的方法提出了一个大规模数据集,其中包含从视频中收集的帧[23]。然而,该数据集也不包括GT对应,这不足以训练基于像素级扭曲估计的提出框架。
因此,为了训练和评估所提出的框架,我们利用虚拟环境[1](Apache License 2.0)构建了一个新的大规模图像拼接数据集。从两个不同视图的多个虚拟摄像机场景中,我们渲染图像对:参考图像 IR 和目标图像 IT。为了模拟通常应用图像拼接的情况,我们让一对渲染图像共享一些重叠区域。我们提出的数据集包含4098对用于训练的图像和919对用于测试的图像。
利用虚拟摄像机的投影摄像机矩阵,可以得到相对于参考图像的地面真值扭曲。作为示例,该数据集还提供了根据GT扭曲的参考图像和目标图像构建的拼接结果。虽然样本结果是用GT扭曲构造的,但估计NOV区域的扭曲是一个定义不清的问题,因此从图像拼接的角度来看,这只是可能的实现方法之一。关于我们的数据集的更多细节可以在附录中找到。

4.2实验设置

我们在我们提出的数据集上训练和评估我们的方法,为了进行比较,我们另外使用了[23,34]中提出的数据集。虽然我们将输入图像调整为224×224以训练我们的翘曲估计网络,但我们的模型对输入大小没有明确的限制我们为500个迭代训练我们的网络,批量大小为8。所有模块,PWM和SIGMo,都使用AdamW优化器[20]进行优化,β1=0.5,β2=0.999,学习率为1×10−4. 我们使用α=0.3,λr=1,λa=0.1进行训练。
在各种现成的光流估计模型中,我们选择使用RAFT[30]结构作为PWM中的翘曲估计网络,该结构在光流估计中显示了良好的结果。请注意,任何光流估计模型都可以用作翘曲估计网络,定性结果将在附录中讨论。

4.3实验结果

与现有方法的比较:图5显示了所提出的方法与之前的图像拼接方法之间的定性比较[14,23,33]。输入图像来自UDIS[23]中提出的数据集。正如我们的意图,所提出的方法能够在没有错位和严重失真的情况下稳健地缝合输入图像,而其他方法往往无法收敛或产生严重错位。更多对比实验见附录。
挑战性场景:我们在图6中展示了我们的方法与APAP[33]在具有大视差的挑战性场景上的定性比较。输入图像对由提出的数据集和[34]中提出的数据集提供。结果表明,我们基于像素扭曲的方法在大视差场景下是鲁棒的,而APAP在这两种情况下都失败。由于APAP使用基于单应性的局部区域扭曲,因此在具有曲率或大视差的场景中,它必然会失败。另一方面,我们的模型可以在没有偏差的情况下获得稳健且合理的缝合结果,即使对于具有较大基线和显著场景深度差异的场景也是如此。
孔洞填充:我们在图7中展示了提出的SIGMo的孔洞填充能力。我们将SIGMo的结果与平均混合方法进行了比较,平均混合方法通过平均参考和扭曲目标图像的重叠区域获得。如黄色方框所示,借助于孔洞感知重建损失和对抗性损失,SIGMo成功地处理了扭曲目标图像中由PWM正向扭曲引起的不良孔洞。

5局限性

图8中的黄色框显示了该方法的主要局限性: 孔洞和错误预测的扭曲,尤其是在NOV区域。我们利用孔洞感知重建损失和对抗性损失,使SIGMo生成合理的缝合结果。然而,由于遮挡或信息不足而造成的大孔洞仍然难以填充。此外,尽管对NOV区域实施GT监管显示出一定程度的成功,但本文提出的框架并未完全解决在NOV区域估计像素级扭曲的不明确性质。最后,由于所提出的基于DL的框架的有限接受域和内存问题,我们的方法只能处理分辨率在有限范围内的图像。

6结论

现有的大多数图像拼接研究都利用了基于单应的扭曲 ——> 这会导致视差问题。在本文中,为了解决大视差问题,我们提出用像素方向的扭曲来代替基于单应的扭曲。为此,我们提出了一种由像素级扭曲模块(PWM)和缝合图像生成模块(SIGMo)组成的新框架。PWM估计并将目标图像的扭曲应用于参考图像。为了处理NOV区域估计偏差的不明确性质,我们提出了一种NOV正则化损失,并进行了一个实验以找到适当的正则化程度。然后,借助于提出的孔洞感知重建损失和对抗性损失,SIGMo通过结合参考图像和扭曲的目标图像生成合理的缝合结果。为了训练所提出的框架,我们还构建了一个用于图像拼接的大规模合成数据集。结果表明,利用所提出的框架和数据集,我们在拼接质量方面取得了优于传统的拼接结果。我们的方法可以按预期处理具有大视差的挑战性场景,而其他方法通常会失败。在图像拼接领域,与基于单应性的方法相比,它支持所提出的像素级扭曲估计方法的优越性。虽然由于内存问题,本文提出的方法在分辨率上有一定的局限性,但我们表明,我们的方法是一个很有前途的图像拼接方向。对所提出的方法进行改进,使其能够以更高的分辨率应用,这将是未来研究的一个有趣之处。

附录

A数据集细节

为了训练和评估所提出的框架,我们构建了一个新的大规模图像拼接数据集。为此,我们利用虚拟环境[1](Apache许可证2.0)。该环境由从RGB图像和相应深度重建的3D网格和纹理组成,因此与完全虚拟的世界相比,场景具有照片级真实感。我们使用虚拟相机在两个不同的视图(参考图像和目标图像)渲染多个场景中的图像对。为了模拟通常应用图像拼接的情况,我们让一对渲染图像共享重叠区域。关于参考图像和目标图像之间的重叠率,提出的数据集的数据分布如图9所示。
我们提出的数据集包含4098对用于训练的图像和919对用于测试的图像。利用虚拟摄像机的投影摄像机矩阵,可以得到相对于参考图像的地面真值扭曲。作为示例,该数据集还提供了根据GT扭曲的参考图像和目标图像构建的拼接结果。虽然样本结果是用GT扭曲构造的,但估计NOV区域的扭曲是一个定义不清的问题,因此从图像拼接的角度来看,这只是可能的实现之一。提出数据集的样本如图10所示。

二、论文总结

你可能感兴趣的:(图像拼接系列论文,python,深度学习,机器学习)