没有合适的资源?快使用搜索试试~ 我知道了~
混叠调整大小对GAN评估的影响
Gaurav Parmar1Richard Zhang2Jun-Yan Zhu1PILOpenCV /MXNetClean-FIDPyTorchPyTorch-FIDTF-FIDTensorFlowantialias= FalseTensorFlowantialias= True114100关于混叠调整大小和GAN评估中的令人惊讶的细微差别01 卡内基梅隆大学 2 Adobe研究0摘要0用于评估生成模型的度量指标旨在衡量真实图像和生成图像之间的差异。常用的Fr ´ echet InceptionDistance(FID)度量指标,例如,使用深度网络从两个集合中提取“高级”特征。然而,我们发现“低级”预处理的差异,特别是图像缩放和压缩,可能会引起较大的变化并产生意想不到的后果。例如,当调整图像大小时,例如使用双线性或双三次内核,信号处理原理要求根据降采样因子调整预滤波器宽度,以抗锯齿到适当的带宽。然而,常用的实现使用固定宽度的预滤波器,导致混叠伪影。这种混叠导致特征提取下游的损坏。此外,我们还展示了如果在真实训练图像上使用压缩,如果生成的图像也随后进行压缩,FID实际上可以得到改善。本文表明,低级图像处理选择是生成建模中被低估的一个方面。我们确定并表征了生成建模开发流程中的变化,并根据信号处理原理提供了建议,并发布了一个参考实现,以便促进未来的比较。01. 引言0随着生成建模技术的普及,如生成对抗网络(GANs)[24],准确判断哪种方法表现更好已成为该领域的关键方面。对于视觉数据,Inception Score(IS)[59]、KernelInception Distance(KID)[4]和广泛使用的Fr ´ echet In-ceptionDistance(FID)[26]已成为开发和采用模型的标准实践。在底层,这些方法评估生成图像和真实图像之间的差异,以在深度特征空间中捕捉相关特征。0输入 128x1280缩小到16x160抗锯齿0混叠0双线性 双三次 Lanczos0已实现0天真的0子采样0(默认)0图1.缩小圆。我们使用不同的图像处理库将输入图像(左侧)缩小8倍。PIL的Lanczos、双三次和双线性实现(顶行)通过降采样因子调整抗锯齿滤波器宽度(标记为0)。其他实现(包括用于PyTorch-FID和TensorFlow-FID的实现)使用固定的滤波器宽度,引入混叠伪影(标记为0)并且类似于天真的最近子采样。混叠伪影会导致计算下游指标(如Fr ´ echet Inception Dis- tance [26]、KID [4]、IS [59]和PPL[33])的不一致性。请注意,antialias标志在TensorFlow2中可用,但对于FID计算,它被设置为False(默认值)。0两个分布的特征。毕竟,生成建模的核心是学习和模仿视觉数据的高阶、复杂的统计特性。然而,我们发现低级别的、看似无害的操作可能会在高级别的统计特性中引起意想不到的大差异。例如,考虑图1。给定相同的输入图像,不同的图像处理库会产生截然不同的结果。具体来说,使用OpenCV、TensorFlow和PyTorch库的实现(使用默认标志)会产生严重的混叠伪影。同样,仅仅将图像保存为JPEG格式并使用默认参数,无论是在构建训练数据集还是生成图像集合时,都会给底层数据添加量化和低级别统计差异。这些引起的差异在评估协议中会导致有意义的变化。由于Fr ´ echetInception Distance(FID)指标[26]是最常见的[6, 26, 33, 36,56],我们将重点放在该指标上进行实验。我们提供了一个标准基准,clean-fid(github.com/GaParmar/clean-fid),并对调整大小和量化过程提出了具体建议,以便在未来的评估协议中进行干净的比较。首先,我们研究了图像调整大小的影响。在进行降采样时,信号处理技术建议“预过滤”输入,以防止高频元素混叠到输出中。当降采样因子较大时,预过滤核应相应地拉伸。然而,如图2所示,TensorFlow和PyTorch中的FID实现使用的调整大小函数不会对图像进行预过滤,导致图1中显示的混叠伪影。调整大小可以发生在两个位置——在数据预处理时(使用较低分辨率进行训练)或在评估时(调整大小为299分辨率以计算FID指标)。在这两种情况下,不一致的调整大小函数会引起下游的变化。如果用于数据预处理,训练数据分布本身就会发生变化。当用于评估指标时,调整大小的微小变化可能会导致后续特征提取的变化。我们量化了这些不一致性的影响,并提供了标准的建议。具体来说,我们建议使用更强的双三次滤波器[35];更重要的是,我们建议根据调整大小因子调整预过滤宽度,遵循信号处理原理的指导。4x 6x4x 6x2x, 4x, 6x, …2x, 4x, 6x, …default parameters, either when building the training datasetor collection of generated images, adds quantization andlow-level statistical differences to the underlying data. Thedifferences induced cause meaningful variations when usedfor evaluation protocols. As the Fr´echet Inception Distance(FID) metric [26] is the most ubiquitous [6,26,33,36,56], it isthe focus of our experiments. We offer a standard benchmark,clean-fid (github.com/GaParmar/clean-fid), andconcrete suggestions on resizing and quantization proceduresto enable clean comparisons in future evaluation protocols.First, we investigate the implications of image resizing.When downsampling, signal processing techniques recom-mend “prefiltering” the input, to prevent high-frequency ele-ments from aliasing into the output. When the downsamplingfactor is larger, the prefilter kernel should be correspondinglystretched. However, as shown in Figure 2, the resizing func-tion used by the FID implementations in TensorFlow andPyTorch do not prefilter the image, resulting in aliasing arti-facts shown in Figure 1. Resizing can occur in two locations –during data preprocessing (training with lower resolution) orat evaluation time (resizing to 299 resolution to compute theFID metric). In both cases, inconsistent resizing functions in-duce variations downstream. If used for data preprocessing,the training data distribution itself is changed. When usedfor the evaluation metric, small variations in resizing cancause changes in subsequent feature extraction. We quantifythe effects of these inconsistencies and offer standard rec-ommendations. Specifically, we propose to use a strongerbicubic filter [35]; more importantly, we propose to adjustprefiltering width based on the resizing factors, as guided bysignal processing principles.1141102倍02倍0非自适应自适应0双线性 双三次0图2.插值滤波器。我们展示了PIL的自适应滤波器(顶部)和PyTorch的非自适应滤波器(底部)。PyTorch和TensorFlow中的FID实现使用固定宽度的双线性插值,与调整比例无关。相比之下,提出的Clean-FID使用了一个遵循标准信号处理原理的实现,自适应地拉伸滤波器以防止混叠。水平轴表示空间坐标,垂直轴表示核强度。0其次,我们研究了图像压缩的影响。虽然JPEG协议是一种有损压缩方案,旨在保持与原始图像的感知相似性[67],但它可能会扰乱图像,从而破坏下游的特征提取。这会严重影响性能,并在比较方法时可能导致不匹配。更令人惊讶的是,当使用JPEG压缩保存训练图像时,现代GAN无法完全模拟引起的伪影,而通过调整存储生成图像时的JPEG压缩比,实际上可以人为地实现大幅度的FID改进。我们量化了这种压缩操作的令人惊讶的影响,并再次提供了一个具体的、标准化的协议,以避免不一致性和对正确评估的阻碍。总之,我们表征了在训练和评估生成模型(如GAN)时,低级图像处理步骤(调整大小和量化)的重要性。我们的实验重点是广泛采用的FID指标,并在KID指标[4]以及IS[59]和感知路径长度(PPL)指标[33]上展示了额外的结果(见补充材料)。重要的是,任何从经历这些处理步骤的图像中派生统计数据的现有或未来的指标都会受到这些因素的影响。02. 相关工作 深度生成模型。由于深度生成模型(如GANs[7, 24, 30, 33, 54],VAEs [37, 51,56],自回归模型[48],基于流的模型[14,36]和基于能量的模型[17, 46,58])取得了巨大进展,因此实现了广泛的图像和视频合成应用[41, 50, 61,77]。对于下游任务,评估单个模型的性能通常相对容易,因为它们对于给定输入有明确的目标。然而,评估无条件生成模型仍然是一个未解决的问题。这仍然是一个重要目标,因为大多数生成模型并不针对任何下游任务进行定制。评估生成模型。社区已经引入了许多评估协议。一个想法是在云端平台上进行用户研究,以评估样本的图像质量[13, 59,76]或识别重复图像[1]。由于用户研究协议的细微差异(例如UI设计、费用、日期/时间),在不同论文之间复制结果并不容易。大规模用户研究也可能很昂贵,在开发阶段评估数百个模型变体和检查点时可能无法使用。几种方法提出从自监督特征学习的角度评估生成模型,通过重新利用学习的判别器[54]或伴随的编码器[15]进行下游分类任务。然而,判别器或编码器的表示能力并不直接反映生成模型的样本质量和多样性。此外,并不是每个生成模型都是使用判别器或编码器进行训练的。114120˝0�0训练图像0�(�$,Σ ' ) � Inception0�(�,Σ)0训练0预处理0生成建模0FID调整大小为0Fréchet距离0z ∈N(0,I)0生成的图像0训练图像(全尺寸 0H × W0Fréchet Inception距离(FID)0( � Q )( � ψ FID )0数据集调整大小0对(0( ψdata)§ 4.20§ 4.3 § 4.10H × W H × W0� Inception0图3.FID所涉及的步骤概述。生成建模和评估涉及图像预处理的细微差别。顶部:首先,在训练之前可能对数据集进行降采样(例如,FFHQ的1024 → 256),需要进行调整大小( ψ data )和可能的压缩( Q)。底部:生成的图像可能保存为无符号8位整数,导致量化和可能的进一步压缩( � Q )。FID旨在衡量生成模型G(z)模拟训练分布的程度。计算将真实图像和生成图像调整大小为299分辨率( ψ FID 和 � ψ FID),使用Inception网络[63]提取深层特征,拟合高斯分布,并计算两个分布之间的Fr ´ echet距离。我们在第4.3节研究了调整训练图像大小 ψdata 的效果,在第4.1节研究了调整为299 × 299的大小 ψ FID 和 � ψ FID 的效果,在第4.2节研究了量化/压缩 � Q 和 Q 的效果。0为了克服以前的问题,一个重点领域是开发直接评估生成模型样本的自动度量标准。已经提出、批评和修改了各种度量标准。常用的包括对数似然[24,37],带有Parzen窗口的密度估计[24],Inception分数[59],感知路径长度[33],Fr ´ echetInception距离(FID)[26],分类准确度分数及其早期变体[55, 59],分类器两样本测试[40, 43],精确度和召回率[38,57],核Inception距离(KID)[4]等等。每个度量标准都有其优缺点[5, 66],没有一个是完美的。其中,Fr ´ echetInception距离(FID)已成为最广泛使用的度量标准,因为它可以更好地模拟类内多样性,优于Inception分数。FID计算简单快速,无需训练额外的分类器[55],并且已被证明与人类感知一致[26]。因此,它已被用于最近的GAN论文[7,33,71]以及大规模评估研究[44],尽管有关FID是有偏估计器且对评估中使用的样本数量敏感的批评[4,10]。我们的目标不是研究哪个度量标准更好,而是专注于流行的FID度量标准。请注意,我们研究的调整大小和量化适用于包含此类操作的任何评估度量标准。0抗锯齿和鲁棒性。重采样信号的研究是信号处理 [ 49]、图像处理 [ 23 ] 和计算机图形学 [ 19 ]中的核心内容。特别是,在对信号进行下采样时,必须考虑奈奎斯特采样准则 [ 47 ]并进行抗锯齿处理以防止高频信息混入输出中。0没有适当的抗锯齿处理,最坏的情况下,对手可以在原始图像中嵌入完全不同的图像,导致“缩放攻击” [53 , 69]。在卷积网络设计中,抗锯齿处理采用了平均池化 [39 ] 和高斯滤波 [ 45]。尽管它被最大池化等操作所取代,基于经验性能 [60 ],最近的研究表明抗锯齿处理在卷积网络 [ 73 , 79]、transformers [ 52 ]、NeRFs [ 3 ] 和GANs [ 32 ]中是兼容且能提高性能的。尽管取得了这些进展,生成方法仍然是可检测的 [ 8 , 68],鉴别网络仍然对小扰动(如平移 [ 2 , 18 ]和JPEG压缩 [ 25])敏感。实现对这些扰动的鲁棒性仍然是一个开放的问题 [ 65],在特征提取之前使用的图像调整等预处理步骤仍然是重要的。我们研究了这些步骤在生成建模流程中的影响,并提出了一个遵循信号处理原则的标准化方法,以便进行简单和公平的比较。3. 准备工作0在本节中,我们使用不同的流行库讨论了几个低级图像处理步骤,并展示了这些步骤对计算FID分数的影响。图 3详细说明了数据集准备和模型评估的逐步过程。03.1. 生成建模和评估流程 Fr ´ echet Inception Distance(FID) 分数旨在衡量两个数据分布之间的差距 [ 26 ],例如114130训练集和生成器样本之间的差异。0数据集预处理。我们将原始真实图像分布表示为 x � p data( x ) ,其中 x ∈ Z H × W × 3。注意,图像以8位整数保存,由 Z表示。在原始分辨率上训练和开发大规模GANs [ 7 , 33 ]往往代价高昂,有时在开发过程中需要训练数百个模型。因此,常见做法是在原始数据集的较低分辨率版本上进行开发 [42 , 72 , 75 ],例如FFHQ上的 1024 → 256 或ImageNet上的 256 → 128 。如图 3的顶部分支所示,为了准备一个较低分辨率的训练集,必须对训练集进行下采样,记为 ψ data。注意,下采样需要根据标准教科书进行抗锯齿处理 [ 19 ,49 , 64 ],将整数转换为浮点数,即 Z → R。之后添加一个量化步骤以转换回 Z。这个数据准备步骤引入了一个新的低分辨率真实图像的数据分布: x � p data ( x ) ,其中 x ∈ Z H × W × 3 。0使用FID评估生成器。生成器 G 学习将潜在编码 z ∈ N (0, I ) 映射到输出图像 G ( z ) ∈ R H × W × 3,并在较低分辨率数据集上进行训练。一种常见的评估方法是通过特征提取器 F将真实图像和生成图像都传递,并拟合一个高斯分布,然后测量两个分布之间的Fr ´echet距离。深度网络激活被用作感兴趣的统计量,因为它们已被证明与人类感知判断 [ 74 ]良好对应,并且经常被用作训练目标 [ 16 , 22 , 29]。用于此任务的特征提取器 F 是一个InceptionV3模型 [63 ]。由于该模型是在 299 × 299 × 3ImageNet图像裁剪上进行训练的 [ 12],在处理之前,训练和生成的图像都会被调整大小,分别由函数 ψ FID 和 � ψ FID表示。由于这些图像可能保存在开发流程中,可能会应用不同的图像压缩。这些操作分别由 Q 表示参考图像 x ,由 � Q表示合成图像 G ( z ) 。0f = F(ψ FID(Q(ψ data(x)))),(1)0ˆ f = F(� ψ FID(� Q(G(z))))。0在图像适当调整大小并提取特征后,使用相应特征集 f 和 ˆ f的均值(µ,ˆ µ)和协方差矩阵(Σ,� Σ)计算下面方程中的Fréchet 距离。0FID = || µ − ˆ µ || 2 2 + Tr(Σ + � Σ − 2(Σ � Σ) 1 /2),(3)0Tr操作计算矩阵的迹。调整大小(ψ data,ψ FID,� ψFID)和量化(Q,� Q)的不同选择会引入潜在的不一致性。0调整大小比例 - 8 调整大小比例 - 640峰值信噪比0最近邻法0固定-双线性0自适应-双线性0自适应-双三次0最近邻法0固定-双线性0自适应-双线性0自适应-双三次0图4.缩小和放大后的重建。为了说明调整大小函数之间的差异,我们使用不同函数对图像进行缩小,然后使用PIL-Lanczos进行放大,并使用PSNR计算与原始图像的相似度。调整预过滤器大小的实现(PIL)比使用固定滤波器大小的实现(PyTorch)更准确地重建了原始图像。对于更大的调整大小比例(64×),性能更接近于最近邻法。03.2. 图像调整大小0根据数据集和训练大小,图3中的调整大小操作(ψ FID,� ψFID)可以是降采样或上采样。降采样是本研究的主要重点,因为它涉及“丢弃信息”。降采样的方法在信号和图像处理领域是一个常见的研究课题[23, 49]。0通过预过滤进行抗锯齿处理。最简单的方法是简单地进行子采样(如果通过整数因子N进行降采样,则每N个元素取一个),有时称为“最近邻”。这相当于用Kroneckerdelta函数对输入图像进行滤波,因为只有一个值被绘制。这种方法会导致混叠,因为输入的高频元素会混叠到输出中。信号处理、图形和视觉中的一个核心原则[20, 21, 23, 49,64]是在子采样之前进行模糊或“预过滤”,以消除高频信息(从而防止其在下游被错误表示)。对于线性滤波器,这相当于使用深度学习术语中的“深度卷积”进行“逐深度卷积”[27,62]。我们解释了预过滤实现可以变化的两种重要方式。0根据降采样因子调整滤波器大小。首先,根据信号处理原理,应调整滤波器的大小,以适应降采样因子。在空间域中扩大低通滤波器相当于减小其带宽,并在频率空间中更积极地进行滤波。由于较大的降采样因子意味着输出信号上可以表示较低的带宽,因此必须相应地扩大滤波器以防止混叠。然而,在许多常见的实现中,这并没有被实现(或默认情况下没有使用);相反,使用固定的非自适应大小的滤波器。2.01.00.02.01.00.02.01.00.02.01.00.0𝐹inception3.02.01.00.0TF-FIDTF-FIDTF-FID3.02.01.00.0𝐹inceptionClean-FIDClean-FID2.01.00.0Clean-FID3.02.01.00.0𝐹inceptionPyTorch-FIDPyTorch-FID2.01.00.0PyTorch-FID3.3. Quantization and Image Compression8-bit Quantization.While images are represented by 8-bit integers Z, operations such as resizing and data augmenta-tion, as well as the raw generator output will provide floatingpoint numbers R. Post-processing the results introducesmore subtleties and affects standard metrics such as FID.Most simply, an image can be quantized by clipping theoutput between [0, 255] and rounding to produce integers.This is a lossy step and only done when images need to besaved. Additionally, we observe that performing this stephas a minor effect on the FID score (< 0.01).Image compression.Saving the image as a raw matrix ofvalues is data-intensive. However, an image contains redun-dant information that can be exploited. For example, the114140初始图像(1024 x 1024)0AFHQ-Cats FFHQ MetFaces0TensorFlow0双线性0PIL0双三次0PyTorch双线性0调整大小的图像0(299 x 299)0InceptionV3激活图0调整大小的图像0(299 x 299)0调整大小的图像0(299×299)0InceptionV3激活图0InceptionV3激活图0图5.由不一致的调整大小引起的Inception特征差异。我们使用PIL双三次(顶行)、TensorFlow双线性(TF-FID使用)(中行)和PyTorch双线性(PyTorch-FID使用)(底行)将全分辨率1024×1024的FFHQ图像(左侧)调整大小为299×299。使用当前FID实现的调整大小函数(中行和底行)引入了伪影;例如,头发和眼镜与顶行相比,出现了更多噪点和混叠。我们观察到在其他常用数据集(AFHQ-Cats(512×512)和MetFaces(1024×1024))上也存在类似的情况。此外,这些调整大小的实现在彼此之间是不一致的,在通过Inception-V3网络时会产生不同的激活图。我们建议通过将双三次降采样标准化为预处理函数“Clean-FID”(使用根据降采样因子调整的滤波器,遵循信号处理原则)来解决这种不一致性并减少混叠。0滤波器的选择。其次,有不同卷积滤波器的选择。理想的低通滤波器是sinc函数,需要无限支持。因此,使用具有不同运行时和行为微妙权衡的近似滤波器。盒状滤波器,也称为区域滤波器,对应于矩形滤波器,计算邻域内值的平均值。双线性滤波器是一个三角形滤波器,双三次是一个更强的三次函数,lanczos滤波器是一个包络的sinc函数。所有这些滤波器都执行加权平均,并具有更强的抗混叠能力,更接近理想的sinc函数。0实施变化的实际影响。我们研究了这两个因素变化时出现的不一致性,并在图1中展示了一个玩具示例。虽然滤波器的选择在各个库中基本保持不变(每列显示了lanczos、双三次、双线性),但滤波器是否适应降采样因子的选择却不同。虽然PIL库适应了滤波器(顶行),其他库默认情况下没有适应,导致出现别名结果。特别是,TensorFlow-FID和PyTorch-FID的FID实现使用了双线性降采样实现,会出现混叠,因此成为我们研究的重点。混叠的一个影响是对原始图像的次优表示。在图4中,我们展示了对300个FFHQ图像进行降采样和上采样,并与原始图像进行PSNR比较的结果。固定滤波器的方法的重建效果比自适应滤波器的方法更差。这种效果在更大的降采样因子下更加明显,高频混叠占主导地位。0当使用非自适应滤波器时。图5显示了Inception特征如何受到混叠调整大小函数的影响。0建议。上面,我们已经确定了FID的实现是不一致和有别名的。理想情况下,社区可以(a)使用一致的流程来促进对论文的公平比较,以及(b)遵循信号处理原则和抗混叠,以最好地表示被表征的基础数据。我们建议使用自适应滤波器(从而产生一致的抗混叠结果)。其次,我们建议使用双三次滤波器,而不是双线性滤波器,这样可以提供更强的重建能力。虽然这样的实现目前在PIL中找到,但将来等效和高效的实现也将有用。114150FID: 00PSNR: ∞0PNG0FID: 0.23PSNR: 49.30JPEG 1000FID: 6.08PSNR: 41.70JPEG 900FID: 20.96PSNR: 38.90JPEG 750图6. JPEG压缩对图像的影响。我们展示了一张FFHQ[33]图像的样本,使用无损PNG和不同的JPEG压缩比保存。图像下方的FID分数是在使用相应的JPEG格式和PNG格式保存的FFHQ图像之间计算的。PSNR是使用1000张图像计算的。尽管这些图像在感知上相似,但这会导致Inception-V3激活发生变化,从而产生较大的FID。0PNG格式可以无损压缩图像。为了进一步节省存储空间,图像通常使用JPEG编解码器保存。虽然JPEG是一种有损压缩技术,但它旨在对人类视觉系统不太敏感的部分进行更改,即降低高频和色度(颜色)分量的信息[67]。JPEG将图像转换为YCbCr空间,对色度分量进行子采样,将图像分成8×8块,计算离散余弦变换(DCT)并执行量化。量化步骤在原始图像的保真度和节省存储空间之间进行权衡。在PIL实现[11]中,可以使用“quality”选项(0-100)来完成这一操作,该选项线性地缩放量化表(控制将哪些频率量化到什么粒度)。请注意,将质量标志设置为100不是无损操作。即使未缩放量化表,DCT系数也会量化为整数值,并且色度分量会进行子采样。0图像压缩会改变深度网络的激活。在图6中,我们展示了一张分辨率为256的真实FFHQ[33]图像,使用无损PNG和有损JPEG(质量设置为100、90和75)保存。尽管在感知上无法区分(具有高PSNR值≥39),但FID分数增加。例如,PIL默认的75会得到一个较高的分数(21)。请注意,这个FID分数远高于一个强大的生成模型StyleGAN2[34]的分数(约为3)。此外,最近方法之间的变化通常在FFHQ上为1FID。我们在下面的实验中研究了使用JPEG压缩的影响。04.实验0如第3节所述,并如图3所示,FID的变化来自三个不同的步骤:在FID评估步骤中调整大小(ψFID,�ψFID),在数据预处理步骤中调整大小(ψdata)和图像量化(Q,�Q)。我们在4.1节、4.2节和4.3节分别介绍了这些步骤的变化来源并研究了它们的影响。0PIL-bicubic(真实图像)vs.0Resize函数Resize(真实图像)Resize(StyleGAN2)0FID ↓ KID PSNR FID ↓ KID × 10 3 ↓ × 10 3 ↓[db] ↑0)0 0 ∞ 2.98 0.51 PIL-bilinear(0)0.64 0.61 45.7 4.03 1.52 TensorFlow-bilinear(0)4.34 4.32 37.66 7.45 5.12 PyTorch-bilinear(0)4.36 4.31 37.66 7.45 5.15 Naive nearest(0表1.不同调整大小实现引起的偏差。我们测量使用PIL-bicubic(1024→299)与其他函数(�ψFID)对真实图像进行降采样的差异,左侧是指标(FID和KID)。如果所有的降采样函数都是等效的,那么指标(FID和KID)应该为0,PSNR应该为∞。PIL-bilinear和bicubic根据降采样因子调整抗锯齿处理。0)并且产生相对较低的神经度量分数和较高的PSNR。使用固定宽度滤波器的函数(0)产生更大的差异。Naivenearest根本不进行抗锯齿处理。在合成的StyleGAN2[34]图像上也存在类似的趋势。0FID评估步骤(ψFID,�ψFID),数据预处理步骤中的调整大小(ψdata)和图像量化(Q,�Q)引入了变化源。我们在4.1节、4.2节和4.3节中介绍了这些步骤的影响。04.1. FID调整大小引起的变化0在这里,我们研究了在FID计算步骤中使用的不同调整大小方法(ψ FID,� ψ FID)的影响。0调整大小函数对真实图像的变化。我们从FFHQ数据集和预训练的StyleGAN2生成器中获取两组全分辨率1024×1024的人脸图像。每组图像都使用不同的方法从1024调整大小为299。在表1(左侧)中,我们将使用抗锯齿调整大小操作(PIL双三次)调整大小的真实图像集与使用其他带锯齿函数调整大小的相同真实图像集进行比较,这些函数使用固定宽度的预滤波核。由于我们比较的是相同的图像集,我们预计所有的FID和KID得分都接近于0,PSNR值非常高。然而,如图1、2和5所示,只有一部分常用的调整大小运算符调整了滤波器宽度并进行了抗锯齿处理。这些调整大小操作的差异导致了Inception-V3[63]激活图的巨大变化。具有抗锯齿处理的滤波器更加一致,即使使用不同的滤波器类型,如PIL双线性,其FID为0.64。另一方面,忽略降采样因子的实现(PyTorch和TensorFlow)显示出更大的偏差(FID4.3),得分接近于完全不进行滤波的朴素最近邻(FID7.4)。这表明,滤波器是否适应降采样因子可以以非平凡的方式改变建模数据分布。0调整大小函数对生成图像的变化。在研究了对真实图像的影响之后,我们评估了不同调整大小函数� ψFID选择对度量的影响。*https://github.com/NVlabs/stylegan2-ada2565121024Clean-KID ×1032565121024114160调整大小函数Resize(Dataset Images) vs. Resize(StyleGAN2)0FFHQ MetFaces AFHQ-Cats AFHQ-Dogs FID ↓ FID↓ FID ↓ FID ↓0) 2.98 65.32 5.13 20.16 PIL-双线性(0) 2.99 64.31 5.01 19.60 TensorFlow-双线性(0) 2.75 57.45 4.93 19.45 PyTorch-双线性(0) 2.75 57.46 4.94 19.46朴素最近邻(0表2.调整大小函数影响FID得分。在这里,真实图像和合成图像的调整大小函数(ψ FID,� ψFID)是相同的。如果所有的调整大小函数都是一致的,所有行应该是相等的。有趣的是,导致别名的降采样方法得分较低;朴素最近邻子采样得到了最低得分。将预滤波器大小调整到降采样因子(由PIL实现)可以更好地保留原始图像的信息。这表明,抗锯齿处理使得后续的FID对分布之间的差异更加敏感。0在完整的生成建模流程中使用时。在这里,我们评估了一个在FFHQ(1024)、MetFaces(1024)和AFHQ(512)数据集图像上训练的预训练StyleGAN2生成器[34],并使用5万张图像计算FID。在表1(右侧)中,我们考虑了不对称的情况,即真实图像和生成图像的特征使用不同的调整大小函数。这种情况发生在真实图像的特征被预先计算并由一组作者共享的同时,生成的特征可能使用不同的库进行实时计算。在这里,我们观察到使用与参考数据集(PIL-bicubic)相同的调整大小函数可以达到最低的性能。使用不同的调整大小函数,如PIL-bilinear,将得分提高到4。使用一个带锯齿的函数将得分大幅提高到7,接近于朴素的子采样(>10)。接下来,在表2中,我们展示了当真实数据集图像和StyleGAN2生成的图像使用相同的调整大小函数时的比较。有趣的是,我们观察到带锯齿的调整大小函数在多个常用数据集(FFHQ(1024)、MetFaces [31](1024)和AFHQ[9](512))上得到了较低的FID得分。这表明,在预处理中使用抗锯齿函数使得下游的FID计算更加敏感,能够更好地衡量分布之间的差异。04.2. 数据集调整大小引起的变化0以前,我们考虑了数据集没有被下采样的情况。然而,正如第1节中所讨论的并在图3中所示的,当在原始数据集的低分辨率版本上训练模型时,需要对数据集进行下采样[31,72,75](例如,FFHQ的256)。在此之前,目标分布是固定的,差异纯粹是在事后度量评估期间引入的。现在,情况要复杂得多。不同的调整大小选择将导致完全不同的训练分布。在表3中,我们使用官方的PyTorch实现*对三个不同的StyleGAN2[34](config-e)模型进行训练,每个模型进行了25k次迭代0数据集预处理FID ↓ 在FFHQ PIL-bicubic上0) 4.82 ± 0.09 PyTorch-bilinear(0) 5.13 ± 0.20 TensorFlow-bilinear(0) 5.08 ± 0.16 PIL-bicubic(0) 6.21 ± 0.230表3. 数据集调整大小。我们使用不同的调整大小函数ψdata将FFHQ数据集从1024调整为256。我们使用相同的训练过程训练StyleGAN2[34](Config-E)模型,并报告结果的FID。对于每个设置,该分数在三次不同的训练运行中计算。分数显示出较大的变化,表明调整大小函数可以极大地影响训练分布。使用一个进行预处理的函数0) 保留了更多来自原始图像的信息,并且有趣的是结果得分更高。0JPEG质量0清洁-FID0JPEG质量0图7.JPEG压缩的影响。FFHQ数据集图像使用PIL-bicubic从1024调整为不同的分辨率(512和256),并使用JPEG格式进行压缩,压缩比不同。随后,我们绘制压缩图像和未压缩图像之间的FID(左)和KID(右),在相同分辨率下,作为JPEG压缩的函数。对于较小的图像,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- CIC Compiler v4.0 LogiCORE IP Product Guide
- G989.pdf
- G988中文版.pdf
- G9807.1中文版.pdf
- 从零开始做产品:产品汪
- URP-DeferredShading方案(高清版)
- Landsat/Sentinel-2 地表反射数据集说明文档(算法)HLS-ATBD-V15-provisional.pdf
- 本地部署开源大模型的完整教程LangChain + Streamlit+ Llama
- 【速记稿】科学引领智能变革——人工智能向善 共筑人类福祉(1).doc
- 技术展望2024 | AI拐点-重塑人类潜力.pdf
- 科学智能(AI4S) 全球发展观察与展望.pdf
- 面向企业的 生成式 AI 和 ML.pdf
- 使用深度学习技术来制作游戏内容.pdf
- 人工智能(AI)X-CUBE-AI扩展包入门指南-.pdf
- 衍生式设计:重新定义 未来制造的无限可能.pdf
- 1_00_尚硅谷大数据项目之docker.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功