Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

马赛克变高清,谷歌将SR3、CDM相结合,推出超分辨率新方法

谷歌的研究者用两种有关联的方法提升了扩散模型的图像合成质量。

自然图像合成作为一类机器学习 (ML) 任务,具有广泛的应用,也带来了许多设计挑战。例如图像超分辨率,需要训练模型将低分辨率图像转换为高分辨率图像。从修复老照片到改进医学成像系统,超分辨率有着非常重要的作用。

另一个图像合成任务是类条件图像生成,该任务训练模型以从输入类标签生成样本图像。生成的样本图像可用于提高下游模型的图像分类、分割等性能。

通常,这些图像合成任务由深度生成模型执行,例如 GAN、VAE 和自回归模型。然而,当经过训练以在高分辨率数据集上合成高质量样本时,这些生成模型都有其缺点。例如,GAN 经常遭受不稳定的训练和模式崩溃,而自回归模型通常会遭受合成速度缓慢的问题。

最初于 2015 年提出的扩散模型由于其训练稳定性和对图像的有希望的样本质量结果,最近重新引起了人们的兴趣 。因此,与其他类型的深度生成模型相比,它们提供了潜在的有利权衡。扩散模型通过逐渐添加高斯噪声来破坏训练数据,慢慢消除数据中的细节直到它变成纯噪声,然后训练神经网络来逆转这种破坏过程。运行这个反向损坏过程通过逐渐去噪直到产生干净的样本来合成来自纯噪声的数据。该合成过程可以解释为作为一种优化算法,它遵循数据密度的梯度以生成可能的样本。

近日,来自谷歌的研究者提出了两种有关联的方法,它们推动了扩散模型的图像合成质量的界限——通过重复细化的超分辨率(SR3,Super-Resolution via Repeated Refinements)和一个类条件合成模型,称为级联扩散模型(CDM)。研究者表明,通过扩大扩散模型和精心挑选的数据增强技术,新方法可以胜过现有的方法。具体来说,SR3 在人类评估中获得了超过 GAN 的强大图像超分辨率结果。CDM 生成的高保真 ImageNet 样本在两个 FID 得分上均超过 BigGAN-deep 和 VQ-VAE2。分类准确率得分大幅提升。

SR3:图像超分辨率

SR3 是一种超分辨率扩散模型,它以低分辨率图像作为输入,并从纯噪声中构建相应的高分辨率图像。该模型在图像损坏过程中进行训练,其中噪声逐渐添加到高分辨率图像中,直到只剩下纯噪声为止。然后它学习逆转这个过程,从纯噪声开始,并通过输入低分辨率图像的引导逐步去除噪声以达到目标分布。

通过大规模训练,当扩展到输入低分辨率图像的 4 倍到 8 倍的分辨率时,SR3 在人脸和自然图像的超分辨率任务上取得了强大的基准测试结果。这些超分辨率模型可以进一步级联在一起以增加有效的超分辨率比例因子,例如,将 64x64 → 256x256 和 256x256 → 1024x1024 人脸超分辨率模型堆叠在一起,以执行 64x64 → 1024x1024 的超分辨率任务。

研究者将 SR3 与现有方法进行比较,并进行了一项双重强制选择实验,要求受试者在参考高分辨率图像和被问及以下问题时的模型输出之间进行选择:「你猜是相机拍的吗?」该研究通过混淆率(confusion rate)来衡量模型的性能(评估者选择模型输出而不是参考图像的时间百分比,其中完美的算法将实现 50% 的混淆率)。这项研究的结果如下图所示。

上图:该研究在 16x16 → 128x128 人脸的任务上实现了接近 50% 的混淆率,优于 SOTA 人脸超分辨率方法 PULSE 和 FSRGAN。下图:该方法还在 64x64 → 256x256 自然图像这一更困难的任务上实现了 40% 的混淆率,大大优于回归基线。

实验结果

