论文下载链接
图像拼接(Image Stitching)可以说是计算机视觉领域中一个非常经典且完备的体系,由于其包含如特征点检测、映射估计、匹配对齐、投影变换和图像融合等重要算法(其中每一个小点都可单独拿出来研究)。自2007年Matthew Brown在IJCV上发表“Automatic panoramic image stitching using invariant features”后,便吸引了众多学者跑步入场,很多被学术界和工业界青睐的算法如双单应矩阵、网格对齐、视频拼接、立体拼接等如雨后春笋般映入眼帘。
随着深度学习的快速发展,以大数据驱动的有监督学习在众多计算机视觉课题中得到了广泛研究。基于手工特征的传统视觉算法便慢慢退出了人们(arXiv)的视线,而其中图像拼接为典型代表之一。当然,近年也不乏怀旧派的忠实粉试图来波文艺复兴,但他们都只是在图像拼接中某一个技术点上用深度学习进行改进。一个完整、灵活且鲁棒的深度学习图像拼接框架至今还未被人研究和探索过。
本文就是基于半监督的深度学习图像拼接框架,并且还创建了首个真实场景的无监督图像拼接数据集。
传统的基于特征的图像拼接技术在很大程度上依赖于特征检测质量,往往无法拼接特征较少或分辨率较低的图像。基于学习的图像拼接方法由于缺乏标记数据而很少被研究,使得监督方法不可靠。针对上述局限性,我们提出了一种无监督的深度图像拼接框架,包括两个阶段:无监督粗图像对齐和无监督图像重建。在第一阶段中,我们设计了一个基于消融的损失来约束无监督单应网络,它更适合于大型基线场景。此外,还引入了一个变换层来扭曲拼接域空间中的输入图像。在第二阶段,基于在特征级可以在一定程度上消除像素级的失调,我们设计了一个无监督的图像重建网络来消除从特征到像素的伪影。具体来说,重建网络可以通过低分辨率变形分支和高分辨率细化分支来实现,学习图像拼接的变形规律,同时提高分辨率。为了建立一个评估基准和训练学习框架,提出并发布了一个用于无监督深度图像拼接的综合真实图像数据集。大量的实验很好地证明了我们的方法优于其他最先进的解决方案。即使与监督解决方案相比,我们的图像拼接质量仍然受到用户的青睐。
图像拼接是一项关键且具有挑战性的计算机视觉任务,在过去几十年中得到了很好的研究,其目的是从不同的观察位置捕获的不同图像构建具有更宽视野(FOV)的全景图。这项技术在不同的领域有着广泛的应用,如生物学[1]、[2]、医学[3]、监控视频[4]、[5]、自动驾驶[6]、[7]、虚拟现实(VR)[8]、[9]。
传统的图像拼接解决方案是基于特征的方法,其中特征检测是能够深刻影响拼接性能的第一步。然后利用匹配特征建立参数化的图像对齐模型,通过该模型可以扭曲目标图像与参考图像对齐。最后,可以通过将像素值分配给扭曲图像之间重叠区域中的每个像素来获得缝合图像。
在这些步骤中,建立参数化的图像对齐模型是基于特征的方法的关键。事实上,单应变换是最常用的图像对齐模型,它包含平移、旋转、缩放和消失点变换,正确地解释了从一个二维平面到另一个二维平面的变换[10]。然而,在实际场景中,每个图像域可能包含多个不同的深度级别,这与单应性的平面场景假设相矛盾。缝合结果中通常会出现重影效果,因为单个单应不能解释不同深度级别的所有对齐。
传统的基于特征的解决方案通过两种主流方式减轻了瑕疵。第一种方法是通过尽可能将目标图像与参考图像对齐来消除伪影[11]–[20]。这些方法将图像划分为不同的区域,并计算每个不同区域的单应矩阵。通过对这些区域施加空间上不同的扭曲,重叠区域可以很好地对齐,并且伪影显著减少。第二种方法是通过研究缝合扭曲图像的最佳接缝来隐藏瑕疵[21]–[26]。通过优化与焊缝相关的成本,可将重叠部分沿焊缝划分为两个互补区域。然后,根据两个区域形成拼接图像。基于特性的解决方案可以显著减少大多数场景中的工件。然而,它们严重依赖特征检测,因此在特征少或分辨率低的场景中,拼接性能可能会急剧下降甚至失败。
由于卷积神经网络(CNN)令人难以置信的特征提取能力,最近基于学习的方法在各个领域取得了最先进的性能,如深度估计[28]、光流估计[29]、[30]、失真校正[31]。越来越多的研究人员尝试将CNN应用于图像拼接。在[32],[33]中,CNN仅用于提取特征点,而在[4],[7],[34]中,CNN被建议用于缝合具有固定观察位置的图像。遗憾的是,这些方法要么不是一个完整的基于学习的框架[32],[33],要么只能用于缝合具有固定视图而不是任意视图的图像[4],[7],[34]。然后,为了同时解决这两个问题,提出了无视图深度图像拼接方法[35]、[36]。在这些无视图解决方案中,深度图像拼接可以由深度单应性模块、空间变换模块和深度图像细化模块完成。然而,所有的解决方案都是有监督的方法,并且由于在实际场景中无法获得缝合的标签,目前还没有真正的深度图像拼接数据集。因此,这些网络只能在“无视差”合成数据集上进行训练,导致在真实场景中的应用不令人满意。
为了克服基于特征的解决方案和有监督的深度解决方案的局限性,我们提出了一种无监督的深度图像拼接框架,该框架包括一个无监督的粗图像对齐阶段和一个无监督的图像重建阶段。管道如图1所示。在第一阶段中,我们使用单一单应性粗略地对齐输入图像。与现有的无监督深单应性解决方案[37],[38]不同,它需要在输入图像周围添加额外的图像内容作为监督,我们设计了一种基于消融的损失来优化我们的无监督深单应性网络,该网络更适合于大基线场景,其中,大型基线是[38]中小型基线的相对概念。此外,还提出了一种缝合域变换层来扭曲缝合域中的输入图像,其占用的空间比现有的深缝合工作要小[35],[36]。在第二阶段,我们提出了一种巧妙的策略,从特征到像素重建缝合图像,通过无监督图像重建消除伪影。特别地,我们在重建网络中设计了一个低分辨率变形分支和一个高分辨率细化分支,分别学习图像拼接的变形规则和提高分辨率。
这种重建策略是由一个观察结果驱动的:与像素级相比,特征级的失调更不明显(图2左)。与像素相比,特征图的模糊程度更高,这表明在特征级可以在一定程度上消除像素级的错位。因此,我们认为在特征级比在像素级更容易消除伪影。为了实现这一点,我们首先重建缝合图像的特征,这些特征尽可能接近两个扭曲图像(图2中的第3列)。然后,可以基于重构的特征在像素级(图2中的第4列)重构缝合的图像。
基于学习的解决方案[35]、[36]中的现有数据集是一个“无视差”合成数据集,不能代表实际应用场景。而且基于特征的解决方案中的数据集太少,无法支持深度学习培训。为了使我们的框架在真实场景中具有泛化能力,我们还提出了一个大型的真实世界图像拼接数据集,该数据集包含不同的重叠率、不同程度的视差以及各种场景,如室内、室外、夜间、黑暗、雪和缩放。这里,我们将重叠率定义为图像总面积中重叠区域的百分比。
在实验中,我们评估了我们在单应估计和图像拼接方面的性能。实验结果表明,我们的方法在真实场景中优于其他最先进的解决方案。本文的贡献总结如下:
根据消除伪影的不同策略,基于特征的图像拼接算法可分为以下两类:
Ⅰ、自适应扭曲方法。
考虑到单个变换模型不足以精确对齐具有3个视差的图像,引入了组合多个参数对齐模型以尽可能多地对齐图像的思想。在[11]中,双单应性扭曲(DHW)分别用于对齐前景和背景。该方法适用于由两个主平面组成的场景,但在更复杂的场景中性能较差。Lin等人[12]在不同区域应用多个平滑变化仿射(SVA)变换,增强局部变形和对齐性能。Zaragoza等人[13]提出了尽可能投影(APAP)方法,其中图像可以划分为密集网格,每个网格将通过加权特征分配相应的单应性。事实上,APAP仍然会在对象边界附近显示视差伪影,因为这些区域可能会发生剧烈的深度变化。为了解决这个问题,在[19]中提出了翘曲残差向量来区分不同深度平面的匹配特征,这有助于生成更自然的缝合图像。
Ⅱ、接缝驱动方法。
接缝驱动的图像拼接方法也很有影响,通过隐藏伪影获得自然缝合的图像。受交互式数字图像拼接[39]思想的启发,Gao等人[24]建议从候选单应矩阵中选择具有最低接缝相关成本的最佳单应矩阵。然后通过接缝切割隐藏工件。参考内容保持翘曲(CPW)的优化策略[40],Zhang和Liu[22]提出了一种基于接缝的局部对齐方法,同时使用最佳单应性保持全局图像结构。这项工作还扩展到立体图像拼接[41]。Lin等人[23]使用迭代的扭曲和接缝估计,找到缝合图像的最佳局部区域,从而在图像缝合过程中保护曲线和直线结构。
这些基于特征的算法有助于感知自然缝合的结果。然而,它们严重依赖于特征检测的质量,在特征较少或分辨率较低的场景中常常失败。
获取用于缝合的真实数据集很困难。此外,对于重叠率低、视差大的场景,深度缝合是一项非常具有挑战性的任务。针对这两个问题,基于学习的图像拼接技术仍处于发展阶段。
Ⅰ、固定视图的方法。
视图固定图像拼接方法是任务驱动的,专为特定应用场景而设计,如自动驾驶[6]、[7]、监控视频[4]。在这些工作中,端到端网络被提出用于缝合来自固定视图的图像,而它们不能扩展到缝合来自任意视图的图像。
Ⅱ、任意视图的方法。
为了使用CNN从任意视图缝合图像,一些研究人员建议在特征检测阶段采用CNN[32],[33]。然而,这些方法不能严格地视为一个完整的基于学习的框架。[35]中提出了第一个完整的基于学习的框架,用于从任意视图缝合图像。图像拼接可以分为三个阶段:单应估计、空间变换和内容细化。然而,由于网络中各层完全连通,这项工作无法处理任意分辨率的输入图像,实际应用中的拼接质量也不令人满意。[36]中提出了一种基于此深度拼接管道的边缘保持深度图像拼接解决方案,从而消除了输入分辨率的限制,显著提高了真实场景中的拼接性能。
[42]中提出了第一种深度单应性方法,利用VGG-style[27]网络预测图像中4个顶点的8个偏移量,从而唯一确定对应的单应性。Nguyen等人[37]提出了第一种无监督的深单应方法,其结构与[42]相同,具有有效的无监督损失。Zhang等人[38]将空间注意力引入深单应网络,提出了一种内容感知的无监督网络,有助于提高小基线深单应的SOTA性能。在[43]中,提取多尺度特征以使用图像金字塔从粗到细预测单应性。
传统的基于手工特征点(如SIFT、ORB等)的图像拼接方法严重依赖于特征点的检测质量,往往在低纹理,低光照或重复纹理等场景下失败。而现有的深度学习有监督拼接方案很少得到研究,其最主要的原因是拼接图的Ground Truth难以获得。
为了解决以上两个问题,我们提出了一种基于重建的无监督图像拼接方案。其重建的核心思想来自于一个有趣的发现:像素级的不对齐现象可以在特征级上被一定程度削弱。因此,我们认为:重建拼接特征比重建像素级拼接图更容易,随后拼接特征可以用来重建出拼接图。
如下图,我们提出的无监督拼接方案可以分为两个阶段:无监督粗对齐和无监督重建。第一个阶段估计一个全局单应性矩阵(homography)来粗对齐输入图像,第二阶段重建粗对齐的结果得到拼接图。
现有的无监督deep homography方法在训练过程中,要求除了输入网络的patch对之外,还需要额外输入patch对周围的图像信息。这种基于填充的约束方式可以避免warp后出现的黑色区域。但在低重叠率的图像拼接场景中,这种patch对的选取方式可能导致两个patch输入之间找不到任何重叠区域(如下图第1、2列),这样会导致网络对homography的估计毫无意义。为了解决上述问题,我们提出一种基于消融的约束方式(如下图第3、4列),改动如下:1)网络的输入为整张图而不是patch,完全利用重叠区域 2)只约束warp后重叠区域的内容一致。
第一步基于单homography的对齐不能解决视差的问题,会导致拼接图中出现伪影。这一步我们提出一个无监督的重建网络来消除伪影。该网络分为一个低分辨率重建分支和一个高分辨率优化分支,其中重建分支用来消除伪影,优化分支用来增强图像质量。
在低分辨率的重建分支中, 约束重建拼接图的特征应该尽可能接近warp过后的图像特征。由此,我们提出了一个内容约束和一个缝隙约束来引导重建过程的学习方式。对于内容约束,我们约束拼接图的Content Masks(上图第3列)部分需要尽可能接近warped images的特征(VGG-19高层特征);对于缝隙约束,我们要求拼接图的Seam Masks(上图第4列)部分需要尽可能接近warped images的像素值。当前低分辨率分支重建的过程可视化如下图:网络会优先在encoder阶段重建重叠区域的特征,然后在decoder阶段恢复非重叠区域,最后重建出像素级的拼接图。
在高分辨率的优化分支中, 由于没有Ground Truth作为监督,我们采用和低分辨率相似的约束,只不过我们将Content Masks区域的VGG高层特征约束换为了低层特征约束。除此之外,为了防止高分辨率分支重建的图像出现伪影(高分辨率下网络的感受野相对降低),我们还增加了内容一致性约束,即约束高分辨重建图的像素内容和低分辨率重建图的像素内容尽可能接近。下图展示了低/高分辨率的输出结果。
我们还构建了首个真实场景下的无监督图像拼接数据集(USIS-D)。该数据集包含了不同场景,不同重叠率和不同的视差的图片对。 训练集共10,440对图像,测试集包含1,106对图像。
我们分别在homography估计任务和图像拼接任务上进行了定量和定性的评估。实验结果表示,甚至与现有的有监督深度学习图像拼接算法相比,我们的方法实现了更好的拼接结果。消融实验结果也证明了本文设计的不同模块的有效性。
提出了一种无监督的深度图像拼接框架,包括无监督粗图像对齐和无监督图像重建。在对齐阶段,提出了一种基于消融的损失函数来约束大基线场景中的无监督深度单应估计,并设计了拼接域变换层来扭曲拼接域空间中的输入图像。在重建阶段,提出了一种无监督的深度图像重建网络,将缝合后的图像从特征点重建到像素点,以无监督的方式消除伪影。此外,本文还提出了一个用于无监督深度图像拼接的真实数据集,希望能作为其他方法的基准数据集。实验结果表明,我们的方法优于其他最先进的解决方案。即使与有监督的深度图像拼接解决方案相比,我们的无监督方法的结果在视觉质量方面仍然受到用户的青睐。
提出的解决方案通过从特征到像素重建缝合图像来消除视差伪影。它本质上仍然是一种基于单一单应性的缝合方法。随着视差的增加,第一级的对准性能将降低,同时重建网络的负担也将变得更重。当视差过大时,重建网络可以将未对准视为新的重建对象。图18中示出了一个示例。今后,我们希望从两个方面解决这个问题:
参考链接
完!