论文:
1.配置环境
win10
vscode
python3.10
我起初安装的是3.11版本,也许是不兼容,pip install pytorch时总是有错误。我把3.11版本卸载,安装3.10版就成功了
pytorch
官网:Previous PyTorch Versions | PyTorch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
测试显卡最高cuda版本以及算力
NVIDIA控制面板--左下角“系统信息”--组件--3D设置 ‘NVCUDA64.DLL'
cuda11.6+cudnn8.4.1
安装,测试:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite
直接打开.exe文件会闪退,在搜索栏点cmd,在命令提示符界面deviceQuery.exe以及bandwidth Test.exe ,两项result==PASS就说明CUDA cuDNN均安装成功
2.论文翻译
Abstract
像素艺术是一种独特的艺术风格,具有低分辨率图像的外观。
在本文中,我们提出了一种数据驱动的像素化方法,该方法可在单元格大小可控下产生清晰的单元格效果。我们的方法通过引入参考像素技术来明确地正则化单元结构,克服了现有的基于学习的方法在单元大小控制中的局限性。特别地,参考像素艺术的单元结构特征被用作像素化过程的辅助输入,并用于测量生成的结果与参考像素艺术之间的风格相似性。此外,我们将像素化过程分解为特定的单元和锯齿感知阶段,缓解了单元大小联合学习中的模糊性、锯齿效应和颜色分配。为了训练我们的模型,我们构建了一个专用的像素艺术数据集,并用不同的单元大小和不同程度的抗锯齿效果来增强它。大量的实验证明,它在单元格清晰度和感知表现力方面优于现有技术。我们还首次展示了视频游戏像素化的有希望的结果。
代码和数据集可在https://github.com/WuZongWei6/Pixelization.获得。
CCS概念:
•应用计算→ 美术;
•计算方法→ 图像处理。
附加关键词和短语:像素化Pixelization、生成对抗性网络Generative Adversarial Networks、图像到图像翻译Image-to-Image Translation
1.INTRODUCTION
像素艺术[pixel art]是一种具有低分辨率图像外观的艺术形式。它可以被认为是一个2D网格[grid],其中每个网格单元[cell]包含相同颜色的N×N个像素[pixel]。它主要与80年代电子游戏的艺术风格有关。由于其独特的风格和怀旧精神,像素艺术不仅在电子游戏中受到欢迎,在广告等其他领域也受到欢迎。由于分辨率有限,像素艺术需要仔细排列彩色单元格才能有效地表示底层内容,这需要艺术感和平面设计技能,即使对于专业艺术家来说也可能很耗时。因此,需要能够自动将更高分辨率的图像转换为像素艺术的计算工具。这种工具理想地应满足以下要求:
·感知锯齿[Aliasing-aware]:像素艺术应该具有清晰的边缘,而不是抗锯齿[anti-aliasing]的外观(见图2(d)中的抗锯齿外观示例)。这有助于模仿像素艺术起源于早期视频游戏的风格,小调色板限制了应用抗锯齿的可能性。
•单元格可控:用户可以根据需要控制结果的单元格大小(见图1右上部分)。
•细节保留:结果应尽可能保留特征和连续边缘的外观。
•未配对数据:对于基于学习的方法,其训练不应要求像素艺术及其相应的高分辨率图像的配对数据,因为此类配对图像的大规模数据集目前不可用。
现有方法不能同时满足所有标准。①例如,将图像转换为像素艺术的一种简单方法是图像下采样。然而,经典的下采样方法,如最近邻和双三次插值[bicubic]采样,通常会产生不令人满意的结果:前者可能会丢失原始图像的关键细节(见图2(c)中的不连续块轮廓曲线),而后者可能会产生不希望的抗锯齿外观(见图2(d))。②更复杂的方法,如【Kopf等人,2013年】以及【Öztireli和Gross 2015】试图更好地保存内容和细节。它们不需要训练数据,可以生成任意分辨率的小图像,因此可以控制单元格。然而,它们对自适应滤波器或优化颜色的使用仍然引入了抗锯齿效果(见图2(e)和(f)),因此它们不具有锯齿意识,并挑战了像素艺术的美感。③为了保留语义上的显著特征,【Han等人2018】提出了从非像素艺术图像生成像素艺术的第一种数据驱动方法。与对输入图像进行下采样不同,它以无监督的方式在输入图像和生成的像素艺术之间形成循环的图像到图像的转换过程,以克服配对数据丢失的障碍。尽管它在混叠意识和细节保存方面取得了突破,但仍存在两个主要问题。首先,它的数据组织和网络设计没有考虑到单元大小;因此,尽管它可以实现类似于像素技术的外观,但结果可能包含大小不同的非均匀单元(见图2(g)),即它不是单元可控的。此外,它的模型将内容和像素化风格纠缠在一起,这可能会导致颜色失真。
本文提出了一种基于深度学习的混叠感知和单元可控像素艺术生成方法,克服了现有方法的局限性。我们的方法生成的结果图像与输入图像的分辨率相同,其中像素形成具有指定单元大小的单元。为了控制生成的单元格大小,我们将不同的单元格大小视为不同的图像样式,并采用样式转移的思想[Huang和Belongie 2017]来解耦图像内容和样式。具体而言,我们引入了一种单元大小代码[cell size code],该代码是通过在具有预期单元大小的参考像素艺术上应用编码器网络模块[an encoder network module](CSEnc)来确定的。单元大小代码调制图像翻译网络模块(I2PNet)的中间卷积层的核权重,以引导从非像素艺术图像到具有指定单元样式的中间结果的转换。由于中间结果可能仍然来自抗锯齿效果,我们将其输入另一个网络模块(AliasNet),以恢复具有所需锯齿外观的最终像素艺术。在训练期间,生成的结果和参考像素艺术也被送到鉴别器模块(NumEnc)中,以确保它们具有相似的风格和相同的单元格大小。为了实现双向和循环训练,我们还引入了一个网络模块(P2INet)将像素艺术去像素化为非像素艺术图像,在训练过程中加强循环一致性。为了训练我们的模型,我们收集了一个包含不同分辨率像素艺术的基本像素艺术数据集,并将其扩充为两个数据集进行训练。其中包括一个Aliasing Dataset,它包含具有不同程度抗锯齿效果的像素艺术及其变体,以及一个包含具有不同单元大小的像素艺术的多单元数据集。
与[Han等人2018]类似,我们的方法不需要非像素艺术图像及其相应像素艺术的配对训练数据。与[Han等人2018]相比,单元格大小代码和单元格感知鉴别器的使用使我们的网络能够生成具有规则单元格外观和指定单元格大小的像素艺术。新颖的架构和专用的数据集也有助于我们的网络更好地保存输入颜色,并避免来自[Han等人2018]的颜色失真伪影。大量实验表明,我们的方法可以为不同的输入图像样式生成具有清晰规则单元的像素艺术,并且在很大程度上始终优于现有方法。它还为视频游戏向像素艺术风格的连贯转换提供了首种可行的方法。
我们的贡献可以总结如下:
•我们提出了首个基于深度学习的方法,该方法可以将非像素艺术图像转换为具有指定单元大小的像素艺术。
•我们提出了一个模型,该模型将颜色外观和单元格结构的学习相结合,可以同时实现单元格规则性、锯齿外观和颜色保真度。
•我们开发了一种方法,将基本像素艺术数据集扩展为两个具有不同单元大小和抗锯齿效果的数据集。
•我们在不同类型的输入上展示了不同单元大小的清晰和稳健的像素化结果。特别是,我们的方法为视频游戏像素化提供了第一种可行的方法。
2.RELATED WORK
pixelization像素化
2(c) Nearest-neighbor | 丢失原始图像的关键细节 | 下采样 |
2(d) Bicubic | 产生不希望的抗锯齿外观,过度平滑 | 双三次滤波器,具有固定内核 |
2(e) [Kopf 2013] | 试图更好地保存内容和细节。它们不需要训练数据,可以生成任意分辨率的小图像,因此可以控制单元格。然而,它们对自适应滤波器或优化颜色的使用仍然引入了抗锯齿效果,因此它们不具有锯齿意识,并挑战了像素艺术的美感。 | 以双边方式自适应地改变滤波器内核,以更好地关注局部图像特征并避免振铃现象 |
2(f) [Oztireli and Gross 2015] | 根据感知度量SSIM优化降尺度方法,以保留基本特征和局部结构。 | |
2(g) [Han 2018] | 以无监督的方式在输入图像和生成的像素艺术之间形成循环的图像到图像的转换过程,以克服配对数据丢失的障碍。尽管它在混叠意识和细节保存方面取得了突破,但仍存在两个主要问题。首先,它的数据组织和网络设计没有考虑到单元大小;因此,尽管它可以实现类似于像素技术的外观,但结果可能包含大小不同的非均匀单元(见图2(g)),即它不是单元可控的。此外,它的模型将内容和像素化风格纠缠在一起,这可能会导致颜色失真。 | |
[Weber 2016] | 使用卷积滤波器来确保高频细节 | |
[Liu 2018] | 建议使用L0正则化 | |
遵循局部平均原则,在突出区域保留尖锐边缘方面无效。 |
一些工作将像素化任务公式化为一个优化问题:
[Inglis和Kaplan 2012]和[Ingliss等人2013] | 通过优化光栅化来保持形状特性,从而对矢量线条艺术进行像素化。 |
[Gerstner等人 2013;2012] | 提出了一种多步骤迭代算法,通过优化一组超级像素和相关调色板,将高分辨率图像转换为像素艺术。 |
[Kuo等人 2016] | 提出了一个像素艺术动画框架,通过根据动画质量指标联合优化单个帧的突出特征线。 |
[Shang和Wong 2021] | 提出了一种基于优化的方法,该方法可以使用有限的颜色对肖像图像进行像素化,但当物体的颜色与背景相似时,它无法区分边缘。 |
尽管上述算法实现了视觉上可接受的结果,但大多数算法都不是完全自动的,无法提供端到端的解决方案。 |
Learning-based Methods深度学习
近年来,深度学习受到了广泛关注,并为许多问题提供了全自动的解决方案。使用深度学习进行端到端像素化是有益的,因为手动绘制像素艺术或调整半自动方法的参数可能很耗时。
在线像素化项目PixelMe[Sato 2020] | 建立在pix2pix[Isola et al 2017]的基础上,该项目使用条件GAN对配对数据进行监督学习。然而,为像素艺术收集这样的成对数据集是困难的。 |
CycleGAN[Zhu et al2017] | 提出了一种使用未配对数据的无监督图像到图像翻译解决方案。 |
Han等人[2018] | 提出了一种无监督的像素化方法,该方法允许使用未配对的数据进行训练。 |
然而,他们的方法不能提供单元格大小控制,并且可能产生失真颜色的结果 | |
Kuang等人[2021] | 专注于保留基于CycleGAN的轮廓细节,以引入artifacts为代价 |
相比之下,我们的新解决方案同时集成了细胞的可控性、清晰度和稳健性。 |
3. OVERVIEW
在本文中,我们将像素艺术视为正方形单元格的网格,其中每个单元格包含N ×N相同颜色的像素。对于这样的像素艺术,我们说 it has a cell size N×。 在最简单的情况下,每个单元只包含一个像素(即,单元大小为1×),我们将这种像素艺术称为“one cell one pixel”。为了更容易显示或编辑,可以使用最近邻插值将这种像素艺术的cell size 放大到N×(其中N> 1)。另一方面,具有cell size N× (N > 1)的像素艺术也可以使用最近邻插值将其缩小到one cell one pixel的形式。
给定一个输入图像,我们的目标是将其转换为具有相同像素分辨率和a cell size N ×的pixel art,其中参数N由用户指定。通过这种方式,生成的pixel art具有N×有效分辨率的降低(即其单元格网格的分辨率),而其像素分辨率保持与输入相同。此设置使我们能够设计一个单一的网络能生成具有不同单元格大小的像素艺术,使生成过程单元格可控。可控性的另一种方法是为每个小区大小训练单独的下采样网络。与这种方法相比,我们的单网设计有一些好处:
- 首先,尽管不同单元大小的像素艺术在视觉上是不同的,但底层特征(edges, corners, textures, etc.)是相似的。我们的单网络方法有助于学习不同单元格大小的共同特征,并获得更好的结果。
- 而由于不需要重新学习不同单元格大小的共同特征,它还可以节省训练时间,
- 最后,在实践中可以更容易地部署单个网络。
使用来自输入图像域的图像样本
和像素艺术域
的像素艺术样本
,我们的网络学习从
到
幂集的映射
,使图像
映射到一个集合
,集合中包含与
和不同单元格大小的底层内容相同的像素艺术。图3显示了我们的网络架构概述。
一个特别的挑战是样本以及
并不配对,因为像素艺术的“原始”图像通常不可用。为了解决这个问题,在训练过程中,我们使用像素艺术样本
作为参考,来提供指导像素艺术生成的结构信息。//具体来说,为了控制生成的像素艺术的单元大小,我们引入了高维度单元大小代码作为辅助输入。在训练过程中,将 cell size encoder module (CSEnc)应用于参考像素艺术
的灰度形式
,导出单元大小代码, 其引导网络生成具有与
相同单元大小的像素艺术。单元大小码被用作 a image-to-pixel-art network module (I2PNet)(I2PNet)的辅助输入,该模块将输入图像
转换为中间图像
,该中间图像更接近所需的像素艺术,但仍可能受到具有模糊外观和颜色偏移的抗锯齿效应的影响。然后将中间图像馈送到另一个模块(AliasNet)中,以去除抗锯齿效应并生成最终的pixel art
. 在训练过程中,我们遵循CycleGAN[Zhu et al2017],并使用 a pixel-art-to-image network module (P2INet) 来转换结果
回到输入图像,加强输入图像和生成的像素艺术之间的循环一致性。此外,我们引入了a numerical encoder module (NumEnc)作为GAN训练的鉴别器,以确保由AliasNet生成的 结果
具有像素艺术外观。为了进一步确保
具有所需的单元格大小,我们将NumEnc应用于
和参考像素艺术
,分别对它们的单元格大小进行分类并减小损失。
在下文中,我们将在第4节中首先介绍我们的数据集,然后在第5节中介绍我们的网络模块及其训练。
4. DATASETS
我们模型的训练需要non-pixel art和pixel art images。
non-pixel art images | 4235张 | 790--卡通集[Royer等人2020] 277--抽象场景数据集[Zitnick和Parikh 2013] 其他--互联网。 | ![]() | |
pixel art images (collect and generate) | a Basic Pixel Art Dataset | 4033 one-cell-one-pixel | 为了构建数据集,我们首先从互联网上收集了4033张像素的艺术图像。 对于单元大小大于1×的图像,我们使用最近邻下采样将其缩小到one-cell-one-pixel的形式。 | ![]() |
an Aliasing Dataset to train the AliaNet | 2500(basic)×5 ->12500(anti-aliased) 256*256 | 1.select pixel arts with a resolution no higher than 128×128, and upscale them to 256×256. 2.apply the Lanczos filter [Turkowski 1990] to downsample these 256×256 images to 80×80, 64×64, 48×48, 32×32, and 16×16, respectively, to introduce anti-aliasing effects. | fig 6. In this way, we obtain a set of 256×256 pixel arts together with a sequence of images with the same resolution and content but difgerent degrees of anti-aliasing | |
a Multi-cell Dataset | 7*1000 256*256 have a fixed resolutions to facilitate multi-batch training and loss function design, | 128*128 2X 256 86*86 3X 258 64*64 4X 256 52*52 5X 260 43*43 6X 258 37*37 7X 259 32*32 8X 256 | ![]() |
5. APPROACH
To leverage unpaired data, our network is trained in a bi-directional and cyclical way.
5.1 Network Structure
Cell Size Encoder (CSEnc) 目的:从参考像素艺术的灰度形式中提前特征向量(cell size code S)用作I2PNet的辅助输入,以指示所需的单元大小 ->GAP ->MLP ->2048*1 -->S:cell size code | The structure extractor 1.follows the VGG19 architecture 2.is pre-trained with a cross-entropy loss using our Multi-cell Dataset. 3. It's layers extract from | fig.9 我们用我们的多细胞数据集训练结构提取器,而不是直接使用用ImageNet预训练的VGG19[Deng et al 2009],因为ImageNet由非像素艺术图像组成,在提取像素艺术特征方面效果较差。图9显示了使用XGrad CAM[Fu et al 2020]为我们的结构提取器的中间层生成的类激活图,并将其与使用ImageNet预训练的VGG19中的那些进行了比较。我们可以看到,我们的结构提取器专注于每一层的细胞结构,从而产生有效的细胞特征表示。 |
then introduce four trainable convolu- tional layers, with output dimensions of 256×256×64, 128×128×128, 64×64×256 and 32×32×512, respectively. | ||
每个层的输出与来自具有相同输出维度的结构提取器的相应层的输出级联concatenated,然后馈送到下一层 | ||
通过这种方式,最终的级联输出提供了一个特征图,该特征图以不同的尺度封装了p的结构特征。我们将该特征图馈送到全局平均池化(GAP)层,然后是可训练的多层感知器(MLP),以产生尺寸为2048×1的单元大小代码s。 | ||
Image-to-Pixel-Art Network (I2PNet). fig.10 | 为了将单元格信息纳入生成过程,在编码器块和解码块之间引入了八个中间卷积层,其中每一层在256个信道中接收其输入。因此,我们将2048维的单元大小代码划分为八个256维的块𝑠 𝑙 (𝑙 = 1, 2,..., 8) ,以匹配用于中间卷积层的输入信道的数量。根据StyleGAN2的风格调制方法[Karras等人2020],我们修改了可训练的第𝑙层卷积核权重{𝑤 𝑙 𝑥𝑦𝑧 } ,如下所示: 𝑥 -输入特征图通道的索引 𝑦- 输出通道编号 𝑧 -空间位置, 𝜖 一个小常数,以避免被零除 The weights are then used as the actual kernel weights for the convolutional layers | input: output: 中间像素化结果 |
AliasNet. 消除抗锯齿 | Aliasing Dataset 预训练 input: images with different degrees of antialiasing output: the original pixel art
| 训练过程类似于pix2pix[Isola等人2017]。除了L1 loss和GAN loss外,我们还计算生成的结果和目标像素艺术之间的perceptual loss [Johnson et al 2016],作为训练损失函数的一部分 input: output: |
Pixel-Art-to-Image Network (P2INet). | 1.像素艺术转换回非像素艺术图像,以实现我们网络的双向和循环训练。 2.在测试过程中,P2INet还可以用于像素艺术图像的去像素化。 | |
Numerical Encoder (NumEnc). 鉴别器,确保具有像素艺术外观,(相似的风格和相同的单元格大小) | 架构 : PatchGAN [Isola et al 2017] --DP 对抗性训练+强制相同单元格大小 | input: output:are used to calculate an adversarial loss |
Discriminator for Non-Pixel Art Images. 鉴别器,确保具有非像素艺术外观 | 架构 : PatchGAN [Isola et al 2017] --DC | input: \hat{c}_{p_j}+ output:are used to calculate an adversarial loss |
5.2 Loss Function
在我们的网络中,AliasNet和CSEnc中的结构提取器是预训练的,而其他组件都是联合训练的。后者使用的损失函数由五部分组成,如下所述
Adversarial Loss | 对抗性损失形成最小-最大博弈,引导I2PNet和P2INet产生期望的结果。我们使用了两个PatchGAN鉴别器𝐷𝑃 和𝐷𝐶, 对于𝑐𝑖 生成的像素艺术结果𝑝ˆ𝑐𝑖以及𝑝𝑗生成的非像素艺术结果𝑐𝑝𝑗 ,分别通过对抗性损失来区分它们的真假 |
Cycle Consistency Loss S is the set of training samples. | Zhu et al. [2017] 首先提出了循环一致性损失,以利用未配对数据实现无监督的图像到图像转换。我们遵循他们的方法,并要求𝑐 ′ 𝑖 与𝑐𝑖 、𝑝 ′ 𝑗 分别一致,这是通过以下损失实现的: |
L1 Loss | 从非像素艺术图像𝑐𝑖 到像素艺术结果𝑝ˆ𝑐𝑖 , 为了保留正确的颜色,我们应用L1损失 to penalize their difference: |
Identity Loss. 𝐺𝑃 -P2INet, 𝐺𝐴-AliasNet, 𝐺𝐼 - I2PNet, The loss function prevents the networks from excessively changing the color of the output image | 在不同领域(例如,非像素艺术到像素艺术)之间的无监督图像转换中重建不失真的颜色是具有挑战性的。因此,根据[Taigman et al 2017],我们要求我们的像素化模块(即I2PNet+AliasNet)和去像素化模块(即P2INet)在应用于各自目标域的图像时,要接近恒等映射。这是通过identity loss来强制执行的 |
Large Margin Cosine Loss.大额余弦损失 | 我们的数字编码器不仅用于对抗性训练,而且还用于在生成的像素图像𝑝´𝑐i和参考像素图像𝑝𝑗之间强制相同的单元大小。 LMCL有助于扩大单元格大小分类在单元格特征向量角空间的决策裕度,为网络提供更有效的指导。 |
Overall Loss Function ![]() |
6 EXPERIMENTS
Implementation Details.实现细节
implenment | Pytorch [Paszke et al. 2019] on a single NVIDIA GeForce RTX 3090. | ||
input | 7000对 | a randomly chosen image from the non-pixel art dataset +(reference) each image from the Multi-Cell Dataset | |
train It takes about four days for the training to converge. | 1.the structure extractor in CSEnc | using SGD 1.当训练收敛时,CSEnc模块会为不同的参考像素图生成相同单元大小的相似单元大小代码, 2.我们将每个单元格大小代码归一化为单位向量,因为Eq.(1)中的权重调制相对于单元格大小代码是尺度不变的 3.然后使用t-SNE可视化,显示了不同细胞大小的细胞大小代码的分离良好的簇。 |
|
2.all other components in network | using Adam [Kingma and Ba 2015] with 𝛽1 = 0.5 and 𝛽2 = 0.999. | 在所有160个epoch中,训练批大小设置为2,学习率固定为0.0002 | |
3.when the discriminators are updated. | 采用了[Shrivastava et al . 2017]的训练策略,即在判别器更新时使用历史生成的图像而不是最后生成的图像。 | 因此,我们创建两个图像缓冲区,每个缓冲区保存50个在训练期间生成的图像。 | |
4.for the numerical encoder to stabilize the GAN training process | add spectral normalization [Miyato et al 2018] | ||
test | I2PNet and AliasNet (for pixelization) P2INet (for depixelization) | ||
note: | 1.虽然我们在训练过程中需要一个参考像素图来生成单元大小代码,但在测试中并不需要这样做。除非另有说明,否则我们为每个单元格大小预先选择一个具有代表性的单元格大小代码,并在测试期间直接使用它们。 2.虽然我们只使用512×512输入图像进行训练,但我们的模型可以在测试期间处理任意分辨率的输入图像。为了测试我们的方法,我们额外收集了1000张不同于训练数据集的非像素艺术图像。除了训练集中已经包含的风格(例如,卡通剪贴画),我们的测试集还涵盖了其他类型的内容,如肖像画,视频游戏场景和海报,以及动画场景。 3.此外,我们的方法可以通过转换每一帧将视频转换为像素艺术风格。因此,我们也收集了一些游戏视频,并测试了超过3000帧。除非另有说明,否则本节中显示的结果是基于单元格大小4x的。 我们的方法可以在测试期间有效地将图像转换为像素艺术:平均而言,处理192×192图像需要0.052秒,处理1280×720视频帧需要0.344秒。 |
6.1 Qualitative Comparisons | ||
我们使用各种方法生成与输入图像具有相同单元大小和相同分辨率的像素艺术。对于生成小于输入的降尺度结果的方法,我们选择适当的降尺度比例来生成结果,然后使用最近邻插值将其提升到与输入相同的分辨率 单元格大小4X时不同方法的比较 | ||
non-learning-based methods 不基于学习 | nearest-neighbor down-sampling 最近邻下采样 | 可能会丢失重要的细节并导致块状和不连续的边缘。 |
Perceptually-based [Öztireli and Gross 2015] | 作为一种非线性过滤方法,Perceptually-based会产生边缘带有抗锯齿效果的模糊结果。 | |
Content-adaptive [Kopf et al. 2013] | 尽管Contentadaptive生成的结果比基于Perceptually-based的结果具有更尖锐的边缘,但它仍然会受到抗锯齿效果的影响,并且作为一种基于内核的方法,可能会丢失关键的细节。 | |
Image Abstraction [Gerstner et al. 2012] | 能够生成更清晰的结果并减轻抗锯齿效果,但它限制了量化后调色板的比例,导致边缘的不连续性与输入不一致(例如第三行) | |
learning-based methods | Deep Pixelization [Han et al. 2018] 他们的数据集主要由简单的剪贴画组成,故使用该数据集训练的默认模型在我们的实验中表现不佳 | 效果很好,边缘清晰,振铃效果较少.然而,由于其赢者通吃的损失函数、模型设计中的强制下采样操作以及训练中的纠缠单元格结构和颜色,一些结果具有明显的的颜色失真。 |
the online pixelization service “PixelMe”” [Sato (that is based on the pix2pix model [Isola et al. 2017].) | 它倾向于用连续的黑色边界包裹像素化结果,从而使图像具有连续的边缘。然而,PixelMe在进行像素化之前会自动检测图像内容,如果检测不准确,可能会导致特征丢失。例如,在前两行中,最终结果中缺少一些背景区域。 | |
Ours | 相比之下,我们的结果在边缘清晰连续的情况下要好得多,避免了边缘的振铃和模糊。我们的模型还保留了原始输入的局部细节 | |
AliaNet-尖锐的边缘和锯齿外观是像素艺术的重要特征。我们的AliasNet不仅有助于在我们的网络中产生这种理想的外观,而且可以用作一个独立的后处理工具,以改善消除抗锯齿效果的像素化结果 在图14中,我们将AliasNet应用于双三次下采样、基于感知和内容自适应产生的一些结果。这三种方法的结果都有抗锯齿效果,而AliasNet有助于提高边缘的清晰度 另一方面,输入中的一些细节已经被这些方法删除,即使使用AliasNet也无法恢复(例如,请参阅第二行和第三行中的缩放区域)。相比之下,我们的方法在保留细节的同时产生了清晰的像素化外观 ![]() | ||
由于像素艺术经常用于游戏中,我们进一步将我们的模型与现有的游戏场景进行比较,并将结果显示在图15中。测试图像的分辨率为680×425或824×516,来自游戏截图和海报。由于Image Abstraction和PixelMe对输入分辨率的要求有限,我们在实验中省略了这两种方法。从图15可以看出,不同方法的性能与图13相当,即使对于更高分辨率的图像,我们的模型也可以产生良好的结果,并且具有理想的像素化外观。这也证明了使用我们的方法将高质量电子游戏转换成像素艺术风格的可能性,只需单独转换每一帧。这种视频像素化的一些定性结果可以在补充视频中找到。 note:我们的模型利用L1损耗来增强输入和最终输出之间的色彩保真度。这在大多数情况下都能很好地工作,但在少数结果中仍可能出现轻微的颜色偏移(例如,图15的最后一行) |
6.2 Cell-controllable Pixelization 单元格可控像素化
我们的模型的一个优势是,它可以生成具有特定单元大小的像素艺术。
为了证明单元大小的可控性,在图16中,我们使用CSEnc从四个参考像素艺术生成的单元大小代码对三个输入图像进行像素化,其中两个参考的单元大小为4×,另两个的单元大小是8×。
我们可以看到,
1.我们的方法生成的单元大小与参考像素艺术一致的结果。
2.具有相同单元大小的参考像素艺术会导致几乎相同的像素化结果。这是因为对于具有相同单元大小的像素艺术,无论其内容如何,CSEnc模块都会生成类似的单元大小代码(另见图12)。
结果表明,我们的方法可以有效地将细胞大小风格从参考像素艺术转移到生成的图像中。
在图17中,我们分别使用分辨率为960×600和480×720的输入图像,比较四种方法的单元格大小可控性![]() | |
Perceptually-based | 当单元格大小为2倍时,像素化效果比其他两种方法更不明显,而当单元格大小为4倍和6倍时,它们的结果会受到抗混叠效果的影响,并且外观模糊。 |
Content-adaptive | |
Deep Pixelization | 在损失函数中使用赢家通吃的策略,并且只对较小的单元进行了良好的训练,因为较小的单元尺寸更接近基本事实,并且倾向于降低损失函数。 此外,在为单元分配正确的平面颜色的同时,生成像素艺术外观是一个高度模糊的训练过程。 |
ours | 相比之下,我们的模型中对细胞大小特征和颜色分配的分离学习有助于克服这些限制,同时在像素化过程中保持规则的细胞结构,显著的混叠效果和准确的颜色分配。 |
图18进一步证明了我们的细胞大小从2×到8×的模型的结果。更多的结果可以在补充材料中找到。结果表明,我们的方法在不同的输入图像风格和不同的单元格大小下是有效的。
6.3 Quantitative Comparison
我们还使用两个指标比较了不同的方法
Fréchet Inception Distance (FID) [Heusel et al. 2017] fr起始距离 | FID测量分别从生成图像和真实图像中获得的两个高斯分布之间的Fréchet距离,其中FID越低表示相似度越高 |
Kernel Inception Distance (KID) [Bińkowski et al. 2018] 内核起始距离,它们通常用于图像生成任务image generation tasks [Karras et al 2019, 2020; Park et al 2019]. | KID类似于FID,但通过从生成图像和真实图像中提取的初始特征之间的最大平均差异平方(MMD)来计算。由于KID有一个简单的无偏估计量,它更符合人类的感知。 |
表1显示了在测试数据集上使用不同方法得到的FID和KID值。我们的方法在很大程度上优于其他方法,这表明我们可以生成更逼真的像素化艺术。 |
6.4 Ablation Study 消融研究
我们进一步进行消融研究,以评估我们组件的有效性
Effectiveness of Two-stage Pixelization两阶段像素化 I2PNet->AliasNet | 这是我们模型成功的关键因素。为了研究在不同的子模块中学习了什么,我们将网络生成的中间结果可视化,如图19所示。将输入图像通过I2PNet传递,得到的中间结果图像显示单元格结构但颜色外观退化。在这个阶段,当放大图像时,可以观察到边缘附近的伪影。经过AliasNet后,将图像细化为视觉上令人愉悦的像素化结果。像素化结果然后通过P2INet重建回非像素艺术形式,以实现周期性训练。 这种两阶段效应的根本原因是AliasNet倾向于以一种夸张的方式消除抗锯齿because of the synthetic training data (i.e., the Aliasing Dataset)。由于抗锯齿本身可以软化边缘并弱化色调,那the synthetic training data也会因模仿其逆过程而遭受此问题。因此,AliasNet被训练来恢复弱化的颜色。因此我们的I2PNet学会了使结果变暗,这样AliasNet就可以产生高质量的结果。 | ||
Effectiveness of LMCL | 为了检验损失函数中LMCL分量(7)的有效性,我们将其与更一般的基线损失进行比较,即交叉熵损失(Softmax)。我们分别对这两种损失的真实像素艺术和生成像素艺术的训练损失进行可视化,并将其显示在图20中。可以看出,Softmax在真实像素艺术上快速收敛,但在生成的结果上难以收敛。
| ||
Analysis of Architecture Variants. 架构变体分析 | 我们设置了网络的几个变体,以评估其架构中的关键组件
| ||
CycleGAN: | 这是一个单阶段过程,其中输入被发送到I2PNet以生成像素化结果,然后通过P2INet转换回来; | 单纯依赖CycleGAN会产生温和的像素化效果,但会引入白色斑点伪影(例如,请参见最上面一行中靠近耳朵的区域) | |
Encoder only: | 它将I2PNet的decoder部分替换为基于CycleGAN的最近邻升级算子 | 在产生像素化效果方面无效,但会导致伪影和过饱和颜色,这证明了我们的编码器-解码器结构以及单元大小代码嵌入的重要性。 | |
BaseLine | 它进一步添加了基于CycleGAN的AliasNet; | 在添加AliasNet(基线)后,模型消除了斑点伪影,像素化效果仍然不明显 | |
Concat: | 不是通过CSEnc对参考进行编码,而是将参考图像与输入连接作为I2PNet的输入; | 简单地通过级联(Concat)添加参考,结果可能不会在所有区域中显示像素化效果(例如,参见第二行中的腿部),这表明我们的CSEnc在直接编码参考图像和提取结构特征方面的优势。 | |
Without L_L1: | 它从我们完整模型的损失函数中删除了L_L1; | 对于与损失函数相关的变体,去除L1可能会导致颜色失真(例如,请参见第二行中的背景颜色)。 | |
Without L_lmc: | 它从我们完整模型的损失函数中删除了L_lmc; | 移除L𝑙𝑚𝑐 可以像素化输入图像的最外边缘,但在细节上失败(例如,看到最上面一行的嘴)。 | |
Softmax | 它取代了L𝑙𝑚𝑐 对于我们的完整模型的损失函数,使用基于softmax的交叉熵损失; | Softmax的结果进一步验证了我们在图20中的发现。 | |
One-hot: | 我们不是使用CSEnc从参考像素艺术中导出单元大小代码,而是将单元大小的一个热向量馈送到MLP中以产生单元大小代码。 | 使用一个热矢量来表示单元大小,而不是参考图像,该模型仍然可以生成像素化的外观,但具有严重的伪影(例如,参见第二行和第三行中的背景)。 |
6.5 Depixelization 去像素化
由于我们的模型采用了循环训练策略,它不仅可以对自然图像进行像素化,还可以对像素艺术进行去像素化。更具体地说,去像素化过程是用P2INet进行的,因为它被训练来将像素艺术恢复到平滑和高质量的图像。
图22显示了在训练集之外的一些像素艺术上使用P2INet的一些去像素化结果,并将其与[Kopf和Lischinski 2011]的最新方法进行了比较。我们的方法能够产生高质量的结果,具有与[Kopf和Lischinski 2011]相当的平滑和清晰的细节。
6.6 Limitations 不足
首先,我们的模型没有强制要求𝑁×𝑁 单元格内的像素具有完全相同的颜色;因此,一个单元格内的像素颜色之间可能存在细微的差异。在我们的实验中,这种色差通常是不明显的; 也可以通过使用最近邻下采样将结果简化为一个单元一个像素的形式,然后将其放大到正确的单元大小来简单地固定(参见图24中的一些示例)。 |
其次,为了确保像素化过程中的颜色保真度,我们的模型经过训练尽可能地保留输入图像中的特征。副作用是来自输入的噪声可以被视为特征并保留在输出中。如图23所示,一些现有的工作,如Perceptually-based and Content-adaptive,由于其公式的性质可以过滤掉大部分噪声,而我们的模型保留了这些噪声,并产生了不令人满意的结果。一种可能的解决方案是将噪声输入引入到训练数据中。 |
第三,我们的模型利用L1损耗来增强输入和最终输出之间的色彩保真度。这在大多数情况下都能很好地工作,但在少数结果中仍可能出现轻微的颜色偏移(例如,图15的最后一行)。可以通过设计更复杂的色彩保真度损失来改善结果,这将作为未来的工作。 |
7 CONCLUSION
这项工作提出了一种新的数据驱动方法,用于以单元格可控的方式从图像中生成高质量的像素艺术。
为了实现对单元大小的控制,我们的模型在训练期间将参考像素艺术作为额外输入,以提供结构和数值正则化。具体来说,参考像素艺术被编码到指示单元大小的特征向量中,该特征向量被融合到两阶段像素化过程中,以引导所得图像的单元样式。
两阶段像素化被分解为单元感知和锯齿感知阶段,解决了传统联合训练方法中单元结构、锯齿效果和颜色分配之间的模糊性。
将large margin cosine loss引入到损失函数中,以惩罚生成的像素艺术和参考之间的单元大小差异。
“one-pixel-one-cell”像素艺术,以及它的multi-cell and antialiasing augmentations被用来训练我们的模型。
通过广泛的定量和定性实验,我们已经证明了我们的模型在不同类型的图像上生成具有尖锐边缘和忠实表达内容的高质量像素化结果的有效性。此外,我们已经证明了我们的模型可以处理高分辨率图像,并为视频像素化提供了首个可行的解决方案。