自然图像:图 3 给出了 ImageNet 开发集上 64×64 → 256×256 的超分辨率自然图像示例,以及用于更精细检查的放大 patch。基线回归模型生成的图像忠实于输入,但模糊且缺乏细节。相比之下,SR3 产生的图像清晰,细节更丰富。

图 3:SR3 模型(64×64 → 256×256)的结果,模型在 ImageNet 上训练并在两个 ImageNet 测试图像上进行评估。

人脸图像:图 4 显示了两个测试图像上的人脸超分辨率模型(64×64 → 512×512)的输出,并放大了选定 patch。使用 8 倍的放大因子可以清楚地看到推断的详细结构。注意由于放大因子很大,因此有很多似是而非的输出,因此我们不期望输出与参考图像完全匹配。

图 4:SR3 模型(64×64 → 512×512)的结果,在 FFHQ 上训练并应用于训练集之外的图像,以及放大的 patch 以显示更精细的细节。

表 1 显示了 16×16 → 128×128 人脸超分辨率的 PSNR、SSIM [59] 和 Consistency 分数。SR3 在 PSNR 和 SSIM 上的表现优于 PULSE 和 FSRGAN,而在回归基准上的表现则逊色。先前的工作 [7, 8, 28] 观察到,当输入分辨率低且放大因子大时,这些传统的自动评估措施与人类感知的相关性不佳。这并不奇怪,因为这些指标往往会惩罚与目标图像不完全对齐的任何合成高频细节。

表 1:16×16 → 128×128 人脸超分辨率下的 PSNR 和 SSIM。

由于生成完美对齐的高频细节,例如,图 4 中完全相同的发束和图 3 中相同的豹斑,几乎是不可能的,因此 PSNR 和 SSIM 往往基于 MSE 回归的技术,这些技术对高频保守细节。对于 ImageNet 超分辨率 (64×64 → 256×256),表 2 进一步证实了这一点,其中 SR3 的输出实现了更高的样本质量分数(FID 和 IS),但 PSNR 和 SSIM 比回归差。

表 2:使用在 ImageNet 验证集上计算的标准指标,SR3 和回归基线在自然图像超分辨率上的性能比较。

受试者(subject) fool rate 是受试者选择模型输出而不是真实情况的试验比例。每个模型的 fool rate 有 50 名受试者,每个人都看到了测试集中 100 张图像中的 50 张。图 6 显示了 Task-1(顶部)和 Task-2(底部)的 fool rate。在这两个实验中,SR3 的 fool rate 接近 50%,表明 SR3 生成的图像既逼真又忠实于低分辨率输入。

图 6:人脸超分辨率人类 fool rates(越高越好,照片逼真的样本产生 50% 的 fool rate)。将 4 个模型的输出与真实情况进行比较。(顶部)对象显示为低分辨率输入, (底部)未显示输入。

CDM:类条件 ImageNet 生成

上面展示了 SR3 在生成超分辨率自然图像的有效性,更近一步的,研究者使用 SR3 模型来生成类条件图像。CDM 是在 ImageNet 数据集上训练的类条件扩散模型,用于生成高分辨率的自然图像。由于 ImageNet 是一个难度较高、熵较高的数据集,因此研究者将 CDM 构建为多个扩散模型的级联。

这种级联方法涉及在多个空间分辨率上级联多个生成模型:一个扩散模型以低分辨率生成数据,然后是一系列 SR3 超分辨率扩散模型,这种级联模型将生成图像的分辨率提高到最高分辨率。众所周知,级联可以提高高分辨率数据的质量和训练速度。正如定量评估结果所证明的那样,CDM 进一步突出了扩散模型中级联对样本质量和下游任务(例如图像分类)有效性。

一系列扩散模型的级联 pipeline 示例:第一个是生成低分辨率图像,其余图片是执行上采样到最终高分辨率图像。这里 pipeline 用于类条件 ImageNet 生成,它从 32x32 分辨率的类条件扩散模型开始,然后是使用 SR3 生成分辨率是原始分辨率 2 倍和 4 倍的类条件超分辨率图像。

