非配对图像到图像(I2I)翻译是一项传统的计算机视觉任务,旨在在不使用配对图像的情况下将图像从一个领域翻译到另一个领域。然而,由于GPU内存限制,大多数框架无法处理超高分辨率(UHR)图像。例如,一个流行的框架在处理2,048×2,048分辨率的图像时,推理需要14GB的GPU VRAM,训练需要160GB,超出了单个32GB NVIDIA V-100 GPU的容量。这给从事涉及UHR图像的非配对I2I翻译任务的研究人员和实践者带来了重大挑战。尽管如此,UHR图像在日常生活中的普遍性是不可否认的,手机拍摄4K分辨率的照片,电影分辨率超过8K。如果没有有效的方法,对这些图像执行常见的图像翻译任务,如风格转换和着色,将会受到显著阻碍。
图1:翻译比较。(a) 展示了由密集归一化(DN)从右上角显示的图像产生的real2paint翻译的超高分辨率图像(3,024×4,032像素),并在蓝色框选区域中突出显示了比较结果。(b) 说明了分块IN或KIN中出现的间隙型拼接伪影;(c) 展示了TIN导致的抖动型拼接伪影;(d) 展示了DN在减少拼接伪影方面的有效性。UHR非配对I2I翻译的另一个关键应用是数字病理中的染色转换。由于成本效益,常用的染色方法如苏木精和伊红被广泛使用。然而,对于更详细的癌症诊断,使用昂贵的免疫组化染色变得必不可少。鉴于病理图像的分辨率经常超过10,000×10,000像素,迫切需要一种有效的染色转换算法,以降低病理染色的成本。
为了在UHR图像上执行非配对I2I翻译,已经采用了一些策略。简化模型架构或增加输出图像大小可以使得在2K图像上进行翻译,但它们仍然有很高的GPU内存使用量,对于N×N分辨率的图像,空间复杂度为O(N^2)。或者,分块训练和推理可以将空间复杂度降低到O(1),但由于在将分块缝合成UHR图像时出现的拼接伪影,难以产生无缝的结果。尽管大多数I2I框架中的卷积操作应该保证最终输出可以无缝地从分块中组装而成,但每个分块应用的归一化操作会破坏这一属性。由于在实例归一化层中计算的统计矩可以影响颜色保真度,它们在相邻分块之间的差异会导致间隙型拼接伪影。为了减轻这个问题,缩略图实例归一化应用全局图像级统计数据,代价是失去局部色调和对比度,导致过度/不足着色。此外,这些统计矩中的显著扰动不幸地创造了抖动型拼接伪影,这些伪影表现为分块边缘的颜色抖动。另一方面,核化实例归一化通过更紧密地对齐相邻分块级统计数据来减轻间隙型拼接伪影,但它需要选择一个核大小来在模糊伪影和保留局部色彩对比度之间做出权衡。此外,核化实例归一化的方法需要一个两阶段的流程,因为最初需要计算统计数据,然后在它们上执行卷积操作。这提出了一个问题:像素级统计矩估计能否解决所有这些问题,并且能否在单次传递中完成?
图2:各种归一化策略的比较。这张图展示了不同归一化方法对超高分辨率图像(3,024×4,032像素)在夏季到秋季任务中的影响框架:(a) 分块IN使用分块级别的统计数据,导致分块之间的统计差异,从而产生明显的间隙型拼接伪影。(b) TIN使用全局图像级统计数据(来自缩略图)消除统计差异,但牺牲了颜色和色调细节,也引发了抖动型拼接伪影。(c) KIN采用两阶段流程,通过对分块级统计数据应用卷积操作来减轻统计差异,尽管这是以牺牲局部细节为代价的。(d) DN在单次传递中估计像素级的统计矩,有效地保留了局部颜色和色调,同时减少了拼接伪影。(e) 在人类评估的各个方面,DN的表现都超越了所有方法。在特征行中,✓表示“已实现”;△表示“部分实现”;✗表示“未实现”。红色特写框突出显示了不同统计矩用于归一化时的影响结果。
为了回答上述问题,提出了密集归一化层,它能够估计每个像素的统计矩。它具有四个预期属性:减少拼接伪影、保留局部色调和颜色对比度、单次传递执行和无需超参数。虽然可以通过对分块级统计数据进行双线性插值来实现像素级统计估计,但其简单的实现由于高计算需求而耗时。因此,开发了一个快速插值算法来提高计算效率和实用性。此外,为了执行像素级统计估计,必须首先计算并缓存分块统计数据。然后对这些统计数据执行快速插值,这个过程通常需要一个两阶段流程。然而,设计了一种预取策略,巧妙地将缓存过程隐藏在推理过程中,利用GPU并行性使密集归一化层能够在单次传递中操作。
总之,研究取得了以下成就:
1.这是第一项研究,在UHR非配对I2I翻译中估计像素级统计矩以进行归一化,有效地减少拼接伪影,同时保留局部色调和颜色,从而实现了最先进的性能。
2.引入了一个快速插值算法,用于高效的像素级统计估计,以及一个预取并行算法,使密集归一化层能够在单次传递中操作,显著减少了运行时间。
3.无需超参数的密集归一化层可以无缝集成到任何在推理期间使用实例归一化层的现有框架中,无需模型重新训练。
图3:所提方法的框架。(a) 提供了框架流程的总体视图。(b) 显示了调度器和密集归一化(DN)层的细节。超高分辨率图像X最初被划分为分块x_patch(r,c),其中r和c分别代表行和列坐标。调度器为预取和推理分支排序两个分块。在DN层中,预取分支计算并缓存统计矩。对于推理分支,查询分块及其周围八个分块的统计数据。随后,使用快速插值来估计每个像素的均值(ˆµ_pixel(c,r))和标准差(ˆσ*_pixel(c,r)),从而实现密集归一化。