上图为 256x256 级联类条件 ImageNet 模型中选择生成的图像。

除了在级联 pipeline 中包含 SR3 模型外,该研究还引入了一种新的数据增强技术:条件增强,它进一步提高了 CDM 生成的样本质量。虽然 CDM 中的超分辨率模型是在原始图像上训练的,但在生成阶段,需要对低分辨率基础模型生成的图像进行超分辨率处理。这导致超分辨率模型「训练 - 测试」不匹配。 

条件增强是指对级联 pipeline 中每个超分辨率模型的低分辨率输入图像进行数据增强。这些数据增强包括高斯噪声和高斯模糊,以防止每个超分辨率模型对其低分辨率条件输入过拟合,最终得到更好的高分辨率 CDM 样本质量。

实验结果

下表为级联扩散模型 (CDM) 的主要结果,主要针对 64×64、 128×128、256×256 ImageNet 数据集分辨率以及基线的结果。

下表为在 128×128 、256×256 分辨率下,模型分类准确率得分(Classification Accuracy Score,CAS)结果:

表 2b 和图 7 为 16×16→64×64 级联 pipeline 结果。结果发现如果没有条件增强,级联 pipeline 获得的样本质量低于非级联基线 64×64 模型,以 FID 得分为例,得分从 2.35 增加到 6.02。

图 7:消融实验,小规模 16×16→64×64pipeline 在不同数量的条件增强下生成的图形。如表 2b 所示。

表 4a 为 64×64→256×256 超分辨率模型应用高斯模糊增强的结果。表 4b 显示了超分辨率模型在类条件、大批量训练和随机翻转增强方面的进一步改进。

总之,CDM 生成的高保真样本在类条件 ImageNet 生成的 FID 得分和分类准确率得分方面均优于 BigGAN-deep 和 VQ-VAE-2。CDM 是一种纯生成模型,与 ADM 和 VQ-VAE-2 等其他模型不同,它不使用分类器来提高样本质量。

对于不使用额外分类器来提高样本质量的方法,类条件 ImageNet 在 256x256 分辨率下的 FID 得分结果(值越低越好)。

ImageNet 在 256x256 分辨率下的分类准确率得分,与现有方法相比,CDM 生成的数据获得了显著的增益,缩小了真实数据和生成数据之间的分类准确率差距(值越高越好)。

理论超分辨率谷歌
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

图像转换技术

图像到图像的转换是从一个域获取图像并对其进行转换以使它们具有来自另一个域的图像的样式(或特征)的任务。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

深度生成模型技术

深度生成模型基本都是以某种方式寻找并表达(多变量)数据的概率分布。有基于无向图模型(马尔可夫模型)的联合概率分布模型,另外就是基于有向图模型(贝叶斯模型)的条件概率分布。前者的模型是构建隐含层(latent)和显示层(visible)的联合概率,然后去采样。基于有向图的则是寻找latent和visible之间的条件概率分布,也就是给定一个随机采样的隐含层,模型可以生成数据。 生成模型的训练是一个非监督过程,输入只需要无标签的数据。除了可以生成数据,还可以用于半监督的学习。比如,先利用大量无标签数据训练好模型,然后利用模型去提取数据特征(即从数据层到隐含层的编码过程),之后用数据特征结合标签去训练最终的网络模型。另一种方法是利用生成模型网络中的参数去初始化监督训练中的网络模型,当然,两个模型需要结构一致。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

上采样技术

在数字信号处理中,上采样、扩展和内插是与多速率数字信号处理系统中的重采样过程相关的术语。 上采样可以与扩展同义,也可以描述整个扩展和过滤(插值)过程。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

自回归模型技术

自回归模型,是统计上一种处理时间序列的方法,自回归模型被广泛运用在经济学、资讯学、自然现象的预测上。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

推荐文章
暂无评论
暂无评论~